Topics & Learning Outcomes

Topics and Learning Outcomes for this course are based on ACM/IEEE Curriculum Guidelines for Undergraduate Degree Programs in Computer Science (2013) . This document associates one of three levels of mastery with each Learning Outcome. The mastery levels are defined as:

This course explores Human Computer Interaction (HCI), with the following knowledge areas (click on one to jump to details): HCI/Foundations, HCI/Designing Interaction, HCI/Programming Interactive Systems, HCI/User-Centered Design & Testing, HCI/New Interactive Technologies, HCI/Collaboration and Communication, HCI/Statistical Methods for HCI, and HCI/Design-Oriented HCI.

Full List of Topics & Learning Outcomes


Motivation: For end-users, the interface is the system. So design in this domain must be interaction-focused and human-centered. Students need a different repertoire of techniques to address this than is provided elsewhere in the curriculum.

  • Contexts for HCI (anything with a user interface, e.g., webpage, business applications, mobile applications, and games)
  • Processes for user-centred development, e.g., early focus on users, empirical testing, iterative design
  • Different measures for evaluation, e.g., utility, efficiency, learnability, user satisfaction
  • Usability heuristics and the principles of usability testing
  • Physical capabilities that inform interaction design, e.g., colour perception, ergonomics
  • Cognitive models that inform interaction design, e.g., attention, perception and recognition, movement, and memory; gulfs of expectation and execution
  • Social models that inform interaction design, e.g., culture, communication, networks and organizations
  • Principles of good design and good designers; engineering tradeoffs
  • Accessibility, e.g., interfaces for differently-abled populations (e.g., blind, motion-impaired)
  • Interfaces for differently-aged population groups (e.g., children, 80+)
Learning Outcomes
  1. Discuss why human-centred software development is important. [Familiarity]
  2. Summarize the basic precepts of psychological and social interaction. [Familiarity]
  3. Develop and use a conceptual vocabulary for analyzing human interaction with software: affordance, conceptual model, feedback, and so forth. [Usage]
  4. Define a user-centred design process that explicitly takes account of the fact that the user is not like the developer or their acquaintances. [Usage]
  5. Create and conduct a simple usability test for an existing software application. [Assessment]

HCI/Designing Interaction

Motivation: CS students need a minimal set of well-established methods and tools to bring to interface construction.

  • Elements of visual design (layout, colour, fonts, labeling)
  • Task analysis, including qualitative aspects of generating task analytic models
  • Low-fidelity (paper) prototyping
  • Quantitative evaluation techniques, e.g., keystroke-level evaluation
  • User interface standards
Learning Outcomes
  1. For an identified user group, undertake and document an analysis of their needs. [Assessment]
  2. Conduct a quantitative evaluation and discuss/report the results. [Usage]
  3. Discuss at least one national or international user interface design standard. [Familiarity]

HCI/Programming Interactive Systems

Motivation: To take a user-experience-centered view of software development and then cover approaches and technologies to make that happen.

  • Software Architecture Patterns, e.g., Model-View controller; command objects, online, offline (cross-reference PL/Event Driven and Reactive Programming, where MVC is used in the context of event-driven programming)
  • Interaction Design Patterns: visual hierarchy, navigational distance
  • Event management and user interaction
  • Geometry management (cross-reference GV/Geometric Modelling)
  • Choosing interaction styles and interaction techniques
  • Presenting information: navigation, representation, manipulation
  • Interface animation techniques (e.g., scene graphs)
  • Widget classes and libraries
  • Modern GUI libraries (e.g. iOS, Android, JavaFX), GUI builders, and UI programming environments (cross-reference PBD/Mobile Platforms)
  • Declarative Interface Specification: Stylesheets and DOMs
  • Data-driven applications (database-backed web pages)
  • Cross-platform design
  • Design for resource-constrained devices (e.g. small, mobile devices)
Learning Outcomes
  1. Explain the importance of Model-View controller to interface programming. [Familiarity]
  2. Create an application with a modern graphical user interface. [Usage]
  3. Identify commonalities and differences in UIs across different platforms. [Familiarity]
  4. Explain and use GUI programming concepts: event handling, constraint-based layout management, etc. [Familiarity]

HCI/User-Centered Design & Testing

Motivation: An exploration of techniques to ensure that end-users are fully considered at all stages of the design process, from inception to implementation.

  • Social implications of computing in a networked world
  • Impact of social media on individualism, collectivism and culture
  • Growth and control of the Internet
  • Often referred to as the digital divide, differences in access to digital technology resources and its resulting ramifications for gender, class, ethnicity, geography, and/or underdeveloped countries
  • Accessibility issues, including legal requirements
  • Context-aware computing
