The application of Programming Languages research and Human-computer Interaction to the creation of usable and useful programmer tools.
Credit points: 3.0
Required courses: 236360 - Theory Of Compilation (CANNOT be taken in parallel)
Important dates:
Topics:
- Programming languages and their editors
- Program synthesis
- Abstract interpretation and testing
- User-centered design
- Cognitive models of programming
- Empirical and user-based evaluations
- Ethics of user-based evaluations
Grade components:
- Homework assignments: 20%
- Project prep and progress report submissions: 30%
- Final project
Important dates:
- Homework 1: assigned Nov. 3, due Nov. 16
- Homework 2: assigned Nov. 17, due Nov. 26
- Project selection meetings: week of Dec. 5-Dec. 9 (by appointment)
- Project description document due: Dec. 16
- Project evaluation plan due: Dec. 30
- Progress report due: Jan. 13
- Project due: Jan. 27