Recently, I've been alternating between two courses:
This course provides an introduction to human-centered design through a series of small user interface development projects covering usability topics such as efficiency vs. learnability, walk up and use systems, the habit loop, and information foraging. Projects will begin with reviewing a relevant model of human behavior. Each project will then provide an opportunity to explore how to apply that model in the design of a new user interface. Prerequisite: CSE 131.
I find this course interesting in part because we do user testing via an online community of workers (Mechanical Turk). We have the opportunity to explore and try to understand user behavior with some known models of human behavior and then use those insights to improve our user interfaces. Some students find it daunting at first, but most finish the semester feeling confident that they can use user testing to improve a user interface.
An introduction to user centered design processes. The course covers a variety of HCI techniques for use at different stages in the software development cycle, including techniques that can be used with and without users. Students will gain experience using these techniques through in-class exercises and then apply them in greater depth through a semester long interface development project. Students who enroll in this course are expected to be comfortable with building user interfaces in at least one framework and be willing to learn whatever framework is most appropriate for their project. Over the course of the semester, students will be expected to present their interface evaluation results through written reports and in class presentations. Prerequisites:3xxS or 4xxS
I enjoy this course because we have the opportunity to take design projects from the early idea stage and refine it through low-fidelity prototypes, before creating a running high-fidelity prototype. Along the way, we get to try out a wide variety of user-centered design tools and methods.