5 ms·
The argument for not teaching children scratch. "You don't need to start kids off on some fake programming language like Scratch." I have no real affection fo
by Newky 14y ago
The argument for not teaching children scratch.
"You don't need to start kids off on some fake programming language like Scratch."
I have no real affection for scratch, but I feel that he was making the argument that children should learn to program in an environment that models (at least to a point) the one in which a developer develops in, at least with regard to language preference.
I feel at this point, the language choice (barring ease of use etc) is pointless. Whether you use scratch, python or Haskell, if it piques the interest of a child, then nothing will stand in the way if that student wants to go on and learn every programming language available.
If you think of the first language you ever learned, and what you are now programming in. For me, my first language (a type of kiddy basic) gave me what I needed. A concept of execution flow. How to make things come up on the screen, basic 2d programming and it made it very easy to make some GUI based stuff.
My point is that don't hate any language (even if it is a fake language like Scratch) if it builds the initial building blocks in a child (or adults) head.
- YAFZ 14y agoI was just about to write a response to 'Scratch bashing' ;-). Luckily you have voiced most of them. So I'd like to add the following: The Scratch programming environment, being the most child-friendly system I've ever seen so far (and I have tried to teach children, as well as adults with zero prior programming experience, using environments as different from each other as StarLogo and Python), lets children create amazing programs, but most important of all introduce the fundamentals of computational thinking and creativity with almost zero barriers for entry. From a programming perspective it definitely has a lot of shortcomings (most of which have been addresses by 'add-on's or similar systems built on top of it) but if you want to show the basics to a bunch of kids who are 7 or 8 year olds, then it is a great system. Moreover, the social aspects of Scratch, namely easily publishing your projects and seeing the source code of others, are a gift. Try to do the same with Python and GitHub (one of my favorite combinations when I'm not dealing with children ;-), starting from scratch (some pun intended) and showing them all the tools... I'm curious how far their attention span would go. Finally, apparently a number guessing game can be super easily implemented with a 'fake programming language' such as Scratch, too: http://scratch.mit.edu/projects/emres/2859373 http://scratch.mit.edu/projects/emres/2859373 And the source code, plain and simple, is probably easier to explain to children (and I had kids create much more complex games, animations, quizzes, etc. with Scratch): http://www.flickr.com/photos/64416865@N00/8121602786/in/photostream http://www.flickr.com/photos/64416865@N00/8121602786/in/phot... PS: For a nice account of Scratch from a veteran compile developer please see: "Teach children planning and problem solving not programming" http://shape-of-code.coding-guidelines.com/2012/09/20/teach-children-planning-and-problem-solving-not-programming/ http://shape-of-code.coding-guidelines.com/2012/09/20/teach-...
- RyanMcGreal 14y ago> I feel that he was making the argument that... Sidenote: the author is a she, not a he.
- aufreak3 14y agoThe "lesson to educators" was certainly a quick conclusion to draw from the number guessing game example. A fair comparison would be a game with sound and animation that kids have created using Scratch that you get kids to do using a "real" language like python. Furthermore, I think BYOB (build your own blocks)[1] raises the bar what can be done in a Scratch-like environment. [1] http://byob.berkeley.edu/ http://byob.berkeley.edu/
- YAFZ 14y agoBYOB is important indeed and we also have Panther (see http://pantherprogramming.weebly.com/ http://pantherprogramming.weebly.com/ and http://wiki.scratch.mit.edu/wiki/Panther_%28Scratch_Modification%29 http://wiki.scratch.mit.edu/wiki/Panther_%28Scratch_Modifica...): "... a host of new features such as file and webpage manipulation and advanced colour sensing, cloning and much more besides, Panther provides advanced usage for avid Scratchers around the globe as well as new programmers looking for a fluid, easy to understand starting language."
- kd0amg 14y agoShe also doesn't address the difference between reading a ready-made snippet of code and producing syntactically valid code, and it's not exactly self-evident that removing Scratch's block/puzzle-piece "grammar" won't lead to more trouble producing proper syntax (and I've seen first-year university students type out lots of things that Scratch would make impossible).
- jiggy2011 14y agoI think perhaps the point it to give the kids something that they can feel like they are doing real stuff with.