Why My 11-Year Old Stopped Coding Then Switched to Python
hackernoon.com
hackernoon.com
You can make an easy garbage text generator / automatic text-completion (à la text messages) with markov chains, they are quite intuitive to understand and easy to implement. You can even easily make an artificial player that beats you at rock-scissors-paper, in less than 100 lines of code, using only maps and the good old random function. Teens are both surprised, proud and angry when their own code beats them, especially at a game that looks so random ("hey! my own code can detect patterns I'm not even aware of in my playing!")
Although that is not for beginners (it is using go), here is a good explanation of what I mean: https://golang.org/doc/codewalk/markov/.
Naive Bayes (and how it can detect spams) is a good second step: it is still rather intuitive and is a real, industry-tested ML algorithm.
When I do this with my kids it will be with python and some Lego or lego-like robotics components. Basically, extend their Lego experience the way redstone extends a child's Minecraft experience when they're ready for it.
Forging steel with a hammer and anvil, for example, teaches you a lot about fire management, temper, and so on - but teaches you absolutely nothing about accurate machining of steel parts. The attitude isn't even the same. If you go into a wood workshop after six months of working with metal, you're going to break things, destroy finishes, and waste work.
There are some general principles that apply to a lot of mediums, but I think they're the exception, not the rule. For instance, sticking stuff together generally relies on the surfaces being very clean - and that's true if you're using glue or welding. On the whole, however, I think the reason why distinct processes, finishes and materials exist is because they offer different possibilities.
We home educate, so they have access and time to explore.
Nope.
Our oldest picked it up after a 6 month stint making sandwiches when they were 17.
“Dad, can I still learn to code?”
I miss the days when “tell turtle forward 50” was amazing.
for me its typically to build a tool, or get paid + subsidize my own ventures from getting paid. my own ventures are run much cheaper because I don't need to pay a developer.
after hitting the glass ceiling doing dev work for other people, one of those coding reasons became obsolete, simultaneously this means the cost of having other devs run my software ventures is also much more practical. having devs onboarded means I can also throw random unrelated tasks at them to build the tool I imagined. I may not have any reason to want to code anymore
A kid raised at this socioeconomic level may not see a reason why they need to.
I also was never interested in coding before real world problems arose. Academic stuff, and book lessons never stuck for me.
also, yes they could simply be not interested.
I actually am reminded of this a lot when using SVG: [0]
> Pick up the pen and move it to 50,50
> Put down the pen and draw a line to 100,100
[0]: https://css-tricks.com/svg-path-syntax-illustrated-guide/
Then I start teaching the basics, they are a bit more willing to hear.
Here the incentive for them is to be part of the club where interesting things are happening.
We laugh at coding jokes which kids don't appear to understand which leaves them confused.
So, it seems they are aware they lack some understanding because of which they are unable to understand us.
The same idea has worked for math, playing musical instruments like keyboard/ukelele, physical exercises like skipping ropes or air pushups.
If I simply give them a computer or ukelele, they won't be interested as they don't know how to hold a ukulele or have no one to tell them how to hold it right and how to fuse a chord progression with the strumming pattern. These things are not obvious by just watching or hits and trials on a guitar/ukelele.
Trying to teach programming with a dry subject matter is very hard to do (Calculate area under a curve for your second programming assignment anyone?)
Congrats on the son keeping up with it
also why would a child want to code a website, I learned BASIC because i wanted to make games.
Noticed this a lot when engineers try to teach their children coding, far too much time spent trying to teach what they view as the correct way to do things or correct thing to learn. e.g seen several articles that opened on trying to teach them to set up git and a command line environment.
I think there is more value in trying to teach them to make something that is more understandable to their world and allows for creativity and therefore a self-learning reinforcement loop to begin. This is why more interactive things like games work so well for this.
It's a huge achievement that an 11 year old could complete the courses detailed in the article, but I'm interested if they can go on to take those learnings and initiate their own project. Which is something you definitely see from kids who learnt to code through the likes of Flash or game engines.
Sure, a kid today could just post all that to Facebook or Instagram, but there's likely to still be some of that rebellious creative spirit to break free from the walled gardens and do your own thing?