[plt-scheme] Re: Modules, Units, and Classes

From: Prabhakar Ragde (plragde at uwaterloo.ca)
Date: Mon May 28 18:01:51 EDT 2007

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

Posted on the users mailing list.