Rosette The Rosette Language


Rosette is used for teaching in the following courses and tutorials on solver-aided programming and, more generally, computer-aided reasoning for software. Contact our team if you would like to use our teaching materials (starred) in your own course, or have your course listed here.


CSE 507: Computer-Aided Reasoning for Software University of Washington
CSC 530: Languages and Translators Cal Poly
CS162: Programming Languages UC Santa Barbara
CS292C: Computer-Aided Reasoning for Software UC Santa Barbara
CSE290Q: SMT Solving and Solver-Aided Systems UC Santa Cruz
COS IW09: Programs Generating Programs Princeton
CSCI1950-Y: Logic for Systems Brown
CS294: Program Synthesis for Everyone UC Berkeley


Solver-Aided Programming at CAV 2019, SSFT 2018
Automated Verification of Systems Software with Serval at SOSP 2019