CS443: Compiler Construction, Fall 2022Instructor: Stefan Muller,Office Hours: Monday, 11:00 AM-12:00 (Zoom), Thursday 2:00-3:00 PM (SB 218E)
Lectures: Tue., Thur., 10:00-11:15 AM, Stuart Building 111
(see Attendance Policy for details) Course OutcomesThe purpose of this course is to give the student a working knowledge of modern compiler implementation, and practical experience implementing them. During the class, you will:
ScheduleNote: this schedule is incomplete, tentative and subject to change.
Readings:
ResourcesTextbook:
OCaml:
LLVM: RISC-V:
Misc:
PoliciesAttendance/COVIDSection 01 will meet on campus. Live attendance is encouraged; the ability to hear the material and ask questions live is valuable, and while participation is not an explicit part of your grade, it may be used to "break ties." That said, attendance is not mandatory, and the occasional absence will not count against you and doesn't need to be excused. If you are in Section 01 and are consistently not able to come to lecture for some reason, discuss this with the instructor. I do not currently plan to livestream lectures, but they will be recorded. Section 02 is an online section; you will watch the lectures online at your leisure but complete the same assignments and exams as the in-person students. For classroom capacity reasons, Section 02 students should not attend in-person without the permission of the instructor. All of the above is, of course, subject to change depending on the rapidly changing pandemic situation and university/local/state policies. Keep a close eye on this page and your email. GradingFinal grades will be based on the following:
Final letter grades will be assigned at the instructor's discretion based on the difficulty of the homeworks and exams, which is difficult to predict before the semester starts. This should only help you and shouldn't be a source of stress (e.g., barring exceptional circumstances, earning 90% based on the formula above should earn you an A, but if grades were lower than expected and I feel that students with lower final grades learned the material well enough to earn As also, I'll adjust accordingly). That said, my main grading policy is fairness: asking for a higher grade (without pointing to specific things that have been graded incorrectly) won't succeed, because that wouldn't be fair to the rest of the students. Late Days/Late WorkEach student has 6 "late days" to use on homeworks over the course of the semester. Using a late day extends the deadline by 24 hours. You do not need to let me know you're using late days; they'll be deducted automatically when you hand in the work. Important: No more than two late days may be used on any one assignment. Late days may not be used on exams. After 48 hours, late work will not be accepted without the instructor's permission (and will be granted only for good reasons, e.g., medical emergencies). For partner assignments, all partners must use late days to submit late. If you've used up your late days, work up to 2 days late (without prior permission from the instructor) will be accepted with a penalty of 10% per day. ExamsSection 01 students will take the midterm exam and final exam in person on campus. Section 02 students can take the exam on campus or make arrangements to take the exam remotely. Unless specified otherwise, both exams are open book and open notes. Collaboration and Using Outside SourcesUnless specified otherwise, projects may be completed in groups of up to 2 students. If working in a group, all students must contribute roughly evenly. Discussing general course concepts with other students (outside your group) to get a better understanding is permitted (and encouraged!). However, students may not share answers or code and all submitted work must be your own (and your partner's), with the exception that small snippets of debugging or incidental code (e.g., to load a file or pretty-print messages) may be used if appropriately cited in a comment. For more information about what constitutes academic dishonesty and the policies we are required to follow if we discover dishonesty, please view the university's Code of Academic Honesty. If you're ever in doubt about whether something would violate the policy, don't hesitate to contact the instructor. It's always better to ask and be sure. Illinois Tech's Sexual Harassment and Discrimination InformationIllinois Tech prohibits all sexual harassment, sexual misconduct, and gender discrimination by any member of our community. This includes harassment among students, staff, or faculty. Sexual harassment of a student by a faculty member or sexual harassment of an employee by a supervisor is particularly serious. Such conduct may easily create an intimidating, hostile, or offensive environment. Illinois Tech encourages anyone experiencing sexual harassment or sexual misconduct to speak with the Office of Title IX Compliance for information on support options and the resolution process. You can report sexual harassment electronically at iit.edu/incidentreport, which may be completed anonymously. You may additionally report by contacting the Title IX Coordinator, Virginia Foster at foster@iit.edu or the Deputy Title IX Coordinator at eespeland@iit.edu. For confidential support, you may reach Illinois Tech's Confidential Advisor at (773) 907-1062. You can also contact a licensed practitioner in Illinois Tech's Student Health and Wellness Center at student.health@iit.edu or (312)567-7550. For a comprehensive list of resources regarding counseling services, medical assistance, legal assistance and visa and immigration services, you can visit the Office of Title IX Compliance website at https://www.iit.edu/title-ix/resources. Disability AccommodationsReasonable accommodations will be made for students with documented disabilities. To obtain a letter of accommodation, contact the Center for Disability Resources at https://www.iit.edu/cdr. |