Lehigh University
COLLEGE HOME | LEHIGH HOME | SEARCH




   

CSE 331  User Interface Systems and Techniques (3)

Instructor: 

Current Catalog Description
Principles and practice of creating effective human-computer interfaces; design and user evaluation of user interfaces; design and use of interface building tools. Programming projects using a variety of interface building tools to construct and evaluate interfaces. Prerequisite: CSE 109 or consent of the instructor.

Textbook
Olsen, Dan R., Developing User Interfaces, , San Francisco, CA, 1998. ISBN 1-55860-418-9, Morgan Kaufmann.  Norman, Donald A., The Design of Everyday Things,  1988. ISBN 0-385-26774-6. Doubleday, New York, NY

References 
Online manuals for Tcl/Tk, Java & Java Swing, MS Windows Win32 API.

Course Goals
Students completing this course will understand basic design principles and guidelines for good design of interactive systems. Students will understand how a computer system support interactive applications and support a consistent look and feel of interfaces for easier use and faster learning of how to use the applications. Students will learn, though experience, how tools at different levels of support provide for creating graphical user interfaces, from placing and arranging standard components, to programming complex component behaviors and creating application-specific interactive components and graphics.

Prerequisites by Topic
Fluency in writing code in C or C++
Medium scale software design and implementation

Major Topics Covered in the Course
 Principles of good design of functional objects and interfaces
 User-centered Design process
 User Interface System Architecture
 Drawing 2D Interfaces
 Event Handling, Window Management
 Model-View-Controller Software Architecture
 Widget Toolkit Design
 Layout Management
 Input Dialog
 Graphical Interaction Techniques
 Inter-Application Communication

Laboratory projects (specify number of weeks on each)
There are three programming projects completed outside of class, each given over a two to four week period.

Estimate CSAB Category Content
                                                                           CORE       ADVANCED
Data Structures                                                                             0.5  
Computer Organization and Architecture                                       0.5
Algorithms Software Design                                                          1.5  
Concepts of Programming Languages                                            0.5
 
Oral and Written Communications
Every student is required to submit at least  __2__ written reports (not including exams, tests, quizzes, or commented programs) of typically  __7 (for a group of 2-3 students) ___  pages and to make  __0__  oral presentations of typically  __0__  minutes duration. Include only material that is graded for grammar, spelling, style, and so forth, as well as for technical content, completeness, and accuracy.

Social and Ethical Issues
The course does not cover social or ethical implications of computing to any significant extent.

Theoretical Content
Design of functional objects and interfaces: 4 weeks
Windowing System Architecture: 4 weeks
High Level Interface Builders: 1 week
Software Design for Interactive Applications: 2 weeks
Programming API’s for User Interfaces: 1 week
Input Dialog Design for Interactive Components: 2 weeks

Problem Analysis
The first assignment asks students, in groups of 3-4, to evaluate two or three different designs for a particular functional object or device in terms of the design characteristics and through observations of many users. The students must analysis the designs to compare theoretical design principles with design effectiveness in practice. The three programming assignments ask that the students design and implement an interface using tools that provide differing levels of support. The students must perform an analysis of the requirements of the interface and of the capabilities of the tool in order to determine how the interface can and should be designed. At least one of these assignments is performed by groups of 2-3 students.

Solution Design
For all of the programming assignments, the students must create the design of an interface and the design of the components in the interface that meets the requirements set out by the assignment description and by the design analysis they perform.

 

 

 

     
image


©2008 P.C. Rossin College of Engineering & Applied Science
Computer Science & Engineering, Packard Laboratory, Lehigh University, Bethlehem PA 18015