Readit News logoReadit News
Posted by u/lmilcin 5 years ago
Ask HN: Please share your experience teaching your kids to program
Hi HN!

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.

markc · 5 years ago
Didn't work:

  - BASIC, Ruby, Python, Java setups + intros, tutorials.
  - LEGO Mindstorms
  - Scratch, Squeak
  - Coding classes / camps
Note that I "made these things "available" but never pushed. I'd set up the environment, show him to to edit and run the code, and pointed him to tutorials. After some time went by I'd show him the next thing. Rinse and repeat.

Worked:

A Texas Instruments programmable calculator. He read the manual, played with it a bit, then found out he could automate some of his homework. Then found out he could make simple games. Then fairly impressive games.

After that, he did a bunch of Minecraft programming and loved it.

Fast forward a decade and he smokes through Advent of Code without breaking a sweat, and is a co-founder and CTO.

I.e. all my efforts to pique interest didn't have any effect that I could see. He had to find his own way to it.

Mayzie · 5 years ago
> Worked:

> A Texas Instruments programmable calculator. He read the manual, played with it a bit, then found out he could automate some of his homework. Then found out he could make simple games. Then fairly impressive games.

That's pretty much how I got into programming, except rather than homework it was coding automation for a very repetitive video game I was playing at the time. Although in terms of time spent, it was a net loss as I spent more time combined programming and playing as opposed to just playing, but there was a significant net profit in terms of skills I learned which has had a far more practical and positive benefit to the real world as opposed to if I just played the video game all the time :)

rapnie · 5 years ago
TI99-4A long time ago. Programming a textual adventure game in Basic with my father (complete with matrix printer code printouts to make notes on). About a highrise appartment block with one unknown inhabitant being a murderer. Started with a crime scene. As player you had to find the murderer by walking around, talking to residents. You might talk to the wrong person and get killed yourself.

It was the combination of the game being thrilling and exciting, combined with the notion that you could make it ever better. Adding objects, people, discussions to be had, intrige, distracting side-plots.

My father had the lead in this, and in the evening he added stuff and surprises, that I could discover during the day, and then build further upon.

Also I think the fact that is was text-only rather than graphical helped keep interest, where my child's fantasy filled in the imagery (we went to graphical, Donkey Kong like games, later on. A different exercise, started when my interest in programming had firmly taken root. With graphical games you work on abstractions that aren't needed in text-based games and may be less easy/appealing for kids to take the effort to grasp).

mywittyname · 5 years ago
> A Texas Instruments programmable calculator. He read the manual, played with it a bit, then found out he could automate some of his homework. Then found out he could make simple games. Then fairly impressive games.

Some thing never change. This is literally how I started programming too. "Hey, I can automate my homework" -> "Wait, I can write a program to play poker with all the time I saved by not doing homework."

mvolfik · 5 years ago
Wait what you guys actually save time by automating things?
jacobkg · 5 years ago
Same here. Twenty years ago my dad gave me a TI-85 and told me I could program it. I remember being stuck for a while until I learned that “string” meant text. The first game I built was hangman, using “split mode” where you could show half the screen as a graph and half as text
INTPenis · 5 years ago
I don't know the full story but this kinda lines up with what I wanted to say about the topic.

My GFs kid was not at all interested in what I did, until it could relate to her friends at school.

Apparently some of the boys at school had used Devtools to modify a class website and add dirty words or whatever it is they do.

So I showed her at home how to go into Devtools and change the appearance of the teaching portal they had. That really captivated her because it was something she could show off to her friends.

Same with the calculator. I remember kids having those at school and programming them when I was young. It was something you could actually bring to school and show off, it was something relevant to all kids because they all had to get one.

Another modern suggestion would be mobile app dev.

TeMPOraL · 5 years ago
> until it could relate to her friends at school.

Perhaps that's the key for making something stick, beyond "immediate practical applications".

I learned programming as a kid because I played videogames, and started dreaming about making my own. But at the same time, I also had people I could talk to about it! At age 10, my cousin and I were constantly discussing how to make StarCraft and Fallout better. At age 13, when I first picked a C++ book (after prior failed attempts of other people to expose me to Basic, Pascal and VB) with intent to learn gamedev, I had a friend at school who decided to learn C++ as well. Over the year, we've managed to drag a third person into learning to code, and another one as a spectator to what turned into years of trying to one-up each other in doing shit in OpenGL.

