This class is an introduction to computing for HCC graduate students with non-technical backgrounds, with a focus on ensuring you can understand how software works, how to create working interactive prototypes of your ideas, and how to communicate with a software team about software. Students will be exposed to various software architecture considerations and tradeoffs.
For our HCC PhD program, this class is designed to provide a foundation for students to meet their computational portfolio requirements, including reading, writing, doing and talking about technical ideas and issues.
The course title has might be somewhat misleading. This is not a class about using prototyping tools (e.g., Flash). It is not a class about evaluating prototypes, and it is not a class for technical students interesting in designing and building interacting prototypes (we have other HCI classes for these topics). Instead, this is a class about the rapid creation of interactive systems through programming, with an emphasis on scripting languages and common technical idioms that are useful across a breadth of CS.
This class covers both theory and practice of pragmatic systems building as well as skills in describing/arguing/defending your design choices.