CIS 443/543 User Interfaces
Fall 2007
Syllabus

Mondays and Wednesdays, 10-11:20 AM
Location: 221 Friendly
CRN: 11350 (for 443), 11360 (for 543), Credits: 4
Web Pages: http://www.cs.uoregon.edu/classes/07F/cis443/

Instructor

Anthony Hornof
Assistant Professor
356 Deschutes
hornof@cs.uoregon.edu
Office Hours: Mon. and Wednes. 1-2 PM, or by appointment

The Point of the Course

Working as a contemporary skilled computer programmer and technologist will require you to understand both sides of the human-computer interaction: (1) how to design and program the computer to help real people accomplish real tasks, and (2) how to analyze the system in the context of real-world situations to determine if the computer system will really serve its intended purpose.

This class will help you to adopt a user-centered perspective for designing, building, and evaluating computer systems. You will learn a perspective, a vocabulary, and methodologies for analyzing computer systems in terms of their usability and learnability. You will capture, annotate, and communicate real-world task situations. You will design a computer system, with usability and learnability as a central goal. You will build a system using Java Swing. You will evaluate the system. You will redesign your system based on the results of your evaluation.

Building useful computer systems requires both inspiration as well as a lot of hard work. In this class, you will have the opportunity for both.

Prerequisites

The CIS 443 section of this course has a prerequisite of CIS 313 and CIS 314. If you are enrolled in the CIS 443 section, you must be have completed CIS 313 and CIS 314 in a previous term with a grade of C- or better. Otherwise, you will not receive credit for this course. If you have questions, please see the instructor or your CIS advisor for help in planning your schedule.

Textbook

Rosson, M. B. & Carroll, J. M. (2002). Usability Engineering: Scenario-Based Development of Human-Computer Interaction. Morgan Kaufmann.

Projects

There will be five projects. For one of the projects, you must work alone. For the other four projects, you will work in groups of two to four students. The projects are as follows.

  1. Identify and describe a user-interaction scenario. Work with one other student.
  2. Build an interface using Java Swing. Work alone on this project.
  3. Design a system that will support three related user-interaction scenarios. Specify the basic screen design and functionality. Work with two or three other students. Work in this group for the next two projects as well.
  4. Build the system. This should be a reasonably sophisticated piece of software.Work in the same group as Project 3.
  5. Evaluate your system. Work in the same group as Project 3. It will be due in the last week of classes.

Some of the projects may be broken down into smaller week-to-week tasks required of all students, and turned in separately from the project. For example, each student might be required to turn in a separate list of design ideas before Project 3 is due.

Final Exam

There will be a final exam in the time slot allocated on the UO final exam schedule.

You are expected to schedule other events such as trips or job interviews to avoid conflicts with the exam dates. The only acceptable excuses for missing an exam on the scheduled date and time are documented medical problems, religious holidays (if cleared in advance), presenting papers at leading academic conferences (if cleared in advance), and documented personal emergencies. An unexcused absence at an exam will result in a grade of zero on the exam.

Class Participation

All students are expected to attend all lectures, presentations, and group meetings with the professor. Students are also expected to participate in class presentations, group meetings, and discussions. Your in-class participation may be supplemented by emailing me questions or comments, which I will try to incorporate into the next class. There will also be a few in-class group presentations.

Come to class ready to engage the material and to interact face-to-face with the other human beings in the classroom. Leave your 21st-Century distractions behind. Turn your cell phones and pagers off (do not just put them into "vibrate" mode). Cell phones ringing in class are inappropriate, discourteous and disruptive. Activities such as surfing the web or checking email during class is inappropriate and discourteous. Develop your skill at focusing on the intellectual activity occurring in a physical room with real live people.

You may not make audio or video recordings of the class without explicit permission from the instructor.

Email and Communication

Email is an excellent means of communication when used properly. This class will give you the opportunity to practice and improve your email skills. Email the instructors with your questions, concerns, and input regarding the course, but always practice good "netiquette". UO Information Services provides netiquette guidelines. Please follow the guidelines, with one addition: If you must have a signature file, please keep it to a minimum.

Email will only be sent to your @uoregon.edu or @cs.uoregon.edu email accounts. See the Registrar's email policy.

