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 GitHub, Docker, Codio
1 Week 2 Git Git, GitHub GitLab.pdf
2 Week 3 GDB Debugging GDBLab.pdf
3 Week 4 Makefiles Make, Build Systems MakeLab.pdf
4 Week 5 Inheritance Inheritance, Polymorphism, OOP InheritanceLab.pdf
5 Week 6 Heaps Heaps, Priority Queues HeapsLab.pdf
6 Week 7 Midterm 1 Review Lab Midterm1Lab_Student.pdf Midterm1Lab.pdf
7 Week 8 Templates OOP TemplatesLab.pdf
8 Week 9 Binary Trees AVL, BST BstAvlLab.pdf
9 Spring Break
10 Week 10 Backtracking Recursion, Graph Algorithms BacktrackingLab.pdf
11 Week 11 Hashtables Hashtables, Hashing HashtablesLab.pdf
12 Week 12 Midterm 2 Review Lab Midterm2Lab.pdf
13 Week 13 Counting Counting CountingLab.pdf
14 Week 14 Probability & Number Theory Probability, Number Theory ProbabilityNumberTheoryLab.pdf
15 Week 15 Final Review