4 ms·
I love to see these articles. It's uniquely challenging to teach children to program at that age. I'm starting an after-school program to teach kids (~10 years
by biotech 14y ago
I love to see these articles. It's uniquely challenging to teach children to program at that age. I'm starting an after-school program to teach kids (~10 years old range) how to program. When researching tools available to teachers and students, I came up with a list that it strikingly similar to that which is presented in this article.
When teaching kids a few years older, your world really opens up in terms of tools you can use - I think a motivated 13 year old should be able to grasp any one of a number of different programming languages and/or different paradigms.
One of the issues with teaching younger students has to do with the immediacy of results:
Something like "Scratch" has a simplified programming model (visual drag-and-drop programming to create interactive animations), but gives immediate results that you can see on the screen right away, and it's impossible to create a syntax error.
When you teach a "friendly" programming language like Basic or Python, there's still a decent amount of background material before you actually create something visually cool. So, while a 9 year old might get bored and start to loose attention, I would expect a 13 year old to have the patience and persistence to know that the cool stuff (ie, making a simple video game) is on the horizon. He/She will continue to plow through the boilerplate.
When you go to Java or C, it requires all the more motivation, because the background information is that much more difficult to ignore. Syntax is much trickier. API's are less friendly to new coders. It takes more time and focus to create the result you're looking for, especially if it's graphical.
That was my thought process that eventually led me to choose Scratch as the way to introduce the students to programming in our computer programming club.
- jfischer 14y agoYou might also be interested in following the progress of "Snap" [1], which is an extended version of Scratch implemented in JavaScript for web browsers. This from the group at UC Berkeley that did "BYOB" (Bring Your Own Blocks) [2], an extended version of Scratch. I'm planning to use BYOB/Snap with my 6-year old. I think the custom blocks in BYOB will be useful for me to create relevant primitives so the programming will be less tedious for my son. Later, I can teach him about defining functions, recursion, etc. I'm also wondering if the JavaScript rewrite will allow him to hook into server-side APIs. That has some interesting possibilities... [1]http://wiki.scratch.mit.edu/wiki/Build_Your_Own_Blocks_(Scratch_Modification)#Future_Versions http://wiki.scratch.mit.edu/wiki/Build_Your_Own_Blocks_(Scra... [2] http://byob.berkeley.edu/ http://byob.berkeley.edu/
- jbellis 14y agoThat's exactly why I introduced my kids (10 and 7) to Scratch. But we got to the end of the video tutorials and ... then what? They don't know enough about what's possible to pick a challenge goal and start working towards figuring it out. And I don't want to just turn them loose on the forums; trying to find actionable information there as a newcomer would get frustrating quickly. Any suggestions for next steps?
- temiri 14y agoThat's one of the reasons I suggested App Inventor, actually. Even picking a project like "make an app for your stuffed animals" (which is the kind of thing I would have LOVED when I was 7 or 10) could be a way to move forward from the video tutorials.
- jbellis 14y agoWhich thread did you suggest App Inventor in?
- haroldl 14y agoThey might like the book "Super Scratch Programming Adventure!" It walks through building several games in a comic-book format. I thought it was good.
- jbellis 14y agoThanks, that does look good! I'm glad there's a new book out, the other books on Scratch look too dry, too outdated, or both. Ordered a copy.