Date | Topics | Reading | Due dates |
---|---|---|---|
January 17 (Th) | About the course (Notes) | ||
January 22 (T) | No class | ||
January 24 (Th) | Objects and classes; Java basics (guest lecture by Dr. Lewis) | T:1 (skim); T:2; C2J:1-9 (skim) | |
January 29 (T) | Objects, classes, and Java basics (review/continued) (Notes) | ||
January 31 (Th) | UML diagrams; inheritance in Java (Notes) | C2J:10-11 | Homework 1 (design) |
February 5 (T) | Interfaces in Java; packages and importing; generics (Notes) | C2J:12-16 | |
February 7 (Th) | Arrays and string processing in Java (Notes) | C2J:17-18; API for java.lang.String | Homework 1 (code) |
February 12 (T) | Sorting, searching, and manipulating arrays (Notes) | T:11 | Quiz 1 |
February 14 (Th) | Threads (Notes) | C2J:19 | Homework 2 (design) |
February 19 (T) | Array-based stacks and queues (guest lecture by Dr. Lewis) (Notes I would have used) | T:6 (sections 1-3, 5); T:7 (sections 1-3, 6-7) | |
February 21 (Th) | No class | T:4 | Homework 2 (code) |
February 26 (T) | Linked lists (Notes) | T:4 | Quiz 2 |
February 28 (Th) | Iterators (Notes) | T:8 | Homework 3 (design) |
March 4 (T) | List-based stacks and queues; priority queues (Notes) | T:6 (sections 4, 6-7); T:7 (sections 4-5, 8) | Quiz 3; Homework 3 (code) |
March 6 (Th) | Exceptions; review for midterm (Notes) | C2J:22 | |
March 11 (T) | Midterm exam (Review in HTML, PDF) | Homework 4 (design) | |
March 13 (Th) | GUIs in Java (Notes) | C2J:20; Sun's tutorial Learning Swing by Example | |
March 18 (T) | No class (holiday) | ||
March 20 (Th) | No class (holiday) | ||
March 25 (T) | GUIs in Java, continued (Notes) | Homework 4 (code) | |
March 27 (Th) | Graphics in Java | (Notes)C2J:21; Sun's tutorial Implementing a Custom Component (skim); Sun's tutorial 2D Graphics (skim) | Homework 5 (design) |
April 1 (T) | No class | ||
April 3 (Th) | No class | ||
April 8 (T) | Recursion (Notes) | T:10; T:11 (sections 9-10) | Quiz 4; Homework 5 (code) |
April 10 (Th) | Trees and sorted binary trees (Notes) | T:12; T:13 (sections 1-3); T:15 (sections 1, 3, 5) | |
April 15 (T) | No class | Homework 6 (design) | |
April 17 (Th) | Heaps and heap-based priority queues (Notes) | T:15 (sections 1, 3, 5) | Quiz 5; Homework 6 (code) |
April 22 (T) | Files and I/O in Java (Notes) | C2J:25; Sun's tutorial I/O (skim) | |
April 24 (Th) | Networking and sockets in Java; RMI (Notes) | C2J:25-26; Sun's tutorial Custom Networking (skim) | Quiz 6; Homework 7 (design) |
April 29 (T) | Multithreading in Java (Notes) | C2J:24 | |
May 1 (Th) | Course wrap-up and evaluations (Notes) | C2J:23 | Homework 7 (code) |
May 10 (Sa), 2pm | Final exam (Review in HTML, PDF) | Homework 8 (design and code) |