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.
- 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)
- Lab 4: Recursive-Descent Parsing (solutions posted)
- Lab 5: ANTLR parser generator (solutions posted)
- Lab 6: Intro to SPL (solutions posted)