Human-Computer Interaction

In today’s computing landscape, the ability to write correct and efficient code, while still essential, is no longer sufficient. Advances in AI, code generation tools, and software frameworks have significantly lowered the barrier to producing functional software. As a result, the primary challenge has shifted from how to build systems to what systems to build and whether they meaningfully serve users’ needs. Many technically sound systems fail not due to poor implementation, but because they are misaligned with user expectations, contexts, or values.

The focus area in Human–Computer Interaction (HCI) provides students with a pathway to deepen their knowledge and skills to analyze user needs, design for usability and accessibility, and evaluate how systems are experienced in real-world contexts. It emphasizes problem framing, stakeholder analysis, and iterative design, three competencies that are critical for developing systems that are not only correct and efficient but also useful, usable, and impactful.

Primaries

CS2111 Human-Centred Computing serves as a foundational introduction to designing computing systems around human needs, covering user analysis, iterative design, and ethical considerations. This course provides the necessary groundwork for CS3240 Interaction Design, which focuses on applying user-centric design principles to design and prototype digital experiences, including the responsible use of AI-assisted tools. For students wishing to specialize further in conversational interfaces, CS3249 Conversational User Interface builds upon this foundation by focusing specifically on the design and implementation of language-driven user interfaces and user experiences. Furthermore, CS4249 Quantitative Methods of Human-Computer Interaction provides the empirical rigor to complement these design courses, teaching students how to plan and conduct controlled experiments to scientifically validate the usability and effectiveness of interactive systems developed in CS2111, CS3240, or CS3249. Finally, CS4353 Interactive Systems Development Project acts as a capstone experience, requiring students to synthesize the design, evaluation, and implementation skills learned across these preceding courses into a comprehensive, real-world project.

Electives

Students interested in interaction design in spatial computing can expand their knowledge with CS4240 Interaction Design for Virtual and Augmented Reality. Students interested in designing interactions and visualization with information can take CS5346 Information Visualisation.