• Java 2 Platform Standard Edition 5.0 API specification
• OpenJDK source code repository for library classes
• Source code from Data structures and problem-solving using Java, third edition
January 21. Expression syntax; variables and state.
Reading: Weiss, sections 1.1-1.4 (pages 3-11).January 22. Primitive types and operators.
Reading: Weiss, section 1.5 (pages 11-18).January 23. Statements; side effects and sequencing.
January 25. Iteration.
Reading: Weiss, section 1.6 and the chapter 1 review (pages 18-25).January 28. Static methods; parameters.
Reading: Weiss, sections 2.1 and 2.2 (pages 27-35).January 29. References and reference operators; classes and objects.
Reading: Weiss, section 2.3 (pages 35-37).January 30. Strings and string builders.
Reading: Weiss, section 2.4 (pages 37-47).February 1. Arrays and array operators.
Reading: Weiss, section 2.5 (pages 48-51).
February 4. Exceptions; try-statements.
February 5. Input and output; files.
Reading: Weiss, sections 3.1, 3.2, 3.4, and 3.5 (pages 63-67 and 70-78).February 6. Object construction; non-static methods.
February 8. Compilation and the Java Virtual Machine.
Reading: Weiss, section 3.3 (pages 67-69).February 11. Comments; javadoc.
Reading: Weiss, sections 3.6 and 3.7 and the chapter 3 review (pages 73-91).February 12. Scope and access control; packages.
February 13 and 15. The Eclipse programming environment.
February 18. Testing.
Reading: Weiss, sections 4.1 and 4.9 (pages 93-108 and 146-149).February 19. Composition, inheritance, polymorphism, and late binding.
Reading: Weiss, sections 4.2-4.5 (pages 109-123).February 20. Abstract methods, abstract classes, and interfaces.
Reading: Weiss, sections 4.6 and 4.7 (pages 124-137).February 22. Generic methods and classes.
Reading: Weiss, section 4.8 and the chapter 4 review (pages 137-145 and 149-160).February 25. Function objects; nested, local, and anonymous classes.
Reading: Weiss, chapter 5 (pages 163-200).February 26 and 27. Algorithm analysis; the big-O notation.
Reading: Weiss, sections B.1 and B.2 (pages 867-878).February 29. Graphical user interfaces; Swing.
Reading: Weiss, section B.3 and the appendix B review (pages 878-895).March 3 and 4. Widgets; events and listeners.
Reading: Weiss, sections 6.1 and 6.2 (pages 201-208).March 5. Iterators.
Reading: Weiss, sections 6.3 and 6.4 (pages 208-220).March 7. Collections; generic algorithms.
Reading: Weiss, sections 6.5 and 6.6 (pages 220-228).March 10. Lists, stacks, and queues.
Reading: Weiss, section 6.7 (pages 228-236).March 11. Sets.
Reading: Weiss, section 6.8 (pages 236-239).March 12. Maps.
Reading: Weiss, section 6.9 and the chapter 6 review (pages 239-249).March 14. Priority queues.
Reading: Weiss, sections 7.1-7.3 (pages 251-269).March 31. Recursion in Java.
Reading: Weiss, sections 8.1-8.4 (pages 303-313).April 1. Sorting by insertion and by selection.
Reading: Weiss, section 8.5 (pages 313-316).April 2. Merge sorting.
Reading: Weiss, sections 8.6 and 8.7 and the chapter 8 review (pages 317-341).April 4 and 7. The quicksort algorithm.
Reading: Weiss, chapter 9 (pages 343-364).April 8. Random-number generation.
Reading: Weiss, chapter 15 (pages 518-537).April 9. Array lists.
Reading: Weiss, chapter 16 (pages 539-561).April 11. Implementing stacks and queues.
Reading: Weiss, chapter 17 (pages 563-594).April 14. Linked lists and other linked structures.
April 15, 16, and 18. Implementing linked structures.
Reading: Weiss, sections 18.1-18.3 (pages 595-611).April 21. Trees.
Reading: Weiss, section 18.4 and the chapter 18 review (pages 611-628).April 22. Tree-traversal algorithms.
Reading: Weiss, sections 19.1-19.3 (pages 629-648).April 23. Binary search trees; balancing.
Reading: Weiss, chapter 20 (pages 713-744).April 25. Hash tables and hashing functions.
Reading: Weiss, chapter 21 (pages 745-777).April 28. Heaps.
Reading: Weiss, section 14.1 (pages 471-483).
April 29. Designing a Graph class.
April 30. Implementing the Graph class.
May 2. Attributes of graphs.
Reading: Weiss, sections 14.2-14.4 (pages 483-498).May 5. Shortest-path problems; Dijkstra's algorithm.
Reading: Weiss, section 14.5 and the chapter 14 review (pages 499-513).May 6. Related graph problems.
May 7. A sermon on power and authority; student evaluations.
May 9. (pause for breath)
May 14, 2-5 p.m. Final examination.