[plt-scheme] Great books on algorithms?

From: Marco Morazan (morazanm at gmail.com)
Date: Thu Nov 8 11:33:04 EST 2007

Hi Matthias,

> Marco, I understand your argument(s). The true question is always this:
>  given a limited amount of space and time, what do you include?

This is always the tough question. :-)

> The conclusion that I have come to is that students in general are
> better off with a version of the course/book that emphasizes scaling
> programs up and remaining functional over staying with design in the
> small and going imperative. We will therefore drop VII and VII and
> replace them with 'project materials'. Of course, these chapters will
> remain on-line and we will suggest that instructors who have enough
> time use them. This may be a part of semester 1 or semester 2.

Yes, no doubt, having material designing large projects is also very
desirable. I need to digest this a bit more and eventually see what
you come up with. Although very tempted to jump in head first (by
remaining functional and scaling up), I am concerned about "putting
too much weight on a young horse's back" (not implying students are
horses) with large projects. The reality is that many of our incoming
students are very poorly prepared and large designs without more
experience may be overwhelming (this is complete speculation as of
right now, but something I must be concerned about given low CS
enrollments across the board). Nonetheless, I am receptive to seeing
the result of the compromise and look forward to seeing the next
edition. :-)

> More generally, you can ask how colleges should allocate the
> following goals and what constraints affect the design of a curriculum:
>  [1] when to teach program design?
>  [1a] when to use abstraction? as in a function that can do the
> original task for many different instances
>  [1b] when to introduce state? <--- this is our question

OK, so if it is out of HtDP will this material get covered as nicely
in HtDC (say Section IV where assignment is extensively used for
mutation)? This is not criticism for dropping the mutation material.
It is just concern over the importance for students to understand
assignment before using it.

> BUT, as you are well aware -- and everyone else here -- the world
> says that every 'idiot' can create 'Facebook' style AJAX programs in
> '24 hours' or less. [Just in case: the quoted terms are trademarks of
> certain publishers and companies. They do not have the usual English
> meaning. Don't take this as an insult or anything.]
> Our students see this as well as everyone's. So we compromise.

All too aware.......and openly waiting to see the result of the
(tough) compromise. :-)



Posted on the users mailing list.