9 ms·
The Hacker Way: How I taught my nephew to program
- kanobo 6y agoKinda like Montessori except with code? When I see kids build things in Minecraft I wonder if those skills translate to programming later in life. I believe I was lucky in that when I was in grade school even websites by professionals were so janky and amateurish (in a charming way) I felt like there was no barrier and anybody with a text editor could figure it out.
- FroshKiller 6y agoAs a programmer who started with DeHackEd patches for DOOM, CON scripting for Duke Nukem 3D, and QuakeC scripting for Quake, yes, they can translate.
- indigochill 6y ago>Kinda like Montessori except with code? There's an education theory called Constructionism (https://en.wikipedia.org/wiki/Constructionism_(learning_theory) https://en.wikipedia.org/wiki/Constructionism_(learning_theo...) which is all about kids learning through active engagement with the material. Montessori is one constructionist method. Seymour Papert was a pioneer of constructionist theory and contributed to the Logo programming language as well as writing the book "Mindstorms: Children, Computers, and Powerful Ideas" which became the namesake of the LEGO robotics line which it inspired. "Minds in Play: Computer Game Design As A Context for Children's Learning" is another book that uses game design (and Logo) as a platform for constructionist education. Constructionism has been important to the development of computer interfaces as well since it inspired Alan Kay and his Dynabook concept (which inspired the iPad), which was designed with the intent of making a child-friendly computer. I'm certain Minecraft is a gateway to developing technical thinking, especially if kids start wanting to mod the game (and maybe even make their own mods, at which point they have to reason about the underlying system).
- kanobo 6y agoI remember reading an old research paper (pre-minecraft) that tracked long-term effects of kid-friendly languages like logo and scratch-like languages vs textual-based programming like basic. It found that the former got more kids engaged but there was minimal lasting impact (none of those tracked became programmers or stated any interest in learning more as adults). The later got fewer kids interested initially but those who did get interested had a high chance of carrying those skills into programming careers. The results would probably be very different now, but that paper really colored my thinking when I first read it.
- jcims 6y agoNeither of my kids have any interest in programming or computer science or engineering at all. I sometimes wonder if i could have done something different to spark their curiosity. Welding, working on cars, stupid arduino tricks, lasers, 3d printers, hacking, rockets, robot clubs, computers everywhere...I’ve tried a lot, but nothing really stuck. One’s just got an undergrad in healthcare and the other likely headed for art. I’m stoked they found things they love and I’m sure we’ll still have lots to talk about over the years... just probably won’t be vi vs emacs lol
- desireco42 6y agoI feel your pain. I have similar challenges, my kids are not as old, so I still hold hope, but wonder where did my genes end up and what to do to fire them up. VI all the way!
- thdrdt 6y agoWhy is this a pain? I would be very unhappy if my kids would become something to please me but don't like it themselves.
- dorfsmay 6y agoHave you shown them how to do basic games in scratch?
- yen223 6y agoThe world is larger than tech. I think it's perfectly fine for kids to have interests that aren't tech-related :)
- imtringued 6y agoEvery time I hear about someone changing careers into "tech" I feel like I'm running out of options. There is nothing wrong with my current career right now but what about the future? If everyone is running away from their old career to tech then what is the guy who started out in tech going to do once it's his turn to run?
- jck 6y agoPrinciple D is a good one! I used to volunteer to teach elementary and middle school kids computer engineering. I believed we had better engagement when we stuck to "real world" tools (such as breadboards instead of littleBits, Arduino instead of Scratch)
- smaddock 6y agoGames can be an especially good path to explore for teenagers. There are many disciplines that come together to create something. Even while focusing on one aspect of game development, you can build a desire to pursue another. For me, it was 3D art that got me hooked. Followed by programming to make my art do something.
- paulryanrogers 6y agoGames were may path into tech too. Though I don't think it's generally applicable. Having tried with nephews and other kids I think it takes a certain combination of desire to create, grit, and community feedback. And/or I'm just a bad teacher.
- watwut 6y agoProblem with games is that you need to have actual artistic inclining to produce something decent. It looks cool and is a good attraction, but people who could be actually good tech programmers will be offputted by reality of making games - which involves a lot of drawing, making sure it looks good and slowly iterating on boring gameplay till it is not boring.
- CarbyAu 6y agoI'm not web IT but games started my IT career, though perhaps differently to how people would expect. Dad got a computer when I was 8. I played games. At uni, while studying other things, I played games and had no money. In those days having a LAN party and getting people on the same game, same version, same mods, different OSs, different specc'ed machines etc was an effort! Eventually ended up Application Packaging to earn a living. And I've moved on from there.
- nick_meister 6y agoAny ideas or platforms for game development for a nine years old kid without any real programming background? My kid is finishing Blocky Games from Google. I think it was a good start, he isn't hooked into programming but at least he had some fun and learned some concepts, like loops. Now I have no idea on where should I guide him to now. I was thinking about Python Turtle, but he will probably get bored. Will take a look at Game Maker, but looks too much for a kid, good for teenagers perhaps.
- ketanmaheshwari 6y agoVery timely for me as I am teaching my 15 year old programming. I started with python and am using the excellent slides from this course at Cambridge as our guide: https://help.uis.cam.ac.uk/service/support/training/downloads/course-files/programming-student-files/python-courses/pythonab https://help.uis.cam.ac.uk/service/support/training/download...
- yelloworangefog 6y agoThat all rings pretty true for me. I wasn't a fan of math as a kid, or anything I associated with school really. I got into programming through Game Maker, because video games were something I legitimately cared about and liked. It pretty much changed my life and gave me something to aspire to. Now that I've grown up, my primary interests lie in virtually all aspects of computer science, and I no longer consider making games to be much more than a hobby and passion project to spend my free time on. I only wish I'd have had a mentor of some kind in the world of CS, so that I could have gotten into it earlier in my childhood. Major props to you for being an awesome uncle :)
- nefitty 6y agoDude, hell yeah. Game Maker changed my life. I was so proud to be able to script my own stuff and be able to hang with the older kids in the irc channel. None of them believed an 11 year old was writing his own pure-GML games! Now, decades later I’m finally pursuing that little dude’s dream, although games also lost their luster for me on the intervening years...
- yelloworangefog 6y ago> although games also lost their luster for me on the intervening years... Yeah. I still like writing small games from time to time, mainly just to serve as programming exercises or for fun if I'm bored. I had to accept at some point that I don't have the wide variety of skills needed to make my any of my dream games on my own (and also the time commitment to make a whole game by yourself can be insane). If I were to make a serious effort to do so, I'm pretty sure I would just be disappointed and feel as though I'd wasted my time because the final product wouldn't live up to my fantasy. To realistically do it, I'd need to either sacrifice a lot of creative control by collaborating with people, or wait until I've eventually acquired enough skill in the areas of art and music et cetera to pull it off by myself.
- ed312 6y ago100% in the same boat, finally coming back to a bit of personal game dev. Just do a little every day (or a few times a week). Try sketching a couple things. Play D&D or any other more creative game to learn design. You're wayyyy more likely to make a good game if you set out to make 10, then waiting forever to make the one "good" one. Just keep trying and practicing.
- FatDrunknStupid 6y ago11yr old has a successful Youtube channel about unreal mods. I'm a prog but I can't catch up with his skills cos he's working in a completely different medium to me (VR, Sound?). 15 year old is a silly sod buying 'gaming' hardware to play click games. His only hope is girls I'm afraid.
- loa_in_ 6y ago> Eventually, he wanted to make the news site do dynamic things: How can you hide and show content? How can you make buttons work? Well, time to learn a little bit of javascript. It's amazing how much you can do with only CSS nowadays. From simple interactive visual elements[1] to whole mini-games[2] with only HTML and CSS. I think kids would appreciate the notion that it's all there, possible - if they take the time and hack it up. [1]: https://css-tricks.com/css-only-carousel/ https://css-tricks.com/css-only-carousel/ [2]: https://codepen.io/collection/AKkZro https://codepen.io/collection/AKkZro
- stopachka 6y agoHeck yeah! He surprised me too - it’s been a while since I’ve went deep on the frontend, so he surprised me with some of his knowledge of box, etc :}
- kiba 6y agoI was a self starter. My interest in game programming kept me wanting to go learn programming. And I did. But it was incredibly hard to progress my skillset, and to some extent still hard today. I got a hobby that kept me learning day to day though: 3D printing.
- aboyne42 6y agoI'm a grown professional, and this is still the way I learn. I think this is just the way some brains work. My office and hard drives are filled with half finished projects, and I've probably forgotten how half of them work. I'll reinforce my learning when I pick it back up. I only recently realized the joy of allowing myself to switch books when I feel like it. I've always loved reading, but sometimes I can't sit through the whole thing without something else catching my eye. My environment as a kid allowed me to work that way and I will be forever grateful for that. It is the reason I now love what I do for a living. If your child's brain works this way, I feel that allowing this type of learning is the best thing you can do for them.
- boraoztunc 6y agoGlad to see this post and read all of other comments. Currently as a senior designer, I always wanted to be an engineer when I was a kid, so deep into computers and electronics. But my environment didn't allowed me to become one, and I always resent this. So this summer I started a "Summer Code Camp" with my nephew (14), bright kid, also into computers but also living hard times to learn stuff at school, fails at math, and not properly aligned with current education system to learn. So we started from the beginning, I only know HTML, CSS and basic Javascript. Using freecodecamp.org for our lessons, at first we started physical, I go to him couple of times each week for our sessions, to warm things up, once he get used to the website and basic structure of the code, we build a Discord channel for video meetings, sharing screens, and channels for resources, inspirations, docs and archive. He plays basketball at school team and really into the game, NBA fan, of course a gamer. So we are keeping our conversations around them, building stuff for these topics. Installed Visual Studio Code to his computer so he can use the code he learned offline and build stuff from there. His interest is growing each day, but of course as a kid he lacks of disipline. Which is not important at that point actually, because we're having fun. Hope to take this to the next level once we started Javascript and build more dynamic stuff. As the schools are opening next week, I'll teach him how to deploy stuff and show off to his friends. Also thinking this can be good way to make things stick more deeply. Kids like to show off. The Hacker Way. This is the way.
- gamescodedogs 6y agoHello @stopachka :) Thanks for sharing, that was a really nice to read the story. I was wondering if the state of "He began designing apps with paper and pencil." was also inspired by your influence?)
- greggman3 6y agoI was self directed as apparently are many software engineers so I've always assumed that the best way to teach would be to let kids direct themselves and they can ask questions if they get stuck. Well, this video claims I'm wrong. Self directed study doesn't fit most students according to the research presented in the video. https://www.youtube.com/watch?v=g1ib43q3uXQ https://www.youtube.com/watch?v=g1ib43q3uXQ you can jump to 11:00 if you want to jump to the part about learning.
- teddyh 6y agoOne-minute summary: https://www.youtube.com/watch?v=g1ib43q3uXQ#t=50m https://www.youtube.com/watch?v=g1ib43q3uXQ#t=50m
- owenversteeg 6y agoI think that self-directed and self-motivated learning for _programmers_ is critical. All the best programmers I know are almost entirely self taught. I think the best way to go about it is first motivation (they have to really want to be able to make things) and then an introduction (here's a REPL, type 2+2, hello world, here's a function, here's Google, stackoverflow) and then provide help when needed. Every time I've seen kids take this path, it's very black and white - either they quickly learn to learn on their own, and succeed, or they need guidance/lack motivation and fail. For non-programming, I think learning on your own is far less critical.
- greggman3 6y agoI think maybe things are being conflated here. (1) being motivated (2) being self directed (3) being made to figure things out on your own The video above basically says vast amounts of research show that showing people the answers with explanations is far more effective than saying "figure out on your own". Not only are people given the answers with explanations more able to solve the problems they are more able to apply them to future problems. It also seems to say being directed (being given lessons) is usually better than leaving it up to the student what to study (of course there are exceptions for some students) I know for me I didn't invent link lists, hash tables, sorting algorithms. One way or another I was taught the solutions. But I was often self motivated. Still, I was taught via assignment how to open a file, and read and write to it. As well as how to implement a bubble sort. Enjoying programming I enjoyed learning those topics but it might have been much longer for me to apply them if a teacher hadn't taught me both by choosing what to teach (so not self directed) and explaining it (so I didn't have to invent sorting). I had no idea I wanted to know about those topics until after being taught.
- throwawaynothx 6y agomy mother let me pull apart VCR's and TV's because it reminded her father (deceased) my granddad, the rule was I could break anything I wanted but I had to repair it or pay to get it repaired. until the day the I.T guy found my stash of porn.
- DarkWiiPlayer 6y ago> What if you threw in some adventure novels after that, like Dune? Dune... An adventure novel... I'm gonna press X on that one. The paragraph as a whole makes a lot of sense though!
- mrmonkeyman 6y agoI hope my son goes in a wildly different direction. I'd love to have an tech-bubble escape hatch. Something in the humanities, philosophy. The things that actually matter.. It's tiring to see dumb plumber work being praised like it is God's work. You are just hooking up some logic and some in and outputs. It is completely devoid of meaning and depth.
- known 6y agoI taught my brother to program with AWK;
- gverrilla 6y agoFor those of you interested, there's a great book about play called Homo Ludens, from Huizinga.
- spaceisballer 6y agoGreat article and the two most important things to really go forward with are to take notice of what they like and take interest in it. I’ve had to talk to my wife about it, because she doesn’t care for video games at all, but as I tell you she doesn’t have to like them just show interest and ask questions. Just like the author mentions it can chain together to spark other important interests (reading and other skills). I don’t enjoy a lot of these games my kids like, just don’t have much depth or are obvious ploys to get you to spend real money to play to win. But instead of complaining about it I play with them and introduce them to other games.
- Discombulator 6y agoGood advice, thanks for sharing. I’d just keep in mind that there are no guarantees that kids will share our passions, even with the best approach. Humans are complex systems - it is very hard (and you would need need a lot of data) to make any general statement about things like this.
- Paianni 6y agoI don't practise programming because, so far, I've found more valuable and enjoyable things to spend my time on, and my computers do what I want of them for the most part. I know anything I would be interested in programming would involve a steep learning curve (many layers of existing software to wrap my head around), so it's on the back burner for now.
- tmaly 6y agoI have been teaching my daughter with Scratch 3. I taught a few classes at her school back in December. I posted my lessons online so the kids could go back and review them. The kids really enjoy it, especially 4th and 5th grade. I got a cutebot and interfaced it with a microbit. My daughter and I made an obstacle avoidance and track following program using the block based programming this past week. She had a blast. I think if you make it fun for the kids, they really get into it.