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.