Ras Bodik is a Professor of Computer Science at UC Berkeley. He works on a range of techniques for program synthesis, from programming by demonstration, to sketching, and solver-aided languages. His group has applied synthesis to high-performance computing, web browser construction, algorithm design, document layout, and biology. He has designed a course on programming languages where student learn hands-on small-language design by constructing a modern web browser.