Number: 05-830 (offered by the Human Computer Interaction
Time: Tuesdays and Thursdays, 1:30pm-2:50pm
Room: Wean 4601
12 University Units
Available for CS and HCII PhD credit and MS credit for INI, MSE and HCII Master's
Undergraduates require permission of the instructor
Enrollment limited to 20 students.
Office: Newell-Simon Hall (NSH) 3517
Office hours: By appointment, or just drop by and see if I'm in.
Secretary: Sue O'Connor
You are looking at the course Web page. The URL is: http://www.cs.cmu.edu/~bam/uicourse/830fall04/
Here is the schedule of all lecture material, readings, homework and tests:
This course will cover the research and implementation of user interface software. The students will get a comprehensive understanding of all the approaches that have been investigated by researchers and commercial systems for user interface software. This will be of value to people planning to be user interface researchers or implementers. After a quick overview of the design of user interfaces, we will concentrate on how to implement the chosen design. Particular emphasis will be placed on user interface software tools, such as windowing systems, toolkits, interface builders, prototypers, and advanced user interface development environments. In particular, the course will cover MS Windows, MFC, Macintosh Toolbox, MacApp, OpenDoc, X/11, Motif, GTK++, Visual Basic .Net, Director, HyperCard, OLE, Java Swing, Java Beans, and various research systems like Amulet, InterViews, and subArctic. Lectures will discuss the fundamental principles behind all of these systems, while showing the historical progression of the ideas from research prototypes to commercial systems. Today's research topics and open issues in user interface software will be emphasized throughout.
This is primarily a MS and PhD level course but some advanced undergrads may be admitted with permission of the instructor. Students are expected to have taken or be taking other HCI courses. Prerequisites are 15-212 or equivalent and considerable programming experience. Experience with object-oriented programming and/or software engineering is desirable. Prior experience with user interface design is not required. Homeworks will involve extensive programming in Java.
Surveys show that over half of all programming time is spent on the user interface portion across a wide variety of application types, and this percentage is increasing as requirements for more complex interfaces grows. In addition, the tools and methods available for building user interfaces continually change and improve. Therefore, it is vital for software engineers to be familiar with user interface design and user interface software.
15-212 and considerable programming experience. Experience with object-oriented programming and/or software engineering is desirable. Prior experience with user interface design is not required.
None. If you have no prior HCI course, you SHOULD buy the Nielsen Usability Engineering book (referenced as "Nielsen Text" in the schedule)
Unfortunately, there is no text that covers the bulk of the course, so there will be extensive readings assigned, as listed on the schedule. In order to prioritize your work, I have marked all readings as "required" or "optional." The tests will not include material from the optional group (unless it was also covered in class), but they are interesting and/or important articles that a user-interface-software-expert should be familiar with.
Individual components of the grading will be weighted approximately as follows (this is tentative and subject to change):
|Percent of Final Grade
Extra copies of the readings, homework assignments and other handouts will be available in the bins outside my office. The lecture notes will be available on the web the day before the lecture, linked from the course's schedule page, and will not be handed out in class--you can make a hardcopy if you want.
There will be material covered in class that is not available in the readings, so attendance at all lectures is highly recommended.
All homework must be typed. No handwritten assignments please.
Make up tests will not ordinarily be given. If you know you are going to have to miss a test for valid reasons, discuss it with me and you can take the test early. If you miss a test due to a medical emergency, you must notify me or my secretary before the exam.
It is the policy of this class not to give incompletes. Note that the course load is designed to be relatively uniform during the term, since there is no big project at the end.
Homeworks are due in class on the assigned day. After 5pm on that day, one letter grade (e.g. 10 points out of 100) will be deducted. An additional full letter grade will be deducted for each class period late.