And then I got on-line and discovered a local gamedev community, where again, I could participate in mutual showing-off.

Point being, as I re-evaluate my early years of coding, I notice I always had someone to talk to who could relate, or at least be impressed (real!impressed, not fake "I don't understand or care about any of this but go you!" parent!impressed). Looking at all these stories here about programming to automate homework - which presumably also impressed classmates - I'm starting to wonder if this isn't a necessary condition for a kid to get into programming.

FourthProtocol · 5 years ago
First, respect for taking the time to teach her. Second, I have difficulty writing this exctly because of the last sentence, will do so anyway -

I taught myself to program in 1984, two years before finishing high school. That and being on the chess team pretty much killed my social life and any chance at carnal activities until I turned 21 (high school was followed by compulsory consription for 2 years). I struggled with that.

Today I note that impressing friends and strangers has become very big business. Influencers. Looked at one this morning on Instagram. This dude had muscles, gave thed impression of owning a Bently, a curvy girlfriend and a house in Majorca. No clue as to how he eant a living or obtained that wealth. Assuming those material posessions are his.

These things are the antithesis of what I went through, even though today I have the means to aquire everything from the Bently to the large-breatsed blonde in a house on the Costa Del Sol.

And yet that prospect fills me with dread because it's vacuous. There's no meaning or value behind it. Same goes for teaching someone something for the purpose of becoming popular or impressing others. Seriously please don't take this as criticism. ANY time spent with kids is time well spent.

I guess where I'm going with all of this is that I hope to teach my 8y/o boy to seek out meaningful, rewarding relationships and experiences that build him up. Without a need for others' approval. And I have vague ideas how I might do that but in a practical sense I'm at a loss and that scares me. And I would LOVE to teach him how to program but so far I've made no progress.

Part of being a dad I guess. Happily I've discovered that if I want a thing enough I find a way. Patience...

avmich · 5 years ago
Deserves Kevin Mitnick's medal. We likely should think hard about creating good opportunities to rebellious learning of computers at schools.
seibelj · 5 years ago
I taught myself to program on a Ti83 because I wanted to cheat on math tests by creating programs to do the formulas and calculations in trig and calculus. However by learning them enough to write a program to automate it, I was actually doing a form of applied-studying and learned them so well I didn't need the programs!
holografix · 5 years ago
Very simple: first you showed him a complex, abstract, adult world boring thing.

Then he found out how to apply code to immediately impact his real life. Code became _useful_ and _fun_.

Aim for immediate practical application.

markc · 5 years ago
I think this nails it.
jeffnappi · 5 years ago
How do you attribute failure to the early introductions? Perhaps they didn't stick at the time, but they likely laid a solid foundation :)
markc · 5 years ago
I think there was a giant gap between expectations and reality. He wanted to program so he could make video games, but learning to program starts out text-based. The gulf between learning to code and learning to make video games like the ones he enjoyed is overwhelming.

I think the calculator eliminated that dissonance between expectation and possibility.

compscistd · 5 years ago
A classmate of mine in HS always played with his TI in class and I had a similar calculator (TI-84 plus silver edition). I asked him what he was doing and he introduced me to basic logical operators to make math class easier. That’s how it all began for me.

Will, if you’re reading this, I owe you my career!

fatnoah · 5 years ago
>I.e. all my efforts to pique interest didn't have any effect that I could see. He had to find his own way to it.

All of my attempts to interest my now 13 year old have met with similar indifference. He's genuinely impressed with the work I do, but is much more interested in being a streamer. Oh well.

jugg1es · 5 years ago
I also started programming using my calculator. I would write programs that fed me equations I needed to memorize via a menu system but by the time I programmed it, I had already memorized it and never needed to use it.
colinmhayes · 5 years ago
Your kid is 7. I'm pretty sure hat I was eating dirt when I was 7. If he has showed you he's interested in programming then go ahead, but make sure you're not projecting your own interests onto your kid. It'll lead to resentment in 7 or 8 years.
dave_sid · 5 years ago
I agree completely. I don’t understand the recent trend to believe that we need to get kids into software engineering as soon as they pop out of the birth canal. My friend is an accountant. If he asked me for advice on how to make spreadsheets more fun for his kid I’d think he had something against his kid. In the words of Pink Floyd “Hey! Nerds! Leave them kids alone!”
lmilcin · 5 years ago
> I don’t understand the recent trend

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?

