COMPSCI 450: Programming Language Translation Course Coordinator: Gang-Ryung Uh

advertisement
COMPSCI 450: Programming Language Translation
4-credit course with 4 lecture hours per week
Course Coordinator: Gang-Ryung Uh
Textbook(s) and Supplemental Material
Compilers Principles, Techniques, and Tools, Aho and Lam and Sethi and Ullman, 2007.
Catalog Description
Theory and practice of formal language translation, experience with compiler construction tools
under UNIX. Students work on significant projects.
PREREQ: COMPSCI 253 and COMPSCI 342 and COMPSCI 354.
Required
Goals for the Course
Successful students will be expected to:
• understand all of the major phases of the compilation process
• implement a compiler through a major project, divided into parts corresponding
to phases of a compiler
• learn SPARC assembly language to produce a SPARC assembly program as a
compiler output
Outcomes Addressed
i. an ability to use current techniques, skills, and tools necessary for computing
practice
j. an ability to apply mathematical foundations, algorithmic principles, and computer
science theory in the modeling and design of computer-based systems in a way that
demonstrates comprehension of the trade-offs involved in design choices
k. an ability to apply design and development principles in the construction of
software systems of varying complexity
Outcomes Assessed: i and j
Topics Covered
Lexical analysis
Syntax analysis
Syntax-directed translation
Type checking
Code generation
Run-time environments
Code optimization
Grading
A letter grade is assigned to each student at the end of the course based on the numerical scores
of these activities:
Activity
Weight
Programming Assignments
50%
First Exam
15%
Second Exam
15%
Final
20%
Curriculum Category Content (Credits)
Area
Core Advanced
Algorithms
1
Software Design
Computer Architecture
1
Data Structures
1
Programming Languages
1
Download