Schedule

This schedule may be subject to minor changes. Any changes will be announced in class and also be posted on the course web page.

Week Note Topic Reading
Week 1: Aug 26-Aug 31   Basic Java Lecture1, 1.1-1.6
Objects, References, Arrays Lecture2, 2.1-2.3, 3.1-3.9
Week 2: Sep 2-Sep 6   Arrays Lecture3, 2.4
I/O, Exceptions Lecture4, 2.5-2.6
Week 3: Sep 9-Sep 13   Exceptions Lecture5, 2.5
GUIs Lecture6
Week 4: Sep 16-Sep 20   ArrayList, Inheritance Lecture7, 4.1-4.2
Inheriting fields and methods Lecture8, 4.3-4.4
Week 5: Sep 23-Sep 27   Type casts, instanceof, Object class, Interfaces Lecture9
Collections, Genericity Lecture10, 4.5-4.7
Week 6: Sep 30-Oct 4   Exam 1
Generic Methods, Functors Lecture11, 4.8
Week 7: Oct 7-Oct 11   Analysis of Algorithms Lecture12, 5.1-5.3
Big-O Lecture13, 5.4-5.8
Week 8: Oct 14-Oct 18   Collections, Iterators Lecture14, 6.1-6.3
Generic Algorithms Lecture15, 6.4
Week 9: Oct 21-Oct 25   Lists Lecture16, 6.5
Parallel Programming with Threads Lecture17
Week 10: Oct 28-Nov 1   Stacks and Queues Lecture18, 6.6
Work day
Week 11: Nov 4-Nov 8   Sets and Maps Lecture19, 6.7-6.8
Recursion Lecture20, 7.1, 7.3
Week 12: Nov 11-Nov 15   Recursion, cont'd  
Proof by Induction Lecture21, 7.2
Week 13: Nov 18-Nov 22   Dynamic Programming Lecture22, 7.6
Exam 2
Week 14: Nov 25-Nov 29 Thanksgiving vacation, no class
Week 15: Dec 2-Dec 6   Insertion, Merge, and Quick Sort Lecture23, Lecture24, 8.1-8.3, 8.5-8.6
Singly and Doubly-linked lists Lecture25, 17.1-17.3
Week 16: Dec 9-Dec 13 No class