5 ms·
This is a hard problem. I have three kids, we let the oldest (7) play on an old laptop running Ubuntu, with no internet access. He goes through fits ant starts
by johnny313 9y ago
This is a hard problem. I have three kids, we let the oldest (7) play on an old laptop running Ubuntu, with no internet access. He goes through fits ant starts writing some basic python, learning how to navigate in the terminal, etc - but its hard for him to focus for too long on any one thing. We CONSTANTLY talk about new game ideas, but have not yet been able to channel that into making things.
We restrict access to screens to an hour a week otherwise - my kids will always choose a game on the iPad (of any quality) over unstructured time on the linux box. We have tried hard to follow the "set a good example and love and support them in whichever directions they want to go" philosophy.
- zeta0134 9y agoRecommendation: Python might be too advanced of a start. Seriously. Check out some simler frameworks that are geared more strongly towards game development. Even as an experienced programmer, I still gravitate towards the Love2D framework for getting an idea on screen quickly, (for 2D stuff anyway) because it handily masks away all of the libraries and support hardware. So long as I can navigate the Lua programming language, I can have moving characters onscreen responding to keyboard input in about an hour. https://love2d.org/ https://love2d.org/ Point being here, don't underestimate the value of instant gratification. As much as that sounds like what you're trying to avoid, since that's exactly what YouTube and social media feel like to an outside observer, that instant gratification loop of "change code, run game, see results" is crucial for the early developmental stages. Let your kid learn through experience how fun it can be to program the basics, and then stumble on something more complex that he wants to do organically, or bump into a limit of the framework, and at that point he'll know enough about the tools to be nudged towards tackling the harder stuff.
- johnny313 9y agoThats a great idea. We started in python mostly because of a book he found at the library. Love2D looks like a great option, thanks for sharing!
- rbanffy 9y ago> Python might be too advanced of a start. I have that feeling. I learned BASIC on an 8-bit computer where the command prompt was a BASIC REPL. That's probably the best abstraction level for learning to program.
- zeta0134 9y agoFunny you mention that! My first programming language was TI-BASIC, on an old TI-83 Plus. That language is wonderfully simple, slow enough to watch the execution happen almost in realtime, and tolerant enough that for the longest time, I didn't know what the "End" token did, and my programs would crash after a while, infinitely recursing into If blocks because I simply didn't know any better. Good times! After a while, I figured out that all the best games were written in this mystical "Assembly" stuff, which ran a lot faster and could, with some wizardry, do greyscale! I taught myself z80 programming without ever stopping to think that it might be difficult. Later, I realized this is a Junior level college course in a great many degree programs. Who knew? For me, it was just another step on the path to making games instead of doing my math homework.
- rbanffy 9y agoThe kind of BASIC that did fit on 8-bit computers is a non-intimidating low-level programming language. All variables are global, you have jumps and subroutines, but no named (multi-line) functions and conditionals most of the time end in jumps that go over a segment of code. Conceptually, it's incredibly simple and I think this is its most important contribution.
- komali2 9y agoHave you considered "screen time" not being totally un-regulated? I.e. separating "ipad time" and "ubuntu time?" Same philosophy as dessert choices - give a kid a choice between an apple and a chocolate for dessert, they're going to choose the chocolate every time. They'd eat pails of sugar by the spoonful if you let them. But if the choice is between apple and nothing, well... EDIT: This comment by jerf explains the idea far far better than I have, and they're doing it right now with their own children: https://news.ycombinator.com/item?id=16766756 https://news.ycombinator.com/item?id=16766756
- grahamburger 9y agoMy son started with Scratch (stratch.mit.edu) and had tons of fun with that. He's kind of moving on to Python now. I had him play a little bit of Zork to show him that games could be fun with just text and then made him a very very simple text game engine in Python. It's been loads of fun to see the stuff he comes up with. (You start on a deserted island in the pacific ocean. You go east and find a boat and you're in New York!)
- bluedino 9y agoHe's 7.
- johnny313 9y agoFor sure. This is not a big thing, just something we are trying to be thoughtful about. Most of the time we talk about Pokemon and do mazes.
- megaman22 9y agoSeven is young. Many children can't even read, let alone navigate a command-line interface and dabble at programming at seven. Give it time. The whole cult among parents these days about limiting screen time is worrisome to me. The only way I ever got into programming seriously was through gaming, and eventually, modding. An hour a week would never have given me enough time to get into that, however.
- khedoros1 9y agoMy screen time was somewhat limited as a child, but to probably an hour or two a day (that is, by the time I was 9 or 10 and knew how to navigate DOS on my own). Games made me learn how to configure the computer. My first programming book was a book of late-70s BASIC games for microcomputers (which I used on my early 90s DOS machine). I only ever did some light modding, but when I had a chance to take some programming classes in high school, you'd better believe that games were on my radar. Writing emulators is still a hobby of mine. My parents monitored what I did, like I do with my kid now, and there are the "mysterious" times when the TV stops working (couple hours? OK. All day? No.) So I suppose that my wife and I are taking a kind of hybrid approach: Give kiddo the chance to be familiar with the technology around us, but regulate the time so that an obsession in the wrong direction never develops.
- spc476 9y agoI think the best way to get kids interested in computers is to have them in the 1980s. Pre-internet, and the computers were simple enough to be completely understood by a single person. It also didn't hurt that they nearly all came with BASIC built in and available in under a second when the machine was turned on. Also, it wasn't unheard of to have a 15 year old making a hit game. So yes, if at all possible, have your kids in the 1980s.
- mysterydip 9y agoWhat about giving them something like pico-8? https://www.lexaloffle.com/pico-8.php https://www.lexaloffle.com/pico-8.php