Spring 2007

CSE302: Compiler Design


Lecture Schedule (Including links to class notes & slides)
Homework and project assignments and their due dates are posted at the Blackboard's "Assignment" section.

Liang Cheng, Ph.D.
Office hours: Fridays from 1 PM to 4 PM
( Appointments other than office hours have to be requested by email with the subject of appointment explained. )
Packard Lab 326
Phone: (610) 758-5941
URL: http://www.cse.lehigh.edu/~cheng/
Email: chengATcseDOTlehighDOTedu

Tuesday and Thursday: 2:35pm - 3:50pm, Packard Lab 208, Jan 16 - Apr 26, 2007.
CSE 109: Systems Software and CSE318: Automata and Formal Grammars.
Course Objective:
After you complete this course, you should be able to: describe the theory and practice of compilation, in particular, the lexical analysis, parsing and code generation and optimization phases of compilation, and design a compiler for a concise programming language.
Course Description:
CSE 302 is an introduction to the theory and practice of compilation. We will cover topics in lexical and syntax analysis, syntax-directed translation, type checking, issues with the run-time environment, code generation and code optimization. In class projects, we will focus on the design and implementation of the following four stages of compilation for a subset of a modern imperative programming language: lexical analysis, parsing, code generation and code optimization.
Compilers: Principles, Techniques, and Tools (2nd Edition) by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. Addison Wesley, Boston, MA, 2006. ISBN 0321486811
Grading: (all exams are open-book ones)
Homeworks: 20%
Programming Projects: 30%
Mid-term Exam: 20%
Final Exam: 30%
Submitting Work:
You should submit your work through the Blackboard course website. Your submission should be plain text (ASCII), a Microsoft Word file, or a PDF file. Any other format will not be accepted, unless you arrange for
an exception ahead of time due to special circumstances.
Homework assignments will be graded primarily for completeness and correctness.
No late hand-in homework will be accepted. Exceptions will only be granted if an extenuating circumstance can be proven to the instructor¡¯s satisfaction.
Collaboration / Academic Honesty:
All graded work is expected to be your own, unless the instructor has authorized collaboration in writing. In particular, you are not allowed to ask anyone but the instructor or TA for help with your homework or programming assignments. However, you are free to discuss the topics and concepts of the course with your classmates, as long as you do not discuss the specifics of any assignment. Any violation of this policy could result in failure of the course.

Please visit the following two websites and read all details of the academic integrity policy: Academic Integrity at Lehigh University: http://www.lehigh.edu/~indost/integrity.html and Improper Collaboration Policy: http://www.lehigh.edu/~ejk0/cheating.html. Another website about Ante-Plagiarism.

Accommodations for Students with Disabilities:
If you have a disability for which you are or may be requesting accommodations, please contact both your instructor and the Office of Academic Support Services, University Center 212 (610-758-4152) as early as possible in the semester. You must have documentation from the Academic Support Services office before accommodations can be granted.
If you have a disability for which you are or may be requesting accommodations, please contact your professor and the Office of Academic Services, Room 212, University Center or call (610-758-4152) as early as possible in the semester. University policy states that you must notify your professor seven (7) days prior to the exams.
Back to home