3 ms·
Why do you have to teach them the boring stuff first? The point is to get them interested in programming. They can learn how the hardware, compilation, linking,
by possibilistic 12y ago
Why do you have to teach them the boring stuff first? The point is to get them interested in programming. They can learn how the hardware, compilation, linking, and algorithms work later.
Above all, get them interested. If you capture their imagination, they'll be receptive to--even independently curious about--the details.
I'm speaking anecdotally now, but please do not bore young students. There's no way I would have stuck with it if C was my first language. Javascript and Python are excellent starting points that easily let kids create games and websites and fun things.
We probably wouldn't start someone off with Haskell, but to me C seems on the same level of impracticality for a young beginner.
- Cakez0r 12y agoWell if somebody is in higher education for computer science, I'm assuming their imagination has already been captured. I'm all for using whatever has the lowest barrier to entry in order to get young people interested in programming.
- j2kun 12y agoThat's not a very good assumption. A lot of students get their first experience with programming in college.
- nightski 12y agoSorry but hardware, compilation, linking, and algorithms are anything but boring. Even as a beginner I was very intrigued by all of them, even if I did not understand them as well.
- eddiedunn 12y agoYeah, sorry, but that's you. I can bring my own anecdotal evidence to the table and say that for me, compilation, linking and algorithms were very secondary to the thrill of typing in "commands" to the computer and have it do all the work for me automagically. Programming, which I learned in college, was a very pleasant method of getting around all that boring math by letting me figure out how to solve the problem and then having my computer do the mechanical calculations.
- nightski 12y agoThrill does not allow you to solve problems (beyond what a competent engineer has solved for you behind a pretty API). In order to succeed at solving problems you must enjoy it in the first place. If you do not care about the underlying algorithms behind those calculations programming is always going to be boring.