Of course, the College Board, in its infinite wisdom, has decreed that the AP Computer Science tests be given in Java. I suppose we should be grateful that they no longer do it in C++.
Of course, the College Board, in its infinite wisdom, has decreed that the AP Computer Science tests be given in Java. I suppose we should be grateful that they no longer do it in C++.
This isn't quite right. The teaching language was ABC, a different project that Guido worked on. Python was his own language, created for the Amoeba project (an OS research project), inspired and influenced by, but not the same as, ABC, which was not object oriented. Guido says that the purpose of python for the Amoeba project was to: "bridge the gap between C and the shell"
http://en.wikipedia.org/wiki/ABC_%28programming_language%29
http://python-history.blogspot.com/2009/01/personal-history-...
However, if you have additional information, I'd love to hear about it. I've heard the "Python was originally a teaching language" several times, but as far as I can tell, that's not actually true.
I don't think there was ever any of the boilerplate required to make a Java program actually run. When I took the exam, I'd never compiled a single line of Java in my life (yep, there are far better ways to get things done).
(No sooner than that though, or they'd have to have announced it already; major changes in public education need a LOT of lead time.)
However, I'll disagree that Python would be that much easier than Java for a beginner's course. It's lower-friction, to be sure, but the VAST majority of student difficulties are with precise logical thinking, not with the syntax.
Decomposing a problem into discrete, correctly-ordered steps is the core difficulty. This is unrelated to syntax.
I’ve heard of a CS curriculum that starts by teaching Scheme and ends with a segment on “OK, now you know how to program in Scheme, here is how to do it in Java”. I don’t know if that can fit in one high-school class, though.