Below are lecture materials, listed by date.
- January 11th
- vanilla slides
- annotated slides
- mischievous point example. How not to define a point...
- mischievous turtle example
- API for Point. Do this based on the exercise, before implementing the bodies.
- completed point example
- January 18th
- vanilla slides
- annotated slides
- API for Rational. Do this before implementing the bodies.
- completed rational numbers example
- rational numbers with managed attributes Use property to manage num and denom.
- stand-alone Square and RightAngleTriangle classes Classes with attributes from other classes.
- General Shape superclass Has the code that is common to Square and RightAngleTriangle.
- Square subclass of Shape
- RightAngleTriangle subclass of Shape
- Client code of Shape that will work for any subclass
- January 25th
- vanilla slides
- annotated slides
- API for Stack Work on this before you implement Stack.
- stack implementation Compare this to your solution.
- tests for Stack You may add to these
- Python tutor example Try this stack example...
- API for Sack Work on this before you implement Sack
- sack implementation Compare this to your solution
- tests for Sack
- Abstract Container class
- client for Container Shows how client code can use Containers of different kinds.
- February 1st
- vanilla slides
- annotated slides
- matching parentheses code
- API for linked list classes. Start from this to write your own implementation of methods. Un-comment remaining methods once the first ones are working.
- linked list append exercise
- linked list solutions
- February 8th
- vanilla slides
- annotated test and assignment
- annotated linked list queue
- stack API Start from this to build a linked-list-based Stack
- queue API Start from this to build a linked-list-based Queue
- LinkedList class
- linked-list-based Queue implementation
- linked-list-based Stack implementaiton
- compare containers
- February 22nd
- vanilla slides
- annotated slides
- reading recursion exercise
- annotated recursion exercises
- recursion code example
- recursive turtle
- February 29th
- vanilla slides
- annotated slides
- Tree class with methods and functions
- sample solutions for Tree class methods and functions
- Queue class used in helper function
- recursion exercise on contains method
- recursion exercise on leaf_count function
- more functions to build for tree
- sample solutions to more tree functions
- March 7th
- vanilla slides
- annotated slides
- binary tree implementation
- binary tree exercises solutions.
- contains exercise
- evaluate exercise
- March 13th
- vanilla slides
- annotated slides
- binary tree insertion and deletion.
- mirror tree mutation example
- March 20th
- vanilla slides
- annotated slides
- fibonacci, quick sort, code
- March 27th
- vanilla slides
- annotated slides
- merge sort code
- birthday paradox code
- April 4th
- vanilla slides
- annotated slides
- hash table code
- function call example
- subclass search example