Schedule

The following schedule roughly estimates the days we will cover given material and is subject to change. You are responsible for keeping yourself informed of the possible evolution in content and schedule. The assigned readings should be read before the corresponding class. You are responsible for keeping up with the reading and for all material covered in class (some of which may not be in the book). This includes classnotes, labs, assignments, handouts, additional readings, etc. If you miss a class for any reason you are responsible for making arrangements with classmates to provide you with all information disseminated in class that day.

Week Topics of the Week Readings Mon Wed Fri
-1- Decomposition, Abstraction; Understanding Objects in Java Liskov 1, 2 1/23 1/25
-2- Procedural Abstraction: Specification and Implementation Liskov 2 1/28 1/30 2/1
-3- Procedural Abstraction; Exceptions Liskov 3, 4 2/4 2/6 2/8
-4- Exceptions cont’d; Data Abstractions
Asprey Lecture Friday: Sean Dague
Liskov 5 2/11 2/13 2/15
-5- Data Abstractions / Iteration Abstractions Liskov 5 2/18 2/20 2/22
-6- Iteration Abstractions / Midterm Project due before break 2/25 2/27 3/1
-7- Iteration Abstractions / Midterm Project due before break 3/4 3/6 3/8
Spring Break
-8- Version Control (Git / Github) / Iteration Abstractions Liskov 6 3/25 3/27 3/29
-9- Type Hierarchy Liskov 7 4/1 4/3 4/5
-10- Polymorphic Abstractions / Specifications Liskov 8, 9 4/8 4/10 4/12
-11- Testing and Debugging Liskov 10 4/15 4/17 4/19
-12- Final project startup 4/22 4/24 4/26
-13- Final project work 4/29 5/1 5/3
-14- Wrap-up and Final Projects 5/6
Study Period: May 8–14
Final Project Presentations:
Wed, May 8, 12-2pm