I remember that I got into coding around the age of 13. For me, the trigger was a book on C++, written for adolescents. Thinking about it in retrospective, C++ probably wasn't the best language to get started on, and yet, I devoured that book. So nowadays, beginners books on e.g. Python are probably even more appealing. I also feel that book makes a better present than an equivalent online resource, because it's something physical. Of course, such a book would still require that the 13yr old has access to a computer, in order to actually write code.
If the kid is very new to coding, I would consider one of those robots that is programmable with the visual code stacks.
If the kid is a bit ahead of his age in math, I would consider something more abstract like a Python book Python Crash Course that gives you 3 projects to work through.
I have taught my 5 year old daughter the basics of coding with Scratch 3. I am in the process of building a course of parents. This has been great as it is visual and much easier for beginners to grasp.
For games, my first choice would be "Human Resource Machine" either from GOG (https://www.gog.com/game/human_resource_machine) which has no DRM or from Steam. It conveys the basics of machine language programming in an offbeat yet fun way.
If he's a bit more advanced, take a look at Screeps (https://screeps.com/). It's an online game that lets you write code in JavaScript to control a robot that battles other player robots. If the subscription fee or being online is an issue, there are similar games like RoboCode.
Some people will recommend Zachtronics games (TIS-100, Shenzhen I/O, etc.) but I do not think they're particularly good for beginner programmers. The games are puzzles dressed up as coding and, while they are fun, have little to do with how real coding is done.
Oh, how could I possibly have forgotten? While it's more of an engineering game than a programming game, Factorio (https://www.gog.com/game/factorio) would also be an excellent choice. Getting inputs and outputs of construction materiel to flow to the right place at the right time in the right order has strong analogies to how data flows through backend services today.
6 comments
[ 4.1 ms ] story [ 20.3 ms ] threadIf the kid is a bit ahead of his age in math, I would consider something more abstract like a Python book Python Crash Course that gives you 3 projects to work through.
I have taught my 5 year old daughter the basics of coding with Scratch 3. I am in the process of building a course of parents. This has been great as it is visual and much easier for beginners to grasp.
If he's a bit more advanced, take a look at Screeps (https://screeps.com/). It's an online game that lets you write code in JavaScript to control a robot that battles other player robots. If the subscription fee or being online is an issue, there are similar games like RoboCode.
Steam has a category of programming games that you can browse as well: https://store.steampowered.com/tags/en/Programming/
Some people will recommend Zachtronics games (TIS-100, Shenzhen I/O, etc.) but I do not think they're particularly good for beginner programmers. The games are puzzles dressed up as coding and, while they are fun, have little to do with how real coding is done.