COP-5621 Compiler Construction
Syllabus
Table of Contents
Course Information
- Spring 2024
- Section 1
- University of Central Florida
- Prerequisite(s): COP-4020 and COT-4210
Personnel
- Instructor: Paul Gazzillo paul.gazzillo@ucf.edu
Office Hours
- M/W 2pm–3pm (HEC-239)
Course Meeting Times
- Attendance is required
- This is a small graduate class, which allows for discussion and student-driven pacing and augmentation of content.
- No online component is planned.
- MW 3:00-4:15PM CB1 O119
- Semester: 01/08/2024-04/22/2024
- Final exam period: 04/24/2024 1pm–3:50pm
- No class: 01/15, 03/19, and 03/21
Course Description
In this course, we will cover classic compiler design and implementation as well as advanced topics in programming language analysis and implementation. This course goes beyond undergraduate compilers to provide students with a deeper understanding and facility for how programming languages are implemented and analyzed.
Course Schedule
Projects are due on the dates listed above before class, which is 2:59pm except for the Final project implementations and presentations, which begin at 1pm.
The schedule of content may change slightly during the semester to improve pacing.
Recommended Texts
- Program Analysis, by Jonathan Aldrich, Claire Le Goues, and Rohan Padhye
- Compilers: Principles, Techniques, & Tools, Second Edition by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. Addison Wesley, 2007.
- Formal Semantics of Programming Languages by Glynn Winskel, 1993.
- The Practice of Programming by Brian W. Kernighan and Rob Pike, 1999.
- Advanced Compiler Design and Implementation by Steven Muchnich. Morgan Kaufman, 1997.
- Modern Compiler Implementation in C by Andrew Appel. Cambridge University Press, 1998.
- The Definitive ANTLR 4 Reference Second Edition by Terence Parr, 2013.
Other Useful Course Material
- Michael Hicks, Program Analysis and Understanding
- Wes Weimer and Hannah Potter, Advanced Programming Languages
- Paul Gazzillo, Systems Software
Coursework
- 10% Attendance and participation
- Two unexcused absenses dropped
- 30% Homework and readings
- Homeworks and/or readings each class
- In-class discussion for participation
- Lowest two grades dropped
- 30% Compiler project
- Complete the given optimizing compiler for the while language
- Implemented on your own
- 30% Personal project
- Propose, implement, and present your own project
Grading
- No Late homework accepted; it will be discussed in class after it's due.
- Unless otherwise notified, all coursework (assignments, projects, readings, presentations, etc) should be done individually.
- Letter grades: A >= 90%, B+ >= 87%, B >= 80%, C+ >= 77%, C >= 70%, D >= 60%, F < 60%. (minuses may be used in some cases)
Core Policy Statements
Academic Integrity
The Center for Academic Integrity (CAI) defines academic integrity as a commitment, even in the face of adversity, to five fundamental values: honesty, trust, fairness, respect, and responsibility. From these values flow principles of behavior that enable academic communities to translate ideals into action. http://academicintegrity.org/
UCF Creed: Integrity, scholarship, community, creativity, and excellence are the core values that guide our conduct, performance, and decisions.
- Integrity: I will practice and defend academic and personal honesty.
- Scholarship: I will cherish and honor learning as a fundamental purpose of my membership in the UCF community.
- Community: I will promote an open and supportive campus environment by respecting the rights and contributions of every individual.
- Creativity: I will use my talents to enrich the human experience.
- Excellence: I will strive toward the highest standards of performance in any endeavor I undertake.
The following definitions of plagiarism and misuse of sources come from the Council of Writing Program Administrators http://wpacouncil.org/node/9 and have been adopted by UCF's Department of Writing & Rhetoric.
- Plagiarism
In an instructional setting, plagiarism occurs when a writer deliberately uses someone else's language, ideas, or other original (not common-knowledge) material without acknowledging its source. This definition applies to texts published in print or on-line, to manuscripts, and to the work of other student writers.
- Misuse of Sources
A student who attempts (even if clumsily) to identify and credit his or her source, but who misuses a specific citation format or incorrectly uses quotation marks or other forms of identifying material taken from other sources, has not plagiarized. Instead, such a student should be considered to have failed to cite and document sources appropriately.
- Responses to Academic Dishonesty, Plagiarism, or Cheating
UCF faculty members have a responsibility for your education and the value of a UCF degree, and so seek to prevent unethical behavior and when necessary respond to infringements of academic integrity. Penalties can include a failing grade in an assignment or in the course, suspension or expulsion from the university, and/or a "Z Designation" on a student's official transcript indicating academic dishonesty, where the final grade for this course will be preceded by the letter Z. For more information about the Z Designation, see http://goldenrule.sdes.ucf.edu/zgrade.
For more information about UCF's Rules of Conduct, see http://www.osc.sdes.ucf.edu/.
- Unauthorized Use of Class Materials
There are many fraudulent websites claiming to offer study aids to students but are actually cheat sites. They encourage students to upload course materials, such as test questions, individual assignments, and examples of graded material. Such materials are the intellectual property of instructors, the university, or publishers and may not be distributed without prior authorization. Students who engage in such activity are in violation of academic conduct standards and may face penalties.
- Unauthorized Use of Class Notes
Faculty have reported errors in class notes being sold by third parties, and the errors may be contributing to higher failure rates in some classes. The following is a statement appropriate for distribution to your classes or for inclusion on your syllabus:
Third parties may be selling class notes from this class without my authorization. Please be aware that such class materials may contain errors, which could affect your performance or grade. Use these materials at your own risk.
- In-Class Recording Policy
Outside of the notetaking and recording services offered by Student Accessibility Services, the creation of an audio or video recording of all or part of a class for personal use is allowed only with the advance and explicit written consent of the instructor. Such recordings are only acceptable in the context of personal, private studying and notetaking and are not authorized to be shared with anyone without the separate written approval of the instructor.
Course Accessibility Statement
The University of Central Florida is committed to providing access and inclusion for all persons with disabilities. This syllabus is available in alternate formats upon request. Students with disabilities who need specific access in this course, such as accommodations, should contact the professor as soon as possible to discuss various access options. Students should also connect with Student Accessibility Services (Ferrell Commons, 7F, Room 185, sas@ucf.edu, phone (407) 823-2371). Through Student Accessibility Services, a Course Accessibility Letter may be created and sent to professors, which informs faculty of potential access and accommodations that might be reasonable.
Campus Safety Statement
Emergencies on campus are rare, but if one should arise in our class, we will all need to work together. Everyone should be aware of the surroundings and familiar with some basic safety and security concepts.
- In case of an emergency, dial 911 for assistance.
- Every UCF classroom contains an emergency procedure guide posted on a wall near the door. Please make a note of the guide's physical location and consider reviewing the online version at http://emergency.ucf.edu/emergency_guide.html.
- Familiarize yourself with evacuation routes from each of your classrooms and have a plan for finding safety in case of an emergency. (Insert class-specific details if appropriate)
- If there is a medical emergency during class, we may need to access a first aid kit or AED (Automated External Defibrillator). To learn where those items are located in this building, see http://www.ehs.ucf.edu/AEDlocations-UCF (click on link from menu on left). (insert class specific information if appropriate)
- To stay informed about emergency situations, sign up to receive UCF text alerts by going to my.ucf.edu and logging in. Click on "Student Self Service" located on the left side of the screen in the tool bar, scroll down to the blue "Personal Information" heading on your Student Center screen, click on "UCF Alert", fill out the information, including your e-mail address, cell phone number, and cell phone provider, click "Apply" to save the changes, and then click "OK."
- If you have a special need related to emergency situations, please speak with me during office hours.
- Consider viewing this video (https://youtu.be/NIKYajEx4pk) about how to manage an active shooter situation on campus or elsewhere.
Deployed Active Duty Military Students
If you are a deployed active duty military student and feel that you may need a special accommodation due to that unique status, please contact your instructor to discuss your circumstances.