This course is a combination programming course and design studio, and is for those who wish to express their interactive ideas in working prototypes. Students will learn how to use programming languages, how to design and implement effective GUI interfaces, and how to perform rapid, effective iterative user tests. They will also explore advanced interaction and interface techniques. The course will cover usability
testing of interactive prototypes. It will also cover important subjects related to distribution of software products, selling in determinate vs. indeterminate markets, case studies and context-aware apps.
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. Class attendance is mandatory. The students taking this course will often not be professional programmers, but will probably need to interact with programmers, and need to:
• Learn to express yourself in executable form
• Learn the basics of what is hard and easy to rapidly prototype
• Learn the basic terminology and approaches used by programmers, so you can work with them
• Experience the frustration and joy of programming a working prototype
• Design and conduct informal user tests of prototypes to find flaws with your interfaces
This is a six-hour credit course (6 hours of work are expected outside of class). Online resources for the class are provided on UMa’s Moodle platform (password will be given in the first class).
Proficiency in a programming language such as C, programming methodology and style, problem analysis, program structure, algorithm analysis, data abstraction, and dynamic data. Normally met through an introductory course in programming in C, C++, Pascal or JAVA, such as: 15100 or 15112 or 15127 or equivalent. Pragmatically, the requirement can be defined as “can successfully write a 300 line program in a 48 hour period.”
There are two required textbooks for this course:
Jakob Nielsen. "Usability Engineering". Boston: Academic Press, Inc. 1993.
0-12-518406-9 (paperback) or ISBN 0-12-518405-0 (hardcover) Peter Thiel and Blake Masters. “Zero to One: Notes on Startups, or How to Build the Future.”