Event Driven
Software
T
Spring 2004 Text: CORE WEB Programming, 2ed.
James Ten Eyck Hall & Brown, Sun Microsystems (Prentice-Hall)
LT 115 x2606 Supplement: Understanding Object-oriented Programming with Java
e-mail: James.TenEyck@marist.edu Timothy Budd, Addison-Wesley
Office
hours: M 1:30 - 3:00, T 2 - 4:00, W 2
- 4:00, R 2 - 4:30
Topic Outline
Week Topic Reading Assignment
Jan. 20 Introduction to/Review of Budd, Chapter 2 & 3
Object Model Diagrams
Jan. 27 Review of Java Programming CORE Chapter 6, Chapter 7,
CORE Chapter 8
Feb. 3 State Transition Diagrams
Feb. 10 Introduction to Applets CORE Chapter 9 (1-8)
Components and Event Handling CORE Chapter 11
Feb. 17 AWT Container Classes & CORE Chapter 13 (1-8)
Layout Managers CORE Chapter 12 (1-4, 6-9)
Feb. 24 AWT Components (part 2) CORE Chapter 13 (14-23)
Budd, Chapter 13
Mar. 2 Graphical Applications CORE Chapter 9 (10-11)
Mar. 9 Design Problems Using OMT Budd, Chapters 10, 11, and 15
(Object Modeling Technology)
Mar. 23 Introduction to Swing CORE Chapter 14 (section 1-10)
Mar. 30 First Exam
Apr. 6 Concurrency & Threads CORE Chapter 16
Apr. 13 Additional time on Concurrency Budd, Chapter 20
Apr. 20 I/O Streams and Sockets CORE Chapter 17
Apr. 27 Serialization -- Saving & Restoring Budd, Chapter 14
May. 4 Review Final Project Due
May 11 Final Exam
Obectives
1. Students will be able to create applets that respond to user initiated events such as mouse movements, mouse clicks, and keystrokes.
2. Students will be able to use components from the java AWT to add interactive features such as menus, scroll bars, buttons, etc. to their applets.
3. Students will be able to create applets that make use of the java graphics library, object serialization, and client and server sockets.
4. Students will be able to use synchronization and threads to construct concurrent programs that avoid deadlock, starvation, and race conditions.
5. Students will be able to use features of UML to design event driven software.
Assessment
There will be three components to the grade in this course:
1. Graded programming assignments (25% of the grade)
2. An exam about 2/3 of the way through the semester (20% of grade)
3. A final project (35% of the grade)
1. A final "hands-on" exam in the lab (20% of the grade)
This is basically a "hands-on" course. You will demonstrate your ability to design and implement event-driven systems through a succession of programming assignments that lead to a final project that requires utilization of all of the material covered during the semester. The first exam will assess your modeling skills and your understanding of the java programming language and the java AWT. In the final exam, you will demonstrate your ability to implement a design of a small event-driven system and to modify a program to add additional features.
Class website: http://www.academic.marist.edu/~jzbv
Lecture material and other information will be available at this site.
Bibliography
Object-oriented Modeling and Design
Rumbaugh, Blaha, Premerlani, Eddy, Lorensen
Prentice Hall, c1991
Understanding Object-oriented Programming with Java, 2ed.
Timothy Budd
Addison-Wesley, c2000
Applying UML & Patterns, 2ed.
Craig Larman
Prentice-Hall, c2002
Design Patterns
Gamma, Helm, Johnson, Vlissides
Addison-Wesley, c 1995