Programming Usable Interfaces

Fall 2024
M/W 8:00am-9:20pm in TEP 1403
Picture of Dominik Moritz
Dominik Moritz
(Instructor)
Picture of Anthony Levin-Decanini
Anthony Levin-Decanini
(Instructor)

This course is a combination programming course and design studio. This course is intended for HCII masters’ students who come to CMU with a minimal, but competent programming background. It is also appropriate for CMU HCI undergraduate “second majors” in HCII who have had an introductory programming course. Students will learn how to use rapid prototyping tools, how to design and implement effective GUI interfaces, and how to perform rapid, effective iterative user tests. More specifically, students will:

  • Learn the basics of what is hard and easy to rapidly prototype
  • Learn how to express one’s ideas in a computational form, using modern rapid prototyping tools as well as HTML + CSS + JavaScript
  • Learn basic terminology and approaches used by programmers, so you can work effectively with them Experience the joy and frustration of programming a working prototype
  • Learn basics of human perception and cognition as it relates to UX design Design and conduct informal user tests of prototypes to find flaws with your designs Get a taste for the future of HCI and user experience (UX) design

Practical experience with these concepts is also provided via an accompanying lab which meets once a week. In the labs, you will get hands-on experience in prototyping, informally evaluating, and implementing user interfaces.

The course is hosted on Canvas at https://canvas.cmu.edu/courses/42093.