Hsuan-Tien Lin

Home | MOOCs | Courses | Research Group | Awards | Publications | Presentations | Programs


Object Oriented Software Design

Course Description

Object Oriented Programming (OOP) is a paradigm that allows us to write programs by objects and their interactions. This course introduces the fundamental concepts of OOP, such as encapsulation, inheritance, and polymorphism, through teaching an object oriented language: Java. Some important features of Java will also be illustrated.

Course Information

Announcements

Tentative Course Plan (Outline)

datesyllabustodosuggested reading
2009.02.17 course introduction homework 0 released;
policy released
2009.02.24 OOP introduction/basic Java programming homework 1 released
2009.03.03 basic Java programming/objects
  • slides, set 1
  • slides, set 2, with code here
  • Wang, Chapter 1 (please skip the parts that you haven't heard of in the class slides)
  • Sierra, Chapters 1 and 2
2009.03.10 objects/data abstraction homework 1 due; homework 2 released
  • slides
  • Wang, Chapter 1 (please skip the parts that you haven't heard of in the class slides)
  • Sierra, Chapters 1 and 2
2009.03.17 data abstraction/method abstraction
2009.03.24 method abstraction
  • slides
  • Wang, Chapter 2
  • Sierra, Chapters 4, 5, 9
  • a tutorial: check "Summary of Creating and Using Classes and Objects" (and the contents before that)
2009.03.31 encapsulation homework 2 due; homework 3 released
  • slides
  • Wang, Section 1.6
  • Sierra, Pages 80--82
2009.04.07 inheritance
  • slides
  • Wang, Chapter 4 (please skip the parts that you haven't heard of in the class slides)
  • Sierra, Pages 168--182
2009.04.14 inheritance homework 3 due; homework 4 released
  • slides
  • Wang, Chapter 4 (please skip the parts that you haven't heard of in the class slides)
  • Sierra, Pages 168--182
2009.04.21 midterm exam (problems, solutions, statistics)
2009.04.28 inheritance/OOP review homework 4 due
  • slides on inheritance
  • slides on big picture of OOP
  • Wang, Chapters 4 and 5
  • Sierra, Pages 168--182
2009.05.05 polymorphism homework 5 released
  • slides
  • Wang, Chapter 5
  • Sierra, Chapter 8
2009.05.12 abstract class/interface
2009.05.19 generics homework 5 due
2009.05.26 exception homework 6 released
2009.06.02 exception/thread
2009.06.09 thread/summary homework 6 due
2009.06.16 final exam (problems, solutions, statistics)
2009.06.29 term score statistics

Last updated at CST 01:22, February 17, 2015
Please feel free to contact me: htlin.email.png
Valid HTML 4.0!