CSC148H: Lectures and Reading

Section Time Room Instructor
L0101 MW 10-11 BA 1130 Paul
L0102 MW 10-11 WI 1016 Velian
L5101 W 6-8 BA 1180 Paul

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.

Some notes, especially code, will not be posted until after the lectures, and we will sometimes be disorganized and forget to post notes ahead of time. Also, for some lectures, there will only be code that we develop in class.

Week M–F Reading/Notes 0101 0102 5101
1 9-13 Jan W1L1.pdf ADTs.pdf CallStack.pdf stack.py W1L1.pdf ADTs.pdf CallStack.pdf W1L1.pdf ADTs.pdf CallStack.pdf stackdemo.py
2 16-20 Jan stack_handout.pdf classes_handout.pdf bad_stack.py stack.py compare_stacks.py eval_expression.py exception_demo.py test_stack.py Expression Evaluator starter code stack_handout.pdf classes_handout.pdf stack_handout.pdf classes_handout.pdf bad_stack.py stack.py compare_stacks.py eval_expression.py exception_demo.py test_stack.py
3 23-27 Jan Testing_handout.pdf test_clock_time.py clock_time.py
rec_intro.py fact.py demo.py min.py
Testing_handout.pdf Testing_handout.pdf test_clock.py clocktime.py
rec_intro.py fact.py fib.py minimum.py
4 30 Jan - 3 Feb fib.py course_example.py dirstuff.py min.py exception_demo.py memtrace.py min.py min_profile.py rev_examples.py Memory Model Example Memory Model Example (printer-friendly) fib.py betterrosi.py dirstuff.py exception_demo.py min.py
5 6-10 Feb Some of you have asked for more recursion reading and practice. Here is a list, including some practice exercises; we're starting trees (another ADT) in week 5, but trees are not on the test. Here are some binary search tree resources: Binary trees
We also had a midterm on Wednesday.
Binary trees
We also had a midterm on Wednesday.
Binary trees
We also had a midterm on Wednesday.
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. Inheritance slides
The lectures were mostly on the chalkboard.
Monday: inheritance, tree traversals
Wednesday: binary tree insert, traverse, and contains. We also wrote short recursive tree methods, including height and sum, and talked about a process to use to figure out tree recursion algorithms.
Inheritance slides Inheritance slides
The lectures were mostly on the chalkboard.
Monday: inheritance, tree traversals
Wednesday: binary tree insert, traverse, and contains. We also covered wrote short recursive tree methods, including height and sum, and talked about a process to use to figure out tree recursion algorithms.
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).
bst.py BST Deletion Slides (from Velian's lecture) BST Deletion Slides BSTNode.py bst.py BST Deletion Slides (from Velian's lecture)
8 5-9 Mar heapsort.py sorts.py sort_comparison.py heapsort.py sorts.py sort_comparison.py
9 12-16 Mar mergesort.py and quicksort.py; updated sort_comparison.py mergesort.py and quicksort.py; updated sort_comparison.py
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. The slide code contains errors. Can you figure them out? queue.py and profile_queues.py quicksort.py mergesort.py Queue implementations (List vs LL) profile_queues.py queue.py and profile_queues.py
11 26-30 Mar linkedlist.py LinkedList.py polynomial.py DoublyLinkedList.py BSTNode.py linkedlist.py
12 2-6 Apr closing.pdf ShortReview.pdf closing.pdf ShortReview.pdf closing.pdf ShortReview.pdf