CS456 - Interactive Systems

Description Text Calendar Grading Programs TAs
Course Description

 

This course provides an introduction to implementing graphical user interfaces. The goal is to understand the software architectures of modern graphical user interfaces. Students will write programs in Java. In addition, the basic principles of user interface design and 2D computer graphics will be covered.

The goal of this course is not so much the content as learning how to learn new systems in graphical user interfaces. Because of this we will only spend a limited amount of time on Java. Students will be taught general concepts and then introduced to the way in which Java implements those concepts. It will be up to the student to find out the details necessary to complete the programming assignments

Instructor: Dan R. Olsen Jr.

Office Hours: e-mail, call, knock on my door anytime(3336 TMCB) or peek in my lab (3329 TMCB)

Text Materials
 
Calendar
 
Date - Topic
Readings
3 Sep - Introduction
Chapter 1
8 Sep - Graphics Objects and Drawing
Chapter 2
10 Sep - Text and Coordinate Systems
Chapter 2
15 Sep - Windowing and Events
Chapter 3
17 Sep - Event Handling Mechanisms
Chapter 3
22 Sep - Widget Architecture and Design (Program 1 due)
Chapter 4
24 Sep - Layout and Constraints
Chapter 5
29 Sept - Shared Model MVC
Chapter 6
1 Oct - Review for Exam (Program 2 due)
10-11 Oct - Exam 1 - in the testing center
Note that the exam dates have changed
6 Oct - Abstract Model Widgets
Chapter 7
8 Oct - Look and Feel
Chapter 8
13 Oct - Interface Design Environments
Chapter 9
15 Oct - Internationalization
Chapter 10
20 Oct - No class - instructor out of town (Program 3 due)
22 Oct - No class - instructor out of town
27 Oct - Dialog Design
Chapter 11
29 Oct - Drawing Geometry
Chapter 12
3 Nov - Drawing Geometry (Program 4 due)
Chapter 12
5 Nov - Review for Exam
7-8 Nov - Exam 2 - in testing center
10 Nov - Geometric Transformations
Chapter 13
12 Nov - Geometric Transformations
Chapter 13
17 Nov - Interactive techniques (Program 5 due)
Chapter 14
19 Nov - Interacting with transformations
Chapter 14
24 Nov - Cut/Copy/Paste
Chapter 15
1 Dec - Command Objects
Chapter 16
3 Dec - Distributed Interaction
Chapter 17a Chapter 17b
8 Dec - Task Analysis
Chapter 18
10 Dec - Final Review (Program 6 due)
19 Dec - Final Exam - 11AM-2PM - in classroom
Grading
 

Exams 50%

  • 2 Midterm Exams 12% each
  • Final Exam 26% - half of the exam covers the final third of the course and half is comprehensive
Programming Assignments
 

Programs:

Computers:

It does not matter what machine you use to implement your assignments. However, your code must be passed off on a Windows PC. Java is supposedly portable but is actually not in subtle ways. DO NOT WAIT until the last minute to make certain your code runs under Windows.

Passoff

All programs are turned in through Blackboard. There is a mechanism to upload files attached to each assignment. You must submit a zip file containing the source code, the compiled class files and any other files necessary to run your program. Your zip file should be named [programnumber][lastname][firstinitial].zip. All submissions should contain a README.TXT file that contains: your name, your email address and the command line to run your program from your root directory.

Late Policy

Programs are due 1/2 hour before class starts on the day the assignment is due. Program loose 10% per week up to a maximum of 40%. There is no way to pass the class by putting everything off until the end. Employers want to know that you can get stuff done on time. Your grade will reflect that.

  • ALL PROGRAMS ARE DUE BY NOON ON THE LAST DAY OF CLASS. No late submissions after that time.

Cheating Policy

All programming assignments (unless specifically indicated otherwise) are individual projects. They are designed to test your individual mastery of the material.

Students are encouraged to talk to each other, to the TAs, to the instructor or to search online for ideas and understanding that will help solve the programming assignment. However, the code should be your own. Copying from anyone else or from the internet is a violation of the Honor Code and will be dealt with as such.

TAs
 
 

TAs are in room 3329 TMCB

Hours

Monday 11-1

Tuesday 12-2

Wednesday 11-1

Thursday 9-11

Friday 11-1

Role of Teaching Assistants

Teaching assistants are provided to help you with your assignments and to do grading. They cannot debug your programs. They can answer questions and give explanations but your code is generally too complex for them to help much.

If you have a problem with how one of your assignments was graded, contact the TAs first and if you are not satisfied, talk to the instructor. If you have a question about requirements for a problem email the instructor. To prevent confusion, theTAs have been asked not to interpret requirements.