CSC 312 Human-Computer Interfaces 3 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 per week, plus laboratory work outside of class.
Prerequisite: CSC 311.


Goals:

There are several goals for this course:

  • to satisfy relevant requirements in the ACM Computing Curricula 1991;
  • to develop a basic understanding of the human-computer interface including an understanding of the effect of hardware and software technologies on such interfaces, from the past through the present and the near future;
  • to introduce the use of an object-oriented library, especially one supporting a window-based interface design; examples: Microsoft Foundation Class Library, Borland Object Windows Library, the C++ Standard Template Library.

Topics:
  • User interfaces: general principles and characteristics
    • command interfaces
    • graphical interfaces
    • multi-media interfaces
  • Interface design methodologies
  • Comparison of interfaces, their strengths and weaknesses
    • command-based (e.g., Vi) vs. Emacs
    • GUI (e.g., MAC OS) vs. Windows 3.1 or Windows 95
  • High-level interface libraries
    • constructing general dialogues
    • constructing file dialogues
    • constructing find and replace dialogues
  • Multiple document interfaces
    • building applications with standard document interfaces
    • 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.
      The examples studied in class and used for programming projects will be drawn from the following list or from similar projects:

  • detailed design of a general interface
  • modification of a Class Roster program to allow dialogue input
  • modification of a 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:
    * indicates text currently in use
  • Baeker et. al., editors.   Human Computer Interaction, Toward the Year 2000.   (Morgan Kauffman, 1996)
  • Bass, Len; Prasun, Dewan.   User Interface Software.   (John Wiley, 199x)
  • Dix, Alan J.; Finlay, Janet E.; Abowd, Gregory D.; Beale, R.   Human-Computer Interaction.   Second Edition.   (Prentice-Hall, 1998)
  • 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)
  • 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)
  • Sullivan et. al.   Intelligent User Interfaces.   (Addison-Wesley, 1992)


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