Welcome to OMS CS6750: Human-Computer Interaction!

Welcome! This is the landing page for the Georgia Tech OMS CS6750 class on Human-Computer Interaction.

This page provides general information about the course as a whole. Specific information about a given semester’s assignments, grading, or scheduling can be found under that semester’s page.

Welcome to HCI!

Welcome to the OMS offering of CS6750: Human-Computer Interaction! I’m thrilled to be teaching this class in this program. Over the past several semesters of working with OMSCS students, I’ve been amazed at the passion, experience, and qualifications that so many people bring. I’m excited to have the opportunity to channel that excitement into a topic with so much potential for real-world impact. Computers are integrating themselves more and more into every industry and field, but the true impact often comes when the benefits of those systems are extended to users. From healthcare to autonomous vehicles, from education to the environment, Human-Computer Interaction is at the heart of many world-changing endeavors.

The goal of this page is to give you a high-level overview of what this class entails. For specific information on the schedule, assignments, or grading of a particular semester, please see that semester’s dedicated page.

Readiness “Questions”

This class does not have significant prerequisites before participation; no coding, math, or psychology background is required. This class’s only assumption is that you have personally used computers before. In lieu of readiness questions, the following bullet points describe the tasks you will complete as part of this class; you may use this description of tasks to evaluate your readiness to take this class.

  • You will analyze and evaluate user interfaces, both ones that we provide and ones that you go out and find on your own.
  • You will conduct needfinding exercises such as interviews, observations, surveys, and focus groups to uncover problems that can be addressed through HCI methods.
  • You will brainstorm and prototype user interfaces based on principles you learn within class in response to those needs.
  • You will evaluate your user interfaces based on feedback you receive from potential users through exercises like paper prototyping and cognitive walkthroughs, then revise those interfaces accordingly.
  • You will work in groups to iterate further on your ideas, ultimately returning a well-researched prototype for a new interface that could be implemented.

Course Description

This course is an introductory course on human-computer interaction. It does not presuppose any earlier knowledge of human-computer interaction, computer science, or psychology. The class covers three broad categories of topics within human-computer interaction: (a) the principles and characteristics of the interaction between humans and computers; (b) the techniques for designing and evaluating user-centered systems; and (c) current areas of cutting-edge research and development in human-computer interaction.

Learning Goals and Outcomes

There are three broad learning goals for this course. At the end of this course, you will understand:

  • The principles and characteristics of human-computer interaction, such as direct manipulation, usability affordances, and interaction design heuristics.
  • The workflow for designing and evaluating user-centered designs, from needfinding to prototyping to evaluation.
  • The current state of research and development in human-computer interaction, such as augmented reality, wearable devices, and robotics.

Connected to those three learning goals are three learning outcomes. The learning outcomes are subsumed under the general learning outcome, “To design effective interactions between humans and computers”. At the end of this course, you will be able to:

  • Design user interfaces and experiences grounded in known principles of usability and human-computer interaction.
  • Iteratively prototype, evaluate, and improve user-centered designs with user feedback.
  • Apply those skills to open or new areas of development in human-computer interaction.

Course Structure

This course is broken into five units:

  • Unit 1: Introduction. The first unit serves as your introduction to the field of HCI. It introduces you to HCI’s place in a hierarchy of fields such as human factors engineering and user experience design, as well as covers the structure of this course. It also provides some initial exposure to the breadth of the HCI field and how it touches on topics like virtual reality, healthcare, and context-sensitive interfaces.
  • Unit 2: Principles. The second unit covers many of the fundamental principles of HCI. It discusses the ubiquity of feedback cycles, the importance of direct manipulation, and the extent of human abilities as their relate to computer interfaces. It also covers many of the most valuable heuristics and guidelines in HCI Finally, it will cover some advanced theories around the understanding of user tasks and activities.
  • Unit 3: Methods. The third unit covers the design life cycle: how do we create good user interfaces for our users? It steps through a four-stage cycle from through needfinding, brainstorming design alternatives, prototyping potential interfaces, and evaluating those interfaces with users. It also covers the research ethics underlying this design life cycle, as well as applications of this life cycle to the modern era of rapid prototyping.
  • Unit 4: Applications. The fourth unit is an open-ended exploration into the applications of HCI to open areas like augmented reality, education, and social computing. Rather than an area to go through linearly, this is an opportunity to explore the work being done in the area of HCI you find most interesting.
  • Unit 5: Conclusion. The fifth unit wraps up our conversations about HCI. It revisits the various topics that we discussed throughout the previous units, then concludes by looking forward at where one might go from here, such as what fields to research more or what education to pursue next.


The above information is general to the OMS CS6750 class. For information about specific semesters, such as project information, calendars, and grading criteria, please select the specific semester below: