CMPS 4500 "Compilers"

Syllabus - Fall 2019

Course Information:
Course URL: www.cs.csub.edu/~eddie/cmps4500
Instructor:
eddie rangel    email: erangel1@csub.edu    office: SCI III 330    ph: 661/654-2404

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