CS 380 : Compilers
Course Description
CS380 Compilers: The student will learn the principles of compiler construction. In particular, the student will learn about lexical analysis, symbol tables, parsing, type checking, and code optimization. Some or all of these concepts will be put into practice with programming projects. Prerequisite: CS352. 3:0:3
Learning Outcomes
- State the basics of compiling, including assembly language concepts, interpreters, compilers, and debuggers.
- Demonstrate the concepts of scanning, including lexical analysis, token generation, symbol table, operators, and reserved words.
- Demonstrate the different techniques of parsing, including the CONO table, LLR, LRR, and recursive descent parsing.
- Describe how executable code is generated by a compiler.
- Explain the different techniques of how executable code is optimized.
Teaching Direcitves:
Homework assignments: Assign weekly written homework assignments
covering part of a class topic. Short topics will require only one assignment; longer
topics could have more. These assignments can be neatly collected in a portfolio for
easy reference. These assignments may be word processed or hand written, depending on
the complexity.
Class Presentations: Since this is a high-level class, having
students present ideas to the class is an excellent method of assessing knowledge,
while at the same time giving them practice in preparing and giving instructions.
Exams: Give two to five exams during the semester covering
the topics discussed in class. Exam questions should be of a similar nature to
the assignment questions, but not exactly the same. Students should be able to apply
the technique learned to a problem not covered in class. Open-note or cheatsheet exams
can be appropriate given the complexity and detail of the exam.
Quizzes: Quick, 10-minute weekly exams are effective in
keeping students up with the material. They give immediate feedback to how well they
are learning the material.
Programming: It should be noted that creating a working
compiler for even the most simple language is a very difficult task. While
obtainable for the best of students, in can prove much too difficult of a challenge
for many students.
Textbooks
View the approved textbook list.
^ Back to the Top
---------------------------------
University Resources
This page was last modified on Monday, September 12, 2011