Week 1: 8/25
Lectures: Course introduction; cs160 recap
[ slides ] (updated)
Reading: 160 material: chapters 1-4, 7 in the Java book.
Recitation: cs160 recap
Assignments: First programming assignment is available
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
Lectures: More on Java classes [ slides ] (updated thu). The code for the Account class. Quiz on Thu.
Reading: Chapters 5-6 in Savitch (5 in Lewis).
Recitation: More on Classes
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.
Recitation: Recursion
Week 6: 9/29
Lectures: Counting [ slides ]. Midterm on Thu.
Reading: Chapter 5 in Rosen.
Recitation: Recursion
Week 7: 10/6
Lectures: Permutations, r-permutation, combinations, and the traveling salesman problem [ slides ] (updated on thursday). Quiz on Thu.
Reading: Chapter 5 in Rosen.
Recitation: Enumeration and Counting
Week 8: 10/13
Lectures: Induction [ slides ]. Quiz on Thu.
Reading: Chapter 4.1,4.2 in Rosen.
Assignments: A written assignment on induction is available
Week 9: 10/20
Lectures: Inheritance [ slides ]. Inheritance and polymorphism [ slides ] Quiz on Thu.
Reading: Chapter 8 in either of the Java books.
Recitation: Inheritance
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.
Recitation: Interfaces
Week 11: 11/3
Lectures: Midterm on Tue. Static again [ slides ]. Linked lists [ slides ]
Reading: Chapter 5 in Walls and Mirrors, 12.1 in Savitch, 14.4 in Lewis.
Recitation: Programming quiz
Week 12: 11/10
Lectures: Linked lists [ slides ] (updated on wed). Linked list code and doubly linked list code.
Reading: Chapter 5 in Walls and Mirrors, 12.1 in Savitch, 14.4 in Lewis.
Recitation: Linked Lists
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
Recitation: Sorting
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.
Recitation: JUnit
Week 15: 12/8
Lectures: Java Graphics, GUI and Applets - continued (tuesday). Review (thursday).
Recitation: Programming final.
