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