This course provides a technically intensive introduction to
Graphical User Interface (GUI) programming. Highly complex user-centred
concepts, such as interactive programming, threads, graphics, event
models, and animation, will be explored in detail. In order to
help you deal with the complexity of GUI-intensive applications, software
engineering concepts, including requirements, modeling (using the Unified Modeling Language or UML), analysis, design, and testing will be covered, with emphasis on design patterns for GUI applications.
The objective of this course is to produce software developers capable of designing and developing advanced GUI-intensive Java applications, using an engineering approach.