Course Syllabus


Software Systems

Spring Semester 2001

[ Basics | Goals | Requirements | Evaluation | Policies | Machines | Tentative Schedule ]


Instructor: Eugene Wallingford


Course Goals

Most of your undergraduate computer science program focuses on specific kinds of software. Even then, our focus tends to be on the relationship between the designer, or the programmer, and the software itself. This is as it should be, since you are learning how to create and use some of the most complex systems known to man.

This course takes you in a different direction. We will focus on the relationship of the software system with its environment and in particular with the people who will use it. From this perspective, the task of software designers looks quite different. They must concern themselves not only with the correctness and maintenance of software but also with its usability and its potential effects on the world at large.

This course aims to help students develop a deep understanding of the issues underlying software's role in the world. The primary component of the course does so by inviting the student to consider strategies for effective human-computer interaction. Secondary components of the course raise fundamental questions about the societal role of software systems and the software developer's concomitant professional and ethical responsibilities. We will try to consider a number of different kinds of software, from numerical applications to artificial intelligence programs, so that your experience is broad as well as deep.

By the end of the semester, you should feel comfortable:

Course Requirements

Course Evaluation

Grades will be determined on the basis of your performance in class and on homework assignments and examinations. Final grades will be based on the following distribution:

Item Number Weight
Class 35-45 10%
Homework ~6 35%
Mid-term exams 2 30%
Final exam 1 25%

Grades will be assigned using an absolute scale:

This means that there is no curve.

Course Policies

Computing Environment

Since this is not a "programming course", our use of computing resources will be qualitatively different than in most other CS courses. First, we will use the web and e-mail to communicate with one another. I will post materials for the course to the 171 web page, and we will make use of other web-based resources when appropriate. We will also have a class-wide mailing list, by which we carry on discussion outside the confines of class meetings. Be sure that you remain current in your use of these resources!

Second, we will critique existing software systems and user interfaces on-line. This component of the course may require you to use PCs, Macintoshes, or Sun workstations. If you do not have an account on chaos, the CNS file server, please apply for one soon.

Third, we may design and implement interfaces using HTML and perhaps some other tools. You will be able to use just about any machine for these projects, since we have browsers for HTML on all platforms.

Those of you who have never used HTML, a PC, a Mac, or a Sun before can receive some hands-on training from the department's computer use specialist. As the course progresses, you can, of course, obtain help from me, your classmates, and the lab assistants whenever necessary.

Tentative Schedule

The following schedule gives a rough sketch of the topics we will cover and and the timing of our coverage. I have also included several distinguished dates this semester. As we go along, this schedule will become more complete and more accurate. Check back often!

I expect that we will cover 10 or so chapters in Designing the User Interface. We will scatter throughout the semester coverage of 6-12 topics from The Case of the Killer Robot, and several outside resources.

Week Dates Topics Special Events
1 01/08 - 01/12 Introduction to the course
2 01/15 - 01/19 Theory underlying HCI MLK Day
3 01/22 - 01/26 Principles of interface design
4 01/29 - 02/02 Design Processes
5 02/05 - 02/09 Managing design
6 02/12 - 02/16 Model-View-Controller
7 02/19 - 02/23 Professional ethics Exam 1 (Thu)
8 02/26 - 03/02 Exam review Tue off
9 03/05 - 03/09 Systems of the future; Direct manipulation
. 03/12 - 03/16 Spring Break
10 03/19 - 03/23 Direct manipulation
11 03/26 - 03/30 Menus; professional ethics
12 04/02 - 04/06 Presentation style; Design Critique
13 04/09 - 04/13 The World Wide Web Exam 2 (Tue)
14 04/16 - 04/20 The World Wide Web; Helping Users
15 04/23 - 04/27 "The Big Picture" Thu off

The FINAL EXAM is Wednesday, May 2, 2001, from 8:00 AM - 9:50 AM

Eugene Wallingford ==== ==== March 27, 2001