Office Hours: e-mail, call, knock on my door anytime(3336 TMCB) or peek in my lab (3329 TMCB)
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
The Java/Swing online tutorials
In addition there will be chapter readings from a new textbook that is only partially written. These chapters are linked off of the calendar as PDF files. In particular these chapters upgrade the course to include architecture ideas from modern web UI designs.
Topic for the day | Study assignments (complete before day listed) | Projects due | |
9/3 | Introduction | Chapter 1 | -- |
9/8 | Data and Change Representation | Data Trees,
SPARK Data JavaDocs
SPARK Jar file CS355 Review see Chapter 13 of text |
-- |
9/10 | Drawing | Drawing Text | -- |
9/15 | Model To View | Model to View | -- |
9/17 | Model Change | Model Change | Draw tree |
9/22 | Input Handling | Input Handling
CS355 Review - See Chapter 12 of text |
-- |
9/24 | Dialog Design | Chapter 11 | -- |
9/29 | Widget Architecture | Chapter 4 | Selection |
10/1 | Review for Exam | ||
10/6 | Exam 1 | ||
10/8 | Out of town, no class | ||
10/13 | Layout | Layout | Widget Set (now due 10/20) |
10/15 | Abstract Model Widgets | Chapter 7 | -- |
10/20 | Interaction with Transforms | Chapter 14 | |
10/22 | Interaction with Transforms | Chapter 14 | Layout(now due 10/27) |
10/27 | Polygons and Curves | Chapter 12 | -- |
10/29 | Cut/Copy/Paste | Chapter 15 | -- |
11/3 | Command Objects | Chapter 16 | -- |
11/5 | Interactive Design Environments | Chapter 9 | Curve Widgets(now due 11/10) |
11/10 | Review for Exam | ||
11/12 | Exam 2 | ||
11/17 | Persistence | Persistance | -- |
11/19 | Distributed UI | Chapter 17 | Undo |
11/24 | Animation | Animation Slides | -- |
Thanksgiving | |||
12/1 | Styling | ?? | -- |
12/3 | Internationalization | Chapter 10 | -- |
12/8 | Selection | Chapter 20 | -- |
12/10 | Final Review | Distributed & Animated | |
12/15 | Final Exam 2:30-5:30PM |
Exams 50%
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.
All programs are turned in through LearningSuite. There is a mechanism to upload files attached to each assignment in the Assignments section. Submit your source files, class files and any other data as a single zip file to Learning Suite. Include a "readme.txt" file that tells the TA how to run your program.
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.
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.