[plt-scheme] behaviour of void?

From: Marco Morazan (morazanm at gmail.com)
Date: Wed Feb 4 22:51:49 EST 2009

> It's a trade-off. Students are better off working through two or three
> "large" projects (say an interactive, distributed game):
>  -- first with plain recursive programs
>  -- second based on feedback for the first program
>  -- third with higher-order functions
>  -- fourth using modules to structure the program
> This kind of iteration is highly instructive in comparison to a rushed
> treatise on effects.

It's a tough trade-off! :-) One, however, that I am delighted to
indulge in.....finally ridding ourselves of making mention of
assignment in a first course! It's about time. Hooray! :-)

Why tough? Students that come with "experience" (from a HS CS course)
want to cover mutation and "see" why writing programs using mutation
is so much harder. Just telling them to go write binary-search or
find-route-in-graph using assignment does not quite satisfy them (not
that most of them really can). I am also currently seeing my
"experienced" students yearning for assignment (e.g. "in Java I would
just set this variable equal to that") as programs move away from the
trivial domain. They just do not realize how much they would be
complicating their lives (nor how terribly bug-ridden their
assignment-based ideas have been up to now).

In any case, can anyone share any specific ideas for a "large" project
that worked well in your courses?




Posted on the users mailing list.