SIGCSE Interactions
with the Advanced Placement Program
Concerning C++
During the Spring of 1995, the Advanced Placement (AP) Computer Science
(CS) Test Development Committee announced that a transition would be made
from Pascal to C++ for both the AP CS A exam and the AP CS AB exam. This
announcement led to much discussion in the computer science community. As
a result, the College Board and Educational Testing Service (ETS)
established an "AP Computer Science Ad Hoc Committee" to advise the AP CS
Test Development Committee concerning this transition to C++. In an effort
to reflect a range of viewpoints, this Ad Hoc Committee included two SIGCSE
representatives,
Barbara Boucher
Owens
(owens@acad.stedwards.edu)
and
Henry M. Walker
(walker@math.grin.edu)
Current Status
With the advice of the AP CS Ad Hoc Committee, the AP CS Test Development
Committee has refined the AP CS Course Description and clarified the change
to C++ in several ways.
-
The first offering of the AP CS Examination in C++ will be May 1999.
Originally, ETS was considering switching to C++ as early as May 1998. This
revised date reflects, in part, the strong recommendation of the AP CS Ad Hoc
Committee.
- Since any transition in language will require significant time for
teacher training, acquisition of appropriate hardware and/or software,
revision of class schedules, development of class materials, and related
preparation, there is a reluctance to change many other elements of the AP
CS Course Description at the same time. Thus, it seems best not to change
course content -- beyond the programming language -- at this time. (As
noted in the
most recent meeting minutes,
however, the AP CS Course Description is being updated and corrected so
that it more accurately reflects the current contest of the exams.)
- Since the overall C++ programming language is large and complex, a
subset of C++
has been defined for use on the AP CS examinations. The current statement
of this C++ subset reflects feedback received from the circulation of draft
materials. The draft materials were presented at the 1996 SIGCSE
Symposium to encourage additional comment.
- A commentary
now is available, adding details about the C++ subset and
explaining why a variety of choices were made.
- Work has begun on a revised Teacher's Guide for a C++ based AP CS
course.
Fran Trees
of the AP CS Ad Hoc Committee will be a principal editor and writer.
- Plans are being made for 2 sets of training sessions in the Summer,
1997. These sessions will be intended for AP consultants who give regional
workshops to CS teachers, so the leaders of various AP workshops around the
country will understand the important elements and issues regarding the
change to C++. Note that ETS already has budgeted these training sessions,
and various leaders (people who have recently served on the AP CS Test
Development Committee) are already talking about specific content and
schedules for these sessions.
Additional discussions within the AP CS Ad Hoc Committee and with other
groups have explored ways to expand communication within the computer
science community.
- In considering the curricular content and programming language(s) in
introductory computer science courses, there is a need for high school and
college faculty to come together on a regular basis for ongoing
discussions. High school teachers need to know about curricular directions
in colleges and about college expectations for incoming students. College
teachers need to understand opportunities and constraints for teaching in
high schools. Unfortunately, this contact rarely takes place (except at AP
CS readings), and some college faculty may have a tendency to pontificate
without listening.
- The AP CS Test Development Committee genuinely wants to receive
feedback on content, directions, and details of the AP CS Course
Description.
- Since SIGCSE is a natural place for discussions to occur, the SIGCSE
organization is reviewing how it may take a more active role in promoting
such interactions. (More generally, SIGCSE is working to reach out to a
broader audience at all levels. Cooperation between high schools and
colleges can be one important part of general curricular discussion.)
--------------------------------------------------------------------------
A Brief History
As already noted, the AP CS Test Development Committee's announcement of a
change from Pascal to C++ for the AP CS examinations resulted in an
extensive debate within the computer science community.
Responding to comments from many
SIGCSE members, the SIGCSE
Officers sent a letter to The College Board and to ETS
expressing some of the concerns that the officers had heard
concerning the process that led to this announced change. ACM's Education
Board sent a similar letter.
In part as a response to these and other letters, during the Summer of
1995, The College Board and ETS appointed an "AP Computer Science Ad Hoc
Committee" for a one-year period to advise the AP CS Test Development
Committee. The official term of this Ad Hoc Committee ended in April,
1996. Members of the Committee and individuals associated with The College
Board and ETS hope the Ad Hoc Committee will continue informal interactions
for some time.
An important part of the work of the AP CS Ad Hoc Committee was the
drafting and refining of a C++ subset for use within the AP CS Course
Description and examination. In defining this subset, a draft document was
produced and distributed at the 1996 SIGCSE Symposium, and feedback was
explicitly encouraged. In particular, both a panel and a
Birds-of-a-Feather Session were organized to present draft materials and to
provide an opportunity for continued discussion. The World Wide Web was
used for additional materials and feedback.
Documents and References
Additional Notes
-
The College Board and ETS are firmly committed to C++ at this time.
The concerns raised by SIGCSE's April 6, 1995 letter about the process that
led to this decision have not been reviewed (at least publicly).
Since SIGCSE had no part in the discussions that
led to this decision, it takes no official position concerning the
conclusion.
SIGCSE members seem widely divided on this issue.
- The SIGCSE representatives on the AP CS Ad Hoc Committee
believe that, given the selection of C++ as the language for AP CS, the
particular subset seems appropriate. Further, from the perspective
of the SIGCSE representatives, the definition and explanation of this AP CS
C++ subset reduces many of the fears that were raised initially about the
change to C++. While the choice of C++ clearly will not satisfy everyone,
the AP CS C++ subset does seem to allow AP CS courses to avoid many of the
pitfalls of C++ while capitalizing on some of its advantages.
- ETS and AP CS will make an effort to identify resources and grants that
might help needy school districts to obtain both the hardware and the software
needed for a move to C++.
- Over the long term, the AP CS Test Development Committee has expressed
its interest in receiving feedback on the AP CS Course Descriptions for
both the A and AB syllabi. At present, however, these descriptions have
become somewhat dated. Thus, in the short term, the AP CS Test Development
Committee is working to revise the AP CS Course Descriptions to more
accurately describe the current courses and examinations. Once that work
is complete, the AP CS Test Development Committee has expressed an interest
in engaging the computer science community in an on-going dialog about
possible revisions and new directions for AP CS.
-
Official College Board Information
The College Board maintains a World Wide Web page
with various information about
Advanced
Placement in general and AP
CS in particular.
Your SIGCSE representatives on the Committee welcome your comments.
SIGCSE is the ACM
Special Interest Group
on Computer Science Education. SIGCSE publishes a quarterly
Bulletin, sponsors conferences, and otherwise promotes discussions among
people interested in computer science education. More information is
available at the SIGCSE home
page.
Suggestions concerning this World Wide Web page are welcome.
created July 31, 1995
last revised June 7, 1996
Henry M. Walker
(walker@math.grin.edu)