CS 445 Home

Course Goals

Downloads

Class Slides

Project

Class Syllabus

AOM

Jave 5 Class Notes and Tutorial
 

Required Text Book

Object-Oriented Software Development Using Java

Xiaoping Jia,
Second Edition.

 

Optional Java Book

Java 5 Illuminated by Julie Anderson, Hervé Franceschi; Jones and Barlett Publishers; ISBN 0-7637-1667-7 (pbk.)

Check My Book List at Amazon

 

 

 
 

CS445 - Object Oriented Design & Programming

Fall 2007

Date Slide
Sep 26 Class 4  Java 1
Sep 12 Class 3 UML OOD, OOA and UML
Sep 5 Class 2 Introduction OOD
Aug 30 Class 1 Introduction OOP

LECTURER  

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

Office Hours:  Mon Wed 5:15 - 6:15 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!!!!

Sections

CS -445-071, 392
Rice Campus - Wheaton Room RI 148

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.

GRADING
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

ETHICS
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. 

EXAMS 

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.

QUIZZES 

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