CSCI 380 – User Interface Development

Course Syllabus

Fall 2002



Dr. Bill Manaris


Room: 210 J.C. Long Building
Phone: (95)3-8159


Office Hours:

MW 1:30-4:30pm, and by appointment.  Feel free to come in with questions and problems you may have.  I may also be available for a few minutes after class.


Introduction to human computer interaction (HCI) and user interface development. Topics include definitions of HCI, 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.

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 Java, C/C++, or Visual Basic.



Preece, J. et al. (1994), Human-Computer Interaction, Addison-Wesley, ISBN: 0201627698.



Additional materials will be made available via handouts and/or the class webpage.



·         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



Scale: A: 90-100; B: 80-89; C: 70-79; D: 60-69, F: <60. The grades of B+ and C+ may be given at the professor's discretion.

Final Grade Computation: Assignments (4-8) 25%, Tests (2) 40%, Comprehensive Final Exam 25%, and Class Participation 10%.


Course Policies:

·         Attendance at tests is mandatory.  You are expected to attend all classes. Regardless of actual attendance, you are responsible for announcements made in class, assignment due dates, etc.

·         Several assignments will be given.  Assignments are to be submitted to the instructor by the date and time they are due.  If the instructor is unavailable, they may be turned in at the CSCI department office (Long 216).

·         To receive a passing grade for the course, you must average a passing grade on each of the following: assignments, tests, and final exam.

·         You must do your assignments alone.  You are not allowed to discuss assignments and possible solutions with any person other than the instructor. You are not allowed to look at someone else’s solution (including code in books and the Internet) or show your solution to someone else other than the instructor.  Any violation of the above rules is an honor offense.  (For group assignments, “alone” means “you and your teammates”.)  See The Honor System of the College of Charleston and the Student Code of Conduct (, especially sections on Cheating, Plagiarism (pp. 10-11), and Computer Use (p. 13).

·         24-hour blackout period: You may ask questions about an assignment up until 24-hours before it is due.

·         You have four “late” days for the whole semester to use when submitting your assignments.  Once you use up these days, no late assignments will be accepted. However, partial solutions submitted on time will be graded.

·         If at the end of the semester you still have all four “late” days unused (and have completed all assignments), you will earn 2.5 bonus points towards your final grade.