On this page:
B629:   Metaprogramming

B629: Metaprogramming

Spring, 2014

This course is a graduate seminar on metaprogramming—programs that manipulate other programs. Primarily, we will focus on reading papers, both historical and modern, that treat a broad range of metaprogramming topics, from C++ templates to Scheme macros to Scala DSLs. Students will be expected to present research papers to the class, write programs with a variety of languages and systems, and perhaps complete a semester project.

Prerequisites: This course has no official university prerequisites, however, permission from the instructor is required. You will need to have taken B521, and to be concurrently taking B522, or the equivalent.