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