| Date | Lectures and Examples | Reading | ||
| Week 1 | ||||
| Mon 2/11 | Lect 1: Course info, overview, Java review, Examples | Chap 0, 1.1-1.4, App B | ||
| Wed 2/13 | Lect 2: Unix and Java and emacs practice in MBH 632 lab | Online notes, HW 1 | ||
| Fri 2/15 | Lect 3: Interfaces, more Java review, Examples | Chap 1.5-1.10, 2 | ||
| Week 2 | ||||
| Mon 2/18 | Lect 4: Vectors, Examples | Chap 3 | ||
| Wed 2/20 | Lect 5: Vector Implementations, javadoc, Examples | Chap 3 | ||
| Week 3 | ||||
| Mon 2/25 | Lect 6: Algorithmic Complexity, Examples | Chap 5, handout | ||
| Wed 2/27 | Lect 7: Generics, Examples | Chap 4 | ||
| Fri 2/29 | Lect 8: Sorting: Bubble, Selection, Insertion, Examples | Chap 6.1-6.5 | ||
| Week 4 | ||||
| Mon 3/3 | Lect 9: Comparing objects, Comparators, Examples | Chap 6.7-6.9 | ||
| Wed 3/5 | Lect 10: Sorting: Merge, Quick, Bucket, radix, spaghetti, counting | Chap 6.6-6.9 | ||
| Fri 3/7 | Lect 11: Lists, List Interface, SinglyLinkedLists | Chap 9.1-9.4 | ||
| Week 5 | ||||
| Mon 3/10 | Lect 12: IntLists | Homework 4 | ||
| Wed 3/12 | Lect 13: CircularList, DoublyLinkedList | Chap 9.6, 9.5 | ||
| Fri 3/14 | Lect 14: Stacks, stack applications, postfix notation | Chap 10.1 | ||
| Week 6 | ||||
| Mon 3/17 | Lect 15: Queues | Chap 10.2 | ||
| Wed 3/19 | Lect 16: MazeRunner, Enumerations, Iterators | Chap 10, 8 | ||
| Fri 3/21 | Midterm 1 | |||
| Week 7 | ||||
| Mon 3/31 | Lect 18: Comparable objects, Ordered structures | Chap 11 | ||
| Wed 4/2 | Lect 19: Trees, IntTrees, IntTreeOps | Chap 12.1, Homework 6 | ||
| Fri 4/4 | Lect 20: Tree traversals, priority queues | Chap 12.6, 13 | ||
| Week 8 | ||||
| Mon 4/7 | Lect 21: Heaps, Heap applet | Chap 13.4.1 | ||
| Wed 4/9 | Lect 22: Skew heaps, applets, HW 7 heap applet, source | Chap 13.4.3 | ||
| Fri 4/11 | Lect 23: Binary search trees, Bst.java | Chap 14 | ||
| Week 9 | ||||
| Mon 4/14 | Lect 24: BinarySearchTree.java, Splay trees | Chap 14.5-14.6 | ||
| Wed 4/16 | Lect 25: Applets: Layout managers, event handling | Java Tutorial | ||
| Fri 4/18 | Lect 26: AVL trees, 2-3 trees | Chap 14.7 | ||
| Week 10 | ||||
| Mon 4/21 | Lect 27: 2-3-4 trees, red-black trees, Graeme Connell's Red-Black applet | Chap 14.7 | ||
| Wed 4/23 | Lect 28: Hashtables, resolving collisions, Exam 2 information | Chap 15 | ||
| Fri 4/25 | Lect 29: Threads, TwoThreads, SimpleThread, Anim, Squash, JDK 1.4 sample applets (Meet in MBH 632) | |||
| Week 11 | ||||
| Mon 4/28 | Lect 30: Mouse events, double-buffering (Meet in MBH 632) | |||
| Wed 4/30 | Lect 31: Graphs, Graph implementations | Chap 16.1-16.3 | ||
| Fri 5/2 | Lect 32: Graph algorithms | Chap 16.4 | ||
| Week 12 | ||||
| Mon 5/5 | Lect 33: Final project lab session (meet in MBH 632) | |||
| Wed 5/7 | Lect 34: Course summary, final exam review | |||
| Fri 5/9 | Lect 35: Final project presentations (meet in MBH 632) |