CS 617 Object Oriented Systems


Instructor: Rushikesh K. Joshi

Jan-April 2008
Slot 9, Seminar Hall, Floor #3, KReSIT Building
Mon 3:30-5:00 pm, Thu 3:30-5:00 pm


Lecture 1: Thu Jan 3, 3:30-5pm
Course Overview, Course Planning, Evaluation Scheme, Introduction
lecture 1 slides (pdf)
programs used in lecture 1

Lecture 2: Mon Jan 7, 3:30-5pm.
Abstractions, Implementations, Interfaces
lecture 2 slides (pdf)

Lecture 3: Thu Jan 10, 3:30-5pm.
Objects, Encapsulation, Abstract Data Types
lecture 3 slides (pdf)

Lecture 4: Mon Jan 14, 3:30-5pm.
From ADTs to Interfaces, Interfaces to ADTs, Contracts, Design by Contract
lecture 4 slides (pdf)
board 1 board 2 board 3

Lecture 5: Thu Jan 17, 3:30-5pm.
Classes, Prototypes, Class variables, Instance Variables, This (Self References)
lecture 5 slides (pdf)
board 1 board 2
programs related to lecture 5

Lecture 6: Mon Jan 21, 3:30-5pm.
Classes implementing Interfaces, Multiple Interfaces, Abstract Classes,
Open-Closed Principle, Self References
lecture 6 slides (pdf)
board 1 board 2 board 3 board 4
programs related to lecture 6

Lecture 7: Thu Jan 24, 3:30-5pm.
Inheritance: Contracts, Extensions, Refinements;
Single Inheritance, Class-based Vs. Prototype-based;
An Elaborate Example
lecture 7 slides (pdf)
board 1 board 2 board 3

Lecture 8: Thu Jan 28, 3:30-5pm.
Inheritance & Reuse, Dynamic Binding
lecture 8 slides (pdf)
board 1 board 2 board 3

Lecture 9: Mon Jan 31, 3:30-5pm.
Syntactic Polymorhpism, Dynamic Binding, Subtyping, Subsumption
lecture 9 slides (pdf)

Lecture 10: Mon Feb 3, 3:30-5pm.
Subtyping, Subsumption Rules: Primitive Types, Record Types, Function Types, Object Types
lecture 10 slides: same as above (pdf)
programs
boards used in lectures 9-10

Thursday 8 Feb: 3:30-5pm Quiz

Lecture 11: Mon Feb 10, 3:30-5pm.
Quiz Answer Sheets Returned, Answers Discussed;
Models of Multiple Inheritance, Diamond Inheritance,
Shared Vs. Repeated Inheritance
lecture 11 slides
programs
board 1

Lecture 12: Thu Feb 14, 3:30-5pm.
Implementations of Dynamic Dispatch, Method Sharing, Inheritance
lecture 12 slides
board 1 board 2 board 3 board 4


Midsemester Examination 20th February, 2:30-4:30 pm A1/A2

Lecture 13: Mon Feb 25, 3:30-5pm.
We discussed solutions to Midsem questions
Implementations of Dynamic Dispatch: Multiple Inheritance-- sharing dispatch tables, recomputing 'this'
lecture 13 slides

Lecture 14: Thu Feb 28, 3:30-5pm.
We developed this code today
+ midterm feedback session

Lecture 15: Thu Mar 3, 3:30-5pm.
Lecture 15 slides
We developed this code today
+ we discussed the problems found in your answers to midsem paper

March 10: Foundation Day, class cancelled.

Lecture 16: Thu Mar 13, 3:30-5pm.
Part-Whole Relations, Partalogy
Lecture 16 slides

Lecture 17: Thu Mar 17, 3:30-5pm.
Design Reuse: Design Patterns - I
Lecture 17 slides
board 1 board 2 board 3 board 4 board 5



Lecture 18: Thu Mar 24, 3:30-5pm.
Design Reuse: Design Patterns - II
Lecture 18 slides


Lecture 19: Thu Mar 27, 3:30-5pm.
Design Reuse: Design Patterns - III + a revison on earlier patterns
Lecture 19 slides


Lecture 20: Mon Mar 31, 3:30-5pm.
Modeling Techniques
Lecture 20 slides

board 1 board 2 board 3 board 4


Lecture 21: Thu Apr 3, 3:30-5pm.
Modeling Techniques: CRC
Lecture 21 slides


Lecture 22: Mon Apr 7, 3:30-5pm.
Modeling Techniques
reference slides


Mon Apr 7: 8:30 pm-9:30pm: Quiz II, SIC 301

Project Demo Schedule 9/10/11 Apr

Next Lecture: Your Topics: mostly done on black board


If you haven't picked up your past answer books, do collect them during 12:00-1:00 on Saturday from my office.


Useful Links
Java programs and slides from 2006 Summer Course on Java
List of topics and list of prescribed readings from OO Systems of 2006 can be read here
Some slides from OO Systems of 2007 can be found here