Widespread acceptance of the Windows environment has increased the popularity of application development tools that facilitate creation of Windows programs. In response, many universities are starting to teach introductory programming courses using these new software development tools. However, the event-driven nature of these new tools requires a design change to the traditional methods of teaching introductory programming. Unfortunately, most programming textbooks that employ the new tools neglect to provide a suitable framework for designing programs for this new event-driven software paradigm. This paper will present the key differences between event-driven and conventional programming, particularly as it affects teaching programming development concepts to beginning students. It will also describe how a new design tool (Object-Event Diagram) can be used to promote student understanding of event-driven programs.