jonfromsf · 5 years ago
My kids LOVE making spreadsheets. They use it to track points in various competitions and games and stuff like that. The script is actually a good entry point into programming too (simple stuff like SUM and AVERAGE, and constants like $A$1 or whatever).
sharker8 · 5 years ago
Actually making accounting fun for kids is also a good idea and should be encouraged.
sharadov · 5 years ago
Yeah bullshit programming classes https://www.whitehatjr.com/, where they promise that your kid will become the next Gates/Zuck. Have your kids go outside, let them indulge in free play, explore. We're destroying a generation with this nonsense
gfaure · 5 years ago
To be fair, software engineering connects better to the interests of STEM-ish kids (video games, robotics, electronics) than spreadsheets ever could.
rorykoehler · 5 years ago
We do it with maths and languages. Why not programming? It is just another tool exactly like math and language.
jedberg · 5 years ago
As a counterpoint, I started programming on my own at 7 with no guidance. Mainly because my IBM PC booted into a BASIC window if you didn't put the DOS disk in. I asked my mom to get my some magazines from the library so I could copy the games in them.

So it's not totally odd for a 7 year old (or I was odd, which is quite possible).

SkyMarshal · 5 years ago
>If he has showed you he's interested in programming then go ahead,

>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.

staunch · 5 years ago
The 7 yo's interest here were the games though, not so much the programming, right?

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.

biztos · 5 years ago
I also started about that age. At least in the 70’s I think it was a normal age to expose kids to computers if the family was so inclined, and back then Programming was the only thing you could do with such a gadget so that’s what we did.

Ok, I was also competing with my brother who was 10, but still: didn’t feel unusual at all.

michaelrpeskin · 5 years ago
Yeah. I did the same thing. I started hacking on the TRS-80 when I was 6 and IBM PC BASIC a couple of years later. Mainly because it was “just there” when you turned the computer on.

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.

cortesoft · 5 years ago
Same for me... 2nd grade, a colleague of my dad saw I liked playing on the computer and gave me some old BASIC programming books. I distinctly remember reading about PRINT and running to my mom and dad to tell them I could make the computer output something.

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.

tobinfricke · 5 years ago
> I started programming on my own at 7... Mainly because my IBM PC booted into a BASIC window if

Same here!

Getting started in programming seems so much more daunting these days.

colinmhayes · 5 years ago
I started coding when I was 12, which itself was strange. I attended a top 10 engineering program and around half of the cs students came in with 0 programming experience. There's no rush. Let kids be kids, if they want to code great, just don't force it. And don't be upset when they burn out after 1.5 hours of extra work a day.
overcast · 5 years ago
That's not a counterpoint, that's just reinforcing their point. It's a good idea to open up a child to as many early experiences as possible, but don't project your interests on them. They'll find out what they like on their own.
j2bax · 5 years ago
Can you expand some on copying games from magazines?
gfxgirl · 5 years ago
I am not a parent but I am a product of parents. I have friends that were pushed to learn a musical instrument. They hated being pushed as a kid but as an adult they are so happy to have been pushed. My father was a musician but his POV was unless I showed an interest he didn't push. I'm jealous of those who got pushed.

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.

gairhgfqiu · 5 years ago
Another data point, one of my friend plays guitar, was part of a few bands. He was pushed by his parents to learn an instrument. He has complained multiple times about what a waste guitar playing been. He has spent his twenties chasing dream of making it as musician.

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.

jgwil2 · 5 years ago
1.5 hours a day seems like an immense amount of time for that age, but if the kid is pushing for it, good for them both.
TeMPOraL · 5 years ago
Kids have a different relationship with time. As a kid who was intrinsically interested in programming, 1.5 hours was a joke and a non-starter. I didn't really feel comfortable doing any coding until I could secure 2-3 hours of time for it, and I would easily spend 8+ hours on the rare days when my parents were otherwise engaged and didn't call me away to do other things.
sjg007 · 5 years ago
My 7 years olds will spend 1.5 hours minimum playing roblox and minecraft. So... I think designing and building a game with them is a great idea!
ransom1538 · 5 years ago
Meh. My kid will leave the house able to program at the pro level. If they resentment me and open a bar more power to them. If the bar fails and they need to program to make ends meet - great. If I was a plumber, my kids would leave my house a certified plumber. If they want to be a lawyer instead - more power to them. Either way my kids leave with a skill.
ransom1538 · 5 years ago
What ever you do, give your kid a skill. Let them hate you for it.
TeMPOraL · 5 years ago
Huh. I was going to object but I think you're right. The problems I know with parents forcing kids to do X when they wanted to do Y came from a) pushing X way too far (e.g. forcing a particular university degree), b) refusing to let the kid explore Y when they express interest for it, and c) resenting the kid for choosing Y over X.

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.

