Every year, computers are increasingly woven into the fabric of our everyday life. We don't interact with computers simply when we sit in front of their screens anymore. They are in front of our faces throughout the day, telling us where to go when we drive our cars, and the medium through which we express many of our relationships.
This means that we cannot dismiss the quality of our interactions with these devices as something trivial or unimportant. Computers are simply too pervasive in our lives. The quality of our interactions with computers has a direct impact on our overall quality of life.
Given these stakes, we need to deeply consider: What is the best way for us to interact with computers? How can we quantify or capture this notion of "good design"? How can we build applications of our own that are designed well?
This course covers the methods and tools for user-centered practice in human-computer interaction. You will learn to identify design problems that can be solved using computational means. This will allow you to develop ideas that fit actual human needs. You will use a principled process for developing an idea, iterating on it, and communicating it to others. You will develop knowledge about characteristics of good interfaces and tools that can be used for prototyping and implementation. You will evaluate and improve upon your designs at all stages of the design process.