The Design of EzWindows: A Graphics API for an Introductory Programming   Course
  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. 
Bruce R. Childers, James P. Cohoon, Jack W. Davidson, Peter Valle