CS 4393
Topics in User Interfaces
Fall 2005

Course Instructor:
       Name: Kay A. Robbins
       Office: 4.01.21 SB
       Phone: 210-458-5543
       Email: krobbins@cs.utsa.edu
       Web Page: http://vip.cs.utsa.edu/personnel/krobbins.html
       Office Hours: MW 10:00 am - 11:00 am and by appointment

Class Meets:
        MWF 11 am - noon in room 3.01.04 SB

Course Web Page:
        http://vip.cs.utsa.edu/classes/cs4393f2005

Prerequisites:
        Undergraduate operating systems
        Data-structures level knowledge of object-oriented programming
        If you have not met these prerequisites, you must see me.
This course focuses on the design, implementation and evaluation of user interfaces. You will be programming in Java as well as using various design tools.

Textbooks:
        Designing the User Interface, 4th Edition by Shneiderman and Plaisant
        Core Java 2 Volume I (with Java 1.5): Fundamentals by Horstmann and Cornell
        Core Java 2 Volume II (with Java 1.5): Advanced Features by Horstmann and Cornell

Course Objectives:

Grading:

You must do the reading prior to coming to class and be prepared to discuss the material or ask questions. Teamwork skills and their role in your grade are determined below. In addition to your final grade, I also plan to email you a "performance review" similar to the yearly review you might receive on the job. This review will outline your strengths, weaknesses and contributions.

General:

Attendance:

One of the goals of the course is to improve your job-related skills. You should think of the lectures as important group meetings with your boss. Attendance in class is mandatory. I expect you to be ON TIME and ready to contribute to the class. If you cannot be on time or you need to miss a class, you must email me prior to the class period at krobbins@cs.utsa.edu. I will take attendance at the beginning of each class period.

Teamwork:

Rarely is software developed by a single person. As an interface designer, software architect, or systems analyst, you will most likely be working with a team of people. To succeed in such an environment, you must become a "team player".

The words "team player" often have negative connotations, conjuring pictures of someone who goes along with the status quo and suppresses creativity. One of the goals of this course is to develop the positive aspects of teamwork. These skills include honesty, giving appropriate credit to your team members, and focusing your skills and creativity on making the project succeed. No matter how good you are, a project will not succeed unless all parts succeed. Weak technical team members or members with poor attitudes can cause a project to fail.

Each of the approximately 8 assignments will be done with a different partner. I will assign the partners. At least one of the assignments will involve a short class presentation. After each assignment is due, you will be asked to fill out a collaboration assessment questionaire on WebCT. These assessments will be used by me in computing your collaboration grade, in writing your final performance review and in handling any "problem employees".

WebCT:
The course will be using WebCT (http://webct.utsa.edu) for assignment hand-ins, grade reporting, online assessments, and class communication. WebCT provides a course discussion page, course mail (not email) for exchanging course information, and a course chat page. Certain course materials and a web page with the pictures and contact information of the other class members will be available. A course calendar is also maintained there.

Tentative Course Outline and Schedule:

Week
UI Topic
SP Chapters
Programming Topic
Core Java Chapters
Assignment
1
Introduction and overview
1
Basic layout and panel design
I:7
1 and 2
2
Basic principles of UI development
2
Event handling
I:8
1 and 2
3
Design methodology
3
Interface components and MVC
I:9
1 and 2
4
Software tools
5
Using interface design tools (JBuilder Designer)
3 and 4
5
Direct manipulation
6
Use cases and Iconix process
3 and 4
6
Menus
7
Robustness diagrams and sequence diagrams
3 and 4
7
Command line interfaces
8
Visual Paradigm (UML tool)
3 and 4
8
Review and midterm
9
Quality of service
11
Measuring user response
5
10
Aesthetics
12
11
Help and documentation
13
12, 13 and 14
Web interfaces
15
Review