Hold on just a sec...
3 credits
Spring 2026 LectureThis course presents the concepts needed to design and implement production quality code generators for any of the more popular languages and families of computer architecture (including various pipelined, superscalar, and macro-parallel machines). Flow analysis, concurrency detection, loop and irregular code optimization/parallelization, as well as automation of these tasks using program synthesis techniques, are covered in detail. Each student will complete a project implementing a simple optimizer/parallelizer/synthesizer. Prerequisite: ECE 56500, CS 50200 or ECE 46800 or 573000.
Learning Outcomes1Apply automated reasoning techniques and tools to analyze and verify programs and reactive systems.
2Explain and implement program synthesis algorithms and methodologies.
3Apply program synthesis techniques to automate programming tasks in an application domain.