I know everyone loves Scratch, but I think all but the youngest kids can just as easily absorb a text based language, and ultimately get more out of it. I've worked with kids in 2nd, 3rd, and 4th using Scratch, Processing, and most recently Lua (Pico-8). I didn't see any difference in the kids ability to pick up and build working programs that made them happy, but the kids who did it in Processing and Lua seemed to have a better grasp of the concepts, and be better prepared to jump into more common languages.<p><a href="https://processing.org/" rel="nofollow">https://processing.org/</a><p><a href="https://www.lexaloffle.com/pico-8.php" rel="nofollow">https://www.lexaloffle.com/pico-8.php</a>
Scratch and its clones are a great way to start for kids without the problems of syntax errors.
Everything always works. It might not do what you want but it always does something.<p>Kids at my local coderdojo enjoy beetleblocks which is like 3d scratch
<a href="http://beetleblocks.com/run/" rel="nofollow">http://beetleblocks.com/run/</a>
The files can be exported and used in a minecraft clone
<a href="https://twitter.com/damianmooney/status/843594021024993280" rel="nofollow">https://twitter.com/damianmooney/status/843594021024993280</a><p>Microsoft have just announced a block based code environment for minecraftedu
<a href="https://youtu.be/3rKuSlgqePo" rel="nofollow">https://youtu.be/3rKuSlgqePo</a><p>It seems like a way of coding that has really taken off.
Yesterday was "Open House" at my son's elementary school. He showed me a lot of cool projects, but also scratch and his several .sb2 files he's been working on, and I was amazed that he's dealing fine with logical statements, other kinds of blocks, forever loops, variables, etc. We did together some scratch in the past, but ended up just moving a character in all directions. And here he showed me a program that asks you for two numbers, then... operation - and he typed "add" and finally it came - sum of two numbers. Pretty cool!
My six year old loves scratch. I got him started, and a couple of hours later he'd figured out how to make a character jump around the screen, shoot laser beams, and make sound effects. I was thoroughly impressed. I think the way they lay things out is great for kids and gets them introduced to logic and control structures in a really simple and intuitive way.
I was one of the very first scratch users. I started using it back in 2007, so I would have been 10 years old at the time. I have a job as a graphics programmer now, which I completely attribute to the countless hours I spent building games in scratch. Discovering scratch back then was really a life changing thing for me. Its exciting to see how huge the community is now and all the kids discovering programming the same way I did.
The most amazing thing to me about watching my daughter learn and then become obsessed with Scratch is the community around it. She has dozens of friends in the network, and they organize to build projects together, have contests, manage deadlines, and give each other advice on coding. And every interaction she's had on the system has been positive. I don't know how the Scratch team managed to build a "nice" social network, but that to me is more important than any aspect of the syntax or whether she types or drags blocks. She sees herself as a programmer, and she gets tons of positive feedback for being a programmer.
Scratch is the tool I go back to over and over for teaching my middle school (age 11 - 14) students. And it keeps getting better. The classroom feature they recently added completely resolved my number 1 issue with Scratch which was the difficulty in getting parents to follow through and approve their student's accounts to share projects with the class and teacher.<p>I do really really wish they would get off of Flash however. Managing the Flash installs on the shared laptops at our school is a headache.
The beauty of Scratch and other similar tools is that instead of the teacher <i>asking</i> questions, the child learns to ask their <i>own questions</i>.<p>If you are interested in learning more about this mindset, you should read Mindstorms by Seymour Papert (RIP).<p><a href="https://www.amazon.com/Mindstorms-Children-Computers-Powerful-Ideas/dp/0465046746" rel="nofollow">https://www.amazon.com/Mindstorms-Children-Computers-Powerfu...</a><p>Scratch can be a "gateway drug" to languages that professional programmers use. The extensions/abstractions of Scratch from Berkeley that deal with making it do complicated things seem like putting a fish on a bicycle. Sometimes, you just have to leap and try to not fall.
I find it more interesting how the term "hacker" has evolved into becoming a positive value term. I wonder if the term "hacker" is still considered positive at the adolescent stage, or is it just a business class perspective?
I showed my 9-year-old nephew Scratch, and within an hour he had designed a dancing man that made noise and moved around. It makes creating interactive games and stories easy and fun.<p>Why isn't there a Scratch for adults? A serious tool targeted to artists and professionals that makes it easy to publish interactive stories and presentations using standard web tech.
You can go back and forth about which coding environment is best for kids but it is really great how many options there are now. I first encountered programming on the trash-80 in the 5th grade. We had a typing program, text games and Logo and saved things to cassette tape. Back then, Logo was a triangular turtle on a monochrome screen. We have come a long way in ~30 years. Still I remember loving it. Logo had a huge impact on my life.<p>More recently, I started helping kids with their programming projects at my local library's coder dojo using Scratch, JavaScript, Python and other languages. It's a rewarding and fun way to give back to your community. I highly recommend trying it out.
In college I took a single credit Scratch class where we'd go out in the community and teach an after-school lesson for about an hour once a week to 4th and 5th graders. Honestly, it was one of the best parts of my semester. Seeing them grow and explore was fantastic.<p>In line with the hacker ethic, we decompiled Minecraft as a demo and started playing around with the jump math with them. It instantly clicked, based on their experience moving Scratch characters, what the changes we were doing were going to do before we ran it. That's a powerful link, even if they didn't realize that "jumping to the clouds" still causes fall damage (Which was subsequently turned off in the code).
Always surprises me nobody mentioned ScratchJr [1] for Android and iOS which in my experience has a lower barrier of entry for younger kids. I have used it with success with 4 years old children. I have had also success with the building part of Alice 3D in young kids.<p>IMHO if the kid is doing complex stuff with Scratch, he/she can move to a programming language without much problems.<p>[1] <a href="https://www.scratchjr.org" rel="nofollow">https://www.scratchjr.org</a>
Curious, has anyone ever seen a new user to Scratch figure out on their own that the ".sb2" file is really a zip file:
<a href="https://wiki.scratch.mit.edu/wiki/Scratch_File_Format_(2.0)" rel="nofollow">https://wiki.scratch.mit.edu/wiki/Scratch_File_Format_(2.0)</a><p>To me, this would be more of a sign of a "hacker" than figuring out how to code something, though maybe it's me.
I absolutely love Scratch. I think its incredible how it introduces children to concepts and patterns that are very difficult for even intermediate programmers.
Things like actors and message passing, or thinking in ways that are compatible with an event-loop type of environment. Its great!
Since we're all offering Scratch-asides, I'll note Hopscotch: <a href="https://www.gethopscotch.com/" rel="nofollow">https://www.gethopscotch.com/</a> – it's very similar to scratch, but I found it far easier to use. With Scratch I often feel like programming is a task of fighting with tile management. I also like the stronger emphasis on events in Hopscotch.<p>The big downside is that it's only really usable on an iPad.
My son's school does a lot with Tynker. He ends up spending lots of time with it when he's given an option on what he wants to work on.<p>I know originally it was seen as a Scratch rip off, but they've really done some cool stuff, including having the ability to easily deploy Minecraft mods that he's created, and invite friends to join him to play around with them.
Every time I sit down and watch my kids using Scratch I have to say what a horrible piece of crap it is. I'm not just annoyed because I had to install Flash for them to use it.<p>Surely we can do better?