James Crook <
james....@gmail.com> wrote:
> The sandboxed environment has a very significant long term downside. The
> children do not want to move from it to 'more professional' development
> environments. When they move out of it, they find they are back at square
> one, unable to do things like make simple games, that they previously could
> do easily. Moreover the amount new they have to learn to get started again
> is not easily picked up in a couple of hours. That de-motivates them from
> persevering with the other environments, and as a result they tend to go
> back to Scratch.
Thanks for this point!
My knee-jerk (and mostly wrong) response is that CodeWorld is not
supposed to be an introduction to a computer programming career. And
this is true... but, at the same time, it's deeply unsatisfying to
think that students who choose to explore computer programming further
would have difficulty doing so. Last time around, my answer
(unintentionally!) was to make the web site perform very poorly, and
ultimately stop working a few months after the class was over. That
certainly motivated students to move on to more full-fledged
programming tools. Let's not do that again. :)
One interesting question is whether it's important for students to
"move on" to full-fledged Haskell, versus other languages. And that
comes back to whether we think of CodeWorld as a Haskell programming
environment, versus being its own language. Three years ago, I
explicitly set out to teach Haskell. I called my class "Haskell for
Kids", and told the kids they were learning Haskell, and how I think
it's a great language to learn. Reflecting back on that, my position
has evolved. Not that I don't like Haskell! But that I find myself
more and more willing to tweak the language to meet the goal of
"programming using algebra", which is really the central point here.
I replaced the Prelude to kill type classes. I uncurried the standard
library. Oddly, for me, the real point of accepting that I'm teaching
a different language came when I changed all the examples and
tutorials to eliminate the space after function names, going from "f
(x,y)" to just "f(x,y)". Small things...
I understand Luke's point is a little broader than this, though. More
than being an argument about whether CodeWorld should steer students
toward full Haskell, it's more that it's better to put kids in an
environment where there are rough edges for them to explore, instead
of having everything neatly packaged and pulling them away from what
they aren't "supposed to see". Part of me agrees with that... but
again, I have a hard time concluding that it's therefore better to
give them a language that's just broken in some ways.
--
Chris
>
https://groups.google.com/d/msgid/codeworld-discuss/CAMe%3D4itw09iVSWGXWnnbF_d2dCGeBpXNCHWdafv2ECHThfqJww%40mail.gmail.com.