CEG 860 Object-Oriented Programming


Course Objective


Course Prerequisite


Course Description

This course motivates the need for object-oriented programming, and studies, in detail, object-oriented programming techniques, languages, and technology. The lectures will focus on the foundations of OOP, while the student presentations will focus on the applications and extensions of Object Technology.

Course Load

The course load includes programming assignments (in Java) and a presentation (with descriptive notes) worth 40 points, a midterm worth 30 points, and a final worth 30 points. 

Texts


Reference


Grading

The letter grades will be assigned using the following scale: A[90-100], B[80-90), C[70-80), D[60-70), and F[0-60). However, I reserve the right to adjust the scale somewhat to utilize the gaps in the distribution. 

Class Schedule and Syllabus

Topic 
Class 0  Software Hell 
Bug Bites 
Class 0  Professional Responsibility 
Class 1  Motivation : Software Quality 
Class 2  Intro. to OOP ; OOP by Examples

  Class 3

OOP Embodiment by Examples

Class 4  Modularity; Reusability
Class 5  Classes ; Genericity
Class 6  Objects ; Garbage Collection

  Class 7

(* cont *)

Class 8   Design by Contract; Exceptions  
Class 9   Inheritance; Dynamic Binding
Class 10  Composition; Delegation
 Class 11   Multiple Inheritance Implementation
 Class 12  Inheritance Techniques
 Class **  Midterm (February 2) 
Class 13 Talk 0: 2/14:    TBA
 Class 14   Talk 1: 2/19 :   TBA
 Class 15   Talk 2: 2/21 :   TBA
 Class 16  Talk 3: 2/26 :   TBA
 Class 17 

Talk 4: 2/28 :   TBA

 Class 18  

Talk 5: 3/4 :     TBA

 Class 19  

Talk 6: 3/6 :     TBA

 Class 20  

Talk 7: 3/11 :   TBA

 Class 21 

Talk 8: 3/13 :   TBA

Finals (March 18, 8pm-10pm)
Extra   Design Patterns and Frameworks
Extra   Abstract Data Types
Extra   Program Correctness

 


Assignments ( Winter 10 )


Exams ( Winter 07 )

T. K. Prasad 07 Jan 2010 )