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 5) 
Class 13 Talk 0: 2/14:    Hibernate
 Class 14   Talk 1: 2/19 :   .NET (Super-structure)
 Class 15   Talk 2: 2/21 :   .NET (Infra-structure)
 Class 16  Talk 3: 2/26 :   Distributed Applications
 Class 17 

Talk 4: 2/28 :   Aspect Oriented Programming

 Class 18  

Talk 5: 3/4 :    Flex/Actionscript/MXML

 Class 19  

Talk 6: 3/6 :   Google Web Toolkit

 Class 20  

Talk 7: 3/11 :    Ruby on Rails

 Class 21 

Talk 8: 3/13 :    J2EE

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

 


Assignments ( Winter 09 )


Exams ( Winter 07 )

T. K. Prasad 31 Dec 2008 )