Bogdan's lectures, CSC148, Winter 2017

Below are lecture materials, listed by week.

Week 1 (Jan 5 - Jan 11)
  • Lecture slides (all)
  • Function design exercise - handout
  • Function design exercise - example
  • Class design exercise - handout
  • point.py
  • Week 2 (Jan 12 - Jan 18)
  • Lecture slides (all)
  • Recognized Study Groups
  • Rational exercise - handout
  • rational_api.py
  • rational.py
  • namespace-examples.txt
  • rational_with_properties.py
  • namespace-examples.txt
  • Square, RightAngleTriangle (first attempt)
  • Shape class
  • Square class (inheritance)
  • RightAngleTriangle class (inheritance)
  • Client code to draw shapes
  • Week 3 (Jan 20 - Jan 25)
  • Lecture slides (all)
  • Shape class
  • Square class
  • RightAngleTriangle class
  • Stack API
  • Sack API
  • Container
  • Stack (full implementation)
  • Sack (full implementation)
  • Container client
  • Stack unittests
  • Sack unittests (see also alternative assert syntax)
  • Bonus: catching Exceptions gracefully and getting user input
  • Week 4 (Jan 26 - Feb 1)
  • Lecture slides (all)
  • Recursion exercises (tracing)
  • Recursion examples (all code)
  • Week 5 (Feb 2 - Feb 8)
  • Lecture slides (all)
  • Towers of Hanoi
  • Drawing tree-like patterns with turtles
  • Sudoku (API)
  • Sudoku (full)
  • Week 6 (Feb 9 - Feb 15/17)
  • Lecture slides (all)
  • stack.py
  • stack2.py
  • stack operations (timing)
  • node_api.py
  • node_solutions.py
  • Exercise sheet (append)
  • LinkedList-based Queues, Stacks
  • Week 7 (Feb 27 - Mar 3)
  • Lecture slides (all)
  • tree.py (all code)
  • csc148_queue.py (helper)
  • Exercise sheet (contains)
  • Exercise sheet (leaf_count)
  • Week 8 (Mar 4 - Mar 8)
  • Lecture slides (all)
  • mutable.py (mutable default)
  • binary_tree.py (all code)
  • csc148_queue.py (helper)
  • Exercise sheet (contains)
  • Exercise sheet (evaluate)
  • Week 9 (Mar 9 - Mar 15)
  • Lecture slides (all)
  • binary_tree.py (all code)
  • Week 10 (Mar 16 - Mar 22)
  • Lecture slides (all)
  • recursion.py
  • linked_list.py
  • sorted_list.py
  • Week 11 (Mar 23 - Mar 29)
  • Lecture slides (all)
  • birthday.py
  • hash_table.py
  • Week 12 (Mar 30 - Apr 5)
  • Lecture slides (all)
  • Tracing (..and mucking with generators)
  • Linked lists revisited
  • Scope: examples
  • Scope: other examples
  • More binary tree examples