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

Reply via email to