Skip to main content

C S 431

Algorithmic Languages and Compilers

Computer Science College of Physical and Mathematical Sciences

Course Description

Formal description of algorithmic languages and techniques used in their compilation: semantics, ambiguities, procedures, replication, iteration, recursion.

When Taught

Contact Department

Grade Rule

Grade Rule 8: A, B, C, D, E, I (Standard grade rule)

Min

3

Fixed

3

Fixed

3

Fixed

0

Title

Write a compiler

Learning Outcome

Implement a fully functional compiler for a subset of the Java language that targets an embedded microprocess.

Title

Use interesting data types and algorithms in a large program

Learning Outcome

Apply patterns and common data structures to compiler constructrion including tree traversal, graph algorithms, and proof systems.

Title

Apply techniques from compiler construction to other problem

Learning Outcome

Students are able to synthesis algorithms and techniques from compiler constructor to other problem domains.

Title

Mental model of compilation

Learning Outcome

Students have a sound mental model of how an abstract high level language is systematically transformed into a low-level machine langauge or byte code. Students are able to use that understanding to write better application code.