There will be a final course project to be completed over the last several weeks of the course. The project will involve extending the design and implementation of the programming language and its compiler that we will develop throughout the semester.

For your project you should turn in your extension code, a directory of examples that showcase your extension and the differences in behavior compared to the original language, and a short paragraph describing anything you found interesting. Submission will be handled by gradescope, with more details to follow.

The suggested deadline is the last date of classes - May 11th - to avoid overlap with finals week. That said, you’re free to take a few extra days and submit after that deadline until the nominal date of the final exam (which would have been on Tuesday, May 18th if it was happening). That is a strict deadline, not imposed by me, so make sure you have turned in your projects by then.

As a first step, you have to pick a project idea as your "assignment" for this week. Just write a short paragraph with your project of choice: what you hope to accomplish and a high-level description of your approach. This assignment should be live on Gradescope.

Here are some project ideas that have been discussed throughout the semester: