12:00-1:30pm (feel free to bring lunch)
- LIVE Workshop series
- PX Workshop series
- FPW Workshop series
- PLATEAU Workshop series
- PPIG Workshop series
- TyDe Workshop series
- FARM Workshop series
- VL/HCC Conference series
- ICLC Conference series
- Onward! Conference series
- Strange Loop Conference series
- SIGCHI Conferences & Workshops
- SIGSOFT Conferences & Workshops
- SIGPLAN Conferences & Workshops
Participation (15%)Each 90 minute course meeting will include substantial time for discussion. Before some of the course meetings, you will also be asked to do a short (< 30 min) activity (e.g. watching a video, reading, or playing with a tool).
Presentations & Presentation Partners (20% + 5%)
Each participant will be asked to lead one course meeting. The Presentation Guide includes more details.
For each such presentation, another person will be assigned as the presentation partner. Their job is to meet with the presenter at least once before the course meeting (no later than 3pm the day before) to provide substantial feedback on a practice presentation.
Compendium Contributions (25%)Each participant will be asked to write the portions of the companion compendium related to their presentation, with a first draft due one week before the presentation and a final draft due one week after the presentation (to give you time to incorporate points from the discussion). A final round of revisions will be due Dec. 13. The compendium will then be released publicly in mid-December. The Presentation Guide includes more details.
Project (35%)The semester will conclude with a course project. The course project can consist either of:
- an implementation of a user interface of the student's design, together with a lightweight evaluation,
- OR a substantial empirical evaluation of an existing user interface for programming.
Introductions, Logistics, and Topic Overview
Inventing on Principle
Bret Victor's talk Inventing on Principle has inspired hundreds of people to experiment with better UIs for programming. Even better, it has helped people clarify their thinking and crystalize the principles that they work to advance. We'll watch it together, pausing to discuss and expand on several of his points.
Cognitive Dimensions of Notations
Email me with topic preferences + date preferences and constraints by this date.
Live Programming Environments
Graphical and Interactive Notation
No Course Meeting
Usability of Type Systems
Guest Lecture: Programming by Demonstration
Presenter: Rebecca Krosnick (PhD student, University of Michigan)
Overview of Evaluation Methods
Project Proposals Due
Send a project proposal by email to me, following the Project Guide. Set up a meeting with me to discuss ideas if you are not sure what you'd like to propose!
Project Proposal Lightning Talks
No Course Meeting
(Fall Study Break)
Predictive Programming Interfaces
Presenter: Abhitej Ganta, Partner: Yongwei Yuan
Programmable Physical Environments
Presenter: Chenhao Li, Partner: Jaylin Herskovitz
Educational Programming Environments
Presenter: Hannah Potter, Partner: Yang Shi
User Interfaces for Game Development
Presenter: Lei Zhang, Partner: Chenhao Li
Guest Lecture: Direct Manipulation Programming in Sketch-n-Sketch
Presenter: Brian Hempel (PhD student, University of Chicago)
Presenter: Anthony Liu, Partner: David Moon
Accessible Programming Interfaces
Presenter: Jaylin Herskovitz, Partner: Lei Zhang
Presenter: David Moon, Partner: Ke Du
Visual Dataflow Programming
Presenter: Yongwei Yuan, Partner: Hannah Potter
Data Analysis Environments
Presenter: April Wang, Partner: Abhitej Ganta
Interactive Theorem Provers
Presenter: Ke Du, Partner: Anthony Liu (and Michael Adams)
No Course Meeting
Project Presentations, Reflections, and Wrap-Up