After reading this article, it becomes clear to me what a radical stance van Dam et. al had taken in 1981 when they introduced a graphical approach to introductory programming. However, this presents some major issues, especially when the desire of real- world experience (as is discussed in paper 1) is thrown into the mix. Sure, GP is easy do deal with and understand, but if a student wants to apply their programming knowledge to a third party project, chances are they'll be dealing with AWT, a much less user-friendly package around which GP is a wrapper. (As a side note, this leads me to question why the AWT is taught in CS4, a supposed "kid brother" to CS15.) However, the point of having fluffy nice support code is to force the students to focus more on the OO concepts that they're learning, and CS15 does that quite nicely. Polymorphism and inheritance are made easy and (dare I say?) fun.
It seems like 15 hasn't changed too much in the four years since this article's writing. The "Second Attempt" outlines my experience last semester (except for the OOPas vs. Java). But that's what this GISP is for; to figure out what can be improved in C S15. OOP is definitely the way to go in the intro class. CS15 does a good job of teaching it -- it just needs to be tuned up and kept current. The use of Java, that "hot new language for the internet," seems to be a good platform language, with its bui lt-in safety nets.
Also, cs4 teaches AWT because cs4 does not have quite the same ideals and purpose as cs15 does. Its purpose is more to be a "one-shot" CS class, that teaches people "useful" knowledge, instead of teaching things that are preparation for further CS classes. Also, cs4 was developed and taught by different people than cs15, so different decisions were made, and different techniques were used.
First off, I do not think it is a safe assumption to say that anyone who uses Java in the real world will be using AWT. Already there exist other graphics packages and toolkits for use with Java that may or may not be easier to use. As long as a language exists there will be many ways to do things graphically. To say not using what the language provides is bad is a little naive I think. I mean, look at CS32. We do not make everyone use X, or whatever is more native than that. We provide and allow all kinds of different graphics packages for student use. Granted, most of them are not in-house productions (GO BAUM!), but the effect is the same. I think the arguement about using GP instead of (insertyourfavoriteGPhere) is almost moot. We teach object oriented programming. Period. Frankly, AWT in its first incarnation was not a good model of object-oriented programming, so it was not used. The new Java Foundation Classes are actually constructed more like our own GP is written and is considered to be more OO than the previous package.