Labs
Overview
Completed labs are generally due by midnight the following Wednesday. This deadline applies even if you miss the lab on Thursday, or have an excused absence or MO the following week.
The labs are organized into four groups as shown below: Scheme, parsing, SPL, and compiler. For each group of labs, you need to choose a different lab partner, who must also be different than your partner for the course project.
Collaboration with your lab partner is unlimited and encouraged, but collaboration between groups should be limited to informal discussions as discussed in the course policy. In particular, you should never share your code with someone in another group.
Labs
Scheme labs
- Lab 1: Scheme expressions and functions (solutions posted)
- Lab 2: Working with let and lists (solutions posted)
- Lab 3: Closures and Tail Recursion (solutions posted)
Parsing labs
- Lab 4: Recursive-Descent Parsing (solutions posted)
- Lab 5: ANTLR parser generator (solutions posted)
- Lab 6: Intro to SPL (solutions posted)
SPL labs
Compiler labs
- Lab 10: Compiler Part 1
- Lab 11: Compiler Part 2
Due by Wednesday, November 29 at 23:59 - Lab 12: Garbage Collection