| 
View
 

CS 4390 5390  Advanced Compilers  Fall 2025

Page history last edited by Shirley Moore 1 month, 3 weeks ago

 

Course Description

 

Compiler technology is an important topic today in light of the rapid expansion of new programming models and processor architectures, including domain-specific languages and architectures. This trend is creating a huge demand for new compilers and for the compiler engineers who can design and implement them. This course will cover universal compiler topics such as intermediate representations, data flow, and code optimization, as well as more research-oriented topics such as parallelization, just-in-time compilation, garbage collection, and deep learning compilers. This course is not about parsing and syntax, but rather it concerns the semantics of programs and how programs can be converted into executable code that implements those semantics on a given processor architecture, while meeting correctness, performance, and security requirements. The class work will consist of readings, in-class learning activities and exercises, and programming assignments using the LLVM open-source compiler, as well as midterm and final exams. The programming assignments will solidify your understanding of the abstract concepts by having you turn them into real code. Graduate students will also do an open-ended project and write a report about it (project will be optional for undergraduate students). 

 

Syllabus

 

Office hours

    Dr. Moore: 12:00-1:00pm Mondays, 3:00-4:00pm Thursdays, others by appointment

    In-person in CCSB 3.0608 or virtually on Teams 

 

Lecture Schedule

 

C++ Resources

  W3 Schools C++ Tutorial 

  TutorialsPoint C++ Tutorial 

 

Term Project

Comments (0)

You don't have permission to comment on this page.