CS:APP Lab Overview
All CS:APP labs share the following features:
- Class tested at Carnegie Mellon. The authors developed and
refined the labs over a period of 10 years, on classes of 150-250 students.
The course gets high evaluations from the students, who typically cite
the labs as the reason they love the course.
- Automatic testing and evaluation drivers. Students develop
their solution in a C file, which they then link into a C driver
program. The driver runs their solution, checks for correctness, and
produces a quantitative evaluation of their solution. Students use
this feedback to incrementally refine their solutions.
- Solutions. Instructors are provided with complete
solutions for each Lab.
- Autograders. Each lab (with the exception of the
Proxy Lab) comes with an Perl autograder that runs the driver program
on each student handin file and prints an ASCII grade sheet for each
- Complete lab writeups. Each lab comes with a complete
writeup (in Latex) that provides context, step by step instructions,
and an explanation of the evaluation criteria.