6.831 User Interface Design and Implementation

Fall 2004

SKINNI, the interface for the computer kiosks.
SKINNI (Smart Kiosk Information Navigating and Noteposting Interface), the interface for the computer kiosks installed in MIT's new Stata Center, was originally developed as a class project in Fall 2003. (Image courtesy of the SKINNI group: Max Van Kleek, Tyler Horton, and Elizabeth Boyle.)

Course Highlights

This course features exams with solutions for multiple years. In addition, an extensive bibliography of assigned and recommended readings is provided in the readings section.

Course Description

6.831 introduces the principles of user interface development, focusing on three key areas:
  • Design: How to design good user interfaces, starting with human capabilities (including the human information processor model, perception, motor skills, color, attention, and errors) and using those capabilities to drive design techniques: task analysis, user-centered design, iterative design, usability guidelines, interaction styles, and graphic design principles.

  • Implementation: Techniques for building user interfaces, including low-fidelity prototypes, Wizard of Oz, and other prototyping tools; input models, output models, model-view-controller, layout, constraints, and toolkits.

  • Evaluation: Techniques for evaluating and measuring interface usability, including heuristic evaluation, predictive evaluation, and user testing.

The semester starts with various assignments, and ends with a substantial programming project. This course is worth 6 Engineering Design Points.

Technical Requirements

Any number of Java® development tools, such as the Java® Development Kit or Eclipse®, can be used to compile and run the .java files in this course.

*Some translations represent previous versions of courses.

Donate Now


Prof. Robert Miller

Course Meeting Times

Two sessions / week
1.5 hours / session