CS 551. Programming Graphical User Interfaces
The materials available here are intended for the use of students enrolled
in CS551 during Winter quarter, 1997.
Course Information
Instructor: Prof. Cherri Pancake
Office Hours: 9:00 - 10:30 Tuesday and Thursday
Teaching assistant: Hugh Vidos,
vidos@research.cs.orst.edu
Office Hours: 11:00 - 12:30 Monday and Friday
Class news group: orst.cs.551
Class news group mailing address:
orst-cs-551@engr
Short (catalog version)
description of course
Pre-requisites:
CS411 (Operating Systems) or CS582
(Object-Oriented Analysis and Programming)
strong C programming skills
Self-test on C programming skills needed for
this course
Course syllabus
Month of January
Months of February & March
Assignments
Assignment 1 - due Tues., Jan. 14
Assignment 2 - due Fri., Jan. 24
Assignment 3 - due Wed., Feb 5
Assignment 4 - due Fri., Feb 14
Assignment 5 - due Fri., Feb 21 at noon
Assignment 6 - due Tue., Mar 4
Final Assignment - due Wed., Mar 19
Self-study exercises for learning X and
the Athena widget set
Tips for succeeding in this course
Reference materials on X
Tips on C programming for portability.
Summary of X's standard
command-line options
What's where in X
- standard locations of X files
Naming Conventions in X
Convenience Macros Supplied by X
Forms and lists for Winter quarter
Discussion leader evaluation form.
Team assignment lists.
Student list for Winter quarter, 1997.
Course Objectives
- Gain a fundamental understanding of the factors which affect the quality and
usability of graphical user interfaces.
- Understand the event-driven nature of graphical user interfaces and the
options for controlling and responding to events.
- Understand the basic capabilities, specialized terminology, and
quasi-object-oriented approach of the X Window System.
- Learn to plan and implement X applications, making use of the X Toolkit
Intrinsics and Athena widget set supplied with the standard MIT distribution.
- Be able to successfully interface Athena widgets with other X clients, with
lower-level Xlib routines, and with widgets from other widgets sets.
- Understand the role of user-defined resources in "customizable" interface
support and be able to distinguish critical from non-critical resources.
- Become familiar with fundamental design principles needed for graphical
interface design, including layout, typography, icon design, color use, and
animation.
- Become familiar with the special requirements of interface platforms that
impose design policies and be able to adapt applications accordingly.
- Learn basic techniques for specifying the components of graphical
interfaces and describing their conformation to interface policy guidelines.
- Understand the importance of portability, flexibility, and generality in
graphical user interfaces, and be able to apply them in the design and
implementation of new applications.
Last modified: Tue Jan 28 14:20:02 PST