Event Based Programming
|
Stuart
Hansen
UW - Parkside
hansen
at uwp dot edu |
Timothy
V Fossum
SUNY
Potsdam
fossumtv
at potsdam dot edu |
|
This website is dedicated to all aspects of event based programming.
Events are incredibly important in modern computing. They
occur in graphical user interfaces (GUIs), operating systems, discrete
event simulation, database management systems and many other
computing-related fields. They are also integral to the operation of
user interfaces in modern electronic devices such as cellular phones
and television sets. Because events are so ubiquitous, it is reasonable
to expect that you, as a student of computing, should understand them
in detail. Unfortunately, you are more likely to learn first
about event based programming when you are asked to develop GUIs - and
then you would typically be exposed only to what you need to make the
GUI operate. As you will see, events have many more applications than
implementing GUIs.
The authors of this site are computer science professors.
For the last ten years they have been teaching a course on
event based programming. Much of the work on this site comes
from compiling their course materials into a text and supporting
materials. There are
dozens of computer science books that have 'event' or 'event based' in
their titles. Almost all of these are
about some particular language or system that uses events. This goal is
different. We to introduce you to event based programming -
and, more generally, event based systems - as a computer science
paradigm that focuses on the fundamental ideas relating to
understanding, designing, implementing, and testing loosely coupled
systems.
What you will learn from this site is applicable to any event based
language or library. Since this is site is about programming, you will
encounter many sample programs. We have chosen Java as our principal
implementation language. Java is available almost universally for
hardware platforms and operating systems, and Java has native support
for events. However, we are not trying to make you an expert in Java.
Instead, you will gain an understanding of how to develop event based
software, with Java serving as the implementation language. In the end,
you will be able to develop reasonably sized event based applications
in Java, and you will be able to take the principles and ideas you
learn and apply them to new and different event based languages as
needed.
Ancillary Materials
- Preface
- Chapter 1 - Introduction to Event Based
Programming
- Chapter 2 - Event Based Programming
Fundamentals
- Chapter 3 - Software Engineering Event
Based Systems
- Chapter 4 - Event Infrastructure
- Chapter 5 - Threads and Events
- Chapter 6 - Distributed Event
Programming
- Chapter 7 - Events and the Web
Other Materials
(Coming Soon)
Annotated Bibliography
- (Coming Soon) Other websites related to Event Based Programming
Support to organize this
website, course and text was provided the National Science Foundation,
DUE CCLI Grant, Award #0089406.