[Edu-sig] Could there be a new test, call it AP something else?
macquigg at ece.arizona.edu
Tue Jan 26 05:50:15 CET 2010
> AP is driven by colleges. The AP exam used to be in C++ until 2003.
> The current exam has heavy emphasis on OOP. It took a tremendous
> effort to retrain HS teachers from C++ to Java/OOP... If the college
> board decided that Python is used at most colleges in intro CS
> courses, they would eventually move.
Why does the AP test have to be offered in just one language? Why do we
need to make a "tremendous effort" to move teachers from one language to
another? Couldn't every school-district make it's own choice of
language? Do colleges really expect specific training in a particular
language? If a student has a thorough understanding of OOP in Python,
then enrolls in a college that teaches in Java, we could have a
one-credit, self-study course, with the final exam being the AP test in
Java. Students could even take this transition course over the summer
between high school and college. Goldwasser's text has an excellent
transition to Java. I expect we will have a section of PyWhip for this
I participated in a team-programming project in our junior-level class
in OOP. The class was taught in Java, but the project was done in
Python. The students participating in the project were wary at first,
insisting that they be able to write in Java, and I agreed to do the
translations to Python. I didn't have to do any translations at all.
These Java students picked up on Python right away, and got a A on their
Moving the other direction - from Python to Java, might be more
difficult (adding cruft instead of removing it), but certainly do-able
for a student who really understands the fundamental concepts. Teaching
these concepts using the best tools available should be our focus in
high school. Learning the specifics of whatever language they need
later should be "on the job" training. Whatever language we choose for
teaching, we have to assume students will need something else after
graduation. The cruft will change. Fundamentals stay the same.
> This is very unlikely, though. College courses are getting more and
> more fragmented in terms of the languages used, so it might be easier
> for the college board to move to a language-less exam. The current
> exam is too Java specific.
Beyond college the world is even more fragmented. At Cadence, our main
language was SKILL (a proprietary variant of LISP). I've now forgotten
SKILL. Currently, I need to be familiar, but not proficient in Java and
C. Soon I may have to learn Perl. Python will always be my core
language, however. C also has some nice "down to the metal"
fundamentals you don't get anywhere else.
I don't understand how you get into any depth in CS without a
programming language in which to communicate the fundamental ideas. Do
you have an example of a "language-less exam" that might sufficiently
test a student's knowledge of CS?
>> Comparing the raw scores might lead to a real awakening.
> Scores depend a lot on a particular teacher and textbook, not so much
> on the language. The remaining AP CS exam is not very demanding,
> anyway, in terms of writing code that works.
The comparison I would really love to see is an average of the Java
scores vs an average of the Python scores. These would be averages over
all teachers and all textbooks. Assuming the choice of problems is
really our best consensus on what is important, this could be a good
measure of which language is more "productive".
More information about the Edu-sig