Updates | Course Schedule and Calendar | Course Material | TAs | Grade Distribution | Assignments | Course Info and No-Cheating Policy | Top of page

COMP 303: Human Factors and User Interfaces

Dr. Grace Ngai, PQ 826, 2766-7279, csgngai _at_ polyu.edu.hk
Lecture: Y305, Thursday 08:30-11:00
Lab/Tutorials: Instructor Office Hours: Friday 15:30-16:30 or by appointment.

Welcome to COMP 303! The topic of this course is Human Factors and User Interfaces, or, as I like to call it, Human-Computer Interaction. In this course, you will be learning about why certain interfaces (such as the iPod) get popular, and why others don't. You will find out that there's a lot more to creating a successful, usable application than just the programming.

Please refer to this page often for updates. Lecture notes will also be posted here. Make sure that you print out your own copy before the lecture. I will not distribute copies in class.


Updates | Course Schedule and Calendar | Course Material | TAs | Grade Distribution | Assignments | Course Info and No-Cheating Policy | Top of page

Updates

Updates and announcements will be posted here. Keep an eye out and check this page frequently for the latest information.


Updates | Course Schedule and Calendar | Course Material | TAs | Grade Distribution | Assignments | Course Info and No-Cheating Policy | Top of page

Course Schedule and Calendar


Updates | Course Schedule and Calendar | Course Material | TAs | Grade Distribution | Assignments | Course Info and No-Cheating Policy | Top of page

Text

Getting a textbook for HCI is somewhat difficult as there is no "definitive" textbook. Instead, I will put as much material into the lecture notes as I can. I will also be using a collection of references throughout the semester. Everything that I have asked you to read is potential material for the midterm or the exam.

Lecture notes will be available latest by Wednesday noon for Thursday's classes. Please make sure to print out your own copy and bring it to class!

  1. Introduction: What is HCI?
  2. Qualitative Evaluation: How do we know that an interface is good?
  3. Human Information Processing: What can we expect from a human?
  4. Task/User/Needs Analysis and Prototyping: How do we start making an interface?
  5. Formal Models (GOMS & KLM): How do we formally specify an interface?
  6. Conceptual Models: How do users learn how to use an interface?
  7. Languages and Communication: Can we talk with the computer?
  8. Formal Models (STN): How do we specify a dialog?
  9. Direct Manipulation: How do we make the user "forget" the computer?
  10. Documentation: How do we teach the user how to use our system?
  11. Heuristics and Graphical Design: Are there easy guidelines for design?
  12. Quantitative Evaluation: Can we measure the "goodness" of an interface?
  13. Usability Inspection: What guidelines and heuristics can we use to evaluate an interface?
  14. Looking to the future: How will computers change?

Tutorial materials will also be posted here.

  1. Visual Basic Part 3
  2. Visual Basic Part 2
  3. Visual Basic Part 1

In addition, I will also be giving out reading material as well. These may come from research papers, or from newspapers and magazines, or from design books.


Updates | Course Schedule and Calendar | Course Material | TAs | Grade Distribution | Assignments | Course Info and No-Cheating Policy | Top of page

TAs

Your TA is Winnie Lau. She will be giving you tutorials on visual basic and helping you with the conceptual problems in the lecture material, should you need it. You can feel free to ask her questions about the course material and for hints on Visual Basic, but please do remember:


Updates | Course Schedule and Calendar | Course Material | TAs | Grade Distribution | Assignments | Course Info and No-Cheating Policy | Top of page

The grading in COMP 303 is split 65/35. The final exam therefore takes up 35% of the overall grade, while the continuous assessment takes up 65%. The continuous assessment will comprise of a number of assignments, one mid-term and a final project.

The tentative continous assessment grade distribution for COMP 303 is the following:

You will notice that quite a lot of the COMP 303 continuous assessment grades are based upon presentations and reports. The reason for this is that COMP 303 is primarily about the human side of computing, of which linguistic communication plays a big part. Therefore, I see language -- written and oral -- as being a very crucial part of what COMP 303 is about.

