On Jan 17, 2012, at 8:27 AM, Matthias Felleisen wrote:
For the book itself, I now think I took the wrong approach. While
it is theoretically arranged properly -- especially the decision to
model information with class based data w/o creating methods -- it
doesn't suit the psychology of most students and teachers.
Students (and teachers, including me) want to be able to actually DO
something as soon as possible. I liked the approach in HtDP: here's
a data type, here's how to write functions using that data type;
here's another data type, and here's how to write functions using it.
The last time I taught a Java-based first-year course, I started with
Strings and how to call methods on them;
then how to write static methods with String parameters;
then numbers and how to write static methods with numeric parameters;
then classes with fields and how to write static methods with
parameters of such types;
then non-static methods; then conditionals on built-in types;
then polymorphism via conditionals;
then polymorphism via interface inheritance;
then class composition and how to write methods on composed classes;
then recursive classes and how to write methods on them;
then Java collection classes and looping over them; etc.
I think this was a lot more concrete and fulfilling than building a
whole lot of different kinds of classes, through polymorphism, class
composition, and recursion, before ever writing a method.
Stephen Bloch
sbl...@adelphi.edu
____________________
Racket Users list:
http://lists.racket-lang.org/users