Ask HN: Please share your experience teaching your kids to program
My son recently turned 7yo and I have successfully got him interested in programming. We started about half a year ago playing Minecraft and building more and more complicated automated machines. Recently I have added some robots that can be programmed in Scratch and now we have also started writing some simple games in Scratch.
I am not just trying to teach him programming but also show that with a bit of organization and working little bit each day you can achieve pretty huge results. So we created a very simple version of a game. I have then created a document where we are maintaining a listing of functionality we want to add. We then take them one by one, discuss how it can be added to the game and then tick off once it is done.
For Christmas he asked for some programming books ("how to make complicated Minecraft machines, how to write complicated commands and how to make mods").
We plan to do some more complicated robots and also make our own fun mods for Minecraft (as soon as I figure out how to hook up Scratch to recent version of it).
I am trying to not spend too much time on any given day (about 1,5h every day currently) so that ends up still wanting to do more.
I am also doing large part of coding myself and we switch who sits by the editor when he says he knows how to do something. I am trying to keep him enthusiastic by showing constant progress which I think is more important than that he actually does everything by himself.
I have 20 years of development experience so generally programming is not an issue for me.
Please, share your experiences, things that you have tested with your kids that did or did not work. Any tips you have personally tested.
239 comments
[ 3.4 ms ] story [ 279 ms ] threadIt's worth emphasizing to your child the distinction between 'technology exposure' tutorials, and creative work as children tend to care more about making stuff and can find some tutorials a bit tedious. Luckily there are some high quality tutorials out there now, the mid-range and lower quality tutorials will just frustrate them.
Related to that, I would advise you to not let them enroll in any 'technology' classes in school as that will kill their interest since the educators will likely be underwhelming.
Also, at a certain age, if you give them too much attention for their interests they will stop pursuing it, so enjoy the next few years :)
YouTube is also a good resource for some things. We haven't found any good programming books yet although they did enjoy the 'Lauren Ipsum' book.
So I was pretty worried when he came asking to get him signed up for a robotics class (3h every Saturday for couple of months).
I already have some ideas how I want to introduce him to robotics but I am not going to intervene here. Just made sure he knows he can always come back and tell me he is no longer interested in the classes and we will just cut it.
As to creative work, I figured out already it is better if I do most of figuring out how to solve some problems (and let him solve just enough to not get bored with it) and he is spending time figuring out what kind of features we want in the games, for example.
We then discuss what is and what is not feasible and how things can be working and I still try to make sure he understands how the program works.
I know he understands at least some of it because he can take educated guesses at how to modify the program to change it to do what he wants.
This seems to be really fun for him so I plan for it to stay that way for some time.
At first my dad put me a bit on CodeAcademy [0] which taught me tons of basics but didn't really get me hooked.
What really got me into coding was by thinking of a way I could use it to build something related to my interests or that would be useful for me.
That seems to be what you're doing with the games by linking it to something he's interested in so that's nice.
It can really be anything though, and you should try to show him the enormous area of things he can do with coding.
In my case I wanted to do my english homework faster, so I tried building a very simplistic program that could find literary devices (metaphors, similes, alliteration) etc... in the literature texts I had to study.
Also you should make sure you don't force it and that the passion and interest comes from him, which seems to be the case with the way he asked for books about coding.
[0]: https://www.codecademy.com/
I pretty much figured out not forcing anything is rule #0 for this project. I would rather be showing how we can have even more fun using programming.
The scratch game we are working on has Minecraft graphics and sounds on it and some of the rules derived from Minecraft. Simple arcade game but suddenly much more interesting because it has Minecraft element to it.
And instead of trying to force him to solve the problems I give him about 2s before I suggest the answer to the problem. I would rather want to spend time showing he can think of anything he wants and we can make it work (well... most of time).
In between unity and codeacademy I tried a bunch of books but none of them really got me to understand what was happening so I didn't learn much from them.
So it's not totally odd for a 7 year old (or I was odd, which is quite possible).
Same here!
Getting started in programming seems so much more daunting these days.
Ok, I was also competing with my brother who was 10, but still: didn’t feel unusual at all.
My wife wishes my son wasn't so into gaming. I'm like, just push him to do gaming more, force him to game, then he will get into watercoloring.
PC games have been the gateway drug for a huge number of programmers.
I think it works in at least a few ways:
1. You discover the amazing power and value of computers, they're not just boring work devices.
2. You learn that other people made the games by writing code, and that anyone can do it if they want to.
3. You end up making your own games and/or get bored of games and want to see what else the computer can do that is also intersting.
God, so much this!
When my kid was 6 he had no attention span or desire to learn so I didn’t push it. Now he’s 9 and is asking questions.
I found that the best way to engage him is the old DOS game ZZT. It has a simple but complete OO language. And since you’re programming sprites, the notion of what an object is makes sense.
I taught myself OO with ZZT and I’m hopeful that it’ll click with him too.
Plus, it runs on the beat up laptop I let him use.
This was in 1991 or so, and the books were from 1978..... I had no idea even where to TYPE the stuff I was learning into. My dad’s friend came over and gave me Qbasic. 30 years later, I still love to code.
>As a counterpoint, I started programming on my own at 7 with no guidance.
To nitpick, that's not really a counterpoint. Parent comment already allowed for the possibility that OP's 7yr old is independently interested in programming. If a child develops that interest of their own volition, with no pressure or leading from the parents, then by all means support and cultivate it. It's only a problem when the parents try to force the child in that direction before the child has developed their own interest first.
https://www.gdcvault.com/gdmag
In the 90s I got an Amiga and discovered the demoscene (basically showing off as mentioned in another comment).
Fast forward another decade and bored at my parents after finishing Uni I dragged my Speccy out of storage and managed to get the Tim Follin music routine running! And found an assembler and did some Z80 assembler demo effects for the lulz.
As you said: good times.
In the end, I would rather be able to influence what my kids are using the screens for than introduce them to screens at a point in their life where I will have no say about what they are doing.
If my kid is interested in the former I would not stop them, because it's an effective tool to learn about thinking, just like other toys... but the later I'm essentially treating as soft drugs, they ain't using that shit until they are an adult.
Just like alcohol, I think there’s nothing unacceptably wrong with it in moderation.
“Moderation” is a cope used by addicts.
Internet and computers are a critical part of everyday's life and will probably grow even more in the future. Childrens should definitely have screens and learn how to use it safely and smartly.
When my parents limited my video-game and television time during my teenagerhood (because it "makes you idiot/violent/whatever") it made my life worse, not better. Not being able to talk about the last video-game, movie or event, I had no idea what people were talking about most of the time.
You are mistaken about that "recent" part. Parents have always wanted their kids to go to best schools and learn for well paying, prestige jobs. It's just that what is well paying has changed.
Why wouldn't I want my kids to be interested in something that will get them good start in life, that could be groundwork for their future careers ASSUMING it is fun for them and they are doing this out of their own volition?
That would teach them you can have fun doing science or technology rather than treating is as a necessary evil?
Parents haven't even always wanted their kids to go to school.
FTFY
I would justs try, not to put too much pressure on him (or you) to make progress with your project, when he wants to do other things. And in fact, don't forget to motivate him to do other things, like play outside with friends in the actual dirt. Or with you. That is very important for his motoric, social and immune skills, too. In general, just being a kid. With not too much responsibilities and just being able to play freely. 1.5 h of serious work and learning every day do sound a bit much, if that means, it is cut from the outside time with you.
You can also combine being outside with the project, by having pen and paper around to discuss and write things that come to mind ...
Oh - and of course: have you considered Lego Mindstorms? I had great success with it, teaching nephews the basic of robotics. With something they can touch. And the ability to work with their hands and minds, as this involves also designing of the chassis and the arragnement of sensors, etc. In general, LEGO is very accessible. So I would start with that, before turning into a more serious base of actual robots.
Got 51515 from Santa:)
And yesterday I completed the first part of my prototype "gaming couch" and made sure those of my kids who cared could see how I did it.
Or put another way, a skill or service being a vocation just means it's useful enough for enough people, so that society can support it functioning as a distinct job (or set of jobs). The more useful it is, the more demand there is for that job - but that also means the more useful it is to know the basics yourself. A random Joe or Jane doesn't really need to know how to x-ray stuff to find material defects, but they sure as hell will benefit from knowing how to wash their own clothes, fix their own faucets, balance their own books, ... and how to automate this and that in their use of computers.
Spreadsheets are great for maths, planning projects, tracking experiments/collecting data, ... which I'd also all attribute to things "STEM-ish kids" might do.
Spreadsheets are a great visual way of programming up to a certain point.
For an extreme example, Eve Online is a game that makes kids do feats in spreadsheets that set them up straight for careers in accounting and supply chain management.
But less extreme: if your game exposes numbers, spreadsheets are useful to play with them. If I knew more about Excel when I was 13, I'd probably retype unit stats from StarCraft into it and do the maths that I ended up doing in my head. Spreadsheets have plotting functions, which are a fun thing to play with. Also tracking my own magazines & CDs is something I remember doing as a kid - entirely doable in Excel, though in my case, this was my first exposure to Access and RDBMSes in general.
Also worth noting that a proper spreadsheet like Excel is in itself a functional reactive programming REPL. FRP is what you do when you play with formulas.
It's like when students learn MatLab. While much closer to regular software engineering than spreadsheets, it is still different enough for all the wrong basic concepts to sneak in and manifest. Switching to a classic programming language afterwards might actually be harder that way (not only learn all the new stuff, but unlearn/unlink the old stuff).
I don’t think this is something you can (or should, it’s basically the definition of parenting) avoid as a parent.
From John Carmack Twitter's feed, it sounds like his kid is well on his way to being a great programmer, which should surprise no one.
Some people grow up never knowing they have some inclinations and or talents.
My childhood had a ton of this stuff. I saw and did a lot! And peers who did not have that diversity sometimes found out later.
While it is good to eventually know, earlier is often, but not always better.
What I did was a balance. And given my son is in meth hell, am doing again with my granddaughter.
That balance was:
Take them through things I hope they have an interest in. I had some familiarity and real skill in many of these. I brought in other people where I felt I was not the right person.
Take them through some rando things! And frankly, I lived vicariously in this way. Very highly recommended. They may benefit and so may you! Sports was one area where I sucked as a kid, but was able to lean and excel with them as an adult. Neat! Major bonding and memories happen this way. It is kind of terrible sometimes too. (Hold that thought)
And finally, take them through things they are interested in, ask for.
Now, the terrible experiences?
All good, and here is why:
Regardless of how we want to shape our kids, they are their own person. Some are strong in all this. I was as a kid, and after major conflict with parents, I was very lucky to have others in my life who understood how people work.
Self discovery happens when we have experiences. How we respond, what piques our interest, latent talents, skills, understanding all present themselves during experiences.
Nobody knows who they are, until they have opportunity to respond and interact. The more diverse the body of opportunity is, the better of a look we have at who we are.
This all moved me as a young person, and as a parent too:
I see our job as making sure the basics get done. Competent, well rounded, civic minded, people. When the basics are there, one has all the tools needed to learn how to learn, get along with others, follow instructions and all that basic, important stuff.
And our job is to seek those diverse experiences, observe, discuss all that with kids and tease out the good stuff! Most importantly, nobody knows what that stuff actually is! Or maybe we do, to a degree, by inference or various signs. Fine. But I assure you it is nowhere near inclusive enough.
Some molding and shaping can and should happen, but some of the canvas gets filled in and we can either weave that into the potential person we are raising, or bodge over it, hoping it all works out.
Where they are aware, crave things, themselves looking to contribute to maximizing who they are, parents may see themselves shut out, less relevant when their expectations and efforts do not align well with who their kids are.
And in some ways, the die is cast. In other ways it takes shape, and we can plant seeds, and have some influence.
My 0.2 having raised very different kids.
Good luck. At a minimum, give a shit, respect who they are, try hard to get them through to quality adults and it is hard to go wrong. Just know, despite your efforts, they may be very different people than you may expect or hope for.
Celebrate that. People are amazing. Try to amplify the good.
When I was 8 years old, my dad offered to buy me a go-kart. I think he was concerned I spent too much time indoors, and wanted surprise me with an exciting idea. I knew that my dad didn't have a lot of money, and I also knew he'd be angry if he bought the go-kart and I never used it, so I lied and said I didn't want one.
My point is that there's often more going on inside children's brains than we realize, even at a young age. The kid could be asking for that present because he thinks it will make his father happy, for example. Just something to think about.
So as long as one isn't forcing a skill exclusively, and isn't resentful when the skill doesn't stick, I'd say this is a wise approach.
Similarly I have American friends that speak a 2nd language because their parents forced them to go to language school on the weekends. As kids they hated not being able to go play on Saturdays like their friends but as adults the love speaking the 2nd language. Conversely I have a friend who's parents sent him to language school but around 11 or 12yrs old he complained enough they let him stop. He still regrets it to this day.
I have no clue where the balance is but I don't believe it's 100% only do it if the kids want to side of the meter.
Now he has finally given up on his rock star dreams and working in his career but he is far behind his peers. His family struggles financially right now. He wishes that he was never into music and was focused on more productive stuff. He thinks his parents wanted him to play an instrument because they wanted him to impress their friends.
So the lesson is children will find any excuse to complain about their parents.
Why do most adults know how to read and do basic math? Because we consider these to the important enough to teach them to children whether they are interested or not. Obviously the thing that differentiates good teachers from bad is the ability to make learning interesting. So in the case of reading, we have books specially written for children of all ages.
Programming is a much younger subject than reading, and it's changed a lot in the last few decades. I am happy to provide my kids with the tools I had available, but honestly I never got good enough at BASIC to build anything useful and LOGO was fun but again, useless. Scratch and other modern kid-focused languages are much better for the job.
To go with your calculus example, we don't teach 11 year olds calculus, but we do teach them things that they will need to know later in order to do calculus. We expect them to practice those skills again and again until they are easy.
You expose your kids to things, and hope they'll like some of them. That's just how it works. You just have to hope that they end up liking some of those things you've exposed them to, or at least gaining enough from them that was worthwhile. I know I got dropped off at soccer class plenty of times, even though I fucking hate soccer
The brain evolves really quickly at that age, at 7 you're still trying to learn not to eat that dog poop you found in your garden.
another thing that my 8 year old is really into that surprised me is networks. Explaining how networks work and how he can start a minecraft server for him and his brother to play but his school friends can't because of the "firewall" has him on the edge of his seat hah.
edit: i want to add that i don't bother with explaining programming concepts like object-oriented design or algorithms just very simple cause/effect. Then to simple if condition effect. I get excited and end up overcommunicating and then boring my kids, it's like trying to start a carbureted engine without flooding it. You have to do give them just enough info to get started and hope it catches.
Fun memories. Networks are cool.
Not that it really matters that much, but just for future reference: Lua is a proper noun, not an acronym.
That's an important mantra, I think. If you cast the net wide enough, you'll find something they like, and want to follow... but it might not be programming.
I've been running volunteer computer clubs at schools my daughters attend, pre-covid anyway. I've also run a summer immersion program for basic software design principles using the Scratch language for Girls Who Code. We've played with Adafruit Circuit Playground dev boards, written a "choose your own adventure" engine with Python, and added pixel graphics to some simple Javascript games, where the kids drew animation frames in a barely functional editor I wrote.
The first thing I'd call out is that 7 is really young. 5th grade is the point where kids can start to "get it" beyond basic maze problem solving things (e.g., code.org's Minecraft puzzle - hop Alex around the creeper and into the house). Since you're a dev, and he's enthused about it already, he can probably flex those muscles a little early.
Beyond age, the complexity of what you're doing matters a lot. Kids want to see something get on the screen right away, and they want to make a code change that changes what it does. Building a program from scratch is a chore, and something as simple to us as nested if statements will throw them for a loop.
The most success I had was building a simple program without them, and letting them experiment with changing values. That may sound like cheating, but it gets the gears turning, and before too long they're able to follow along with making a broader logic change, and soon enough even following along with you adding a new feature.
I was in a classroom setting with a bunch of kids, and they tended to like being in small groups and comparing notes, or play each others games.
Sideways thinking is important. For example, the main draw of Circuit Playground is making the LEDs do things, but they also have an accelerometer. A good exercise was figuring out how to read the tilt position, and figure out which light was lowest, and light up just that one. Instant fidget spinner. Building on that, I threw them for a loop by using the same principle where the tilt was input to a computer program. Suddenly the thing they were programming before to flash lights was now a game controller.
Keep it fun, let him screw around too long on things he builds instead of learning software engineering at an "acceptable" rate. He can learn fast, but complexity will probably be a struggle, so growing slowly is just fine. Encourage him to explore concepts from different angles.
Hope that helps.
We stopped with that robot after couple of sessions when he was able to program some functionality up to my specification. For example, there was no sensor that would say the arm was closed, so to preserve the worm drive I asked him to change all places in program where the arm is getting opened to instead close it first and then open for an exact amount of time so that it does not hit the limit, which he was able to do on the first try, which gave me confidence he more or less understands what the idea is.
Now, the games we do are getting a little bit complex (a lot of messages flying around), so what I do is basically write most of the code and shape the structure of the program and figure how do to some stuff so he doesn't get lost managing complexity. I make sure he understands what the things are doing and he modifies whatever he wants (and then we discuss what happened or how he can get what he wants).
I am now unsure whether I want to stick to some more complex projects or whether it is better to have more small but wide variety ones. For now what I plan to do is to throw a bunch of ideas and see which ones he is most excited about.
My kid is 7. He can't really code alone, but he can do nontrivial modifications to Scratch programs based on trial and error, he can create very simple but visually interesting p5js apps like this: https://editor.p5js.org/skinner/sketches/xjUwFm1pF , and he enjoys a lot being the product designer when we create more complex p5js apps like this: https://editor.p5js.org/skinner/sketches/bPh8JRHrV .
I basically let her follow her own path, I show her how I do something then if she’s keen to try it I stick her in front of the keyboard and she does it herself with me verbally guiding (but never reaching over to take control, something I personally think is important).
She loves hanging out in my workshop and watching me prototype electronics or work on my own game dev or tinker on other hardware/software projects, and she knows at any time she can have a go (and she does, regularly).
I am pretty interested in the modding Minecraft with Scratch part. I have found some abandoned projects. Can you point me to what you have used that worked for you?
Happy it worked for your girl and little scared she started at 5. I have two boys, one is 7 and the other is 4. The younger one is inseparable from the older so I wonder how it is going to be different for him.
I have been thinking about who gets to actually program. For now I am happy that mixed routine where we regularly switch works for him (he seems to be happy and engaged) and so I think I will continue this way for some time before I experiment with it.
I see that the best results we got were when he actually himself figured some stuff and made it by himself. His first machine -- ugly chest to destroy unnecessary items with a noisy clock that runs constantly whether there are items or not -- is still occupying middle of main room of our hobbit hole but I don't think I will touch it, because he was so happy when he got it to work.
My general rule with all this stuff is just to expose them to as many things as possible and if they show ANY hint of interest in something then give them support and unlimited resources towards exploring that topic. Even if it means I’m staying up all night learning some new sport/software/etc so I can give them a solid go at it.
This is what my dad did with me and I’ve grown to appreciate how instrumental that was in me finding my passions early and building both a career I love + passionate hobbies from it.
So my advice: Help him to understand that when an answer to a problem is not visible, it doesn't mean he's dumb, etc. It means he doesn't have the right puzzle piece of information, and needs to find it first. (i.e. a formula, code block, etc.) Be ok with not knowing the answer, and be ok that he will need to learn in order to apply knowledge (like puzzle pieces) to the problem.
Start with the simple stuff: https://microbit.org/projects/make-it-code-it/
I find games in scratch are complex and require too much programming knowledge to really get something interesting up and running. The micro:bit on the other hand can do interesting lights, sounds, etc with just the drag and drop of a few lines.
I had plans to make some kind of board with STM32 that could be programmed with Scratch but maybe I will put that project off and use micro:bit instead.
Talk to them often about code, technology etc.One thing that helped IMHO spending a lot of time in solving math problems (AOPS) , which made think through hard problems and had to grind through solutions which took time. My kids love Big Bang Theory and anything that is geeky. I talk to them about the latest things that are happening in tech like the recent hack and the malware.
I recently read this book https://www.amazon.com/But-How-Know-Principles-Computers-ebo... and sat and drew with my kids and,or , xor and nand gates.Building Mindcraft MOD can be another fun project.
Be patient and it helps a lot IMO.
Good luck :)
We took a little detour at one point and I taught her basic skills to navigate around Linux terminal. Files, directories, editors, basic operational stuff.
Then I took another little detour and showed her ropes on git and github.
Then we got back to the python course and now I encouraged her to push everything she practices on her github account which she has been doing since.
Now that the course is over, we have started working on a project that aims to manage personal income tax. I chose that project because it could start simple and can evolve to be as complex as you want it to be. However, ultimately it is all simple arithmetic. The project is going very well so far. We are discovering new things about taxation almost every single day.
We are at a stage where learning vim would really help her so we plan to take another detour next week and start with a vim tutorial until she gets comfortable.
[1] https://help.uis.cam.ac.uk/service/support/training/download...
On the other hand, pretty much everyone I know wishes they had learned more about how taxes work in high school beyond the very high-level concepts of progressive taxes....
He didn't seem to take much more interest in programming after mastering that, but he did eventually take interest in chess. The reason is that we borrowed a bunch of chess books from the library and he would go read them whenever he was bored, and he would play with his grandpa to try to apply the tricks he was reading about. Point being that having self-study and tight feedback loops seem to help in acquiring proficiency in a skill.
Personally, after the most beginner level, I'd start to move away from using game development as a motivator for learning programming simply because after some threshold, the math requirements ramp up substantially (e.g. implementing jumping in a side-scroller requires middle school level math at a very bare minimum). In my own journey, I've found that web development (using only the most vanilla subset of technologies) was a relatively gentle way to get into programming. The syntax is relatively forgiving, the building blocks are high level enough to allow easy creation of interesting interactive things, the built-in tooling in browsers nowadays are amazing and the tight feedback loop is there.
YMMV
And even though I prefer it over Python as a language, I had disastrous results teaching Javascript to 12-14 year-olds for light browser games. My intent was to bring kids with signs of early stage addiction to mobiles "onto the other side", by looking at games professionally and with creativity (as much as I could, anyway). Turned out fiddling with async and rAF is really a bad fit for learning basics.
You can't quite hook up Scratch itself to Minecraft (not that I know of, at least), but if you want to use Minecraft as a backbone for this kind of education, you might be interested in Pneumaticcraft, which includes little programmable drones that are programmed using a simple mockup of scratch (https://www.curseforge.com/minecraft/mc-mods/pneumaticcraft-...) or ComputerCraft, which tries to emulate shell scripting and lua in particular (https://www.curseforge.com/minecraft/mc-mods/cc-tweaked). In the future, if you wanted to teach him Java, you could have him develop mods himself through the Spigot, Forge, or Fabric modding APIs.
I like the idea of Pneumaticcraft. He already knows absolutely everything about Minecraft (can tell the version the map was generated in by looking at it). One Christmas wish was for Santa to help Mojang release 1.17 faster... So I am pretty confident he would like to be able to have some new game mechanics to play with.
Then we started "programming each other" by telling each other where to go, and I introduced doing multiple steps at once (like "step forward 5 times").
My goal wasn't literally to teach her to program, but just to introduce that way of thinking, which is pretty different from how we normally think in day-to-day life.
She was excited about it, so I got her the Osmo programming kit for iPad. You program a little monster walking around, using physical, scratch-style code blocks. She's been excited about programming the monster every day, and is able to (sometimes) do some short programs of a couple blocks.
If she learns a bit more, my plan is to show her how to program a simple lego robot with scratch, like one that spins a flag when it sees something pink. I love that idea because with 2 lines of code you can make something really happen in the world, plus she'll be able to come up with new ideas for the robot on her own, and learn about the constraints, sensors, and eventually more basic programming logic.
Sorry the vid is in Polish but I think you can get the idea.
It is a talking robot that does "missions" where you have to program it to go forward, backward or turn, take objects from the map, etc.
The robot you linked looks great, with the addition of the missions. But I'm not sure whether it's available in the US, so I ordered this one instead: https://www.amazon.com/Fisher-Price-Code-n-Learn-Kinderbot/d...
- Exact instructions challenge (from YouTube)
- LightBot app on Android
- Scratch with Harvey Mudd College's course on edX
Snap! has some nice features but the community aspects of Scratch are so much better that she's happy building games there.
Same as you, our goal was not to "learn programming", but just to have fun making things move with your ideas. Just creating rather than passively consuming something.
Because this "coding for kids" mania seems to have gone overboard, I collected links to all the resources I used in the form of a "syllabus" here: https://learnawesome.org/items/1c96e03a-ffff-4579-b69a-0387b...
I ask my kids to say a number, and then I do something to that number and tell them the answer.
Their job is to figure out the calculation I do.
Examples:
- I add a number: they say 3, I say 8. They say 11, I say 16
- I multiply a number.
- I multiply by something and add something else.
- etc
If you want to drive them nuts you can count the letters of the number, i.e. four = f o u r = 4, five = f i v e = also 4, ten = t e n = 3 etc :-D
(I might have gotten the idea from HN, but the above is how I taught it.)
The aim of the game was to figure out the rule. She said no to 'novel' and 'money', but yes to 'book' and 'currency'.
However to add my 2c to the conversation how I introduced programming to my cousins and niblings was through baking! A recipe is just a program for a delicious outcome which helps a bit with motivation while also learning a related skill.
[1] https://www.cinqmarsmedia.com/devilscalculator/
It's actually pretty fun, even for grown-up coders ;)
I have three kids and none of them are interested in programming.
It's fine to support and encourage something your kids are interested in, and to give them opportunities to try things and discover those interests. But be careful you're not pushing them into something just because you like it. Your kids are independent human beings and may be interested in very different things than you are, or than their siblings are.
Mostly helpful was that I had a 386, QBASIC and GORILLA.BAS, but not much else. No games and no internet
But I don't think that's a good goal for today's world.
There is absolutely no way books are going to compete with shining rectangles so one must find a way to integrate new technology to get kids hooked on something more productive.
Son also recently bought with his own money a Arduino starter kid off amazon. You can get an arduino, LCD, servo, LEDs, etc. for 30-40$. We've taken it a step at a time and go through various concepts, etc. For example, I talked to him about 'rubber duck debugging' (ie explain the program to a rubber duck or plus toy line by line), semicolons, code blocks, etc. This has been great for learning real C and tinkering with electronics.
I plan to start them on basic web stuff on glitch.me sometime. That should let them build simple websites etc. for free.
[1] https://www.wiley.com/en-us/Adventures+in+Minecraft%2C+2nd+E...
As a mentor; unless the kid wants to go, please don't come :)
So many uninterested kids from helicopter parents. Kids as young as 6 just absolutely clueless and learning nothing.
If you want your kid to program, just buy them an actual computer system with files and a terminal, not some ipad shit, and let them at it. If they code they code. If they don't, you can try teaching them when they're like 13-14 and actually have a bit of brain wattage to back up what you're throwing at them.
This so much. There is no quicker way to turn them off of it permanently whereas they might just not be ready to come to it yet.
Alternatively, wait for the kid to be hungry for a snack then have her program an Arduino controlled can opener to open a can of beans. /s
Then and now, I'm glad I focused on the ones that cared. The investment in them and subsequent payoff for them is extremely valuable. With the others, it wasn't even clear if you were doing more harm than good.
I was probably more cutthroat than most because I was the only mentor who showed up week after week, so I had to have strong boundaries.
My kid we played with scratch for a bit and she had fun making some games but it fizzled out after a few weeks. No real love. I gave up. Maybe I'll try again in a few years.
There are coding classes and they're all very popular but to me it seems pushy parents signing up their children, none of them seem to enjoy it.
My daughter is really into Minecraft and has learned that there are mods out there. So, now there is something she actually wants to be able to DO. That's a big part of what drives programming motivation for kids.
I never finished my mod, but I spent 2 years learning C++, Photoshop, 3DS Max, Worldcraft, and all manner of other tools on the way. It was great exposure and it never felt tedious because my goal wasn't learning how to program, it was learning how to make a homing missile, or a texture for my fort. :)
I wasn't really interested, at the time, in learning how to write a simple bank that could process transactions, or a task list.