CS377A A Programming Approach to HCI 2002 - Stanford University

Course Description:

How are are interactive systems structured? What makes a user interface tick? This course looks at the software paradigms and technologies behind Human-Computer Interaction (HCI). It will provide students with an understanding of the technical concepts and software paradigms particular to user interface development, with both a historical review of existing systems and their relative merits and problems, and with an understanding of how future, post-desktop user interface software technologies can be explored, designed, and developed.

The course will begin by reviewing key user interface hardware and software concepts that led to the Graphical User Interface (GUI), and by analyzing the generic components of typical GUI toolkits. After that, a review of seminal GUI systems, from the Alto/Star and Smalltalk, to the Macintosh, X/Motif, AWT/Swing, to NeXT and Mac OS X, will provide both a historic frame of reference and an understanding of the key paradigm shifts those systems brought to the development of interactive systems, as well as their relative merits and pitfalls.

We will conclude with a review of selected user interface technologies "beyond the desktop", such as UI techniques for CSCW and ubiquitous computing.

A central part of the course is a series of assignments that include the design and implementation of a simple reference model GUI toolkit, as well as programming exercises with several existing UI toolkits, such as Java's Swing, Apple's InterfaceBuilder, and Stanford's iRoom Operating System.

When: Tuesdays and Thursdays 9:15-10:45

Where: Meyer 143, Meyer Library

Prerequisites: CS147, plus working knowledge of Java (e.g. through CS193J)

First Day Of Class: Tuesday, April 2nd, 2002

Credits: 3

Enrollment: Enrollment is limited to 20 students. To enroll, please come to the first day of class where we will provide a course overview, short questionnaire, and the first assignment. We will inform all students about admission within 24 hours afterwards.

a programming approach to HCI 2002