Event Driven Software

T 6:30 -- 8:50  LT 005

 

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