Last Sunday my son had to prepare for a Math test in primary school. We spent the week asking him the Ein-mal-Eins ( the multiplication tables) and that morning, while I took some time off any screen and was reading a book, I noticed that my wife spent lots of time to write on a couple of sheets of paper tens of math questions.
Since my son was playing out with Scratch (he got a Scratch programming book for Xmas and he likes it a lot), I had an idea.
Why not combine the two things? Why not save our precious time and be more efficient, have him learn the multiplication tables and learn / play programming at the same time?
Let´s build a very simple Math game with Scratch together!
Of course, it´s a very very simple game:
just the character asking random Math operations and making yeah or boo sounds when you enter the results and jumping forwards or backward until you reach the end of the screen and win or lose.
but both my kids had lots of fun implementing all the features and it was very interesting to see how they approach the typical coding workflow and share with them some of the joys and pains of our job.
Expectations vs Reality
In the beginning, they had very high expectations of what they wanted to achieve, but you have to start small and proceed with small iterations.
You can´t immediately have a flying cat with smooth animations and sparkling explosions while a clock is ticking and randomize math tables with increasing difficulties!
You have to think at the basic functionality, implement it then improve it and add more details and features:
We already built some other small projects, but I found this more challenging and fun to do with them because they could be introduced with lots of concepts:
- timers
- loops
- concatenating string
- randomize the values to be used in the multiplication questions
- organizing the code to avoid duplication
- broadcasting messages
While programming it was amazing to see their determination, their creativity - after the basic implementation (just asking a question ´check the result and respond with a sound/jump) they immediately wanted to add a ticking sound and a countdown, an Entry and Game Over screen, etc, how they were disappointed when they found bugs and did not want to leave the computer to have dinner until they smashed that bug.
( Actually they did not want to stop at all, wanting more and more details. At some point, I had to tell them laughing that that was just a prototype, an MVP - Minimum Viable Product and that if they want, they can start writing down ideas, and implement them one by one in the future.)
And the look on the face of my little one realizing that the computer can do the Math! was priceless.
In the end, we had lots of fun and they learn a lot, both for programming and math, and the next day my kid showed it to his teacher that was very impressed... and invited me to hold a workshop for the entire class.
I will be 25 kids, in german... quite scary. but I am definitely thinking about it.
Photo by Chris Liverani on Unsplash
Oldest comments (50)
fantastic !
#wishidthoughtofthat
wow
#sharingthislink
Awesome idea, whish you the best for the workshop!
thanx! will definitely blog about that experience
How do you start with scratch for kids? Any resources/ideas? Some pointersbwould help..
scratch.mit.edu/projects/editor/?t... Scratches website is chalk full of resources. They have tutorials. The tutorials are interactive and kid friendly. And they provide a resource page for parents scratch.mit.edu/parents/
yes there are plenty of resources available.
scratch editor is fully localized ( my kids constantly switch between italian and german, and when they are following the tutorials they switch to english so they can find the proper commands/blocks).
The forum is also very well made, and when we get stuck i just google for my problem and most of the time I find the answer with the images of the blocks required to achieve it.
The cool thing is that many project are open, so you can always look at the source code, and fork it.
Besides playing around with online resources, we also got a couple of books at the public library. With those my kids are completely independent and can build small games just reproducing the steps - when we do that together is more play around, experiment and try to reason about the problems and possible solutions.
There is a great (english) book for making StarWars games with Scratch. amazon.co.uk/Star-Coding-Projects-...
wow. my kids will love that!
It doesn't come with the graphics assets, unfortunately. Which leads to disappointment quickly. I've been looking for scans online, but I haven't found any good ones. You will have to get good at pixel art yourself, which I have not.
But it's still good for ideas
Awesome Blog Davide!
thanx!
This is a fantastic story and idea to do with my kid!
This is great. I was just discussing with my wife creating a multiplication table tool for my son. This seems more fun.
it is a lot!
Can't wait to have a kid for those moments!
I want to do the same when I gonna have children!
Super cool!
Congrats! Introducing children to informatics is not that easy :)
it depends, computer science or coding syntax probably. but scratch is very easy, with those logical building blocs.
As long as they can read they can start building things. And it is just a matter of reducing a "problem" to a small thing/ step.
Only 3 years to go... I can't wait to get started.
be prepared. I guess I have to buy another computer. Now it´s hard to find a minute when they are not sitting playing with scratch :-)
A new computer, no no, that's an opportunity, build one together or make a raspberry pi machine embedded in a cute enclosure 🤷♂️
I wonder if I can compile scratch to Wasm 👨🔬
Raspberry pi is definitely on my list.
I really like this Story. Glad you are teaching your kids valuable things and not just letting them watch YouTube to have them be quiet. Thank you.
Thanx for the appreciation
This is so cool. When I was about 10 that's also what I coded with my dad, in VisualBasic at the time.
20 years later here I am, looks like it was a good thing to start with :)
Fun fact though. It taught me programming but not multiplication tables. Those I still don't know.
:-) why learn them if we can build software to do the heavy weight...
My math teacher always said „You don’t carry a calculator with you all the time.“
Well, it was the mid-80s and 90s before mobile phones were common and way pre iPhone.
I guess math teachers still keep on saying that. :-)
True, but my year nine math teacher said "one day, you probably will have a computer in your pocket which can answer any question. You still need to understand the answer so you can spot if you hit the multiply key when you should have pressed plus. You at least have to have some idea of the answer, not blindly accept a wrong one just because that's what the machine calculated". Best advice that year.
that´s the same for us googling answers in the internets. you can´t copy paste code blindly, you must understand what you read and understand if that could be the right solution or make things worse..
I've made app for my girlfriend's daughter in the past. It's not scratch, but gDevelop. Browser, Windows and Android is supported: matematika.jaroslavjanik.cz/englis...
Nice!!