Overview
|
This course provides an introduction to and overview of the field of human-computer interaction (HCI). HCI is an interdisciplinary field that integrates theories and methodologies from computer science, cognitive psychology, design, and many other areas. Course readings will focus on current practice in interface specification, design and evaluation, with a few additional readings in current HCI research. Students will work on both individual and team projects to design, implement and evaluate computer interfaces.
The central focus of the course is a semester-long project, in which students will design, implement and evaluate a user interface. Students will be incrementally led through the phases of ethnographic study and requirements analysis, scenario-based design, paper prototyping, computer prototyping, and several methods of usability analysis and evaluation. The course also involves an introduction to software architectures used in modern graphical user interfaces, including the implementation of a few simple interfaces using the Java Swing toolkit.
|
Prerequisites
|
CS 3500. You must be comfortable programming in a high-level language, and able to become proficient in Java basics by mid-semester on your own. There are several homeworks and project assignments that require programming.
|
Objectives
|
Upon successful completion of this course, students should
be able to:
- Design,
implement and evaluate effective and usable graphical computer
interfaces.
- Describe
and apply core methodologies from the field of HCI.
- Implement
simple graphical user interfaces using the Java Swing toolkit.
|
Textbooks
|
Required: Designing Interactive Systems, Third Edition by David Benyon,
Pearson (2014).
Optional: Substantial
readings will be required from the following two texts. Copies have been put
on reserve in the library.
Usability
Engineering: Scenario-Based Development of Human-Computer Interaction by
Rosson, M. and Carroll, J.
Usability
Engineering by Nielsen, J.
Additional readings will be provided online.
|
Course Requirements
|
This course requires a significant amount of work outside
of the classroom. A typical week will consist of:
- Reading
approximately 50 pages from the textbooks and research papers.
- Working
on an individual homework assignment, encompassing ethnographic studies,
evaluation of existing interfaces, and programming or design exercises,
and writing a report on the results.
- Working
on part of a project and writing a progress report.
- Describing
and discussing homework results in class.
|
Grading
|
Grades will be based on the following:
- Critiques
(5%).
- Class
participation (10%).
- Individual
homework (25% divided equally among assignments).
- Project (35%, comprised of 15% for each of T1-T8, 20% for T9).
- Final Exam (25%)
|
Class Format
|
A typical three-hour class will consist of:
- Review
of previous week's assignments, including presentation and discussion of papers by
randomly selected students.
- Lecture.
- In-class activity.
- Discussion
of next week's assignments.
|
Course Rules
|
Academic Honesty. Individual
homework assignments must be each student's own work. Team projects must be the
work of the students in the team. Plagiarism or cheating will result in
official University disciplinary review.
Due Dates. Work
due on a given day must be posted online by 10:00am so that it can be reviewed in class.
Late Assignments. Assignments
(individual and team) that are turned in late are automatically lowered one
grade. Assignments will not be accepted more than one week late. Because the project activities each
week build on the prior week's results, students are strongly encouraged to turn
in their work on time in whatever state it is in.
Etiquette. Please
keep all cell phones, pagers, and other electronic devices turned OFF during
class. If your activities during class are deemed disruptive, you will be
asked to leave.
Team Projects. Students will be given the option of working in teams of 2-3 students on their project at the beginning of the semester (no more than three students per team). At the request of any student, at the time of any team project assignment deadline, teams will be split into individual projects. |