Induprakas Kodukula - Vladimir Kotlyar - Keshav Pingali - Tim Teitelbaum


As modern machines become more and more powerful, the applications that run on these machines are getting larger and more complex. The power of the underlying hardware also comes with considerable difficulty of exploitation. This dual evolution in complexity increases the semantic gap between applications and hardware. Sophisticated program transformations (starting from high level language specifications) are crucial to alleviate this mismatch. In this class, we will study cutting edge program transformation techniques for a wide variety of applications. These techniques will apply to a wide range of domains ranging from computational science to program synthesis from high level specifications.

Topics covered in the course include the following:

Time and Place: TR 2:55-4:10 in Upson 4135.


Lecture Notes

Handouts