On this page:
Testing
Submitting
Grading
8.3

Assignment 2: Racket Primer

Due: Thursday, February 10, 11:59PM

The goal of this assignment is to gain practice programming in Racket.

You are given a main.rkt file (on ELMS under "Files"), that contains a number of sections. In each section there are several function “stubs,” i.e. incomplete function definitions with type signatures, descriptions, and a small set of tests. Each function has a bogus (but type correct) body marked with a “TODO” comment. Your job is to replace each of these expressions with a correct implementation of the function.

The last section of problems deals with functions that operate over a representation of expressions in a lambda-calculus-like language and asks you to compute a few simple facts about the given expression.

Make sure you do not rename the file. Also make sure not to change the name or signature of any function given to you. You may add any additional functions that help you solve the overall problem you’re tackling.

Testing

You can test your code in several ways:

Note that running racket main.rkt from the command line will not run the tests.

Submitting

Submit your filled-in main.rkt file on Gradescope.

Grading

Your submission will be graded for correctness. Passing the unit tests included in the file is necessary but not sufficient to receive a perfect score. You are strongly encouraged to add your own tests to ensure the correctness of your solutions.