CSCA48H: Lectures and Reading

The required reading for the course will be posted here. We will also post useful (or fun) but non-required reading; that will be clearly marked.

We often use the board to teach. We will usually not post summaries of this; please make a friend in class in case you happen to miss a lecture.

Section 1st lecture 2nd lecture
LEC 01 Mon 1-2 (SW 319) Thurs 10-12 (SW 309)
LEC 02 Mon 12-1 (HW 216) Wed 12-2 (SY 110)

Week M-F Reading/Notes Slides LEC 01 code LEC 02 code
1 9-13 Jan Monday: Wednesday/Thursday: Monday: none
    Thursday:
    Monday: none
      Wednesday:
      2 16-20 Jan Monday:
      • Classes (review -- we didn't do these in class)
      Wednesday/Thursday:
      Thursday: Wednesday
      3 23-27 Jan Monday: Wednesday/Thursday: Monday: Thursday: Monday: Wednesday:
      4 30 Jan - 3 Feb Monday: Monday: Wednesday/Thursday:
      5 6-10 Feb Binary Search Trees: Monday: Wednesday/Thursday: Monday: Wednesday/Thursday:
      6 13-17 Feb If you haven't yet, please do the reading from week 5. In addition, here are some slides on trees and recursion, and also an introduction to inheritance. Wednesday/Thursday: Wednesday/Thursday:
      • student.py (inheritance example)
      • bst.py (BST class with recursive and iterative insert method, write contains as an exercise)
      X 20-24 Feb Reading Week: no classes
      7 27 Feb - 2 Mar Welcome back!
      We're going to finish up tree operations, and in particular tree deletion.
      This week and next, we're going to talk about heaps; here is another set of slides on heaps, including heapsort (although in the heapsort implementation these slides put the first item in the heap at index 1 and not at index 0; we're going to use index 0).
      Wednesday/Thursday: Monday:
      • bst.py (BST class with recursive contains, insert, delete methods; write get_min as an exercise)
      Wednesday/Thursday:
      8 5-9 Mar Wednesday/Thursday: Monday (PQs implemented 4 ways): Wednesday/Thursday (sorting algorithms compared):
      9 12-16 Mar In all of these, concentrate on these sorting algorithms:
      bubble, selection, insertion, heap, merge, quick
      Wednesday/Thursday: Monday: Wednesday/Thursday:
      10 19-23 Mar linked list reading (from How to Think Like a Computer Scientist) and some linked lists slides that you can use as a reference. Wednesday/Thursday:
      11 26-30 Mar Monday: Wednesday/Thursday:
      12 2-6 Apr Wednesday/Thursday: Monday: Wednesday/Thursday: