The ETS has recently mandated that the AP Computer Science exam test students for their knowledge of C++. However, the curriculum extends far beyond C++. In particular, mastering the curriculum takes three things:
It is therefore reasonable to ask whether C++ is in fact the best language to use to teach the first two topics. Our ideal programming language would contain several features:
In addition, we have all seen that students learn best when they are given interesting and exciting material to work with. Therefore, the ideal language should provide simple yet powerful support for learning-friendly features like graphics. Finally, the programming environment should be designed with the needs of beginners---not of sophisticated professional programmers---in mind. As we will see, these needs can differ widely.
We believe that C++ has none of these features, and is thus thoroughly unsuitable as an introductory language. Its flaws are especially pronounced when excellent alternatives are available.
PLT / scheme@cs.rice.edu
Last modified at 22:38:04 CST on Sunday, February 08, 1998