Introduction to event-driven programming, event propagation, detection and handling, the Integrated Development Environment (IDE), reusable components and their properties, methods and events, Graphical User Interface (GUI) design, database programming, input validation, design of reports and data visualisation, design of context-sensitive help systems, exception handling and debugging, creation of custom components and reusable libraries.