sharker8 · 5 years ago
The irony of this statement is that only someone with strong memories of his or her parents projecting their interests and him or her and later resenting the effects thereof would project a fear like this on total strangers on the internet.
colinmhayes · 5 years ago
Well OP is an adult and not my child.
gkfasdfasdf · 5 years ago
He says his kid asked for programming books. Doesn't seem like it's being forced to me. Could it be that maybe, just maybe, both father and son enjoy programming?
dorkwood · 5 years ago
You may be right, but I wanted to share an anecdote anyway.

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.

mantap · 5 years ago
If they as teenagers resent you for teaching them programming then the problem is not that you have taught them too much, the problem is that you haven't taught them the harsh reality of human life. We programmers live especially privileged lives and it's important to not let your kids fall into the misapprehension that the privilege we, and by extension they, enjoy is somehow normal or expected.
schwartzworld · 5 years ago
I honestly believe that programming should be considered a vital skill on par with reading and writing. I'm not saying everybody needs to be able to solve LeetCode or build production ready apps, but anybody who works with a computer could benefit from being able to do a little scripting. Programming is a skill that can be a foundation for thousands of different hobbies.

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.

colinmhayes · 5 years ago
Sure, but are 7 year olds ready? As this thread has shown some clearly are, but in my experience he vast majority are not. Why not wait until middle school instead of pushing them toward something they aren't ready for. It would be like teaching an 11 year old calculus.
Aeolun · 5 years ago
I’m already projecting my own interests opinion on my child by virtue of what I choose to give him for his birthday, or allow him to do in general though.

I don’t think this is something you can (or should, it’s basically the definition of parenting) avoid as a parent.

staunch · 5 years ago
And beyond environment, it's likely (but not certain) that your child's genetics predispose them to enjoy programming, if you do.

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.

ddingus · 5 years ago
While I agree, it is equally important to get them a diverse set of experiences.

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.

1_player · 5 years ago
I tried to read the K&R C book when I was 9. It went over my head hard. I tried again at 13 and something started to stick.

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.

fiftyacorn · 5 years ago
I cant get my kids to tidy their rooms so no chance teaching them to code
tasuki · 5 years ago
Learning to code is way easier than learning to tidy one's room. Many people struggle with the latter their whole life.
ed25519FUUU · 5 years ago
The best thing we can do for our children right now is keep them AWAY FROM SCREENS!
tomxor · 5 years ago
Keep in mind that there is a colossal difference between a screen that boots into a basic interpreter (BBC/Atari/Amiga style) and a screen that boots into iOS/android/youtube/bubblepop-whatever-the-current-attention-grabby-brain-dead-game-of-the-moment-is

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.

Seb-C · 5 years ago
Are we back in 1990?

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.

lmilcin · 5 years ago
I spent a lot of time thinking about this.

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.

GraffitiTim · 5 years ago
My daughter (who just turned 4) seemed like she might like programming, so I started out having her "program" a stuffed walrus, by telling it whether to go forward, backward, left, or right to get to a piece of food. Her natural inclination was to point to where it should go, so I first taught her that the walrus doesn't understand pointing or the word "here", just the directions.

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.

eitland · 5 years ago
Somewhat related: At one point I introduced my kids to what I called the number-machine-game. It goes like this:

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.)

rahimnathwani · 5 years ago
I remember one day in primary school a teacher had us play a game where we had to propose things to take on vacation. People would call out a suggestion, and the teacher would say yes or no.

The aim of the game was to figure out the rule. She said no to 'novel' and 'money', but yes to 'book' and 'currency'.

overlordalex · 5 years ago
I've used the same before, I believe also inspired by a similar HN comment. I was delighted to find that it's actually been developed into a complete game as well[1]

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/

