Lab Overview

Lab sessions are held every week and will be conducted by a team of TAs and Course Producers. 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
lab0 Before Getting Started Github, curricula, registration, setup
lab1 Week 1 Git Tutorial Git, github git_lab.pdf
lab2 Week 1 GDB Debugging, GDB, tooling
lab3 Week 2 Makefiles Make, makefiles, build systems
gtest_lab Week 2 GTest Unit testing
lab4 Week 3 Inheritance and STL stl_inh_lab.pdf
lab5 Week 3 Templates
lab6 Week 4 Heaps Heaps
lab7 Week 5 Midterm Review
lab8 Week 5 (Optional) ll_rec_practice.pdf
lab9 Week 6 Backtracking Backtracking
lab10 Week 6 BST and AVL Tree
lab11 Week 7 Hashtable Hashtable
lab12 Week 8 Counting! extra_counting_problems.pdf
lab13 Week 8 Probability?
lab14 Week 9 Number Theory
lab15 Week 9 Final Review