Fundamental Object Oriented Programming

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 abstraction, encapsulation, inheritance and polymorphism, through teaching an object oriented language: Java. Some important features of Java will also be highlighted.


Course Information


Class Policy

Course Plan (tentative)

datesyllabustodo/donesuggested reading
2/26course introduction
3/12classes and objects
3/19TA lecture: git usage (and homework 1)
classes and objects
homework 1 announced
3/26classes and objects
4/2no class today because of spring break
4/9encapsulation and Java array
4/16TA lecture: OOP demo (and homework 2)
homework 1 due; final project announced
4/30polymorphismhomework 2 announced
5/14interface/OOP summary
5/21TA lecture: game programming (and homework 3)
homework 3 announced
5/28threadhomework 2 due
6/4inner class
6/11genericshomework 3 due
6/18TA lecture: UML + OOP in the industry
6/25no class today because of final week
7/2final project demofinal project due (7/1 23:59)