Programming Languages and Compilers

CS 164 @ UC Berkeley, Fall 2021

This is the Fall 2021 website. If you are currently taking CS 164, please go to https://inst.eecs.berkeley.edu/~cs164/fa22/.

Frequently Asked Questions

What size will project groups be?

Projects will all be submitted individually. We’ve intentionally scaled the projects to be appropriately sized for individuals working alone! But don’t worry, you can still collaborate—see the collaboration policy here.

What language(s) and/or instruction set(s) will we be using?

We’ll be writing our compilers and interpreters in OCaml, and our compilers will be writing x86 assembly code! See the software page for more details on software.

What do I need to do for each assignment?

  1. Use the assignment link on the schedule to accept the assignment on GitHub Classroom.
  2. Clone the GitHub Classroom generated repo and follow the instructions in the README.
  3. Report late days by filling out this form, no later than 72 hours after the original deadline. (See full policy.)
  4. Check Piazza for clarifications or changes.
  5. Remove any identifying information from your submission (see full policy).
  6. Zip your cloned repo (from step 2) and submit the zip to Gradescope before 9PM on the due date.
  7. If you would like to withdraw your submission, override it on Gradescope with the assignment's starter code (see full policy).
  8. Grading will be done on Thursdays for regular submissions and Sundays for extended submissions. Gradescope will automatically check that your submission builds but will not grade your submission. All submissions will display a grade of zero (or blank) until 9PM on the corresponding grading day.

How many late days can I use?

Five (5) total; three (3) for any individual assignment (see full policy). For substantial illnesses or disruptive life events, use the extensions form (see full policy).

How can I submit a regrade request?

Submit regrade requests on Gradescope within one week of receiving your grade (see full policy).

I have a question that is not answered here. Should I make a private post on Piazza, make a public post on Piazza, or email an instructor?