EE 408, Software Design for Visual Environments

Lecture:          MWF 16:00-16:50, Rowley 142
Office Hours: MWF 14:00-15:00

Instructor: Daqing Hou

Office: CAMP 127  
Email: dhou at clarkson dot edu  (To best catch my attention, be sure to put 408 in the subject line of your email.)
Campus Phone: X7675

Required textbooks

(1)  Dan Olsen
      Building Interactive Systems: Principles for Human-Computer Interaction
      First Edition - ISBN: 9781423902485

      Available at the Clarkson bookstore.

(2) The Java Tutorials from Sun Microsystems, Inc., including Swing Tutorials.

     Available free online. Printed books for the JFC Swing also available from amazon.

Course Objectives

(1) Key design elements of GUI frameworks:
Optional topics:
(2) Principles of interaction design.
(3) Design and implementation of graphical user interfaces.
(4) Maintenance of an existing, real-world graphical user interface.

Learning Outcomes

1. Students will understand the design of the JFC Swing framework and be able to use it to write GUI applications.
2. Students will study the fundamental principles of interaction design and be able to apply them in their course work.

Schedule & Lecture Notes (content from Fall 08. Kept for reference purpose only. subject to change.)

Week (Sunday)
Topics (slides) + Reading Lab work
homework assignments
Aug. 23 (1)
Chapter 1 Introduction

model-view-controller (MVC)
forms of presentation
forms of expression
models

Read Chapter 1

Download Eclipse IDE for Java Developer
Aug. 30 (2)
Chapter 2 Drawing

windowing systems
window tree
redraw
Graphics object
Compiling and running Java programs with Eclipse
Read Chapter 2

Assignment 1

Due: 10 pm, Monday, Sept. 7
Sept. 6 (3)
Chapter 4 Widgets
Overview of widgets
Top-Level Window (JFrame)
(code from Monday lecture)
Common methods from Object, classes and interfaces, and subtyping

Read Chapter 4
How to Make Frames
Sept. 13 (4)
whirlpool tour of swing widgets (Menus and Buttons)

code as of Wed. Sept. 16
JFrame and JavaDoc How to Use Menus

How to Use Tool Bars

How To Use Buttons, Check Boxes, and Radio Buttons

How to Use ButtonGroup

How to Use Icons

Java Look And Feel Graphics Repository
Sept. 20 (5)
No class this week.

Students should work on assignment 2.


Assignment 2
Sept. 27 (6)
(Class starts Wed Sept. 30)
Chapter 3 Event Handling

More About Listeners

No lab this week. Read Chapter 3
Oct. 4    (7)
JComboBox, JSpinner, JList, JScrollPane,
JFormattedTextField, and JTextField

JSplitPane and JTabbedPane
Basic Widgets-1


Oct. 11  (8)
Chapter 7 Abstract Model Widgets

Basic Widgets-2

Read Chapter 7
Oct. 18  (9)
(Midterm grade due to SAS Oct. 21-Noon)
Chapter 5 Layout and Constraints
Swing Layout Cheetsheet
Layout Tutorials

JDialog
Organization Widgets
Assignment 3 out

Read Chapter 5 (Layout only. Skip Constraints).
Oct. 25  (10)
Project Preparation
LAPIS Code Walkthrough

Assignment 3 due 10 PM, Friday Oct. 30

To assist planning, here is the description of the Project.
Nov. 1  (11)
(No lecture on Mon and Wed.)
Midterm Exam, due 5 pm, Nov. 7

(take-home, no lectures on Monday and Wednesday.
Instructor available on Friday for clarifying mid-term questions.)

Teams formed this week!
Nov. 8  (12)
Review of Assigment 3
Midterm Summary
9 Usability Principles

Teams should work on project.

Nov. 15 (13)
9 Usability Principles (cont.)
Wednesday, project status update, in class.
Reading Guide


Nov. 22 (14)
(No class Wed and Friday)

Nov. 24 TU Thanksgiving Recess Begins


Nov. 29 (15)
Nov. 30 M Class Resumes
Tuesday, Project due for peer testing
Wed, demo & presentation
Friday Midnight, Project Due.


Dec. 6    (16)
Final Exam  (Format)



Clarkson Academic Calendar

Course Work and Evaluation*


Work
Note
Weight
Programming Laboratory (Java and Swing widgets)
will be held Friday 16:00-16:50, in Rowley 142
25% (5% for lab participation)
Homework Assignments

10%
Midterm Exam
cover both programming and principles but with a focus on programming with JFC Swing
15%
Team Project
teams will both build (or enhance) a GUI application and critique each other's work with written reports
30%
Final Exam
cover both programming and principles but with a focus on interaction design principles
20%

* This is only an estimation. It may be adjusted based on student feedback.

July 15, 2009 --           Redaction 1