Object Oriented Systems
Instructor: Rushikesh K. Joshi
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)
Lecture 5: Thu Jan 17, 3:30-5pm.
Classes, Prototypes, Class variables, Instance Variables, This (Self References)
lecture 5 slides (pdf)
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)
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)
Lecture 8: Thu Jan 28, 3:30-5pm.
Inheritance & Reuse, Dynamic Binding
lecture 8 slides (pdf)
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)
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
Lecture 12: Thu Feb 14, 3:30-5pm.
Implementations of Dynamic Dispatch, Method Sharing, Inheritance
lecture 12 slides
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
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.
Lecture 20 slides
Lecture 21: Thu Apr 3, 3:30-5pm.
Modeling Techniques: CRC
Lecture 21 slides
Lecture 22: Mon Apr 7, 3:30-5pm.
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.
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
Some slides from OO Systems of 2007 can be found