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 2 GDB Debugging, GDB, tooling gdb_lab.pdf
lab3 Week 3 Makefiles Make, makefiles, build systems makefile_lab.pdf
lab4 Week 4 GTest Unit testing
lab5 Week 5 Inheritance and STL stl_inh_lab.pdf
lab6 Week 6 Templates
lab7 Week 7 Midterm Review
heap_lab Week 7 Heaps Heaps heap_lab.pdf
bst_lab Week 8 BST and AVL BST and AVL Tree bst_lab.pdf
backtracking Week 11 Backtracking Backtracking Backtracking_Lab.pdf
counting_lab Week 12 Counting Counting Extra_Counting_Problems.pdf
probability_lab Week 13 Probablity Probability probability_lab.pdf
hashtable_lab Week 14 Hashtable Hashtable
old_probability_lab Not Used N/A
number_theory for review only NOT DUE