For effective email communication, and to distinguish your email from spam, also do the following:

  1. Email from your cs.uoregon.edu or uoregon.edu account, not from yahoo.com, aol.com, or some other domain. Unfortunately, due to spam, I reserve the right to not respond to any emails that are not sent from your *.uoregon.edu email address. The reasons is this: I use SpamAssassin and it will filter out a lot of email from non-edu domains. I might not see your email unless it is from your uoregon account.
  2. Include "443" or "543" in the subject line, with a few more words describing the main topic of the communication.
  3. Make sure that your first and last name appear in the "From:" header (such as "From: Anthony Hornof <hornof@cs.uoregon.edu>"). Send an email to yourself and make sure your full name is included in the "From:" header.

Announcements

Important course-related announcements will be distributed via an email mailing list entitled 443announce@cs.uoregon.edu. Join this group by logging onto a CIS server and typing at the Unix prompt:
grpmod -ag cis443 <your CIS login name>

Please read all messages sent to this email list. Only the instructors should post to this list.

All course announcements will only be sent only to @cs.uoregon.edu email addresses. If you do not check for mail on your cs account regularly, you should forward your cs mail to the account that you do check regularly by following the UOCC's instructions on forwarding your email. If you do not have a cs account, please follow the instructions for getting a cs account.

Grading

Your final grade will be weighted as follows. This might change slightly, such as if Project 3 is split up in to a few smaller projects.

Six Projects (75%)
   Project 1: 10%
   Project 2: 10%
   Project 3: 10%
   Project 4: 15%
   Project 5: 15%
   Project 6: 15%
Final Exam (20%)
Class Participation (5%)

Late projects will be accepted up to two calendar days past the due date, but penalized 10% per day for any fraction of a day late. Exceptions will only be considered if the request is submitted before the due date.

Your performance on group projects will influence both your own grade as well as the grade of your teammates.

Any grading discrepancies (such as a miscounting of points on an assignment) must be resolved within a week after the assignments are returned.

Graduate Students Enrolled in 543

Students enrolled in 543 will be given an extra assignment, which is yet to be determined.

Good Writing

Though software has taken center stage as the empowering technology, good writing remains a critical component of human communication. A modern skilled technology expert must be able to communicate his or her ideas clearly and concisely. Good writing occurs on three levels:

  1. Structure the paper so that the main ideas are clearly accessible. State the main point of the paper in the introduction. Start each paragraph with a topic sentence. Break the paper into sections and give each section a title. Summarize your major findings in a conclusion. A storytelling approach is not a good organizational style.
  2. Communicate individual ideas effectively. Be thorough but concise. The tone of your writing should be serious and direct, as if you were reporting to your boss at a real job. An informal "chatty" style is not appropriate. Every figure (graph, drawing, or screenshot) must be relevant, should have a caption that explains what it is and why it is important, and should be referred to in the main body of the text.
  3. All spelling and grammar must be standard and correct.

If you have any doubts about the quality of your writing, work with your project collaborators to critique each other's drafts. Also, take drafts to the drop-in writing lab at Academic Learning Services in the basement of the PLC, open Monday - Friday from 9:00am to 4:00pm.

Modern writing standards advocate the use of inclusive language, and you should follow this standard. For example, if you are referring to a single anonymous person, you should write "he or she," "the user," or "the programmer," but not just "he." Also, please refer to women as "women" and not "girls."

People with disabilities should be first recognized as people, and then by their distinguishing characteristic. For example, "people with disabilities" is preferred over "disabled people".

Diversity Welcome

The modern technology workplace is diverse, international, and intercultural. This is good. Different backgrounds and different perspectives help people working in groups to be more innovative. To the extent that this class reflects such a modern-day workplace, we will welcome and value these differences as an opportunity to increase our awareness of how to work better in groups, and how to build more useful computer systems.

Students with Disabilities

If you have a documented disability and anticipate needing accommodations in this course, please make arrangements to meet with me soon. Please request that the counselor for students with disabilities send a letter verifying your disability.

Academic Honesty

Misrepresenting someone else's work (including anything you find on the web) as your own work, or in any way contributing to such a misrepresentation, will be taken very seriously. If you cheat in this course, you are making a deliberate attempt to obtain a false credential and thus to defraud, mislead, and possibly endanger your future employers, coworkers, and customers. If you submit someone else's work as your own without indicating the source, you are engaged in academic dishonesty. If you knowingly or accidentally make your work available to another student and they submit your work as their own, you are equally at fault. If I suspect that you have engaged in academic dishonesty in this class, I will immediately report the incident to the Director of Student Judicial Affairs, the chair of the CIS Department, and proceed as directed in the University of Oregon Policy on Academic Dishonesty.

A.Hornof 9/21/07