[Haskell-cafe] Doing people's homework?
mpm at alumni.caltech.edu
Tue Sep 29 12:09:06 EDT 2009
Iain Barnett wrote:
> So, if I was trying to come up with a solution to a problem that
> possibly has multiple solutions, like building an engine for a car, I
> would do better if I hadn't seen a (well crafted) working engine by
> someone else than if I had?
> If effort is there, then give me the example any time, because insight
> will be quicker. If you're going to be lazy then it doesn't matter
> either way.
This could be a question of learning styles. You wrote "If the effort is
there..." so I assume that means you have a way of putting effort into
understanding an engine design, even if you have never seen an engine
design before. Furthermore you have some way of digesting and transforming
that knowledge so you can make new designs rather than be a slave to imitation.
I definitely cannot do this very well. I learn much faster by struggling
with a problem so I learn where the "problem" is---what is the key thing
I'm trying to do, and why do my efforts seem to fall short? Why do I feel
confused? And THEN looking at the answer to get that "aha!" moment.
This is especially nice in learning Haskell because solutions tend to be
elegant and contain deep insights.
Isn't there some saying like: "See and remember for a day. Do and remember
for a lifetime."
In struggling to answer, a student is not simpling "doing" the problem, but
is actually "doing" part of the thinking that led to the creation of
Haskell. They are retracing problems and alternative solutions that are in
some way related to the history of computer science.
More information about the Haskell-Cafe