CS4760 Course Policies


Robert Pastel
204 Rekhi
pastel at mtu.edu

Class Schedule

Tuesday and Thursday at 2:05-3:20 in Rekhi G09.

Recommended Text

Interaction Design, Preece, Rogers and Sharp, Wiley, any version, my version is ISBN 0-471-49278-7

Referenced Text

I used these text books to prepare the class notes:

  • Human-Computer Interaction, Dix et. al., Prentice Hall, ISBN 0-12-239864-8 The Humane Interface, Raskin, Addison Wesley, ISBN 0-201-37937-6
  • Usability Engineering, Rosson and Carrol, Morgan Kaufmann, ISBN 1-55860-712-9 Designing the User Interface, Shneiderman, Addison Wesley Longman, ISBN 0-201-69497-2
  • Interaction Design, Preece, Robers, and Sharp, Wiley, ISBN 0-471-49278-7
  • The Psychology of Human-Computer Interaction, Card, Moran and Newell, Lawrence Erlbaum Ass. Publishers, 1983
  • User-Centered Website Development, McCracken and Wolfe, Printice Hall, ISBN 0-13-0411611-2 Usability Testing and Research, Barnum, Longman Publishers, ISBN 0-205-31519-4
  • Volume 1: Xlib programming manual by Adrian Nye, 3rd edition, June 1992. O’Reilly & Associates, Inc.
  • The Visual Display of Quantitative Information, Edward R. Tufte, Graphics Press, ISBN 0-9613921-0-X
  • Visual Explanatins, Edward R. Tufte, Graphics Press, ISBN 0-9613921-2-6
  • Universal Principles of Design, William Lidwell, Kritina Holden and Jill Bulter, Rockport Publishers Inc., ISBN 1-59253-007-6
  • The Resonant Interface, Steven Heim, Addison Wesley, ISBN 0-321-37596-3
  • Sketching User Experiences, Bill Buxton, Focal Press, ISBN 0-12-374037-1
  • Software For Use, Larry Constantien and Lucy Lockwood, Addison Wesley, ISBN 0-201-92478-1
  • Team Writing: a guide to working in groups, Joanna Wolfe, Bedford, ISBN-10: 0-312-56582-8
  • Research Methods in Human-Computer Interaction, Jonathan Lazar, Jinjuan Heidi Feng and Harry Hochheiser, Wiley, ISBN 978-0-470-72337-1

CS4760 Course Goals

The goals of the course are proficiency in UI design and implementation, ability program web and enterprise application software, and general knowledge of Human-Computer Interaction (HCI).

Learning Objectives

  • You will demonstrate the ability to design a system to meet the desired needs within realistic constraints by designing and implementing an application that has an intensive user interface. The constraints are defined by the client sponsoring the app, potential users and the platform (web) for implementation.
  • You will demonstrate broad familiarity with theories, practices, challenges, and context of usability by designing and observing the evaluation of the user interface of your app.
  • You will demonstrate proficiency with tools for implementing an user interface by implementing your app using a web platform, source code repository, CSS platform, and possibly a JavaScript platform.
  • You will demonstrate the ability to function on a multidisciplinary team by working on a team that includes your client, graduate students in the HCI Evaluation and Usability Testing course, and undergraduate Communication students in the Usability and Instruction Writing course.
  • You will demonstrate the ability to communicate to a broad audience by presenting your designs to an audience that includes the client sponsoring the app, graduate students in the HCI Evaluation and Usability Testing course, and undergraduate Communication students in the Usability and Instruction Writing course.


You should have experience in a windowing application programming interface, such as java swing, TK, QT etc.  I will not extensively teach a windowing API. You will also need experience working in groups.


A major component of the course is the design project.  This is a semester long team project requiring documents, class presentation, implementation, and helping with evaluations of yours and others project.  You may choose your own project (with possible constraints).  In any case you will write reports.


You are to implement a significant portion of your design using any software tool that can be ran on an operating system available at school.  I am more concerned with originality and effectiveness then quantity.  You should be prepared to explain your code.

 Class Participation

You must be present for the project presentations; absolutely no excuses.  You must also come to lectures so that you can collaborate with graduate students and discuss topics. Class attendance will be recorded and you allowed 2 unexcused attendances at lectures. More than 2 unexcused attendance will result in grade reduction.

Late Assignments

All assignments are required. If you cannot complete any assignment you still must submit it, but I will not give you feedback on the assignment. Sometimes I miss an assignment submission, so if I have not given you timely feedback on your assignment, please email me a reminder with the subject line “cs4760 – Missing feedback” and the body of the email explain what assignment is missing and when you submitted it.

Course Grade

Your course grade will be determined by the performance of your project and course participation. Course participation includes working with your group, assisting other groups, assisting graduate students, and participating in lecture discussions. This is a group project  course, so I cannot give you percentage breakdown of the grading.

Academic Integrity

Under graduate students work in teams on the project. They may discuss any aspect of the project with their team and  graduate students including coding the project, but the individual programming assignments are an individual effort. This way you will be assure that all team members have a basic knowledge of Groovy and Grails.


Please let me know if you have a disability that requires special arrangements.

References to University Policies

University policies on Academic Integrity, Assessment, Disabilities Services, Institutional Equity and Inclusions, Veteran/Military, and Equal Opportunity, Discrimination, or Harassment Statement can be found at: