C S 431
Download as PDF
Algorithmic Languages and Compilers
Computer ScienceCollege of Computational, Mathematical, & Physical Sciences
Course Description
Formal description of algorithmic languages and techniques used in their compilation: semantics, ambiguities, procedures, replication, iteration, recursion.
When Taught
Contact Department
Min
3
Fixed/Max
3
Fixed
3
Fixed
0
Title
Compiler Engineering
Learning Outcome
Construct a complete, functional compiler that translates a high-level Java subset into executable machine code for an embedded microprocessor. The grit and persistence required to engineer this complex system from the ground up is character building, reinforcing a commitment to professional excellence and technical resilience.
Title
Algorithmic Integration
Learning Outcome
Incorporate sophisticated data structures and algorithms-including tree traversals, graph-based analysis, and formal proof systems-to manage the intricate stages of code translation. This deep dive into the mechanics of language is intellectually enlarging, as it demands a rigorous and comprehensive architecture of thought.
Title
Cross-Domain Synthesis
Learning Outcome
Synthesize and adapt compiler design patterns and optimization techniques to solve unconventional problems in diverse software domains. Developing this versatile mindset prepares students for lifelong learning, providing them with a permanent toolkit to navigate future technical evolutions.
Title
Mental model of compilation
Learning Outcome
Evaluate and refine application-level code by predicting its low-level transformation into machine instructions or bytecode. Mastering this "under-the-hood" perspective is spiritually strengthening, as it reveals the hidden order and consistent laws that govern the translation of abstract thought into physical action.