COMPSCI 142A Compilers and Interpreters (2015-2016)

COMPSCI 142A Compilers and Interpreters

(Required for CSE. Selected Elective for CSE and CpE.)
Catalog Data:

COMPSCI 142A Compilers and Interpreters (Credit Units: 4) Introduction to the theory of programming language processors covering lexical analysis, syntax analysis, semantic analysis, intermediate representations, code generation, optimization, interpretation, and run-time support. Prerequisite: CSE 141 or COMPSCI 141 or IN4MATX 101. Same as CSE 142. (Design units: 0)

Required Textbook:
. Edition, , 1969, ISBN-13 978-1558606982.

Recommended Textbook:
None
References:
None
Coordinator:
Shannon Tauro
Relationship to Student Outcomes
No student outcomes specified.
Course Learning Outcomes. Students will:
Prerequisites by Topic
  • Basic computer organization
  • Assembly language programming
  • Formal language grammar hierarchy
  • Ability to program in a high level language
Lecture Topics:
  • Overview of Compilation (Week 1)
  • Language & Syntax (Week 2)
  • Scanning (Week 3)
  • Parsing/ Tool Generated Parsers (Weeks 4-6)
  • Implementing Semantics/ Type Checking (Week 7)
  • Intermediate Representation (Week 8)
  • Procedure Abstraction & MIPS (Week 9)
  • Code Optimizations & Register Allocation (Week 10)
Class Schedule:

Meets for 3 hours of lecture, 3 hours of discussion and 3 hours of laboratory each week for 10 weeks.

Computer Usage:

J2SE (the Java 2 Standard Edition SDK)

Laboratory Projects:
  • Lab 1 – JFlex: a scanner generator for Java
  • Lab 2 – A recursive descent parser
  • Lab 3 – A semantic analyzer
  • Lab 4 – Implementing an interpreter
  • Lab 5 – Syntax-directed analysis
  • Lab 6 – Optimization
Professional Component

Contributes towards the Computer Science and Engineering major requirements for Engineering Topic courses.

Design Content Description
Approach:
Lectures:
Laboratory Portion:
Grading Criteria:
  • Six Assignments (5% each): 30% total
  • Midterm: 30%
  • Final Exam: 40%
  • Total: 100%
Estimated ABET Category Content:

Mathematics and Basic Science: 0.0 credit units

Computing: 4.0 credit units

Engineering Topics: 0.0 credit units

Engineering Science: 0.0 credit units

Engineering Design: 0.0 credit units

Prepared:
July 15, 2016
Senate Approved:
May 6, 2013
Approved Effective:
2013 Winter Qtr