last update: 20 August 2002

CSC 312A Human-Computer Interfaces     [formerly CSC 312] 4 cr.

This course presents the fundamentals of computer/user interfaces using windows frameworks and object-oriented programming concepts.   The basic concepts of a user interface, including command-based, graphical, and multimedia interfaces, are covered in a manner independent of specific technologies.   A modern window-based interface implementation is then introduced through the use of one or more current object-oriented programming languages and object interface libraries.   (Consult the instructor for the language(s) and libraries to be used.)   Three lecture hours and three hours of scheduled laboratory per week, plus programming work outside of class.   Not open to students who have received credit for CSC 312.
Prerequisite: CSC 260.


Goals:    The purpose of this course is to develop an understanding of the factors influencing the design of human-computer interfaces. The goals for the course are:
  • CG1: to develop an appreciation of the interdisciplinary nature of human-computer interface design;
  • CG2: to develop an understanding of the effect of hardware and software technologies on human-computer interfaces, from the past through the present and the near future;
  • CG3: to explore a state-of-practice library (including documentation), specifically one designed to support window-based event-driven interface implementations.
Objectives:
   Upon completion of the course, students will have:
  • CO1: demonstrated knowledge of the disciplines which contribute to Human-Computer Interface (HCI) design, and their roles in the analysis and design process;
  • CO2: demonstrated the ability to analyze the requirements for an interface, determine the significant environmental factors and produce viable documented design proposals;
  • CO3: selected and utilized tools required to implement an interface design;
  • CO4: presented and defended HCI design(s) in a group setting;
  • CO5: critically evaluated specific implemented interfaces.
Topics:
  • Human-computer interface design as an interdisciplinary practice
    • contributing disciplines and their roles
  • Human side of HCI: psychology/physiology
    • cognition
    • perception
    • attention and memory constraints
    • learning in context
    • social and organizational aspects
  • Computer side of HCI: technological capabilities and limitations
    • input devices
    • output devices
    • software tools
  • Designing user interfaces
    • command-line
    • menus
    • forms
    • graphical
    • multi-media
    • natural language
  • Comparison of interface paradigms, their strengths and weaknesses
    • command-line (text-based) vs. graphical user interface (GUI)
  • Tools: high-level interface libraries
    • constructing general dialogues
    • constructing file dialogues
    • constructing find-and-replace dialogues
    • building applications with standard document interfaces
  • Tools: low-level interface components
    • scroll bars
    • buttons
    • lists
    • grouped controls
Case studies and laboratory exercises:

      There will be 4 to 6 programming assignments in which students will be asked to implement selected techniques. There will also be periodic written homework assignments.
      Case studies presented in class and used for programming projects will be drawn from areas of current interest and significance; examples of potential case studies include:

  • detailed design of a general interface
  • modification of a Class Roster program to allow dialogue input
  • modification of a text-based query system program to allow the use of buttons and dialogue boxes to express the query, and scroll-barred windows to display the results
  • modification of other selected assignments from CSC courses to make use of an enhanced graphical input or output
  • construction of curriculum flow sheets to specify a prerequisite structure and to evaluate a transcript and/or specific requested courses
Careful attention will be paid to implementation details.

Grading:
      The course grade will be determined using the following approximate weights: laboratory reports - 40%; written homework - 10%; examinations (two one-hour exams and a final exam) - 50%.


Bibliography:

References:
  • Baeker et. al., editors.   Human Computer Interaction, Toward the Year 2000.   Morgan Kauffman, 1996.
  • Carroll, John.   Human-Computer Interaction in the New Millennium. Addison Wesley, 2002.
  • Dix, Alan J.; Finlay, Janet E.; Abowd, Gregory D.; Beale, R.   Human-Computer Interaction.   Second Edition.   Prentice-Hall, 1998.
  • Galitz, Wilbert.   The Essential Guide to User Interface Design. John Wiley, 1997.
  • Gentner, D.; Grudin, J.   "Design Models for Computer Interfaces"   Computer, June 1996.
  • Hix, Deborah; Hartson, H. R.   Developing User Interfaces: Ensuring Usability Through Product and Process.   John Wiley, 1993.
  • Laural, B.   The Art of Human Computer Interface Design.   Addison Wesley, 1990.
  • Preece, Jenny; Rogers, Yvonne; Sharp, Helen; etc.   Human-Computer Interaction.   Addison Wesley, 1994.
  • Preece, Jenny, et al.   Interaction Design.   John Wiley, 2000.
  • Raskin, Jef.   The Humane Interface.   Addison Wesley, 2000.
  • Schneiderman, Ben.   Designing the User Interface: Strategies for Effective Human-Computer Interaction.   Third Edition.   Addison Wesley, 1998.


Salem State Home Computer Science Home Faculty Computer Studies Major Flow Sheet
Computer Studies Minor Courses Course Sequence Diagram Computer Laboratories