| course number | instructor | title |
| CS 6304 | C Jung | Advanced Topics in Languages & Translators |
This course will explore advanced topics in compilers and computer architecture whose synergy can enhance both capabilities and efficiency of computing systems, with a focus on performance, reliability, and security.
The goal is to understand the state-of-the-art, to learn basic concepts and mechanisms for compiler-architecture interaction, and to identify new ideas for advancing the state-of-the-art. On the compilation side, the possible topics include program analysis, program transformation, and the interaction between the compiler and the rest of the system.
On the architecture side, the possible topics include processor micro-architecture, memory hierarchy, multi-threading, and the impact of emerging hardware trends such as nonvolatile memory (a.k.a. persistent memory).
Any hands-on compilers/architecture experience, e.g., LLVM and Gem5, will definitely help, but I will not assume this prior knowledge. You will be expected to complete a major project using a compiler framework or an architecture simulator framework. Since the frameworks are mostly written in C/C++, students should be familiar with the language features.