Linked by Howard Fosdick on Fri 13th Apr 2012 20:21 UTC
In the News Six-month-old web site Codecademy claims you can learn programming through its online tutorials. The free modules on JavaScript are now available. The site also allows anyone to post their own programming courses. The site has good funding, but question is: can you really learn programming this way? One blogger enthuses that Codecademy's approach "looks like the future of learning to me," while another slams it saying "Seriously? Wow, bull**** badging and sh**ty pedagogy wins the day in ed-tech investing." What do you think?
Permalink for comment 514181
To read all comments associated with this story, please click here.
phoehne
Member since:
2006-08-26

The reason I titled this "It depends on the person" is that you can get the understanding of networks, operating systems, databases, computer architectures, formal language theory, and analysis of algorithms, even if you don't go through a formal CS education.

"I also think it's possible for self taught coders to absorb, over enough time, the same information I got in a class room setting. I just don't think, for the average person, those are likely outcomes."

What underlies the idea behind Codecademy is that knowing to code is the bulk of developing software. It's a common belief held by a lot of people. Know a language and then keep writing software and you'll be a good software developer. It does happen with some people, but not often. It may make you a good coder, but coding up the solution is sometimes the next to last step in a much larger process, and sometimes not as important as the analysis that goes behind the code. It's a little like saying all there is to being a chemist is mixing reagents.

Knowing how to code doesn't provide the mathematical tools to analyze algorithms to determine what algorithm may or may not be best, given small n, usually sorted large n, or why you need to randomize the order of the input array before you sort. Or for that matter, understand things like space/time tradeoffs. Most people are not likely to pick up a book on analysis of algorithms. They're not likely to pick up Knuth's books, nor are they likely to innately develop the mathematical skills that most people find very challenging.

Some people might read the above as saying people who are self taught will never learn these skills. If you take the time to actually read what I wrote, you'll notice I didn't say better, or that it was impossible to pick up these skills. Having a formal CS education doesn't make a better person, it doesn't make you smarter, taller or better looking. But known how to code does not make you a software developer than swinging a bat makes you a baseball player. There's a lot more to software development than just slapping code into an editor.

Edited 2012-04-14 14:25 UTC

Reply Parent Score: 5