this post was submitted on 24 Feb 2025
24 points (92.9% liked)

Ask Lemmy

28625 readers
2094 users here now

A Fediverse community for open-ended, thought provoking questions


Rules: (interactive)


1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them


2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?


3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.


4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com. NSFW comments should be restricted to posts tagged [NSFW].


5) This is not a support community.
It is not a place for 'how do I?', type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.


6) No US Politics.
Please don't post about current US Politics. If you need to do this, try !politicaldiscussion@lemmy.world or !askusa@discuss.online


Reminder: The terms of service apply here too.

Partnered Communities:

Tech Support

No Stupid Questions

You Should Know

Reddit

Jokes

Ask Ouija


Logo design credit goes to: tubbadu


founded 2 years ago
MODERATORS
 

The kid's grandparents got him an Amazon Fire tablet and I loathe the thing. It teaches literally nothing about computing and the games they have for kids are barely even games, and are more focusing on advertising various IPs.

I'd like to get the kid started, as he learns to read, on something that will be more useful than detrimental, let that soft little brain soak up some actual computer science, literacy. I teach him about basic electrical circuits and how that translates to computing, if, and, or, xor, nor, etc. He's got some familiar with hex (colors) and the concept of binary (on/off).

But what to get for a first computer? I almost want to get him something Linux based and turn him loose. Is there anything like that, that would require him to learn some command prompt and basic computing skills?

Every time and try and Google it, I get a bunch of crap suggestions and ads.

all 21 comments
sorted by: hot top controversial new old
[–] wizardbeard@lemmy.dbzer0.com 1 points 3 minutes ago

The kid is five, and it's an android device. You have options without trashing the thing.

Sideload some open source games through F-Droid, set up a simple emulator frontend/app with a few age appropriate games. Lemuroid is a pretty straightforward emulator frontend with a decent UI for a kid to poke the boxart they want to play and just go, but I'm not sure how much you could lock it down to prevent them from borking the settings.

Lock the kid's access to the app store the fuck down. Install an on-device-vpn based adblocker like blokada or rethink dns to block ads across all apps on the device. It might break some games but the overwhelming majority will just fallback to "you don't have an internet connection" functionality at worst.

You can look up how to enable adb on the device, then plug it into your computer and use https://github.com/0x192/universal-android-debloater to remove/disable built-in apps you don't need. There's a ton you can do with adb to tweak the device, but uad is the most user friendly way.

If you want to push programming, others have mentioned a version of swift that's available on the kindle fire. Someone else mentioned Luanti as an open source minecraft clone, which I know is available through F-Droid (but can be quite janky due to not being made for phones/tablets).

[–] lemmylommy@lemmy.world 4 points 37 minutes ago

It’s great that you want to support your kid and hopefully get them away from the focus-destroying dopamine traps that are many „kid friendly“ apps. But please ask yourself what your kid likes first, not what you want them to be interested in. It’s perfectly fine to restrict tablet time and let him focus on what he likes, be it computer stuff or football or cycling or reading or painting or whatever. If he really interested in Linux and nor, xor etc that’s great, but don’t force it on him.

And that is coming from someone who bought and built his first own computer around that age and wrote his first few lines of very basic basic code not long after. Not because it was expected of me, but because I was interested and given the opportunity to follow those interests.

So, if that kid is interested in computers, Minecraft is a great game for kids. It encourages creativity, problem solving, perseverance and, maybe later, collaboration. It’s also possible to play together and scale their experience to their age: get started in creative or peaceful, then let them discover mobs and mods when they are a bit older, then let them play with friends.

If the kid likes building and Legos, you might want to look into Lego Boost and Spike, although they are rather expensive.

Oh, and paint. Kids love paint, be it MS paint, Paint.net or any other open source alternative. Show them that with a computer they can create, not just consume.

[–] bokherif@lemmy.world 2 points 48 minutes ago

Just make sure he has a computer and he’ll learn

[–] some_guy@lemmy.sdf.org 1 points 31 minutes ago

