4 ms·
He clearly has a strong interest and is very self-motivated. When introducing theory, be careful not to reduce his enthusiasm and excitement. If you plan to i
by neovive 14y ago
He clearly has a strong interest and is very self-motivated. When introducing theory, be careful not to reduce his enthusiasm and excitement. If you plan to introduce some fundamental programming concepts, perhaps, start by helping him improve his existing code. He might also be interesting a game development platform such as Unity3d, which has support for C#, JavaScript and a Python-based language.
- jamessun 14y agoThanks for the suggestion. You're absolutely right when you say, "When introducing theory, be careful not to reduce his enthusiasm and excitement." :-)
- mindcrime 14y agoWhen introducing theory, be careful not to reduce his enthusiasm and excitement. Agreed... unless he just plain shows a lot of interest in theory for theory's sake, I'd say to make sure to always have an application for any theory you introduce, that demonstrates the value of what you're showing. Or even if you can't literally demonstrate it, at least an explanation that's as context relevant as possible. Example: If you start talking about sorting algorithms and runtime complexity, explain how a bad decision here could cause lag / latency in one of his projects. IOW, tie the theory back to something he can easily relate to. Otherwise, if he already thinks he wants to be a developer down the road, I'd say you'd be doing him a favor by teaching him some of the things that you tend to not get in a CS degree program... that is,the "software engineering" stuff. Revision control, release strategy, testing, etc. Anyway, it sounds like your son is in a pretty good place already, so you might want to be careful not to push him to hard, to the point where programming becomes a chore and he starts to tune out. Finally, there are a couple of books that might help whet his appetite for hacking, such as Levy's Hackers: Heroes of the Computer Revolution or Kidder's The Soul of a New Machine or Rosenberg's Dreaming in Code.
- jamessun 14y agoI'd say you'd be doing him a favor by teaching him some of the things that you tend to not get in a CS degree program... that is,the "software engineering" stuff. Revision control, release strategy, testing, etc. That's a great point. I wonder how many high schools (or colleges, for that matter) teach the "software engineering" stuff, the practical, "vocational" skills that software developers need.
- mindcrime 14y agoThat's a great point. I wonder how many high schools (or colleges, for that matter) teach the "software engineering" stuff, the practical, "vocational" skills that software developers need. Not enough, from what I've seen.