[plt-scheme] Re: Modules, Units, and Classes
Jos Koot wrote:
> Recently I became concious of the fact that I am using modules
> where others may prefer object classes. I like the module system
> because making a module is it is much more simple than making an
> object class (mho).
After our first-term, first-year CS class using HtDP and DrScheme, we
make the transition to Java in second term, and this year I designed a
curriculum which first taught about objects using class.ss, and used
them to talk about abstract data types and their implementation, before
introducing Java syntax. This works better than plunging into Java right
away (though we did not try the HtDC approach).
But now we have obtained permission to defer OO concepts to second year
and to not use Java at all in the first year. I will use C in the second
course to illustrate some implementation details, but I will also talk
about abstract data types and information hiding using MzScheme modules
and the ability to make structures opaque. I think this is a much more
natural setting in which to discuss these ideas, and later when students
learn how to work with classes in imperative OO languages, they will
have the earlier coverage as a source of conceptual metaphors. --PR