Carnegie Mellon University

Course 05-830 (Advanced User Interface Software)

This course will cover the research and implementation of user interface software. The students will get a comprehensive understanding of all the approaches that have been investigated by researchers and commercial systems for user interface software. After a quick overview of the design of user interfaces, students will concentrate on how to implement the chosen design. Particular emphasis will be placed on user interface software tools, such as windowing systems, toolkits, interface builders, prototypers, and advanced user interface development environments. In particular, the course will cover MS Windows, OLE, MFC, Macintosh Toolbox, MacApp, OpenDoc, X/11, Motif, Visual Basic, Director, HyperCard, Java Swing, Java Beans, and various research systems like Amulet, InterViews, and subArctic. Lectures will discuss the fundamental principles behind all of these systems, while showing the historical progression of the ideas from research prototypes to commercial systems. Today's research topics and open issues in user interface software will be emphasized throughout. Students will all use an interactive prototyping tool first, like HyperCard, Director, Visual Basic or Delphi. Then each student will implement the same interface in three other "high-level" tools, which will be chosen so that the full range of tools is covered by members of the class. Students will compare and evaluate the various tools for ease of learning and effectiveness.