| Schedule | Lectures | Homeworks | Exams | Resources |
|
Syllabus |
|
Most complex software systems are not monolithic; they are programmable using special-purpose languages. An understanding of the language translation process thus plays an important role in the design of real-life systems.
In the class, we will discuss the principles of designing a compiler. In the homework assignments, you will then apply these principles to develop a series of complete compilers a sequence of increasingly complex high-level language.
Keith D. Cooper and Linda Torczon, Engineering a Compiler (2nd Edition), 2011. Publisher: Morgan Kaufman/Elsevier. ISBN: 978-0120884780.
| Homework Assignments: | 30% |
| Homework Presentation: | 5% |
| Two Mid-Term Exams: | 40% |
| Final Exam: | 25% |
Students may work in pairs.
A note on homework presentations: During the semester, each student will make a presentation of portions of his/her homework to determined by the instructor; the student is expected to come prepared on all aspects of his/her code. The presentation will be used to guage the level of overall understanding of the student. This presentation will be made individually to the instructor or TA without other students present.
If working as a pair, both members will be expected to know all aspects of the homeworks, regardless of the authorship.
You must turn the homeworks in on the day they are due (i.e. by 11:59pm on the deadline date). Since the homeworks involve considerable conceptual design as well as low-level programming, students are urged to start early. The date the assignments are due will be clearly specified in the homework handout, on the web; any changes in deadlines will be posted on the course homepages and the discussion board (on Piazza).
The "Stuff Happens" Excuse: For one assignment, you can claim penalty-free late days (up to 3 days, all for the same assignment). You should send me mail ahead of the submission deadline if you want to use this penalty-free late days for any assignment.
Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and Disability Support Services. For procedures and information go to http://www.stonybrook.edu/ehs and search Fire Safety and Evacuation and Disabilities.
Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Judicial Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn.
You may discuss the homework problems in this course with other students, as long as you are willing to post the material on the class discussion board. However each student's submission, including written material and coding, must be their own work, and only their own work. Remember that there are many different ways to solve the same problem; even solutions with the same central idea can be formulated in many different ways. Therefore, suspiciously similar homework solutions will be considered as evidence of disallowed collaboration or copying. Any evidence that written homework submissions or source code have been copied, shared, or transmitted in any way between students (this includes using source code downloaded from the Internet or written by others in previous semesters!) will be regarded as evidence of academic dishonesty.
Copying an assignment from another student in this class or obtaining a solution from some other source will lead to an automatic F for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying.
You should learn how to protect your data. Failure to do so is also unprofessional and it may expose you to the danger that someone will copy your homework and will submit it as his or her own (see above).
IMPORTANT:
Be advised that any evidence of academic dishonesty will be treated with utmost seriousness. Those involved will be prosecuted to the fullest extent permitted by the University and College laws.