CS1635 Interface Design Methodology


Instructor: Prof. S. K. Chang
Office: 6101 Sennott Building
Office Hours: TBA
Telephone: 624-8423
E-mail: chang@cs.pitt.edu

Grader: TBA
Office: TBA
Office Hours: TBA
Telephone: TBA
E-mail: TBA

Time and Classroom: TBA

Course Description:

This course is one of the courses in the software engineering track. In user interface design, the designers are faced with many questions regarding appearance, content, modalities and functionalities of the interface. In this course user interface patterns, which are essentially reusable software components, are introduced as the cornerstone in a user-centric design methodology. Iconic, visual, gestural, tactile, audio and unconventional user interfaces are discussed systematically. Class projects enable the students to apply the user interface patterns to the design of novel multimedia interfaces for diversified applications.

Pre-requisites:

CS1530: Introduction to Software Engineering (with passing grade of C or better), or consent of the instructor.

Course Organization:

Week 1: Basic concepts of interface - computer-computer interface, messages and protocols, human-computer interface
Week 2: Software components -. interaction standards, composition, containers
Week 3: Theory of patterns, reusable software components
Week 4: Introduction to user interface patterns
Week 5-9: A survey of user interface patterns
  Search - Continuous filter, continuous highlight
  Data Views - Overview beside detail, expand in context, fisheye
  Storages - Rule storage, data storage, placeholder, temporary storage
  Selecting and Manipulating Objects - Double list, editable table,
    pile of items, master and instances
  Time - Calendar strip, schedule
  Hierarchies and Sets - Tree, groups and items
  Save and Undo - Autosave, global undo, object-specific undo,
    Deleted data storage
  Web Applications - Shopping cart, reservation
(Week 10-16: Term project to design multimedia user interface concurrent with classes)
Week 10: Iconic user interface
Week 11: Visual user interface - math expressions, sketches
Week 12: Gestural user interface - American sign language
Week 13: Audio user interface
Week 14: Tactile user interface - touch interface, Braille reader
Week 15: Unconventional user interfaces - brain wave, etc.
Week 16: Class project presentations

Course Requirements:

An appropriate textbook (to be determined later) will be required. Detailed class notes, similar to those available on class web pages for CS1530, Introduction to Software Engineering, www.cs.pitt.edu/~chang/153/1530syl.html, will be provided. The class notes are based upon research papers and articles on user interface design patterns, component-based software engineering and multimedia user interfaces. Some typical references are given at the end of this proposal. If an appropriate textbook cannot be found, the instructor is prepared to teach this course using the detailed class notes. There will be homework assignments on UML diagrams for composition of components and user interface patterns. There will be two exams: a midterm exam (during the 7th or 8th week of classes) and the final exam during the finals week. There will be a term project, which amounts to a substantial multi-week homework carried out by a team. The project teams are required to give project presentations. With an expected class size of twenty five to thirty students, students will form eight to ten three-person project teams. In Week Sixteen, each project team will make a fifteen minute presentation during the two class periods. There will be no lab. The course does not require students to carry out individual research.

Grading Policy:

The grade scaling will be computed based on the performance of the undergraduate students only. Graduate students who may also take this courser will then be graded on this undergraduate scale. Unless explicated noted otherwise, the work in this course is to be done independently. Discussions with other students on the assignments or term projects should be limited to understanding the statement of problems and discussing programming techniques.
Homeworks		20%
Midterm Exam		25%
Final Exam		25%
Term Project		30% 

Late Policy:

A late assignment will receive a deduction of 1 point per day. Any assignment that is more than 3 days late will be accepted only under special circumstances with the instructor determining the penalty in a fair manner.

Students with Disability:

If a student has a disability for which the student may request an accommodation, the student is encouraged to contact both the course instructor and the Office of Disability Resources and Services, 216 William Pitt Union (412)624-7890 as early as possible in the term.

Academic Integrity Policy:

Cheating/plagiarism will not be tolerated. Students suspected of violating the University of Pittsburgh Policy on Academic Integrity, noted below, will be required to participate in the outlined procedural process as initiated by the instructor. A minimum sanction of a zero score for the quiz, exam, paper or assignment will be imposed.
"The integrity of the academic process requires fair and impartial evaluation on the part of faculty and honest academic conduct on the part of the students. To this end, students are expected to conduct themselves at a high level of responsibility in the fulfillment of the course of their study. It is the corresponding responsibility of faculty to make clear to students those standards by which students will be evaluated, and the resources permissible for use by students during the course of their study and evaluation. The educational process is perceived as a joint faculty-student enterprise which will perforce involve professional judgement by faculty and may involve without penalty . reasoned exception by students to the data or views offered by the faculty." Senate Committee on Tenure and Academic Freedom, February 1974

References:

Christopher Alexander, The Timeless Way of Building, Oxford University Press (1979).
Von Udo Arend, "User Interface Patterns - Components for User Interfaces", http://www.sapdesignguild.org/editions/edition8/patterns.asp
Shi-Kuo Chang, "Multimedia Software Engineering", Kluwer Academic Publishers, 2000.
Sari A. Laakso, "User Interface Design Patterns", http://www.cs.helsinki.fi/u/salaakso/patterns/index.html