4 ms·
Didn't work: - BASIC, Ruby, Python, Java setups + intros, tutorials. - LEGO Mindstorms - Scratch, Squeak - Coding classes / camps Note that I "made th
by markc 6y ago
Didn't work:
- BASIC, Ruby, Python, Java setups + intros, tutorials.
- LEGO Mindstorms
- Scratch, Squeak
- Coding classes / camps
Note that I "made these things "available" but never pushed. I'd set up the environment, show him to to edit and run the code, and pointed him to tutorials. After some time went by I'd show him the next thing. Rinse and repeat.
Worked:
A Texas Instruments programmable calculator. He read the manual, played with it a bit, then found out he could automate some of his homework. Then found out he could make simple games. Then fairly impressive games.
After that, he did a bunch of Minecraft programming and loved it.
Fast forward a decade and he smokes through Advent of Code without breaking a sweat, and is a co-founder and CTO.
I.e. all my efforts to pique interest didn't have any effect that I could see. He had to find his own way to it.
- compscistd 6y agoA classmate of mine in HS always played with his TI in class and I had a similar calculator (TI-84 plus silver edition). I asked him what he was doing and he introduced me to basic logical operators to make math class easier. That’s how it all began for me. Will, if you’re reading this, I owe you my career!
- mywittyname 6y ago> A Texas Instruments programmable calculator. He read the manual, played with it a bit, then found out he could automate some of his homework. Then found out he could make simple games. Then fairly impressive games. Some thing never change. This is literally how I started programming too. "Hey, I can automate my homework" -> "Wait, I can write a program to play poker with all the time I saved by not doing homework."
- jacobkg 6y agoSame here. Twenty years ago my dad gave me a TI-85 and told me I could program it. I remember being stuck for a while until I learned that “string” meant text. The first game I built was hangman, using “split mode” where you could show half the screen as a graph and half as text
- RhysU 6y agoDitto on the 85. Stick with the 85 or similar. I later had a 92 which was sweet but the symbolic capabilities made it easy to not retain a lot of early calculus.
- mvolfik 6y agoWait what you guys actually save time by automating things?
- gcatalfamo 6y agoUnderrated comment
- jugg1es 6y agoI also started programming using my calculator. I would write programs that fed me equations I needed to memorize via a menu system but by the time I programmed it, I had already memorized it and never needed to use it.
- Mayzie 6y ago> Worked: > A Texas Instruments programmable calculator. He read the manual, played with it a bit, then found out he could automate some of his homework. Then found out he could make simple games. Then fairly impressive games. That's pretty much how I got into programming, except rather than homework it was coding automation for a very repetitive video game I was playing at the time. Although in terms of time spent, it was a net loss as I spent more time combined programming and playing as opposed to just playing, but there was a significant net profit in terms of skills I learned which has had a far more practical and positive benefit to the real world as opposed to if I just played the video game all the time :)
- rapnie 6y agoTI99-4A long time ago. Programming a textual adventure game in Basic with my father (complete with matrix printer code printouts to make notes on). About a highrise appartment block with one unknown inhabitant being a murderer. Started with a crime scene. As player you had to find the murderer by walking around, talking to residents. You might talk to the wrong person and get killed yourself. It was the combination of the game being thrilling and exciting, combined with the notion that you could make it ever better. Adding objects, people, discussions to be had, intrige, distracting side-plots. My father had the lead in this, and in the evening he added stuff and surprises, that I could discover during the day, and then build further upon. Also I think the fact that is was text-only rather than graphical helped keep interest, where my child's fantasy filled in the imagery (we went to graphical, Donkey Kong like games, later on. A different exercise, started when my interest in programming had firmly taken root. With graphical games you work on abstractions that aren't needed in text-based games and may be less easy/appealing for kids to take the effort to grasp).
- seibelj 6y agoI taught myself to program on a Ti83 because I wanted to cheat on math tests by creating programs to do the formulas and calculations in trig and calculus. However by learning them enough to write a program to automate it, I was actually doing a form of applied-studying and learned them so well I didn't need the programs!
- jeffnappi 6y agoHow do you attribute failure to the early introductions? Perhaps they didn't stick at the time, but they likely laid a solid foundation :)
- markc 6y agoI think there was a giant gap between expectations and reality. He wanted to program so he could make video games, but learning to program starts out text-based. The gulf between learning to code and learning to make video games like the ones he enjoyed is overwhelming. I think the calculator eliminated that dissonance between expectation and possibility.
- jjk166 6y agoThis is why I think javascript is secretly the best programming language to start someone out in as you can very quickly get to doing "cool" things - throw up a barebone html page with a canvas element and boom, you have full control over a graphical user interface. You figure out how to draw a rectangle, move a rectangle, and keep track of where that rectangle is, and you basically have everything you need to write a (very) basic game engine. With guidance, something like pong might be only a few hours away.
- INTPenis 6y agoI don't know the full story but this kinda lines up with what I wanted to say about the topic. My GFs kid was not at all interested in what I did, until it could relate to her friends at school. Apparently some of the boys at school had used Devtools to modify a class website and add dirty words or whatever it is they do. So I showed her at home how to go into Devtools and change the appearance of the teaching portal they had. That really captivated her because it was something she could show off to her friends. Same with the calculator. I remember kids having those at school and programming them when I was young. It was something you could actually bring to school and show off, it was something relevant to all kids because they all had to get one. Another modern suggestion would be mobile app dev.
- avmich 6y agoDeserves Kevin Mitnick's medal. We likely should think hard about creating good opportunities to rebellious learning of computers at schools.
- divbzero 6y agoMany clever computer tricks I saw in high school were ways to get around restrictions set by school admins, including an IP blocker that my classmate helped me bypass so I could check my personal email for college admissions results.
- TeMPOraL 6y ago> until it could relate to her friends at school. Perhaps that's the key for making something stick, beyond "immediate practical applications". I learned programming as a kid because I played videogames, and started dreaming about making my own. But at the same time, I also had people I could talk to about it! At age 10, my cousin and I were constantly discussing how to make StarCraft and Fallout better. At age 13, when I first picked a C++ book (after prior failed attempts of other people to expose me to Basic, Pascal and VB) with intent to learn gamedev, I had a friend at school who decided to learn C++ as well. Over the year, we've managed to drag a third person into learning to code, and another one as a spectator to what turned into years of trying to one-up each other in doing shit in OpenGL. And then I got on-line and discovered a local gamedev community, where again, I could participate in mutual showing-off. Point being, as I re-evaluate my early years of coding, I notice I always had someone to talk to who could relate, or at least be impressed (real!impressed, not fake "I don't understand or care about any of this but go you!" parent!impressed). Looking at all these stories here about programming to automate homework - which presumably also impressed classmates - I'm starting to wonder if this isn't a necessary condition for a kid to get into programming.
- holografix 6y agoVery simple: first you showed him a complex, abstract, adult world boring thing. Then he found out how to apply code to immediately impact his real life. Code became _useful_ and _fun_. Aim for immediate practical application.
- markc 6y agoI think this nails it.
- fatnoah 6y ago>I.e. all my efforts to pique interest didn't have any effect that I could see. He had to find his own way to it. All of my attempts to interest my now 13 year old have met with similar indifference. He's genuinely impressed with the work I do, but is much more interested in being a streamer. Oh well.