CS 4393 Topics in User Interfaces
Fall 2006

Course Instructor:
       Name: Kay A. Robbins
       Office: 4.01.25 SB
       Phone: 210-458-5543
       Email: krobbins@cs.utsa.edu
       Web Page: http://www.cs.utsa.edu/~krobbins
       Office Hours: M noon - 1 pm, W 2:00 pm - 3:00 pm and by appointment

Class Meets:
        MWF 1 pm - 1:50 pm in room 3.02.10 SB

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

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 (required)
        Applying Use Case Driven Object Modeling with UML by Rosenberg and Scott (required)
        Core Java 2 Volume I (with Java 1.5): Fundamentals by Horstmann and Cornell (required)
        Core Java 2 Volume II (with Java 1.5): Advanced Features by Horstmann and Cornell (recommended)
        UML Distilled: 3rd Edition by Fowler (recommended)

Course Objectives:

Grading:

Attendance in this class is mandatory and attendance will be taken each class period. The 6 assignments will generally run over two weeks and will involve some in-class activities with a partner. You will be paired with a different partner for each assignment and you should sit next to that partner for the assignment period.

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. Missing class, especially when it leaves your partner in a lurch, will result in grade penalties.

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 6 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 email me a "teamwork assessment" of how you and your partner worked on the assignment.

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.

Tentative Course Outline and Schedule:
Week
UI Topic
Text (SP or RS)
Programming Topic
Core Java
Assign
Lab
1
Introduction and overview
SP 1
Basic panel design
I:7
1
1
2
Basic principles of UI development
SP 2
Event handling
I:8
1
 
3
Design methodology
SP 3
Containers and layouts
I:9, II:6
1 due
 
4
Software tools
SP 5
Using interface design tools
MVC architecture
event threads
I:9, II:1, II:6
2
 
5
Direct manipulation
SP 6
Layouts, fonts and images
UI components
drag-and-drop, cut-and-paste
I:9
2 due
 
6
Menus and Command line interfaces
SP 7 and 8
Menus, shortcuts, dialogs  
3
1 due
7
Visual organization, workflow and aesthetics
SP 12
   
3 due
 
8
Review and midterm        
 
9
Use cases and the ICONIX process
RS 1 to 5
Visual Paradigm (UML tool)  
4
 
10
Completing the design cycle
RS 6 to 8
Robustness diagrams and sequence diagrams      
11
Help and documentation
SP 13
Java Help Facility  
4 due
 
12
Introduction to Internet Technology
 
   
 
 
13
Servlets and JSP
 
   
 
 
14
Java Server Faces
SP 11
Measuring user response  
 
2 due
15
Review      
5 due