State University of New York at Oswego

  1. COURSE NUMBER AND CREDIT

    CSC 420 - 3 Semester Hours

  2. COURSE TITLE

    Graphical User Interfaces

  3. COURSE DESCRIPTION

    In-depth study of the design and implementation of graphical user interface systems, toolkits and frameworks, as well as the design and construction of applications. Topics include event models, window systems, user interaction, interface specification, and the creation of tools.

  4. PREREQUISITES

    CSC 241 and either upper-division standing or permission of instructor.

  5. COURSE JUSTIFICATION

    Graphical User Interfaces are complex software subsystems that underly most human-computer interaction. This course provides students with knowledge and skills surrounding both their underlying structure and application. Offered every Fall.

  6. COURSE OBJECTIVES

    Upon successful completion of this course, students will be able to:

    1. Understand and apply the essential models, designs, and architectures of graphical user interfaces.
    2. Understand, use, and extend common toolkits systems, and associated skills.
    3. Apply practical skills in creating applications.

  7. COURSE OUTLINE

    1. Graphical User Interface Architecture
      1. Event-driven systems
        1. Model View Controller designs
      2. Overview of graphical rendering
        1. 2-D and 3-D toolkits
      3. Frameworks and Toolkits
        1. Structure and Components
        2. Design patterns
        3. Examples: X, Motif, AWT, Swing
      4. Windowing Systems
        1. Window Managers
        2. Layout Managers
      5. Application Generation Tools
        1. Code generation
        2. Component-based systems
    2. Designing GUI software
      1. User interaction models
      2. Interaction devices
      3. Interface specification
        1. Grammar, state, rule, and constraint approaches
        2. Style Standards
      4. Implementation techniques
      5. Larger applications
        1. Web-based systems
        2. Computer-Supported Cooperative Work
        3. Virtual reality and visualization

  8. METHODS OF INSTRUCTION

    1. Lectures
    2. Design and implementation projects in which students create or extend both underlying frameworks and user-level applications.

  9. COURSE REQUIREMENTS

    1. Projects
    2. Examinations

  10. MEANS OF EVALUATION

    1. Project demonstrations
    2. Examinations
    3. web pages and documentation.

  11. RESOURCES

    This course does not require any additional resources. Many available computers in CS and campus labs have the requisite software and capabilities.

  12. BIBLIOGRAPHY

    R.M. Baecker, J. Grudin, W.A.S. Buxton, and S. Greenberg. Readings in Human-Computer Interaction: Toward the Year 2,000. Morgan Kaufmann, 1995.

    Alan Cooper. About Face: The Essentials of User Interface Design. Programmers Press/IDG. 1995.

    Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.

    Alex Leavens. Designing GUI Applications M&T Books, 1994.

    Mark T. Maybury and Wolfgang Wahlster (eds.). Readings in Intelligent User Interfaces. Morgan Kaufmann, 1998.

    Ben Shneiderman. Designing the User Interface: Strategies for Effective Human-Computer Interaction. Addison-Wesley, 1997.


Document: