Labs

If you need to hand in an assignment late, fill out this form.

The following link always points to the latest Combinator.fs.

Date Posted Date Due Lab Turn-in Method
Thursday, Sept 7 Sun, Sept 10 Complete Lab 0.
git
Monday, Sept 11 Sun, Sept 17 Complete Lab 1.
git
Monday, Sept 18 Thu, Sept 21 Read Advanced F# from the course packet.
class discussion
Monday, Sept 18 Sun, Sept 24 Complete Lab 2.
git
Thursday, Sept 21 Thu, Sept 28 Read Introduction to the Lambda Calculus, Part 1 and Grammars and Parse Trees from the course packet.
class discussion
Mon, Sept 25 Sun, Oct 1 Read Introduction to LaTeX and complete Lab 3.
git
Mon, Oct 2 Sun, Oct 8 Read Higher-Order Functions and complete Lab 4.
git
Wed, Oct 11 Sun, Oct 15 Read Proof by Reduction and complete Lab 5.
git
Monday, Oct 16 Thursday, Oct 26 Read How to Fix a Motorcycle from the course packet.
class discussion
Wed, Oct 23 Sun, Oct 29 Review previous readings and do Lab 6.
git
Mon, Oct 30 Sun, Nov 5 Read Parsing from the course packet and do Lab 7.
Note that this lab includes a project brainstorm, so if you are planning to work with a partner, you might collaborate on this part.
git
Mon, Nov 6 Sun, Nov 12 Do Lab 8.
git
Tue, Nov 7 Thu, Nov 9 Watch Growing a Language by Guy Steele.
Note: Guy’s talk starts with an example that may strike a viewer in 2023 as needlessly gendered. I acknowledge this fact but I hope that you can appreciate the rest of the talk's insights about language design.
class discussion
Tue, Nov 14 Sunday, Nov 19 Read Evaluation and Implementing Variables from the course packet and do Lab 9.
git
Mon, Nov 20 Sunday, Nov 26 Read Beating the Averages from the course packet.
class discussion
Mon, Nov 20 Sunday, Dec 3 Read Appendix B: Branching in git, Implementing Scope, and Implementing Functions from the course packet and do Lab 10.
git
Mon, Nov 27 Sunday, Dec 3 Read The Rise of Worse is Better from the course packet.
class discussion
Tue, Nov 27 Sunday, Dec 17 Turn in your final project.
Be sure to commit your final work to a new branch called final-submission.
I strongly advise you to clone your project after you finish to ensure that you have committed all of your work.
git
  • CSCI 334: Principles of Programming Languages, Fall 2023

CSCI 334 website repository, Fall 2022

Powered by Bootstrap 4 Github Pages