
Kids do program – Experiences from the course - stojano
https://sar3.ch/en/blog/kinder-programmieren-erfahrungen
======
szopa
Scratch is right now my 6yo's favorite toy. It beats the Lego robot because
you don't have to worry about having the right parts and you can concentrate
on the "fun parts," that is programming.

What really amazes me was how different the progression looked from what I was
expecting. The move from "the dinosaur moves and that is fun" to fully fleshed
mini games took me by surprise. No linearity there.

What I really appreciate about Scratch is how you can use the system without
having to understand big parts of it. For example, one of the most complicated
parts is the sprite editor (which does both vector and raster graphics).
However, there's a huge library of sprites, so it's not a problem. You'll only
have to learn the editor when your ambitions grow and you want custom sprites.

Another curious thing is that Scratch encourages concurrent code right off the
bat (every script runs in their own thread). My son is coming up with rather
elegant patterns which are nevertheless quite different from my intuition,
like controlling the sprite's horizontal and vertical movement in separate
scripts – which actually gives you easier to understand code.

Finally, there's a social aspect – discovering programs written by other kids
and analyzing their code, and remixing them for your own projects. My son is a
great fan of "Kimberly from Canada" who did a lot of "cook your own pizza"
type of games, which have been a big inspiration.

~~~
freediver
As someone who has started programming at age 8, I find Scratch inadequate. It
may teach kids how to code, but it doesn't teach coding.

There is something in writing every letter of a command when you are a kid.

There is something that gets born inside when you write and execute this for
the first time:

10 PRINT "HELLO"

20 GOTO 10

RUN

