Schedule & Slides
Contact Information
Class Activity 1
Book List
About the Professsor


Theory and practice of graphical user interfaces (and other types of interfaces and interface technologies).

It is a course devoted to understanding the processes behind designing good and bad User Interfaces - gathering requirements, analysis, design, coding and testing.

For information on getting the most out of this course look here.



general design principles

bulletwidget choice
bulletapplication design
bulletdesktop UI
bulletweb design
Various User Interface Devices - Mouse, Stylus, PDA, EKG Trace, etc.

Assignments will involve analysis, design and programming user interfaces. We will be using Java SWING based UIs for the examples in the class and for the homework.

We will be discussing different UIs for the same application, different level users, internationalization, non-graphical based UIs (speech for instance.) We will discuss desktop UIs, web based UIs and dedicated hardware UI platforms including ATMs.

To see the schedule look here.


There are no prerequisites, per se, but you will be expected to understand or quickly learn and have some understanding of:

bulletObject Oriented Analysis and Design
bulletUser Interface Widgets
bulletJava SWING and tools to create them
bulletWeb based interfaces and tools to create them
bulletZip or tar

You will NOT be expected to know ( but it will help if you do):

bulletANY Java programming
bulletHTML authoring

These topics will be covered but you will be expected to "come up to speed" on your own on some of these skills.

This class is NOT a programming class but a thinking class. To aid in learning you will be expected to create several UI implementations in SWING. You will NOT be expected to flesh out the underlying applications but instead just create UI prototypes.

You should have a computer that has:

bulletAn OS that is Windows 2000 or XP, or Solaris or Linux
bulletOne of the SWING GUI design tools installed with an appropriate JVM and JDK.
bulletat least 256 megs of memory
bulletat least 500 megs of disk space available
bulleta display resolution of 1024x768 x 16 bit color or better
bulleta high speed connection to the internet (Cable, LAN or DSL)
bulleta CPU that is at least 500 mHz


We will be using simple visual graphic editing programs like: photoediting, wordprocessing or graphics tools. We will be using paper and pens/pencil (very retro.) Click here to see a complete listing of tools to download for the class.

I will be posting download links for freeware tools that you will be required to use (or their equivalent.)

Assignments will require thinking and drawing/arranging more so than programming.

For some programming assignments we will be using NetBeans Java IDE or Sun Forte for Java tools (or any fully SWING compliant design tools like JBuilder). We will discuss what you should download and install during the first lecture.

We will cover the use of SWING design tools and SWING widgets.

We will do several activities possibly including:

bulletField observations
bulletFocus groups
bulletCollaborative Design Sessions
bulletPeer design reviews

Topics that will not be covered include:

bulletdetails about web technologies (HTML, JavaScript, XML, etc.)
bulletjava language development (other than using a SWING GUI designer)
bulletgraphic design techniques
bullettechnology / tool comparisons

Look here for more info on the tools we'll use.


There will be 2 exams - a midterm and a final. The midterm will be 30% of the grade and the final 40%. They will be multiple choice and short essays. The exams will be open book.


You are required to do all homework and both exams. The grades will be based on the following allocations:

bullet30% for homework
bullet30% for the midterm exam
bullet40% for the final exam

Homework assignments are expected to be submitted by the due date. Homework grades will be lowered for homework assignments turned is after the assigned due date. Each week late (or fraction of a week late) will result in 25% of the grade points lost. It is important to do the homework in synchrony with the lectures, as such, homework must be turned in on time.


If you are caught cheating you will get an "F" FOR THE COURSE.

Not doing your own work constitutes cheating. Copying, doing someone elses work, asking others for answers, etc. are all cheating.

See the department for explicit cheating policy.

It is YOUR responsibility to check with me if you are not sure if some activity might be construed as cheating.

Don't cheat. It creates a real headache for me (and you)! No one should need to cheat in this course to pass. 


Home | Schedule & Slides | Homework | Grades | Contact Information | Description | Class Activity 1 | Tools | Excelling | Book List | About the Professsor

User Interfaces  G22.2280-001 CIMS NYU Class Website
Copyright Poelman & Associates, Inc. 2003 (c)
For problems or questions regarding this website contact [Webmaster Email].
Last updated: 04/06/03.