| Lecture | Code | Notes |
| Lecture 1 |
cellphone.py contact.py except.py |
  |
| Lecture 2 |
stack.py queue.py base.py balance.py |
Read sections 2.3 and 2.4 in the textbook. |
| Lecture 3 |
node.py linkedlist.py |
Read section 7.2 in the textbook. Note that you may _not_ submit linkedlist.py for A1. |
| Lecture 4 |   | Notes on asymptotic notation. Read section 4.2 in the text book. |
| Lecture 5 |
recursion.py maze.py maze.in |
Read chapter 3 in the textbook. |
| Lecture 6 |   | Read chapter 5 in the textbook. |
| Lecture 7 | bst.py | A Java applet to visualize Binary Search Trees: applet |
| Lecture 8 | bst.py | bst.py updated to include removal. |
| Lecture 9 | heap.py | |
| Lecture 10 | sorts.py | The first five sorting algorithms; insertion, bubble, selection, heap and merge. Read section 4.4 in the textbook. |
| Lab Section | Last Names | TA | Time | Room |
| T0101 | A to Z | Gabriel Chow | T1-3 | BA3175 |
| T0201 | A to C. Lee | Gabriel Chow | F9-11 | BA3175 |
| T0201 | H. Lee to Z | Renqiang Min | F9-11 | BA3195 |
| Lab |
| Lab 1 |
| Lab 2 |
| Lab 3 |
| Lab 4 |
| Lab 5 |
| Lab 6 |
| Lab 7 |