Hi!
Soon I’ll have my little nephew (13) in my company to check out software development for a week.
I’m working with large industry machines in real time Linux systems, so obviously I’d show him my test machine and if the customer agrees, I can show him some robots as well.
Also, he will get some crash course in computer basics.
He is an avid gamer - although not really good with computers.
I’ve gifted him a still nice laptop with Linux and Steam installed 1-2 years ago and he happily played Minecraft, but after some time he went back to his Switch 2.
Now he uses my Steam Deck - although that doesn’t make that much of a difference…
I’d like to give him something fun as an exercise, that’s is early rewarding.
Perfect would be, if he could code himself a little computer game, but that’s completely out of my normal work stuff and I don’t know what good options are available.
I guess starting with C++ and an Unreal engine or similar is more than an overkill.
Is there something, that is teaching the basics and gives rather quick rewards, which can produce a little something after 2-3 days?
Thank you all in advance!
As you said quick rewards within 2-3 days, what about writing mods for Luanti? https://luanti.org/
I am personally a Luanti addict(both game development and game playing!)
Never heard off that before, thank you!
As a person who started with high-level languages, I will say that they severely hinder one’s understanding of how systems really work. I recommend having him start out with the C programming language or a similar low-level language.
Some exercises that you could have him do include:
- Programming a ranked-choice-voting algorithm
- Writing a program that takes a PPM image (I have never seen an easier image file format to work with) and performs a box blur with the surrounding pixels, spitting out the new image to a file
- Writing a text adventure in the terminal. Don’t force him to use regex, though. Just have it have numbered options.
On programming games:
If you want him to program a game for himself, I would recommend SDL (SDL2 or SDL3) if he’s doing it in C. It may be in his interests to program the game in another language than C, though, since C can be difficult to program games in, for beginners.
Some good ideas for a game to start out with are Yahtzee (like the KDE program Kiriki), Minesweeper, Pong, or Breakout. If he’s doing it with a game engine, I recommend having him start out with Godot. It’s FLOSS, and GDScript is easy to learn.
Yeah, I started with turbo Pascal and C/C++, and that gave me quite some advantage to understand more modern concepts
But he is too computer illiterate for that at the moment.
I’m not sure, if this will be too much just to have some hello world and calculator examples done, that probably aren’t as exciting.
He probably won’t be a developer in the future, but I want to give him some understanding and insight on the fun with it.
If he would be with me for a month, C/C++ and an automatic cat toilet control would be the task.
But a week isn’t much.
I’ll probably make one day, where I show different coding language concepts.
I’ll probably do also a day about logic gates and elementary logic. Maybe here a C++ hello world could actually spice up things ;-)
Maybe. C++ is very complex, and has a lot of footguns, which is why I recommend avoiding it when possible. Giving a memory-unsafe language like C object-oriented capabilities was like giving a toddler a gun.
I think Minesweeper or Breakout in Godot would be good projects to give him that would take him a few hours. I wish you well in teaching him!
Nice getup to get the basic mindset of programming for kids from the folks at MIT: https://scratch.mit.edu/
Somewhere around there’s a locally installable version, I’d first found it via the little yunohost boxes.
Yeah, scratch rings a bell
I think, I even installed it on his laptop as I set it up
Maybe that’s a good starting point, thanks
Godot has a series of tutorials focused at kids looking to make their first game. should check that out. Godot is really easy to use.
Or you could go the route that many of us did way back in the day with geocities and set up a neocities account and learn the basics of HTML. they can set up their own little website for whatever their passion is. HTML, IMHO, is a great introduction to coding.
Sending Godot recommendation
Ok, I’ll need to look into that, thanks :-)
You try to have him hack php websites. That seems to be very easy these days.
Well, that would actually sound fun ;-)
Edit: others suggested programming games; those are also a great start that satisfies the two big requirements I mention.
If he plays any single player games, i’d probably start there. Modding. Especially if Minecraft or Roblox or Rimworld and the like.
I’ve taught a lot of people low level C and C++ over the years. Two of the most important things for beginners is getting feedback (what I call “blinky lights”) and a reason to persist when learning gets hard. Creating a mod or cheats for a game can be great at fulfilling both of those requirements. You get to see a more tangible result of your work than a CLI print, and you have goals or a vision you’re chasing. This is one reason why webdev is so accessible; the issue there is learning multiple languages and frameworks all at the same time which can be difficult if unguided.
My circles tend to all be low-level systems people, may be different in others; but all of the best programmers I know started with hacking on or making games or things for games. The desire to understand, to know more, to create; that pushed all of them. Getting to see the beating heart —the code describing the game mechanics you’ve used for hours— for the first time, can be a magical experience; so things with open APIs or unity games where the code is relatively accessible, are quite good.
I’m completely with you
But I’m absolutely no familiar with modding since a long time and have no clue, if there would be many tutorials for Linux or if everything runs
I think Roblox e.g. doesn’t run on Linux?
Minecraft was just possible with a different launcher, iirc.
I don’t want to spend a day just setting up his environment - well, I do, but mostly for getting his system right. Getting stuck in something, that just maybe doesn’t work in his environment is frustrating.
I went to a technical school and programmed micro controllers to make a running light or blinking Christmas trees
But that’s just far too much, when he is only here for a week.Here we call that “schnuppern”.
Pretty much means sniffing, you just get the first taste of something.
Means, it should be a good experience.So… Although I do like the idea, especially with Minecraft modding, I’m not sure if it’s easily applicable
So currently I tend to the recommendation with the game “the farmer was replaced”
Reminds me of a challenge we had in our first week at the university, to just give an insight on logic and algorithmic thinking.
And as long as it works with Proton, it should just work and seems to step up the complexity, but still “gamecifact-ed”I’ll try to have a look at Minecraft modding, because maybe that’s still cool - although he quit playing half a year ago or so - but I’ll need to verify, that it works.
And sadly the planned week is months earlier than expected - I’m having 3 weeks and at least one of them I’ll be on a business trip.So, I need to keep it simple (read: just works) - and entertaining
Prism launcher works well on Linux and helps with keeping multiple versions of the game & multiple modpacks to keep stuff organized.
As for modding itself, it would need an IDE and build system, along with a bit of prep and research…
I think the programming game is definitely the way to go at first.
Though, knowing that modding is a possibility they can persue on their own in the future would still be good. Or maybe remind them of that once they gain some proficiency with the basic concepts.
Thanks
I’ll need to try this on my system first to have some steps ready
Will probably be a decision be available free time
But yeah, I also thing the finished game should falls more in the category of “just works” and with this limited time, this is probably be better option
Yes. My thinking is that they may persue game modding on their own; if not in the near future, possibly some years down the line. You won’t need to hold their hand that much if they discover a taste for it. That programming game definately wins in the short-term.
Depends on what he likes to play, but PICO-8 can be easy and fun for simple 2D stuff.
It’s been a couple of years since I used it, but I recall making a platformer without too much trouble (tho, I was loosely following a tutorial)
Thank you!
Somehow the name is familiar, but will need to check it out
Another interesting place to start could be excel formulas. If he’s into any tabletop rpgs challenge him to make a character sheet using formulas and named cells. This could be a good baby step into the fundamentals of programming learning if functions and how two objects interact in code. Once he has that, add an initiative tracker using VBA.
Hmm… Currently it is stuck with Hades and Dead Cells
But he is also a big fan Pokémon and statistics
Maybe I’ll give him that option - but personally, VBA is more business than software development
Would be cool, if something moves because of his code
Something like thatYeah it’s definitely business focused, but it’s still scripting and you can see the visual impact of code. On_update functions on a worksheet also better mirrors what a software dev may be looking at.
I’m a biologist by trade, and learning VBA earned me multiple promotions at my last company, and a higher salary in my current job because I could come in and do what others would have to ask for a developer for.
I was working with VBA 2 summers during school as well, but that’s nothing I’d have wished to start with, as it feels rather boring - imho
Boring you say? https://youtube.com/@engineeringfun
Honestly, I hate JavaScript, but I like JavaScript for this. You don’t need a compiler and every computer has an interpreter for it. You could make a baseline thing and let him tinker. It comes with excellent developer tools with breakpoints, stepping, live editing. It’s literally the least you have to do to make working interactive code.
Or another option is there was Robocode — a tank game where you program an autonomous robot to win a battle royale. Or there is Screeps — a StarCraft like game where you write code for different buildings and units and attempt to conquer the land.
I like the idea of code-as-gameplay. You get to play while being pushed to write more sophisticated code in order to do better.
I understand you idea, but I’m afraid JS could teach some weird behaviour and also isn’t easy to debug sometimes
At least I didn’t like my time with it, because it has so many quirks.
But for a quick hack of something, maybe
Although I’m more inclined with python, when it comes to scripting languages
Maybe I’ll also make a basic Linux course with a bit of command piping and simple bash scripts
Something like a raspberry pi with an activity book might be the thing, games are pretty advanced if you don’t know the basics of data handling and such.
!learn_programming@programming.dev might help you too.
Honestly, I started with a specific goal that I somehow lucked out into it being a relatively simple script with iMacros of all things, and that was my introduction to the whole if/then control flow loop basics. (Yes, it recorded my stuff, but I had to go in and alter it and mess around a lot.) And I messed around with Scratch at the same time too. I really think this helped my actual Baby’s First Program go down more easily in my first computer science class in college. (First language due to college was Racket, second was Java, third was C, I think this is fine.)
Making very simple video game mods might help too, with modding communities that have loads of documentation and “where do I start?” resources.
Thanks for that!
If you have a spare iPad the Swift Playgrounds app is free and fun.
No Apple in this house, but thank you






