Human factors and human computer interaction are fascinating academic topic areas that bridge traditional technical and social science disciplines. If you are interested in learning more about these and related topics, there are a number of undergraduate and graduate courses offered at the University of Waterloo that you may be interested in taking. We have listed a number that we know about below.  If you know of other relevant courses on campus, please contact me to have them added.

There are also many online resources available in the topic of user interface and interaction design. My favourite one is an e-book, called Designing Interactions, written by the late Bill Moggridge, who co-founded the internationally renowned IDEO design firm and designed the first laptop computer (among many other amazing innovations throughout his career). The website has a collection of one-on-one interviews with interaction design experts from around the world.


Dr. Stacey Scott (

Undergraduate Courses

SYDE 162 - Human Factors in Design

  • Design of human-machine environments, design to reduce human error. Analytical methods of determining user needs in systems with humans. Information processing and human sensory processes and consideration of these elements in the design of systems with humans. Human physical capabilities and consideration of these in ergonomic design.

SYDE 348 - User Centred Design Methods

  • This course approaches the design tasks, tools, products and systems from a user-centered design perspective. Emphasis is on the human factors and usability methods and techniques that can and should be applied throughout the iterative design process. While design issues pertaining to human-computer interaction are discussed, the methods presented can be applied to the design of almost any user interface. Major topics include: function and task analysis, usability analysis, prototyping and evaluation, user interaction styles, interface design, user designing to guidelines and standards.

SYDE 543 - Cognitive Ergonomics

  • This course focuses on the role engineering psychology research plays in design of the information displays and devices associated with simple and complex cognitive tasks. Main topics include: signal detection and target location tasks, navigation tasks, training tasks, communication tasks, human error, stress and mental workload, supervisory control, and situational awareness.

SYDE 542 - Interface Design

  • This course focuses on the design of computer interfaces for simple to complex systems. Examples of applications will be used to illustrate theoretical approaches. Main topics include: forms of visual display; auditory display and soft controls; context, integration, and navigation; techniques for interface design; ecological interface design.

MSCI 343 - Human-Computer Interaction

  • This course is designed to provide in-depth exposure to the concepts of human-computer interaction and methods of interactive information system design. The course will focus on techniques for building information systems that meet human needs and capabilities by following a system development lifecycle: user requirements analysis, information and interaction design, prototyping and evaluation..

CS349/SE382 - User Interfaces

  • This course teaches the principles of how user interfaces are implemented. Some attention is paid to issues of design and usability, but CS489, HCI, provides more complete treatment of these topics. More specifically, this course provides an introduction to contemporary user interfaces, including the basics of human-computer interaction, the user interface design/evaluation process, and the architectures within which user interfaces are developed. Students implement and evaluate portions of typical user interfaces in a series of programming assignments.

CS489 - Human Computer Interaction

  • The course is project-focused, and lecture material, group assignments, individual assignments, and exams are all designed to complement your project. The purpose of the course is to encourage you to think about the design of computer programs in a new way, and to engage in a design process that allows you to internalize a set of practices that have been shown effective in software design.

Graduate Courses

SYDE 642 - Cognitive Engineering Methods (formerly Advanced Applications of Ecological Interface Design)

  • This course examines the fundamentals of modern perspectives on interface design for complex systems using current methods in cognitive engineering. We discuss Cognitive Work Analysis, Brunswick's' Lens Model, Goal Directed Task Analysis, Situation Awareness Oriented Design, Naturalistic Decision Making, Contextual Inquiry, Macro-cognitive Methods, Activity Theory, Concept Mapping, Cognitive Task Analysis, Social Network Analysis and their application to different types of human engineering problems. Students in this course will learn multiple methods in cognitive engineering with an emphasis on knowing the differences in foundation, assumptions and appropriate application of the methods. Students will be expected to apply the methods in a realistic research context, applying for ethics clearance and working with actual participants. Examples of appropriate topics may include understanding how people work with complex or automated systems models. Finally this course discusses aspects of the current research environment in cognitive engineering, with the objective of developing successful future researchers in this area.

SYDE 643 - Collaborative Systems Design

  • Interaction of humans with complex systems often takes place within the broader context of a collaborative setting. Thus, there is an increasing trend for the design of these systems to incorporate and support group interactions. Emphasis will be on studying collaboration from an interdisciplinary perspective and deriving system design criteria. Topics will include group theories, collaboration requirements (including communication, coordination, team awareness), quantitative and qualitative research methods (including laboratory studies, surveys, ethnographic research methods), data analysis, and collaboration technologies.

CS889 - Experimental Methods in HCI

  • This is a topics course in Human-Computer Interaction. As is typical of topics courses at Waterloo, this course involves a mix of professor-lead and student-lead classes. For the first 2 - 3 weeks of the semester, the professor will present an overview of experimental methods in HCI. For the rest of the semester, the students will present selected papers, drawn, for the most part, from the most recent ACM SIGCHI Conference Proceedings.

CS898 - Advanced Interaction Design

  • Today, we are blessed with a wealth of technological capability: Processors run at gigahertz speeds, RAM is measured in gigabytes, and long-term storage is quickly moving from the gigabyte range to the terabyte range. At the same time, the fruits of research in computer science and other domains have created plug-and-play libraries that require minimal theoretical knowledge for developers to be able to effectively use. Physics, machine learning, 3D graphics, and computer vision are all now highly accessible via well-documented, robust libraries, lessening the need for domain experts from these specialized fields when one wishes to incorporate this technology in new user interfaces. Despite all of these advances, human-computer interfaces have remained relatively stable for the past 25 years. WIMP interfaces are still the dominant form of interaction. Web applications have developed slightly different conventions for interaction, but they still assume a keyboard and mouse. Pen input and modern graphics cards have introduced some new interaction possibilities, though pen interaction is still largely a thin layer on WIMP interfaces, while graphics cards tend to add more aesthetic value than functional value in user interfaces. There are numerous reasons for the slow adoption of new interaction techniques. It can be costly: People need to be trained in the proper use of the technology, the technology itself may be costly (either in terms of hardware or licensing costs), or it simply might not provide enough of an improvement over existing methods to justify its adoption. Or, the technology may simply not be fully developed, tested, or packaged in a form that enables its easy integration into an application. This course deals with these latter three issues.


CS889 - Open Source Usability

  • Over the past two decades, free/open source software (FOSS) has made a dramatic impact on computing and, more broadly, society at large. While FOSS means many things to many people, there is one, single, unifying factor: It is, at its core, software released under a license that enables individuals to freely modify and redistribute that software. This seemingly simple, innocuous attribute has led to multifaceted sociocultural, political movements; new business models (often at the cost of disrupting existing business models); an outpouring of software; new computing ethoses; new ways of interacting with computers; and clear changes to academic, teaching, research, and government institutions. Much of the past and current research on FOSS has examined the phenomena through the lens of software development, particularly by volunteers. However, as this software is increasingly used by more "average" computer users, it is critical to consider end-user concerns: The overall usability of the software, how usability issues are perceived and addressed by FOSS developers, current practices and needs related to FOSS usability, and so on. This course will examine these latter issues in depth.

MSCI 721 - Decision Analysis Under Uncertainty

  • The purpose of this seminar is to provide graduate level coverage of various topics in behavioral decision research, and to encourage cross-fertilization between this discipline and other business disciplines such as marketing, finance, organizational behavior and operations management. Although the normative issue of how decisions should be made is relevant, the descriptive issue of how decisions are made is the main focus of the course.

Viewed 314,298 times