AP CS Update: June 16, 2000

The following letter was sent to SIGCSE.MEMBERS@ACM.ORG on June 16, 2000 by Henry M. Walker (walker@cs.grinnell.edu)
A slightly edited version was sent to ap-compsci@ets.org on June 18, 2000 by Esther Tesar (etesar@ets.org).

Html formatting instructions have been added, so that this document's appearance in a Web browser parallels the original paragraph structure and clarifies the original section and subsection titles. The letter's content is unchanged.

For more information on the 1999-2000 Ad Hoc AP CS Committee, see http://www.cs.grinnell.edu/~walker/sigcse-ap/index.99-00.html.

To Members of the SIGCSE Community,

As you know, I serve as the SIGCSE Representative to an Ad Hoc AP CS Advisory Committee. Appointed about a year ago, the Ad Hoc Committee was charged with getting feedback from the CS community, identifying directions for introductory CS, and making recommendations to the AP CS Development Committee (which is the primary body for curricular and testing decisions for Advanced Placement Computer Science). This note serves as a status report on various activities.

The timing of this note coincides with the annual grading of the AP CS exams. On June 11, 2000, about 125 computer science faculty from high schools and colleges gathered to score the free-response sections of the AP CS exams. Rather than waiting until all details had been finalized and documented (as originally planned), the College Board and the two committees wanted to take advantage of this gathering of computing teachers to discuss current deliberations, to gather feedback, and to promote continuing dialog about the future directions of the AP Computer Science program.

This note is intended to be a status report. The Ad Hoc Committee is still addressing a variety of topics, and preparing fully-documented and complete statements that reflect past discussions.

Data Gathering:

As part of its work, the Ad Hoc AP CS Committee first received survey information about languages used in introductory courses at various colleges and universities and about directions those schools anticipated over the next several years. Next, the Ad Hoc Committee surveyed SIGCSE.MEMBERS and other list-serves as it sought to identify principles that schools emphasized in introductory courses (CS1 and CS2).

In summary, three main principles seemed to emerge:

  1. Object-orientation: Respondents indicated that object-oriented design and programming topics were becoming major elements of introductory computer science in colleges and universities. (While there is considerable diversity regarding approaches in CS1, there was substantial agreement about the importance of object-orientation by the end of CS2.)
  2. Safety: Faculty indicated that they wanted introductory students to work within a framework which provided reasonable compile-time and run-time checking and which prevented or actively discouraged dangerous code and practices.
  3. Simplicity: Faculty wanted students to program in a language, but that language should promote, not interfere, with high-level concepts and algorithms.

Overall, these two surveys suggested that introductory courses should emphasize problem-solving, that students should have a solid foundation in object-orientation by the end of the first year, and that the majority of colleges and universities are using or are planning to use Java.

With these preliminary suggestions, the Ad Hoc Committee solicited additional feedback at a panel at SIGCSE 2000, and the Committee distributed another survey to SIGCSE.MEMBERS and other list-serves. In summary, while the Committee heard numerous points of view, the preponderance of feedback seemed quite consistent with previous comments and with the preliminary conclusions of the Committee.

Interim Recommendation:

With this data, the AP CS Ad Hoc Committee decided to recommend to the Development Committee that the language used on the AP CS examination be changed from C++ to Java, as Java is the language in general use that best supports the principles identified above.

The AP CS Development Committee, in turn endorsed the recommendation, and passed it along to the College Board.

The College Board is considering this recommendation, and has asked for more information in two main areas:

  1. From colleges: more information is needed to confirm the statements from previous surveys that colleges are indeed emphasizing the principles above and expecting to use Java within the next few years.
  2. From high schools: more information is needed on the impact of a possible change and needs of high school teachers for training, resources, administrative support, etc.

The two committees and the College Board will be seeking this information, and members of this list should expect an additional (fourth) survey before too long. The timing for a College Board decision is dependent on timely responses from the computer science community.

Continuing Work:

As already noted, the work of the Ad Hoc Committee continues. While some principles and a language trend have emerged, the Committee has considerable unfinished business. Some major areas of activity are:

-- Write up the Committee's rationale concerning principles and the recommendation for Java as the single language to be used in AP CS. This rationale will be based on results of the extensive discussions that took place during the past year. -- Make recommendations regarding refinement of the AP CS curriculum, including Java's ability to support object-orientation and higher-order abstraction. -- Make recommendations to clarify what subset of Java should be included on the AP CS examination. -- Identify and make recommendations regarding transition issues, such as timing, teacher training, and needed resources.

Please note that this list has been condensed in the interests of space. The Committee also expects to address several questions and comments it has received from surveys, the SIGCSE 2000 Panel, feedback from the informational session at the 2000 AP CS Reading, and individual communications.

In the process, the Committee continues to welcome comments from the computer science community.

As your SIGCSE Representative, I hope you will feel free to contact me with your thoughts. Also, please respond to Survey 4 when it becomes available. Your feedback is greatly appreciated.

Henry Walker SIGCSE Representative to the Ad Hoc AP CS Committee


Henry M. Walker
Department of Mathematics and Computer Science
Grinnell College
Grinnell, IA 50112-1690

Fax: 515-269-4984