[Edu-sig] Could there be a new test, call it AP something else?

David MacQuigg macquigg at ece.arizona.edu
Tue Jan 26 05:50:15 CET 2010


Litvin wrote:
> 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 
purpose also.

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 
project.

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".

-- Dave



More information about the Edu-sig mailing list