Date | Topics | Reading | Due dates |
---|---|---|---|
August 24 (Th) | About the course (Notes) | ||
August 29 (T) | Objects and classes; Java basics (Notes) | T:1 (skim); T:2; C2J:1-2 | |
August 31 (Th) | More Java basics (Notes) | C2J:3-9 | |
September 5 (T) | No class | ||
September 7 (Th) | No class | ||
September 12 (T) | UML diagrams; inheritance in Java (Notes) | C2J:10-11 | Homework 1 (design) |
September 14 (Th) | Interfaces in Java; packages and importing; generics (Notes) | C2J:12-16 | Homework 1 (code) |
September 19 (T) | String processing (Notes) | C2J:17; API for java.lang.String | Quiz 1 |
September 21 (Th) | Arrays (Notes) | C2J:18 | Homework 2 (design) |
September 26 (T) | Sorting, searching, and manipulating arrays (Notes) | T:11 (sections 1-8) | Quiz 2; Homework 2 (code) |
September 28 (Th) | More about sorting; exceptions (Notes) | ||
October 3 (T) | Array-based stacks and queues (Notes) | T:6 (sections 1-3, 5); T:7 (sections 1-3, 6-7) | Quiz 3; Homework 3 (design) |
October 5 (Th) | Miscellaneous review (Notes) | ||
October 10 (T) | Midterm exam (Review in HTML, PDF) | Homework 3 (code) | |
October 12 (Th) | Linked lists (Notes) | T:4 | |
October 17 (T) | Iterators (Notes) | T:8 | Homework 4 (design) |
October 19 (Th) | List-based stacks, queues, and priority queues (Notes) | T:6 (sections 4, 6-7); T:7 (sections 4-5, 8) | Homework 4 (code) |
October 24 (T) | No class | ||
October 26 (Th) | GUIs in Java (Notes) | Sun's tutorial Learning Swing by Example | Quiz 4 |
October 31 (T) | GUIs in Java, continued (Notes) | C2J:20 | Homework 5 (design) |
November 2 (Th) | Graphics in Java (Notes) | C2J:21;Sun's tutorial Implementing a Custom Component | Homework 5 (code) |
November 7 (T) | Graphics in Java, continued (Notes) | C2J:21;Sun's tutorial 2D Graphics (skim) | |
November 9 (Th) | Recursion (Notes) | T:10; T:11 (sections 9-10) | Homework 6 (design) |
November 14 (T) | No class | Homework 6 (code) | |
November 16 (Th) | Trees and sorted binary trees (Dr. Lewis's notes) | T:12; T:13 (sections 1-3); T:15 (sections 1, 3, 5) | |
November 21 (T) | Heaps and heap-based priority queues (Notes) | T:15 (sections 1, 3, 5) | Quiz 5 |
November 23 (Th) | No class (holiday) | ||
November 28 (T) | Files and I/O in Java (Notes) | Sun's tutorial I/O (skim) | |
November 30 (Th) | Multithreading in Java (Notes) | Sun's tutorial Concurrency (optional) | Quiz 6; Homework 7 (design) |
December 5 (T) | A little about networking in Java; course wrap-up and evaluations (Notes) | Sun's tutorial Custom Networking (optional) | Homework 7 (code); Homework 8 (design) |
December 13 (8:30am) | Final exam (Review in HTML, PDF) | Homework 8 (code) |