Lab Overview

Lab sessions are held every week and will be conducted by a team of TAs and Tutors. Labs are NOT just summaries of previous lecture content. While you will do some review, the labs will often teach new tools (debuggers, unit testing, Makefiles, etc.) or have you practice skills in more depth than lecture was able to cover. Thus, it is very important you attend labs and give your best effort. This may be different from previous CS courses where labs/discussions were optional or done ahead of time. In CS104, you should treat labs as you do lectures and make it a priority to attend each week.

Policies

Schedule

ID Week Title Topics Slides
0 Week 1 Class Setup Compiler Toolchain, VSCode, and Github No slides
1 Week 2 Git Git, GitHub See shared folder
2 Week 3 GDB Debugging See shared folder
3 Week 4 Makefiles Make, Build Systems See shared folder
4 Week 5 Inheritance Inheritance, Polymorphism, OOP See shared folder
5 Week 6 Heaps Heaps, Priority Queues See shared folder
6 Week 7 Midterm 1 Review Lab See shared folder
7 Week 8 Templates OOP See shared folder
8 Week 9 Binary Trees AVL, BST See shared folder
9 Spring Break See shared folder
10 Week 10 Backtracking Recursion, Graph Algorithms See shared folder
11 Week 11 Hashtables Hashtables, Hashing See shared folder
12 Week 12 Midterm 2 Review Lab See shared folder
13 Week 13 Counting Counting See shared folder
14 Week 14 Probability & Number Theory Probability, Number Theory See shared folder
15 Week 15 Final Review See shared folder