My kid is 8 now and I plan to introduce her to an online C64 emulator and
BASIC. If it does not stick, there is nothing that Scratch will be able to do.
[https://floooh.github.io/tiny8bit/c64.html](https://floooh.github.io/tiny8bit/c64.html)

~~~
teekert
_If it does not stick, there is nothing that Scratch will be able to do._

Those are some pretty strong words. Did you do any research on this topic?

~~~
freediver
No, just intuitevely. Hard to imagine becoming a great cook by pointing and
clicking. Or a great pianist by pointing and clicking. A big part of what
makes us human is what continous practice does to our brains.

~~~
racl101
Have to agree with this. I find that Scratch removes the dangers and perils of
programming for any level, which, unfortunately, are the parts that you learn
the most from.

Think about when you began to code. You tried printing 'Hello World' and that
was good. Then you tried doing some more, and quickly ran into some trouble.
At this crucial point, is where you are bound to learn the most.
Troubleshooting is part and parcel of the experience. People need need to
experience those painful points to grow, even young programmers.

~~~
lubujackson
That is thinking like an adult, though. First, hook kids on the joy of
creating something interactive THEN they can develop the rigor to improve and
learn more so they can do more. But if they start by hunting for missing
semicolons they aren't going to want to bother continuing. Typing and syntax
aren't programming anyway, just the most common input method.

I started coding by copying BASIC programs out of magazine (the olden days)
and it was excruciating as a child limited by attention and focus. I never
really learned anything about why things worked or didn't until much older.
Slapping things together for fun and extending things to try new ideas seems
way more effective to me.

------
jasonkester
I've personally never been a fan of drag/drop puzzle-piece coding things like
Scratch for teaching programming to kids. It just seems like it's sending them
down this dead end path.

It took me a long time to find something better, and I've finally settled on
Pico-8. It's the perfect combination of a simplified language that you have to
actually type out in a stripped down editor, but with built in sprite and
sound-effect tools and game loop methods that you can use to quickly get up
and running with an actual 2d game.

It gets right to the heart of the great learning machines from the 80s (Apple
][, C64, TRS-80, Atari 400), but somehow fills in all the bits we've
nostalgically romanticized over that would have made those machines a bad
choice for kids today. Definitely check it out if you're thinking of getting
your kids into programming:

[https://www.lexaloffle.com/pico-8.php](https://www.lexaloffle.com/pico-8.php)

~~~
thrower123
QBasic's loss should be deeply mourned. Say what you will about it, it was
almost the perfect beginner's environment. Simple, english-like syntax, good
built-in documentation, support for graphics and sound right out of the box,
and an IDE with a debugger.

~~~
paulryanrogers
Got QBasic in the 90's from a parent and bounced right off. Klick'n Play
however consumed many hours. Or even batch files, if it meant I could get
those Origin Systems games to run.

------
pdm55
It's obvious from your comments that you are going about educating your kids
in the right way - a fun & interesting way that lets them explore. And the
interaction with you is probably what they like best about what you are doing.

For others looking for text-based programming for kids, there is SmallBasic
[https://smallbasic-publicwebsite.azurewebsites.net/](https://smallbasic-
publicwebsite.azurewebsites.net/)

And another blocky course is
[https://studio.code.org/s/express-2019](https://studio.code.org/s/express-2019)
(You can even toggle to show javascript.)

------
hmlwilliams
Thank you for posting this, I also volunteer in a local school running a Code
Club. I would be very much interested to know how you handle differences in
age group. I sometimes struggle as the group ranges in age from 4/5 yo to 11
yo. Finding suitable material that can be approachable for all is nigh on
impossible and being only one individual I do not have the capacity to have
multiple courses running in the same hour.

~~~
edtechdev
The main challenge is students who can't read yet vs. those who can. In an
after-school elementary school coding club I did a while back, I mainly used
[https://code.org/](https://code.org/)

If Scratch is too advanced for the youngest of kids, try ScratchJr:
[http://www.scratchjr.org/](http://www.scratchjr.org/)

The kids also really liked Lightbot. Unfortunately, the web version uses Flash
which means it won't run nowadays on most computers. There are apps though,
including a LightBotJr version for 4+.

Here's a google doc with several other elementary school coding & robotics
resources, although I haven't updated it in a while:
[https://docs.google.com/document/d/1r1b2CM1uTdST47IbWa7zlZYm...](https://docs.google.com/document/d/1r1b2CM1uTdST47IbWa7zlZYmbfoqrgYSeym2inUvnFo/edit)

------
ArtWomb
>>> with this individualization I was flabbergasted a few times

Don't be! Kids are digital natives. And given programming tools designed
specifically for K-12 they will produce useful programs. Operational
applications beyond mere Roblox zombie shooters to manage their increasingly
complex young lives ;)

I was working with AWS last summer with the goal of creating a cloud based IDE
for ChromeOS. And I feel the current barrier is programming languages and
paradigms as they exist today. Visual logic languages and blocks programming,
dating back to Turtle Graphics and the original Logo designs from 1967 by
Wally Feurzeig, Seymour Papert, and Cynthia Solomon have been used for
generations. But I could see the next evolution as being voice based. In the
era of Siri and Alexa, perhaps kids should be composing blocks as
parameterized tasks spoken in natural human langauge. This is a big
undertaking and more than I can handle at the moment, but I have been
experimenting with a Google Nest Mini, and even simple trivia games or joke
applications can amuse kids for hours. "Hey Google, what's the weather like on
Mars today" opens a portal to infinite curiosity and exploration about the
cosmos we live in.

The other era of promise I've seen is the engagement around simple physics
games and simulations. Think of the level design mode in 2D collision games
like "Crush the Castle" or "Angry Birds". With the amount of available energy
kids have they are able to build epic structures and take delight in watching
them fracture unpredictably.

Bottom line is these games and interfaces have to get much better. And that
requires targeted investment as well as vision

------
tmaly
I had a very similar experience last month teaching elementary kids Scratch.

I did a group activity building a few games. Then I challenged kids to create
there own versions. Some of the older elementary kids really did a great job
making their own games. They want me to come back in to teach more.

I have been working on an online course for kids on the side since Summer.
They definitely enjoy the creativity aspects.

------
OscarTheGrinch
Anyone know why Scratch lite is so limited on the iOS? My 2 year old has
nearly mastered all the features but I'm hesitant to let him loose on a
laptop.

~~~
CDSlice
With Scratch 3.0 you can run the full web based Scratch on any iOS device,
although I doubt it would be a good experience on anything other than an iPad.

------
brutt
Their postures are awful. They will have myopia and damaged spine soon.

