CMPS 4500 "Compilers"Syllabus - Fall 2019 |
Course Catalog Description:
CMPS 4500 Compiler Design (4)
An introduction to compiler design and construction. Coverage includes lexical, syntactic, and semantic analysis, topdown and bottom-up parsing, code generation, and error detection. Theoretical topics include finite and push-down
automata. Students will implement a compiler front-end. Each week lecture meets for 150 minutes and lab meets for
150 minutes. Prerequisite: CMPS 3500 or permission of the instructor.
Course Goals/Objectives:
Compilers is one area in computer science in which theory and practice
go hand and hand. Thus, this course will be 50% theory and 50% practice.
The theoretical models covered include automata, grammars, regular expressions,
and trees. Practice will include using several compiler tools as well
as programming a compiler that implements
the theory.
Required Text:
Authors: Aho, Lam, Sethi and Ullman Title:Compilers: Principles, Techniques, & Tools (any edition is OK)
Exams:
One final covering selected homework problems.
Grading:
Lab Work................... 10% A 93
Homework................... 10% A- 90
B+ 87
Front-end Phase I ......... 20% B 83
B- 80
Front-end Phase II ........ 20% C+ 77
C 73
Front-end Phase III ....... 20% C- 70
D+ 67
D 63
Final ..................... 20% D- 50
F below 50