News for hackers. Stuff that matters.
Re:Learning to Code vs Learning Computer Science by runawaybottle on Monday February 10, 2014 @02:42AM (#7209665)
The one thing a lot of people really miss when talking about education is proper motivation. Believe it or not, it is not natural to want to know what the 'sort' function does. Even the most curious, smart individuals may ponder for a moment the implications of not knowing what that black-box function is doing, but very few are compelled to start digging.

And really, what's so bad about that? If the sort function solves your problem, then guess what, you just solved your problem. Now, next week when they plug in some new sets of numbers and their program breaks, they'll have to figure out what the hell the sort function actually does. Then two weeks later when they need to plug in large data sets, and the program takes days to run, they'll need to investigate better algorithms, and so on.

It's called classic problem solving, and it doesn't get nearly the credit it deserves. It provides proper motivation (not forced motivation, or misguided motivation). One is not simply compelled to ask "Are there more or less efficient ways to sort numbers?". There must always be a reason.

Lastly, what is academias obsession with berating professional coders?

>I learned the BASIC and Pascal languages at school. Who uses those now? No one. Learning to code an iPhone or Android app is great fun - but in 10 years time when those children are adults, the world will have moved on and Objective C will be yet another obsolete language.

Let's just ignore the implied purity of the former two languages mentioned, but Objective C is used to program for the most popular phone the world has ever seen. You average kid grew up with one of these things, it's very natural to want to make something for it. This attitude is really unfortunate. People that go from zero to making shippable apps are pretty awesome, it takes a lot of effort to persistently learn (by yourself!). What makes it worse is that the computer scientist and the coder who wants to solve/ship something are trying to solve two completely different problems. There is no reason for this kind patronizing.

There are no comments on this comment yet.