Project 2 - Untyped Lambda Calculus
Over the course of the semester, we will post five assignments that will require you to code up five moderately complex Scala applications (one per each assignment) that highlight certain theoretical aspects of the course.
Every assignment will become available on this website at due time (usually after the deadline of the previous assignment). We will be notifying you about new assignments through Canvas.
It is okay to share ideas between students on the assignments, but sharing code is prohibited.
All development during the course will be done in Scala. Here we provide the instructions how to setup the Scala development tools.
First, you need to install the sbt build tool.
See the instructions for installing JVM, Scala and SBT here.
You can run sbt compile
and sbt run
in the console to compile and run the project.
We recommend using VS Code with the extension Metals for development. You can find instructions for installing VS Code here. It suffices to install Metals and open the assignment directory in VS Code.
You can also use IntelliJ IDEA for development. You can import the project into the IDE:
Import Project
.Open
.Import project from external model > SBT
, click Next
.Finish
.If you don’t like IntelliJ IDEA, feel free to use alternative editors or even develop in the console, as long as your project passes our tests.
If you miss a deadline, you can still submit your project, however your grade will be reduced. Late submissions will be graded with 30% deduction of points for every day after the deadline.
If you need more detailed feedback on your submission, please send an email to one of the assistants to reserve an office slot, so that we may study your code together.