Fall 2012»CSIS 672 Course Syllabus

CSIS 672 Course Syllabus

College of CharlestonAugust 27, 2012

CSIS 672 Human Computer Interaction

Course Syllabus


Dr. Bill Manaris


Room: 223 J.C. Long Building
Phone: (95)3-8159
E-mail: manarisb@cofc.edu
Web: http://www.cs.cofc.edu/~manaris/

Office Hours:

Monday, Wednesday 2 - 3:30PM.
Friday 2 - 3PM
Other hours available by appointment.

Course Description:

Introduction to human computer interaction and user interface development. Topics include definitions of Human-Computer Interaction, importance of good interfaces, psychological foundations, user-interface design examples, interaction models and dialog types for interfaces, user interface life-cycle, user-centered design and task-analysis, prototyping and the iterative design cycle, prototyping tools and environments, user interface implementation, and interface quality and methods of evaluation.

This course stresses the importance of good interfaces and the relationship of user interface design to human-computer interaction. It is intended to provide an adequate basis in software design and implementation for user interfaces. There will be content on both the issues and engineering process for user interface development.

Prerequisites: Each student must have completed CSCI 230 (Data Structures and Algorithms) or an equivalent or higher course, or have permission of the instructor. Minimally, each student should have strong background in software development, data structures, and algorithms; also strong background in a high-level programming language such as Python, Java, or C/C++.


  • Debbie Stone, et al. (2005), User Interface Design and Evaluation, Morgan Kaufmann.
  • Donald A. Norman (2002), The Design of Everyday Things, Basic Books.
  • Saul Greenberg, et al. (2011), Sketching User Experiences: The Workbook, Morgan Kaufmann.


Additional reading materials will provided via handouts and the class website.

Learning Outcomes:

  • To understand how HCI relates to other aspects of software engineering
  • To understand basic human and machine factors that influence the development of interactive computing systems
  • To gain basic skills and knowledge for user interface design
  • To acquire skills in integrating HCI into the system development life-cycle (analysis, design, implementation, evaluation)
  • To develop an appreciation for user-centered design
  • To learn at least one development methodology and one toolkit for prototyping/implementing user interfaces
  • To gain awareness of other tools and methods available
  • To develop at least one user interface
  • To gain additional experience with team work and collaborative development efforts


To receive a passing grade for the course, you must average a passing grade on each of the following: assignments, tests, and final exam.
Scale: A: 90-100; B: 80-89; C: 70-79; D: 60-69; F: <60. The grades of B+/, C+/, and D+/ may be given at the professor's discretion.

Final Grade Computation: Assignments (4-6) 30%, Tests (2) 40%, Comprehensive Final Exam or Final Project 20%, and Class Participation 10%.

Honor Code:

  • You must do your assignments alone (or with your teammates, for group assignments).
    • It is relatively easy to find solutions (or related code), modify them, incorporate them into (or even worse, present them as) your own work. Such activity is considered cheating. This is a serious offense and will affect your academic career. If in doubt, check with the instructor before you look at any code or solution related to your assignment.
  • You are not allowed to discuss assignments and possible solutions with any person other than the instructor, lab instructor, tutor, grader (or with your teammates, for group assignments).
  • On assignments you will be asked to identify the person(s) you received help from, if any.
  • Any violation of these rules is an honor offense. See the College of Charleston Student Handbook, especially sections on The Honor Code (p. 11), and Student Code of Conduct (p. 12). There is other useful information there.

Test Policies:

  • Attendance at tests is mandatory. You must complete tests with no discussion or sharing of information with other students.
  • Calculators, computers, cell phones, etc. may not be used during a test, unless otherwise directed.

Classroom Policies:

  • You are expected to participate in class with questions and invited discussion.
  • You are expected to attend all classes. You are responsible for announcements made in class, assignment due dates, etc. The grade 'WA' may be given for excessive absences.
  • You should turn off all electronic devices (e.g., cell phones, pagers, etc.).
  • You must use computers only as directed (e.g., no checking email, etc.) during class.
  • In summary, you should contribute positively to the classroom learning experience, and respect your classmates right to learn.
    • See College of Charleston Student Handbook, section on Classroom Code of Conduct.

Assignment Policies:

  • Programming assignment grades will be based on design and style as well as correctness of result.
  • Assignments must be submitted using instructions provided and by the due date and time.
  • Do not submit programs with syntax errors. They are not eligible for credit.

Late Policy:

  • You have four "late" days for the whole semester. You may use these days as you wish for assignment submission. If you use them up, no late assignments will be accepted.
  • If you submit everything on time (i.e., use no late days), you will earn an additional 2.5 bonus points on your course grade.