| 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
|