CS6304: Advanced Topics in Language and Translation (Spring 2024)
Course Details
Course Topics
This course focuses on the techniques used by advanced compilers to optimize and analyze programs. The topics we will cover in this course include:
- Static Single Assignment (SSA) Form.
- Advanced Dataflow Analysis.
- Loop Transformations (cache models and automatic transformation frameworks)
- Data Layout Transformations.
- Automatic Verification in Compilers.
- Other Topics (Performance, Parallelization, Metaprogramming etc.)
Course Overview
This course can be divided into two parts.
- First half: Lectures on the first three topics.
- Second half: Discussing classic and current research papers on exciting topics of compiler research.
Writing a Critical Response
Each student must choose three papers for which to write a 1-page response. A format will be provided for this response. This response must summarize the main ideas of the paper and discuss any shortcomings and possible extensions of the paper (A list of papers will be made available soon).
Delivering a Research Presentation
Each student will also choose an additional paper to present in the class. The week before your presentation, you should meet with me to review and revise your slides, and to give a practice presentation. If you have not given a research presentation before, this course will serve as training! Each presentation should be 35 minutes, followed by a 15-minute discussion period (appropriate presentation length will factor in to your grade).
Carrying Out a Research Project
The bulk of your grade will come from an individual course project. This project can be on any topic you like (including related to your own research), as long as it is connected to the material in the course. I will also provide some ideas if you have trouble coming up with one. You will write a two-page proposal detailing your project idea, and then present the results of your project during one of the last class periods. Your project presentation should be 25 minutes, including questions. The exact dates for when your proposal and presentation will be due are yet to be determined.
Writing a Research Paper
You will also submit a final project report, written in the style of a research paper. This should be roughly 8-10 pages, two-column, 10-pt font. Your report should discuss the motivation for your project, survey related work, describe your idea and implementation and provide experimental validation (or theoretical justification, in the case of a theory-oriented project).
Grade Calculation
- Paper responses: 15% (= 3 x 5%)
- Paper presentation: 25%
- Project: 50%
- Proposal: 10%
- Presentation: 15%
- Report: 25%