I agree with sibling comments about not forcing anything on kids. I hate sports because I was made to play seasonal sports (tee ball, basketball, soccer) in elementary school and middle school. The only sport I’ll play is freestyle frisbee in a field.

Just have a computer available. Agree with the idea of showing how to create drawings and such. Then go full hands off. If it happens, it happens.

I say this as a computer person working in tech.

[–] khannie@lemmy.world 3 points 1 hour ago

I’ve recently introduced my 5 year old to Luanti (open source Minecraft clone). He loves it, sees me open terminals (Linux only house), use the in-game terminal which I’m teaching him to use, learns what keys are where etc. and personally I’m OK with that for now. Baby steps.

My own computer route was to play games initially (load “”) then move on to coding later. It is much easier to learn coding now than it was then but just moving him off the tablet will already be a huge win. If he shows an aptitude or interest in it, coderdojo or similar will be waiting.

Oh! If you do decide to do something similar, I hooked the laptop up to the TV with keyboard and mouse and it was a huge win both in fine motor control and fun!

Good luck!

[–] Dagwood222@lemm.ee 18 points 2 hours ago (3 children)

Can the kid ride a bike yet? Kick a football? Swim?

I love reading now, but when I was 5 I only wanted to look at the pictures in books, not the words.

My friend hates to fishing, because he dad tried to force it on him before he was ready.

And if he is interested, it's probably better you build one together than buy one.

imho.

[–] BrianTheeBiscuiteer@lemmy.world 5 points 49 minutes ago

I agree with the idea of trying lots of different things, especially physical activities. If you're kid falls in love with computers early that's awesome but it can also lead them down a road of bad health habits.

[–] Dil@is.hardlywork.ing 3 points 1 hour ago (1 children)

If he has support, he'll be fine. My issues learning stuff growing up was no one in my family to teach me anything, so frustration and giving up was common. Imo fishings just boring af most ppl would hate it, especially if you don't like nature. Learning code is way easier younger, your brain just makes associations related to language easier. Coding itself isn't particularlly hard, easier the younger you learn.
There are coding related games on iphone like human resource factory that might help.

Id introduce them to scratch on the tablet and see if they like that.

[–] Dagwood222@lemm.ee 1 points 18 minutes ago
[–] tal@lemmy.today 3 points 2 hours ago (2 children)

Can the kid ride a bike yet? Kick a football? Swim?

I love reading now, but when I was 5 I only wanted to look at the pictures in books, not the words.

I was writing code in first grade, which I guess would be 6 or so. And I didn't have a home computer back then, had to do so on what time I could scrounge up in my limited windows of time of access to other people's computers or computers at institutions, which raised the bar. Today, computers are cheap and plentiful enough that it's pretty easy to get ahold of one.

I could definitely write software before I could ride a bicycle. I still don't know how to kick a football.

It's definitely doable.

I think that a lot of what we set our expectations around is around when schools choose to teach things. Like, I remember


as an American


being shocked when I discovered how young people in the UK and some other countries started being taught foreign language. In the US, our school system doesn't really do much by way of foreign language education until...I guess high school? 9th-12th grades, so maybe around 14-17 years old. But in the UK, you can (or used to, dunno if things have changed) take Latin in primary school.

kagis

Yeah, sounds like they made it mandatory recently:

https://www.oxfordowl.co.uk/for-home/school-year/subject-guides/languages-at-primary-school/

The 2014 Primary National Curriculum once again made learning a foreign language compulsory at Key Stage 2 (Years 3 to 6). Schools are free to choose whether to teach an ancient or a modern language; it is much more about language learning skills than the particular language on offer. Your child could therefore learn French, Spanish, Mandarin, German, Arabic or even Latin — the choices are endless! However, once your child begins secondary school the teaching of a modern foreign language is compulsory.

I thought "that seems like an incredibly-advanced topic for a young age". But...really, that's just my expectations set by convention here in the US, not that there's an inability to learn language at a young age (and in fact, there are some strong arguments that learning language is easier the younger you do it).