Learning Outcomes
  1. Describe positive and negative ways in which computer technology (networks, mobile computing, cloud computing) alters modes of social interaction at the personal level. [Familiarity]
  2. Identify developers’ assumptions and values embedded in hardware and software design, especially as they pertain to usability for diverse populations including under-represented populations and the disabled. [Familiarity]
  3. Interpret the social context of a given design and its implementation. [Familiarity]
  4. Evaluate the efficacy of a given design and implementation using empirical data. [Assessment]
  5. Summarize the implications of social media on individualism versus collectivism and culture. [Usage]
  6. Discuss how Internet access serves as a liberating force for people living under oppressive forms of government; explain how limits on Internet access are used as tools of political and social repression. [Familiarity]
  7. Analyze the pros and cons of reliance on computing in the implementation of democracy (e.g. delivery of social services, electronic voting). [Assessment]
  8. Describe the impact of the under-representation of diverse populations in the computing profession (e.g., industry culture, product diversity). [Familiarity]
  9. Explain the implications of context awareness in ubiquitous computing systems. [Familiarity]

HCI/New Interactive Technologies

Motivation: As technologies evolve, new interaction styles are made possible. This knowledge unit should be considered extensible, to track emergent technology.

  • Choosing interaction styles and interaction techniques
  • Representing information to users: navigation, representation, manipulation
  • Approaches to design, implementation and evaluation of non-mouse interaction
    • Touch and multi-touch interfaces
    • Shared, embodied, and large interfaces
    • New input modalities (such as sensor and location data)
    • New Windows, e.g., iPhone, Android
    • Speech recognition and natural language processing (cross reference IS/Natural Language Processing)
    • Wearable and tangible interfaces
    • Persuasive interaction and emotion
    • Ubiquitous and context-aware interaction technologies (Ubicomp)
    • Bayesian inference (e.g. predictive text, guided pointing)
    • Ambient/peripheral display and interaction
Learning Outcomes
  1. Describe when non-mouse interfaces are appropriate. [Familiarity]
  2. Understand the interaction possibilities beyond mouse-and-pointer interfaces. [Familiarity]
  3. Discuss the advantages (and disadvantages) of non-mouse interfaces. [Assessment]

HCI/Collaboration and Communication

Motivation: Computer interfaces not only support users in achieving their individual goals but also in their interaction with others, whether that is task-focused (work or gaming) or task-unfocused (social networking).

  • Asynchronous group communication, e.g., e-mail, forums, social networks
  • Synchronous group communication, e.g., chat rooms, conferencing, online games
  • Social media, social computing, and social network analysis
  • Online collaboration, 'smart' spaces, and social coordination aspects of workflow technologies
  • Online communities
  • Software characters and intelligent agents, virtual worlds and avatars (cross-reference IS/Agents)
  • Social psychology
Learning Outcomes
  1. Describe the difference between synchronous and asynchronous communication. [Familiarity]
  2. Compare the HCI issues in individual interaction with group interaction. [Assessment]
  3. Discuss several issues of social concern raised by collaborative software. [Familiarity]
  4. Discuss the HCI issues in software that embodies human intention. [Familiarity]

HCI/Statistical Methods for HCI

Motivation: Much HCI work depends on the proper use, understanding and application of statistics. This knowledge is often held by students who join the field from psychology, but less common in students with a CS background.

  • t-tests
  • Randomization (non-parametric) testing, within vs. between-subjects design
  • Calculating effect size
  • Exploratory data analysis
  • Presenting statistical data
  • Combining qualitative and quantitative results
Learning Outcomes
  1. Explain basic statistical concepts and their areas of application. [Familiarity]
  2. Extract and articulate the statistical arguments used in papers that quantitatively report user studies. [Usage]
  3. Design a user study that will yield quantitative results. [Usage]
  4. Conduct and report on a study that utilizes both qualitative and quantitative evaluation. [Usage]

HCI/Design-Oriented HCI

Motivation: Some curricula will want to emphasize an understanding of the norms and values of HCI work itself as emerging from, and deployed within specific historical, disciplinary and cultural contexts.

  • Intellectual styles and perspectives to technology and its interfaces
  • Consideration of HCI as a design discipline
    • Sketching
    • Participatory design
  • Critically reflective HCI
    • Critical technical practice
    • Technologies for political activism
    • Philosophy of user experience
    • Ethnography and ethnomethodology
  • Indicative domains of application
    • Sustainability
    • Arts-informed computing
Learning Outcomes
  1. Explain what is meant by “HCI is a design-oriented discipline”. [Familiarity]
  2. Detail the processes of design appropriate to specific design orientations. [Familiarity]
  3. Apply a variety of design methods to a given problem. [Usage]