Armando Solar-Lezama

Distinguished Professor of Computing
MIT Schwarzman College of Computing
Associate Director and COO of CSAIL
e-mail:
phone: (617) 258-9727
Assistant: Amanda Abrams ( acabrams@ mit.edu )
mit_logo.gif
Armando Solar-Lezama ""

Research Agenda and Bio:

I lead the Computer Assisted Programming Group . The focus of my research is program synthesis, an exciting research area that lies at the intersection of Programming Systems and Artificial Intelligence. On the one hand, program synthesis is about the use of automated reasoning and learning to help bring more automation to the programming process. On the other hand, we believe code provides a uniquely versatile modeling mechanism, so program synthesis can play a powerful role in helping to build learning systems that are more predictable and robust. Over the past five years, my group has also been working on developing neurosymbolic programming, a new class of learning techniques that incorporate some of the benefits of traditional programming languages, such as modularity, compositionality, and predictability.

I have BS degrees in Computer Science and Mathematics from Texas A&M Univerity and got my PhD in 2008 from the University of California, Berkeley, where I was advised by Rastislav Bodik. I have been a faculty member at MIT since 2008 and have been helping to lead the Computer Science and Artificial Intelligence Laboratory (CSAIL) as associate director since 2020.

Prospective Students:

If you are a current MIT undergraduate and are interested in doing a UROP in my group, please send a brief description of your background to the e-mail address cap-urops[at]csail.mit.edu. Please include a brief description of your background and the kind of project you are interested in. I generally don't work with undergraduates who are not currently MIT students unless they come through a formal MIT program such as the MIT Summer Research Program (MSRP).

Students interested in joining the group as PhD students should apply to the EECS PhD program at MIT. I can only consider students through the formal application process, so please be sure to apply! The application deadline is usually December 1st. In your application, you can express your interest in joining my group. Please be aware that I am usually unable to respond to individual inquiries about the application process or about joining my group, but you can direct questions about graduate admissions to grad-ap@eecs.mit.edu.


Sketch Version 1.7.6 (Released Feb, 2020) :

I am no longer actively maintaining Sketch, but you it is still quite usable. Sketch is in github and is split between two repositories: the sketch-backend and the sketch-frontend. You can download an easy-to-install (relatively speaking)  source distribution from here: sketch-1.7.6.tar.gz

Working version of Sketch Manual

Teaching:

Over the last few years, I have helped with the development of a few courses: In recent years, I have also been involved in teaching 6.031 (Software Construction), 6.009 (Fundamentals of Programming) and 6.01 (Introduction to EECS via Robotics).

PlaySkript:

In my free time, I created PlaySkript, an online platform that I use for creating presentations and visualizations. It's based on a JavaScript-like domain specific language for describing diagrams and animations, and supports both direct manipulation and automated refactoring in order to help create complex presentations more easily. Try it out!

Phd Thesis:

Program Synthesis by Sketching, U.C. Berkeley, December 2008, Advisor: Rastislav Bodik

Publications:

Conference Papers

Journal and Journal/Conferences

Technical Reports

Contact:

MIT Computer Science and Artificial Intelligence Laboratory
The Stata Center, Building 32-G742
32 Vassar Street
Cambridge, MA 02139

Accessibility