Below are lecture materials, listed by week.
- January 6th
- vanilla slides
- annotated slides
- function design example code
- point class example code
- January 13th
- vanilla slides
- annotated slides
- rational class example (API only)
- rational class example (updated to include property).
- updated Point class
- shapes using composition
- superclass Shape
- Square, subclass of Shape
- January 20th
- vanilla slides
- annotated slides
- type hinting, superclass...
- type hinting, subclass...
- Stack, API only
- sample Stack implementation
- Sack, API only
- sample Sack implementation
- Container superclass
- client code for Container
- some Stack unit tests
- some Sack unit tests
- January 27th
- vanilla slides
- recursive examples
- tree burst example
- recursion tracing exercises
- February 3rd
- vanilla slides
- tower of Hanoi example
- exceptions example
- sudoku checking example
- February 10th
- vanilla slides
- annotated slides
- balanced parentheses example
- linked list example
- February 17th
- vanilla slides
- annotated slides
- list-based stack code
- list-based queue code
- linked-list based stack code
- linked-list based queue code
- abstract Container
- test-driver some containers code
- Tree class and functions code
- March 3rd
- vanilla slides
- annotated slides
- general tree code, continued
- binary tree code
- contains exercise
- evaluate exercise
- March 10th
- vanilla slides
- annotated slides
- binary tree code examples
- assignment #2 slides
- March 17th
- vanilla slides
- annotated slides
- recursion efficiency examples
- March 24th
- vanilla slides
- annotated slides
- birthday collisions
- home-made dictionary, API
- home-made dictionary, complete
- big list of words
- March 31st
- vanilla slides
- annotated slides
- code tracing examples
- generators code
- linked list code
- recursive code