CSC 439/639 – Fall 2020 – Assignments

This class will consist of two main types of assignments for all students, and an additional type of assignment for graduate and honors students.

Gradiance Homeworks

Gradiance assignments are done using the Gradiance online system, as described in the syllabus and in class. These are due Fridays of most weeks (at midnight), and are not accepted late.

  1. Due Friday, August 28: Gradiance Homework 1
  2. Due Friday, September 4: Gradiance Homework 2
  3. Due Friday, September 11: Gradiance Homework 3
  4. Due Friday, September 18: Gradiance Homework 4
  5. Due Friday, September 25: Gradiance Homework 5
  6. Due Friday, October 2: Gradiance Homework 6
  7. Due Friday, October 16: Gradiance Homework 7
  8. Due Friday, October 23: Gradiance Homework 8
  9. Due Friday, October 30: Gradiance Homework 9
  10. Due Friday, November 6: Gradiance Homework 10
  11. Due Friday, November 13: Gradiance Homework 11
  12. Due Friday, November 20: Gradiance Homework 12

The Compiler Project

The most significant student-work for this class will be the implementation of a complete compiler, assigned in five stages throughout the semester. Code is managed, and submissions are made, using GitHub, and the actual assignment and requirements are in the README file in the repository for each part.

  1. Due Monday, September 21: Part 1 – Lexical Analyzer
  2. Due Monday, October 12: Part 2 – Basic Parser (only ints)
  3. Due Monday, October 26: Part 3 – Complete Parser (with chars and arrays)
  4. Due Monday, November 9: Part 4 – Intermediate-Code Generation
  5. Due Monday, November 30: Part 5 – Code Generation (complete compiler due)

Graduate/Honors Students

Graduate students and undergraduates taking this course for contract honors complete an advanced project in addition to the regular class assignments. More information is on the Graduate Student Project page.