CS 445 Home

Course Goals






Java 5 Class Notes and Tutorial

Sample Phase 1 Project



Web Site Design Project

CS445 - Object Oriented Design & Programming


Omar Aldawud (aldaoma@iit.edu)
Office: Rice Campus Room 230

Office Hours:  Wed 6:25 - 9:00 PM

IIT Academic Calendar

630 - 682- 6021, Fax: 312.567.5067 CS Department

Mailbox: Rice Campus : Dr. Omar Aldawud CS445

Available by email including  weekends and evenings!!!!


Object Oriented Design and Programming - 11041 - CS 445 - 01

Object Oriented Design and Programming - 11042 - CS 445 - 02

Object Oriented Design and Programming - 11043 - CS 445 - 03

Object Oriented Design and Programming - 15168 - CS 445 - 04

Case Study

Leather Bags Store case study spring 2014 for CS425 and CS 445

Required Text Book

Xiaoping Jia, Object-Oriented Software Development Using Java Second Edition.

Course Goals - Students should be able to:
  • Explain and justify the principles of Object Oriented concepts (review abstraction & abstract data types, encapsulation, inheritance, polymorphism, aggregation)
  • Analyze and identify the strengths (and weaknesses) of in-depth areas of the Object Oriented paradigm.
  • Analyze, explain, & compare the qualities of Object Oriented languages and how well they support the object model.
  • Explain and analyze the key points of Object Oriented analysis.
  • Explain and analyze the key points of Object Oriented design.
  • Design, implement, test and debug multi-phased Object Oriented application.
  • Explain and utilize contemporary Object Oriented methodologies (data-driven methodology and behavior-driven methodology)
  • Utilize contemporary notation (Unified Modeling Language) to express the artifacts of Object Oriented Analysis & Design (class design, class relationships, object interaction, object states, etc.)
  • Perform Object Oriented Analysis & Design on a real-world problem.
  • Explain and Utilize Complex Design Patterns.
  • Create an implementation of the resultant Object Oriented design.
  • Examine new & contemporary concepts in Object Orientation.
  • Communicate the deliverables of a software development project.

Major Topics

1. Review of The Terminology And Fundamentals Of Object Oriented Concepts 1.0 hours
2. Abstractions/Abstract Data Types/Encapsulation/Information Hiding/Coupling/Cohesion 3.5 hours
3. Object Oriented Hierarchies - Advances Topics on Inheritance/Polymorphism/Dynamic Binding/Aggregations 3.5 hours
4. Interface Class Concepts 2 hours
5. Object Oriented Languages Survey, Features 2.5 hours
6. Characteristics of Objects (Object Relationships, Object Interactions, Instantiation, etc.) 2.5 hours
7. Object Oriented Analysis & Design - Concepts, Methodologies, Unified Modeling Language 6 hours
8. Structural Modeling (Class Diagram) 3 hours
9. Behavioral Modeling (Interaction Diagram, State Diagram) 2 hours
10. Object-Oriented Design Patterns - Understanding & Usage 3.5 hours
11. End-To-End Case Study of Object-Oriented Analysis & Design 3 hours
12. Object Oriented Detailed Design 2 hours
13. Object Oriented Analysis & Design in Large Scale Projects 2 hours
14. Use Of Persistence & Databases In an Object Oriented Application 2 hours
15. Contemporary Object Oriented Topics, Including Multi-Threaded Objects 4 hours
16. Course Administration & Mid-Term Exam, Final Exam - 2.5 hours
17.   45 hours

 Laboratory Projects
A 2-part large-scale Object Oriented software development project is required by each student in which the student will experience designing, coding, testing and debugging a significant Object Oriented application. The combined parts of the course project are generally range from 5000 - 10000 lines of code.

  • Part 1 (6 weeks): object-oriented analysis and design of the software system.
  • Part 2 (6 weeks): object-oriented detailed design, implementation using object oriented language, and testing of the software system.

Approximate weights:

7%  Weekly homework assignments
30% Programming project
25% Midterm Exam
35% Final Exam
3%  Attendance

Historically, semester letter grades have been assigned according to the following percentages.

A 90-100
B 80-89
C 70-79
D 60-69
E 0-59

Any indication of copying or cheating during quizzes/exams, on labs, or on the programming project will result in an immediate zero for the assignment for all parties involved and notification of the student's advisor/department and the Undergraduate Dean. 


You will have two exams: a midterm and a final. Practice exam questions will be made available on the CS 445 Website. Exams are closed book, closed notes, closed neighbor, no calculators. The instructor reserves the right to assign a failing semester grade to any student who fails or does not take the final exam. No make-up exams.


You will take two quizzes this semester during your scheduled lecture time. No make-up quizzes.

Project Samples from CS 487 Project

Sample Implementation of the RSD and DSD templates:

    Security Camera Store Then Click on Security Shop - RSD

   Dedicated Server Hosting then click on Web Hosting Project