  Teaching object-oriented programming in an introductory programming course
poses considerable challenges to the instructor. An often advocated approach to
meeting this challenge is the use of a simple, object-oriented graphics
library. We have developed a simple, portable graphics library for teaching
object-oriented programming using C++. The library, EzWindows, allows beginning
programmers to design and write programs that use the graphical display found
on all modern desktop computers. In addition to providing simple graphical
objects such as windows, geometric shapes, and bitmaps, EzWindows provides
facilities for introducing event-based programming using the mouse and timers.
EzWindows has proven to be extremely popular; it is currently in use at over
200 universities, colleges, and high schools. This paper describes the
rationale for EzWindows and its high-level design.