Please also do note that these grade distributions are tentative only. I reserve the right to change them if needs be -- for example, if we find that we don't have enough time to do all the presentations, I may substitute written reports for presentations.


Updates | Course Schedule and Calendar | Course Material | TAs | Grade Distribution | Assignments | Course Info and No-Cheating Policy | Top of page

Assignments

Note: You will have three presentations this semester: one for the qualitative evaluation, one for the prototyping, and one for the final project. Your presentation will count for grade. Here are some slides demonstrating a bad presentation, and a good presentation. You might also want to read this article on how to present well. (Note that this article, and the slides, are for a conference talk and therefore, not everything applies to your presentations. However, the main points of what makes a good presentation are the same, regardless of who you're presenting to.

There will be one qualitative evaluation assignment, four written assignments and a final project for COMP 303. All of the assignments are group assignments. The rules on forming groups are:

The final project will be a joint project between COMP 311 (Databases) and this course. Now I know that the COMP 311 course is split into two sections, one taught by Dr. Vincent Ng and the other by Dr. Stephen Chan. To make matters easier for us, we're going to ask you to form groups only with students who're taking the same set of courses as you are. In other words, if you are taking Dr. Ng's course and my course, all your groupmates should be only taking Dr. Ng's course and my course. If you're only taking my course, all your groupmates should only be taking my course. Please help us with this constraint as it really makes life a lot easier for us in the end.

For those students who're only taking COMP 303 and may be concerned at the load of the project, since it involves COMP 311 as well: Don't worry. The COMP 311 deadlines and specifications don't concern you. I will only be grading on COMP 303 stuff. In fact, you could argue that you might have an advantage since you don't need to worry about making a nice, perfect database and can concentrate on the UI part.


Updates | Course Schedule and Calendar | Course Material | TAs | Grade Distribution | Assignments | Course Info and No-Cheating Policy | Top of page

Course Info and No-Cheating Policy

I have taught most of you in COMP 201 before, and one thing that I would like you to do, coming into COMP 303, is to expect something completely different. In other words, what was important in 201 may not be important in 303. What got you a good grade in 201 will probably not be what's crucial in 303.

What do I mean by that? If you remember 201, it was a very technical course -- there, you learned how to think like a computer, how to command it to do stuff. In 201, the more "robotic" you were, the better it was. The focus was on being methodical, detail-oriented and logical.

COMP 303 is a completely different beast altogether. As the name implies, COMP 303 is a very human oriented course. We will be looking at what would be needed to make computers "natural". Therefore, we're asking you to be a human again: to look at a computer just like a human being would. But of course, you still need to be able to code in your application, so don't forget the programming part yet!

HCI encompasses a whole lot of topics -- ranging from statistics, psychology, design, etc. You may feel that these topics may have very little to do with each other, but they all have one thing in common: they are all concerned with human usage of a computer interface.

In short, COMP 303 is a very different course all around. To me, it is one of the most exciting fields in computer science today. So let's get started and start exploring it!

No-Cheating Policy

Most of the assignments in COMP 303 will be group assignments, therefore, we don't have as stringent a no-cheating policy as in COMP 201. However, please be aware that we do expect everybody in the group to pull his/her own weight and do a fair share of the work. Believe me, with a little questioning, it's not too hard to find out who's done what. I also do not believe in automatically giving everybody in the group the same grade, so you have been warned.

Obviously, the work that you present as yours in the assignments or the final project needs to be your own. Do not be tempted to pass off some other code as yours. Doing so will constitute cheating and will result in failing the course.

For all written assignments (that includes reports and written manuals), I will require that all submissions be done through Turnitin. Turnitin is a system that will check how much of the language

For mid-terms and final examinations, I assume that you know what it means to cheat during those. If you do not know that already, come and ask me and I will be happy to explain. If a student is found cheating during the midterm or final exam, the case will be reported to the academic department that the student belongs to, and the student will fail the course automatically, regardless of his/her performance in other assessment components in this course.