Skip to content

Home

Course Description

This course will provide a comprehensive introduction to human-computer interaction and the design and development of user interfaces, covering basic human cognition, methods for need-finding and prototyping, user-centered design, empirical and analytical methods for conducting usability evaluations, and principles for visual, information, interaction, and community design.

General Course Information

Faculty

Teaching Assistant

     

Course Meeting Times

  • Class Hours: Tuesdays, 7:20pm-10:00pm
  • Class Room: Remote Instruction via Zoom - Zoom Link (Requires Registration)

Virtual Course Spaces


A Note to Students during COVID-19

Dear Students,

Welcome to SWE-632 for the Fall 2020 semester! These are undoubtedly uncertain times, and first and foremost I want you to know that, as an instructor, I am here for you. I want you to be successful in this course, and I want to help facilitate that success. If you feel like you are falling behind, are affected by unforeseen circumstances, or simply want to discuss course material and its applications, send me an email! I am available and happy to hear from you.

-Prof. Moran


Course Philosophy

Computers, and more specifically, the software that runs on them, have become increasingly integral to the fabric of modern society. From finance, to transportation, to entertainment, computer applications increasingly dictate our daily lives. Because of this, the importance of seamless interactions between software and its users is greater than ever before. Given these stakes, as engineers it is important we study how to create effective user interfaces that are designed well.

However, this notion of "good design" can be difficult to effectively pin down. This course has two main philosophical objectives:

1) Explore the different ways in which we can define "good design" and the most effective ways for users to interact with software.

  • For this objective, we will explore several different topics including human cognition and user-centered design.

2) Provide an understanding of the software engineering tools and practices that are available to achieve "good design" in a variety of settings.

  • For this objective, we will explore topics such as empirical and analytical methods for conducting usability evaluations, and various software frameworks that facilitate the development of User Interfaces.

Learning Outcomes

  • Design a UI through user-centered design
  • Conduct a heuristic evaluation or think-aloud usability study to identify usability issues
  • Use principles from visual, interaction, and community design to identify and address usability issues
  • Improve a UI by addressing usability issues through iterative design
  • Use modern web technologies to implement a UI