[–] Dagwood222@lemm.ee 1 points 1 hour ago

I think that it's possible to start learning just about anything at an early age if the child wants it.

[–] shittydwarf@lemmy.dbzer0.com 10 points 2 hours ago* (last edited 2 hours ago) (1 children)

Scratch might be interesting to look at. As for a computer you can't get wrong with an old ThinkPad with Debian

[–] Tippon@lemmy.dbzer0.com 5 points 2 hours ago

Scratch Jr. is designed for kids, and is available on the Kindle devices. My kid loved making the cat character move around with it :)

[–] tal@lemmy.today 8 points 2 hours ago* (last edited 2 hours ago) (1 children)

I almost want to get him something Linux based and turn him loose.

I don't have a five-year-old, but if I did, I would. Worse he can do is wipe what's on it. Can just reinstall the OS.

Maybe also hand them a simple programming environment. When I was a kid, starting kids out with Logo was a pretty easy way to go. Pretty sure that current Linux distros have some Logo variant, lets you make pretty pictures. Dunno if that's still considered an effective route to get kids interested today.

kagis

It looks like, in Debian trixie, there's kturtle and ucblogo; the latter was written for university students, though. I've written code for ucblogo myself some years back, when I wanted to generate organic-looking desktop backgrounds.

For a five-year-old, if it's a laptop, I'd probably get something relatively-inexpensive (unless you don't care about the financial aspect). If you can install a Linux distro on it, can probably use any old secondhand laptop, even. Don't think that the brand matters that much, as long as one can get it up and running.

A point someone made before, though, on a Reddit discussion I was reading talking about how "kids these days can't use computers any more, just mobile OSes" -- kids used to need to learn to use a computer if they wanted to play video games, so they had a major incentive. A lot of games are accessible via mobile OSes today, so that may degrade the appeal. YouTube/TikTok are accessible on both.

I teach him about basic electrical circuits and how that translates to computing, if, and, or, xor, nor, etc. He’s got some familiar with hex (colors) and the concept of binary (on/off).

There's a genre of programming video games. Steam doesn't list suggested age ranges, though, so shrugs.

https://store.steampowered.com/search/?sort_by=Reviews_DESC&tags=5432&supportedlang=english&ndl=1

I haven't played much by way of programming games myself -- I mean, I've got enough real-world programming stuff that I'd do -- so I can't recommend much personally. Played some Mac-specific Core War knockoff years back. When I got into programming, it was because personal computers shipped with an actual -- if simple -- programming environment built into it.

Problem is, what you're talking about is really a child-rearing problem, not a technical problem. I don't know how one makes engineeringy-stuff appealing relative to non-engineeringy stuff. I didn't have a smartphone with YouTube and TikTok and a huge library of video games as a kid.

[–] CidVicious@sh.itjust.works 2 points 1 hour ago (1 children)

I did Logo back in the 80s on Apple ][s and I still remember it. Definitely recommended and I'm surprised that schools don't try to incorporate things like this more.

[–] tal@lemmy.today 1 points 12 minutes ago

So, I don't know exactly what's happened with instructional languages, but my guess is that they may be trying to use languages that have broader real-world applications, even if they're somewhat more-complicated. Logo is great in terms of having a low bar to letting you do something fun...but it also doesn't see a lot of real-world use. I've seen some programming games using Javascript, for example.

Not "first programming language" stuff, but on the subject of instructional languages...

Around the mid-late 1990s to early 2000s, it was common for a lot of computer science courses to be taught in C++, since it was a commonly-used "serious" applications language. If you took an intro computer science course, you'd have good odds of doing C++, maybe blending into Java towards the end of that period.

I remember eating dinner with a Stanford University computer science professor once, and he was talking about how he was much happier teaching intro students in Python. The problem was just that C++ has a lot of stuff that's designed to help programming languages produce performant code or scale up, but which added a huge amount of complexity as an instructional language. With C++, he was spending more time helping students learn the language than the concepts that he was aiming to teach.

Now, okay. C++ (especially C++ in 2025, as it used to be a considerably-simpler language) is a complicated programming language. A lot of that isn't stuff that the compiler will handle, either, and stuff that the programmer needs to know to avoid screwing up.

  • A lot of error-checking happens in type-checking using templates, and at least with the compilers I've used -- and maybe things have improved -- the errors are stupendously-unreadable, where you can get the compiler telling you that half-page-long templated type A is incompatible with half-page-long templated type B, and not trying to reduce the error to just show the differences.

  • C and C++ also expose some of the underlying bare metal, and effective debugging means knowing something about the underlying, in-memory representation. It really is a huge bar to overcome to "writing useful software".

  • C++ inherited C's preprocessor, so you're actually needing to learn a macro language (which has some odd quirks) as well, and understand that you're working with two languages.

  • C++ has gone through several "paradigms". Originally, it was "better C", then more-OO stuff, RAII-structured OO, what looks to me like some kind of stuff with implicit static typing akin to the ML family today. I kind of like C-style OO code using PIMPL. But point is, if you're trying to learn a language and documentation at various dates has pretty different ways of writing code, that's another pain to dig through.

You don't have to know (all) of that to get Hello World working, but it also shows up pretty quickly.

I wasn't sure that I entirely agreed with the guy, because I think that part of what a lot of people were doing in Python was writing incorrect software that there just wasn't a strong static type-checking system to catch. I mean, maybe he didn't care about that in terms of getting across his topics, but I do think that writing rigorously-correct code is a good habit to get into for most fields of software, though it certainly matters more for some than others.

Now, that's C++-versus-Python. My guess -- and I haven't looked recently -- is that neither is probably the "first language of choice" these days in schools. But while I don't know if I'd agree with the guy as to Python being a great option -- I think that Python makes a great language on Unix sitting halfway between shell scripts and C -- I think that his broader point holds, that there is a valid point that keeping the bar down to getting something up-and-running is truly valuable for learning.

I kind of wish that someone would take a major modern "real world" applications programming language, something like Go or Rust or something, and then make a stripped-down version to help introduce students to concepts, with the idea that they'd later transition to that "larger" language, but to try and get the barrier down as far as possible from the "sit someone who has no idea what they're doing" to the "can make interesting output" stage.

Like, what changes would it take to make it pretty easy for a six-year-old to be writing something that is either a subset of Rust or something that can mechanically be transformed into a subset of Rust? What do new learners find confusing? I mean, if you had to ruthlessly cut anything, across-the-board, what would come out?

And OP, sorry, I know that you're mostly looking for basic computer familiarity, and I'm kind of heading off specifically down programming language learning, but I do think that that's an interesting issue too.

[–] i_am_not_a_robot@feddit.uk 3 points 2 hours ago

A Raspberry Pi. Literally designed for this sort of thing.

[–] Vanth@reddthat.com 1 points 1 hour ago

Adding to Scratch recommendations, look for First Lego League Jr teams in your area for next year. FLL Jr is for ages 6-10. They get simple kits with visual programming, and it preps them for FLL (non-jr) through to FIRST at the high school level.

[–] sbv@sh.itjust.works 1 points 2 hours ago

Scratch is the standard response for this stuff.

I tried to get my kids interested in programming around that age. One of them showed an interest, but bounced off it. I think it's primarily a domain problem: kids rarely want to compute. Some are interested in games, but the theory of how to create a fun game is pretty tough, so they get discouraged and lose interest.

[–] RandomUser@lemmy.world 1 points 2 hours ago

Another vote for scratch. Most kids that age want quick results and not to spend ages debugging something. Funnily enough I've seen the same scratch interface used to program industrial robots.

How much time one on one are you committing to spend with the child? This will make the difference.

Alternatively, think about some sort of robotics kit. Doing stuff in software is great but if it changes something in the real world, even better. Have you thought about something arduino?

Just for balance though, make a raft, a treehouse, a tent, make a fire without matches. It's all problem solving but I bet any kid will remember getting muddy more than writing a neat while loop.