mathnmusic · 5 years ago
For my daughter (she's now 7), I followed this sequence:

- 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...

rahimnathwani · 5 years ago
Is this the YouTube video you mention above? https://www.youtube.com/watch?v=cDA3_5982h8
lmilcin · 5 years ago
I bought this for my 4yo: https://www.youtube.com/watch?v=XlnP-8SczF0

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.

rahimnathwani · 5 years ago
You reminded me of a robot I had as a kid in the early eighties. It had some rubber keys on the top (similar texture to the rubber buttons on a Sinclair Spectrum, but smaller). You could program it with a sequence of moves (IIRC forward, turn right, turn left, pause).

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...

koonsolo · 5 years ago
If you want the non-digital game for this: RoboRally https://boardgamegeek.com/boardgame/18/roborally

It's actually pretty fun, even for grown-up coders ;)

kfarr · 5 years ago
Love the idea! I'll try that with my 4yo daughter this week, I think she'd love to tell me what to do :P
sharadov · 5 years ago
The Osmo is cool, it's playful and feedback is great.
theelous3 · 5 years ago
I taught in a coderdojo for a while.

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.

bigmattystyles · 5 years ago
>> As a mentor; unless the kid wants to go, please don't come :)

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

TeaDrunk · 5 years ago
Places where I didn't expect to see bean dad spicy takes
stolenmerch · 5 years ago
I taught one as well. Always felt horrible because I gave most of my time to the couple of kids who were naturally jazzed about it. It felt like I could have done more to inspire the other kids who didn't seem to care, but maybe I did more good helping the ones who did.
theelous3 · 5 years ago
I didn't waste my time. Of all the kids that came one actually cared. We've kept it touch and I now consider him a friend. He just started comp sci in my country's most prodigious uni, which while it was obviously his own doing - I'm a little proud of :)

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.

itronitron · 5 years ago
Each of my children started coding through Minecraft and Scratch, so I think that is a good path. I tend to let them pursue (or not) their own interests so I just make resources available to them.

It'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 :)

lmilcin · 5 years ago
Electronics is my hobby and I am fortunate to have decently equipped electronics lab all with a dedicated desk.

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.

Deleted Comment

MyHypatia · 5 years ago
Can you provide links of some of the high quality tutorials you have found?
itronitron · 5 years ago
Arduino Starter Kit is very good. CodeHS is also good but expensive for families as they tend to sell to schools.

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.

chasd00 · 5 years ago
The most success i've had with my 8 year old is building games in Roblox and the LUA scripting that comes along with that. We also have written some MicroPython to drive a small rover. With kids, or my kids at least, you have to be able to show some tangible results quickly or else they get bored. ...kind of like dealing with your boss.

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.

leesalminen · 5 years ago
Networking was what really got me to do a deep dive into technology. Circa 2002, I really really wanted to LAN Party with my neighbor across the street remotely but neither of our 802.11b routers could reach. We spent so much time reading about how to do this and we ended up building a pair of Pringles can antennas on WiFi extenders, and long ethernet cables running through our yards into our bedroom windows, which ended up working great.

Fun memories. Networks are cool.

jugg1es · 5 years ago
Interesting! Networking is what really caught my attention as a young teenager. My personal epiphany moment early on was chatting on an AOL chatroom with someone in Japan when I was 10 and realizing what computers could actually do
brianush1 · 5 years ago
> LUA

Not that it really matters that much, but just for future reference: Lua is a proper noun, not an acronym.

reubens · 5 years ago
"You have to do give them just enough info to get started and hope it catches."

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.

etherio · 5 years ago
I'm not close to being a father, but I can provide the experience of having learned not that long ago

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/

lmilcin · 5 years ago
Thanks for you point of view.

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).

paublyrne · 5 years ago
Not a parent, but I was a child, and want to give my perspective from my memories learning my father's profession; writing.

We always had computers typewriters around the house, and I was fascinated by the look, smell, and sound of my father writing. And I just began doing it myself, probably with a small amount of guidance from him around the mechanics.

I ended up getting pretty good at prose by the time I was 9 or 10 and wrote a novella when I 14 (which was thankfully never published or distributed!). I don't write for a living but the skills stayed with me and of course have been very useful in all kinds of avenues.

I think, though, that if I had been encouraged to do 90 minute learning sessions with my father, I wouldn't have been so interested. There was a joy in finding my own path into that world, and if/when I do have children of my own this is something I will keep in mind that there's a fine line between sparking interest, and trying to force an interest.