Week 1: 8/25
Week 2: 9/1
Lectures: Java classes, objects, and object oriented programming
[ slides ]. Here's the code for the Die class. Quiz on Thu.
Reading: Chapter 5 in the Java book.
Recitation: Getting familiar with Classes
Assignments: Programming assignment is available
Week 3: 9/8
Week 4: 9/15
Lectures: Assertions, pre/post conditions [ slides ]. Javadoc commenting of code. Here's an example. ArrayList [ slides ]. Here's the example we worked on in class . Quiz on Thu.
Reading: Assertions - chapter 4.2 in Savitch. ArrayList - chapter 12.1 in Savitch;
Recitation: A Break from Classes
Week 5: 9/22
Lectures: Recursion [ slides ]. Quiz on Thu. More recursion [ slides ]. The maze example.
Reading: Chapter 11 in Savitch, or Chapter 12 in Lewis, or Chapter 3 in Walls and Mirrors.
Week 6: 9/29
Week 7: 10/6
Week 8: 10/13
Week 9: 10/20
Week 10: 10/27
Lectures: Interfaces [ slides ]. (updated after thursday's class) [ Code ] for the StaffMember/Employee etc. example. Quiz on Thu.
Reading: Chapter 8 in Savitch, chapter 9 in Lewis.
Week 11: 11/3
Week 12: 11/10
Week 13: 11/17
Lectures: Sorting [ slides ] (updated on thu) Here's a nice java applet that illustrates the sorting algorithms we looked at. Obama being asked about sorting
Reading: Chapter 13 in Lewis, Chapter 10 in Walls and Mirrors
Week 14: 12/1
Lectures: Java packages [ slides ]. JUnit and testing [ slides ]. Graphics, GUI and Applets in Java [ slides ] and [ code ]
Reading: Packages: Chapter 11 in Lewis, 6.7 in Savitch. Lewis covers version 3 of JUnit.
Week 15: 12/8
Lectures: Java Graphics, GUI and Applets - continued (tuesday). Review (thursday).
Recitation: Programming final.