Quarter
Instructor/s
Course Type
Course Area
Foundations
Enrollment Code
58784
Location
Phelps 3526
Units
4
Day and Time
M/W 11am-12:50pm
Course Description
This course is a graduate-level introduction to automated reasoning techniques and their application in tools for the design, analysis, and construction of software. In the first half of the course, we will survey the logical foundations and algorithms behind SAT solvers and SMT solvers. In the second half of the course, we will apply these techniques to automatic bug finding, program verification, and program synthesis. As a student in this course, you will learn how solvers work, and how to use them to build cool programming tools.