CSCI 5525: Compiler Construction

Ìý

Instructor: Prof. Joseph (Joe) Izraelevitz

Email: joseph.izraelevitz@colorado.edu

Lectures: Tues/Thurs 2:00 - 3:15 PM in ECCR 105

Instructor Office Hours: Tuesday 3:15-4:15pm in person, ECOT 351.

Course Syllabus

You can find the full syllabus (including course policies, grade breakdown, etc.) .

Course WebsiteÌý

Mandatory Textbooks

  • A Problem Course in Compilation: From Python to x86 Assembly by Jeremy G. Siek and Bor-Yuh Evan Chang;Available for free . Near the end of the course we will switch to Engineering a Compiler by Keith D. Cooper and Linda Torczon; online text available through CU library.
  • Optional Textbooks / References : Python in a Nutshell: A Desktop Quick Reference by Alex Martelli; Compilers: Principles, Techniques, and Tools by Aho, Lam, Sethi, and Ullman; and Modern Compiler Implementation in Java by Andrew W. Appel (all available free via CUlibrary, see for access instructions).

Grading Queries

For grading queries, concerns, see class policy .

Slack

We have a class slack channel (invite , link at ) The TAsand professor will be generally available here for questions and concerns. Please make sure to set up your account (invite/instructions ) - slack can be accessed via browser, desktop application, or phone app, .

Lecture Slides/Recordings

Slides will generally be uploaded to Canvas shortly after lecture , assuming nothing goes wrong. Initial lectures will be recorded and uploaded to the course , and subsequently to . You are still expected to attend class.

Jupyter

Jupyter is a web interface that allows you to remotely access a personal and private Linux computer. We'll be using jupyter as it provides a standardized interface and minimizes debugging issues caused by your environment - we'll be grading projects using jupyter. You can check it out and you can follow the tutorial .

Git, Github, Github Classroom

To facilitate assignment release, development, and submission, we'll be using a the git version control software, along with the associated and websites. For information on git and github, see our class tutorial . For information on github classroom and how to complete assignments, see the tutorial .Ìý

Late/Regrade/Resubmissions

If you believe that there has been an error in grading, or if you want to submit a late submission or resubmission, you will need to fill out the regrade/late/resubmission form. For every day late, assignments will be docked 5%, and will not be accepted after the final day of classes. See details .

The most important rule

Please take care of yourselves - do not risk your health or the health of those around you for this class. If anything in this class (homework, tests, attendance, etc.) becomes a problem for you, get in touch with me. I will be understanding.