4 ms·
Hey! I'm a 13-year old who is interested in CS and programming in general, so I meet at least one of the given categories. I have been programming for a few yea
by throwaway344 13y ago
Hey!
I'm a 13-year old who is interested in CS and programming in general, so I meet at least one of the given categories. I have been programming for a few years and since then I have tried to teach friends programming. I have not really successed much, save for one person. In that case I gave him my copy of "Head First Python" and showed him how to build a tiny little web app. He was really impressed by this because it shows how there really isn't any difference between what he could do, and what so-called real startups can do.
To me that's the key point. They need to understand that what they can hack around with in Python or whatever language you choose is just the same thing that real progammers do simply varying in scale. With that in mind, I would stay away from direct CS ideas without clear practical relations to things that they can build by themselves.
- tptacek 13y agoYou write extraordinarily well for a 13 year old. Keep working on that. It's going to be way more important than you might think it will be, today. As the parent of a 12 year old and a 14 year old, lemme ask you: what got you starting coding? What keeps you interested? My older kid hacks Minecraft a little, but I'm still having trouble coming up with interesting projects for him to work on.
- chunky1994 13y agoI'm 19 now, however my dad got me really interested in math when I was around that age. (Cs-ey math). He had this book on fortran which he told me to read before falling asleep as a way to get me to sleep by my bedtime. It was a pretty profound book, and he used to always explain everything to me in terms of patterns and sequences, and could see if I could guess what lay ahead (in terms of a specific pattern or sequence). It was quite exciting when I got the answers right. I would guess that a similar approach would work now, perhaps with a more modern language? Also, kids (at least I know I used to) love stories on web security (admittedly the gritty details can be boring to them) however, with your expertise I'm sure you could find some way of conveying the excitement of beating the system without actually going into the details. EDIT: To answer your question particularly about projects, I think that they will grow into coding from the more math-like perspective that I described. When they figure out algorithms and want to actually see them fleshed out in real results, they'll automatically take to coding things. After that, the world is their oyster.
- dylangs1030 13y agoCurious, do you remember the title of that Fortran book? Was it a for kids book or an actual textbook? It sounds like a great place to dive into Fortran, from what you described.
- chunky1994 13y agoI distinctly remember it was the numerical recipes book, and the language used was Fortran 77; so, it was an actual textbook. However, I really didn't understand much, until my father explained it to me in very simplified terms. The concepts are pretty simple, the details are not.
- dylangs1030 13y agoNumerical Recipes in Fortran 77? http://www.amazon.com/Numerical-Recipes-Fortran-Scientific-Computing/dp/052143064X http://www.amazon.com/Numerical-Recipes-Fortran-Scientific-C... Cool, I'll give it a go, thanks for sharing :)
- dylangs1030 13y agoThomas, I can't speak for the parent, but I started in high school when I was around 13 ish. I'm still closer to that age now than to what a typical parent's age is, so I think I still have a pretty good perspective on it...I can tell you what made me interested and self-motivated. I also started a computing club at my high school. There were a few motivators that stick out to me to learn coding: A lot of it was having a group of kids doing cool stuff on computers that made me envious and want to learn. I discovered something of an affinity for it when our in-house IT person (my high school required us to buy and use laptops...) couldn't fix a problem and I went home and learned how to do it on my own. We were running Windows XP and I couldn't shell out another $2000 for a laptop or send it away for repair for weeks even though the repair technician at my school said it was hopeless. I went home, hacked around with it and fixed it within two days. Huge confidence boost, practical knowledge, and desire to learn more, all key to learning coding. I had to setup another machine for researching my issues, get a crash course on CLI, and perform trial and error. Bonus: I attracted kids to the club by solving problems like this for them and showing them how to solve their own, too. Another part of it, admittedly, was hacking. I know you probably don't want to teach your kids to do this, but honestly I found breaking things to be an incredibly motivating reason to learn. Unless I wanted to be labeled a script kiddie, I had to learn how to sling code and make my own tools and way out of things. My first major "solo" project was a SQL injection on a Canadian bank (didn't steal anything) and that was only inspired by wanting to outdo another classmate who totally rooted someone else's PC with a USB. Again, that "cool" factor that's so important for kids and the enviousness of something that's awesome. I had to one-up him. I did it irresponsibly, but with guidance and a virtual machine you control or vulnerable web app, this could be a great motivator. Let's see...I remember having good ideas for utilities and wanting to automate them. Classic example: my high school had this obfuscated way of grade weighting, and didn't easily give out the way that grades were formulated to students. I found out how the grades were formulated, scripted the entire thing together so I would just have to punch in numbers to my little CLI, and it would output my grade so I wouldn't have to wait for my teachers to do the damn thing. I also did this for friends who requested it of me. Simple, but again, when you're learning, all victories are grand. Your kids sound like they enjoy computer games...have them design one. Designing a game is a great way to introduce them to the wonderful world of algorithms without labeling them "algorithms." All those games that used to exist on cheapo "Free Web Games" sites in the early 2000s can be written in between a few hundred to a few thousand lines of code if they don't have intensive graphics. Bonus: they'll associate creativity with coding, and may start seeding ideas of their own and implementing them independent of your suggestions. Double win. Finally...install linux on your kids' computers. I don't know if they're that far? But when I was learning I gave myself the unique headache of completely eliminating Windows XP from my computer and having to hack together a way for my shiny new Ubuntu box to work on a school network not designed for anything but Windows computers. It was a pain, but I did it. I also had to learn how to debug things on my own, how to configure drivers and fix things, etc. It has to be just hard enough that you're encouraged to tinker around and hack your way out of the problem, but not so strenuous that a middle-school to high-school kid is going to be like, "Fuck this, I need Windows XP back." You can scale this according to ability - if they've never experienced linux, give them a gentle push into Ubuntu, Debian or Mint. If they can navigate around and script themselves out of a paper bag, change your WiFi password at home and (good-naturedly) challenge them to break the pass so they can use the internet again without ethernet, and throw them right into Backtrack. Better yet, have them set up Backtrack on a Mac, and introduce them to Broadcom driver hell (he-he...). I guess my TL;DR is this: My specific experiences may or may not be appropriate for your kids, but the underlying principle is something I think applies to all of them. Learning to code at any age is daunting - some people literally just don't have the mathematical mindset for it. It has to present unique challenges, be industrious and offer utilities/conveniences they can't otherwise have, and have a basic "cool" factor they won't get elsewhere. It also has to have staggered victories throughout so they don't lose confidence. For me, it was breaking, automating and tinkering (with) things. For your kids, it's hacking minecraft. The philosophy of why coding is useful, cool and fundamentally impressive will get them to just find projects on their own, rather than you having to come up with interesting projects for them. Then, they're sold. You could also suggest ways they could program a solution to something - a teenager probably won't be interested in learning Lisp with Project Euler, but if they ask you something only marginally relevant to programming and they could utilize coding to reach (or expedite) a solution, suggest it. Hope that helps, I'm not an experienced parent, but I went through it and helped other young teenagers with it.
- throwaway344 13y agoThanks for saying that about my writing; it means a lot. On your question, I got started in programming through math homework. My teacher at the time assigned huge ammounts of little geometry problems therfore as a hacker type, I was convinced I could figure it out through a computer. I googled for a while and played around with Python for much more time than I would have done the homework. After a few weeks, with more than a little help from my dad, I had made a little python script that could figure out the area of circles and the like. After that, my mom saw my interest in programming and talked to the local high school's AP CS teacher to see if he could do a little class for me. I imagine doing that is infeasible for most people, but if possible I think a non-parental figure could be great. In terms of problems to solve, I hack a lot on various sysadmin tools for the high school during the year, but I've also played around with trading bots. (My parents work in finance) I'm not really a gamer so I can't really speak to that side of things but I'm sure there are things to do there. On a side note, if either one of your children want to talk, just email me.
- dennisgorelik 13y agoDid your parent try to find interesting projects for yourself when you were teenager?
- dennisgorelik 13y agoDid your parent try to find interesting projects for yourself when you were teenager?