Course Schedule

Subject to change.

Lecture Date Topic Readings Homework/Projects
1 20-Jun Introduction / OO intro   hw 1 out
2 21-Jun types, operators, conditionals, loops Weiss: ch 1; S&B: chap 1, 48-52  
3 22-Jun references, strings, arrays Weiss: 2.1, 2.2, 2.3, 2.4  
4 23-Jun objects, classes, methods, constructors Weiss: ch 3; S&B: ch 2, 53-61, ch 4,9 Proj 1 out
5 27-Jun Using the Java API, ArrayList, Exceptions (part 1), I/O, Packages S&B: review ch 4, pg 128-133, 150-156; Weiss 2.51, 2.5.3, 2.5.4, 2.6 hw 1 due
6 28-Jun Inheritance S&B: Ch 7; Weiss 4.1  
7 29-Jun Polymorphism & Interfaces S&B: Ch 8; Weiss 4.2-4.5  
8 30-Jun

Constructors revisited; static fields, methods, classes; inner classes, iterators

S&B: Ch 10; Weiss 6.2, ch 15

 
9 5-Jul Exceptions pt 2; Java Review S&B: Ch 11 hw 2 due, Proj 1 in
  6-Jul Midterm 1    
10 7-Jul Lists Weiss ch 17 Proj 2 out
11 11-Jul Algorithm analysis Weiss: ch 5  
12 12-Jul Sorting Weiss: ch 8, video  
13 13-Jul Sorting Weiss: ch 8 hw 3 due
14 14-Jul Stacks & Queues Weiss: 6.6, ch 16  
15 18-Jul Hash tables Weiss: ch 20 hw 4 due
16 19-Jul Hash tables Weiss: ch 20  
17 20-Jul In-class case study    
  21-Jul Midterm 2    
  22-Jul     Proj 2 in, Proj 3 out
18 25-Jul Trees & Tree traversals Weiss: 6.7, ch 18 hw 5 due
19 26-Jul Binary search trees Weiss: 6.7, 19.1, 19.2, 19.3  
20 27-Jul Balanced trees Weiss: 6.7, 19.4  
21 28-Jul Priority Queues, Binary Heaps Weiss: 6.9, ch 21  
22 1-Aug Graphs - representation, interface Weiss: 14.1, 14.2 hw 6 due
23 2-Aug Weighted graphs and graph algorithms Weiss: 14.3, 14.4, 14.5  
24 3-Aug Topological sort, critical paths, minimum spanning trees Weiss: 14  
25 4-Aug Data structure choice in designing large programs Group Activity  
26 8-Aug Review, summary, HKN survey   hw 7 due, Proj 3 in
  9-Aug Large-scale Programming Methodology Guest speaker: Saul Edwards, Sun Microsystems  
  10-Aug Final    
  11-Aug Final