CS 349 User Interfaces


Watch a video introduction to the course on YouTube.

Objectives

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.

Intended Audience

Computer Science students interested in modern user interfaces.

Related Courses

Prerequisites: (CS 240 or SE 240) and (CS 246 or 247) and (MATH 115 or 136/146); Computer Science students only.

Hardware/Software

References

Building Interactive Systems Author: Dan Olsen 2010

Schedule

3 hours of lectures per week. Normally available in Winter and Spring.

Notes

Outline

The UI Design Process (2 hours)

An overview of the user interface design process. Practical solutions to design problems, `good enough' solutions that can be discovered at low cost. Users. Scenarios. Functional design.

Two-dimensional Graphics (4 hours)

Survey of devices on which graphical user interfaces are provided. Programming models for simple output, elementary graphics and text.

Events (5 hours)

Abstractions for user input, focussing on the event abstraction. The lowest level user interface control structure, the event loop, is described in the context of the model-view-controller interface architecture.

UI Components (8 hours)

How interfaces are constructed from components. Constructing an interface from interacting components. Layout. "Look and feel."

UI Specification (5 hours)

Two methods for describing the behaviour of user interfaces: state diagrams and production systems.

Scripting Architectures (3 hours)

The architecture of interfaces constructed using scripting languages. Interface prototyping. Retrofitting interfaces to existing application programs.

Advanced Interface Topics (6 hours)

Learning and evaluating an unusual interface that changes from term to term. Geometry-based interfaces. Interworking. Programmers' interfaces.


Campaign Waterloo

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293
Fax: 519-885-1208

Contact | Feedback: cs-uops@cs.uwaterloo.ca | David R. Cheriton School of Computer Science | Faculty of Mathematics


Valid HTML 4.01!Valid CSS! Last modified: Wednesday, 15-Feb-2012 10:43:05 EST


Menu:ShowHide