Cats Who Code
August 14, 2012 11:06 AM   Subscribe

Khan Academy unveils its new interactive Computer Science learning platform. More coder resources: Free Tech Books, WiBit.net, Google Code University, the W3C's Web Standards Curriculum, a Beginner's Guide to HTML & CSS, and codepen.io, a social sandbox for web design.
posted by Bora Horza Gobuchul (26 comments total) 145 users marked this as a favorite
 
That's, umm... Not computer science.

It's computery things, but it's not computer science. Not that I am complaining I think it's great... I keep pondering getting back into coding a little, and especially maybe trying to whip up something for my Nexus 7, but I'm intimidated by Java, and only used Python a little, and I know I can use SL4A to run python, so I'm thinking that might work, but if I want to do something more complex like a game, I imagine I need to do something with more heavy lifting.

I've also thought of using processing for android since you can do that... And now that I look, I see he's using processing.js... Hmm...

Anyways, my original point: Computer science, now that's a whole other level...
posted by symbioid at 11:14 AM on August 14, 2012 [2 favorites]


Codeacademy has been an excellent resource for my foray into programming. :^)
posted by raihan_ at 11:21 AM on August 14, 2012 [2 favorites]


It's really rudimentary computer science, but it's still computer science. Don't be an academic snob. Many CS curriculums include courses in HCI or graphics. Anyway, I doubt that most hobbyist programmers want to learn about Haskell and dispatching closures.
posted by deathpanels at 11:28 AM on August 14, 2012 [4 favorites]


A lot of physics curricula also include building mouse trap racers, but that's not physics, it's engineering.

That said, I have no problem with Khan calling this CS, because it induces interest in the topic, even if it doesn't teach any of the meat. A gateway drug to CS.
posted by DU at 11:36 AM on August 14, 2012 [2 favorites]


First, some meta-instructions:

How to be a programmer

Teach yourself programming in 10 years

I think I have the Berlin Academy of Music study somewhere (which Norvig talks about). Interestingly enough, it also got coverage on Study Hacks.

How to be a hacker

Then, a reading list:

Stack Overflow list of free books

The astoundingly good Stanford CS106L course reader (it's a supplementary C++ class, so it's on C++, but it's really good)

Matt Might's also really good to-know list

Also, go get Godel, Escher Bach and The Little Schemer, which are not free. The Seasoned Schemer is also good.

You may have it in you to ask how the people who originally wrote the Javascript examples they seem to love at Codecademy and Khan Academy got their Javascript knowledge. It was probably from books like these two. Note the page counts on both of them.

I talked with the CEO of the company that makes this some time ago. They are doing quite interesting work.

A little thing on reading lists: I find that the only way you can get through significant parts of a 100-book reading list is order them by relative difficulty (page length usually, although K & R C is, for example, harder than most 274-page books) and plow through the smaller ones, somewhat like debt snowballing, but for your reading debt. You may not get through the 1000-page doorstops too easily, but I've constructed a couple 100-book reading lists and read 80 books from them, which is not too bad. I learned history that way. I have a reading list based upon tasks on Remember the Milk.
posted by curuinor at 12:07 PM on August 14, 2012 [24 favorites]


I'm unimpressed that they are calling this CS when it's really just "let's tinker with javascript." Having worked through some of the linear algebra lessons in the math section, I was expecting much more substance.
posted by rouftop at 12:35 PM on August 14, 2012


Curinor, I'd love a peek at your History reading list.
posted by grumblebee at 1:36 PM on August 14, 2012


Rouftop,

Knowing Khan Academy, I'm sure some more 'meatier' CS lessons are coming shortly.
posted by spinifex23 at 1:47 PM on August 14, 2012


I told grumblebee about my lack of a history reading list, but here's my own reading list of books even vaguely related to CS:

http://pastebin.com/h3G6Ux7x
posted by curuinor at 1:53 PM on August 14, 2012 [2 favorites]


Agreed. Computer science is about understanding intimately things like algorithms & data structures and their analysis, combinatorics/probability/statistics, complexity & automata, proofs, hardware design, compiler and interpreter design. Stuff like that. This looks like casual programming, where you look for languages and libraries suited such that you can not really understand all those things.
posted by kjs3 at 1:56 PM on August 14, 2012


The "it's not CS" criticism is addressed in John Resig's detailed blog post about the platform (definitely worth reading if you're interested):
One question is obviously: How much “Computer Science” do we actually teach? Obviously, right now we’re not teaching very much in the way of traditional Computer Science content, we’ve placed far more focus onto the platform and feel that a lot can be gained from just what we’ve already built. We’re still very early on in the production of content and will be producing much more, of increasing complexity, over the upcoming weeks and months.

We decided that it was much more fruitful for us to tackle the most challenging problem that exists with Computer Science education first: Getting people excited about programming. If we can get people excited about programming, and build (or point them to) the resources they need to learn more then we will have been successful.

Eventually I think we’ll work to effectively replicate the materials one typically finds in a “Computer Science 101″ but in a way that is far more engaging and self-paced than what you would find at a traditional university.

posted by Paraclete at 2:42 PM on August 14, 2012 [6 favorites]


Computer science is the study of processes and data structures. Most people cannot understand something they haven't gotten their hands on. Therefore, programming needs to come before "real" CS content for most people.
posted by DU at 3:12 PM on August 14, 2012 [1 favorite]


and The Little Schemer, which are not free

The classic The Structure and Interpretation of Computer Programs is free, though (epub.)
posted by Zed at 4:37 PM on August 14, 2012 [1 favorite]


Therefore, programming needs to come before "real" CS content for most people.

This. You'd think the abysmal dropout rates in "real" CS programs (despite the mind-bogglingly good employment outcomes) would be a clue that "real" CS programs are pedagogically awful. But mostly the industry seems to have taken it to mean "we're smart and those people are stupid, so CS pedagogy is just fine."
posted by louie at 4:41 PM on August 14, 2012 [3 favorites]


"we're smart and those people are stupid, so CS pedagogy is just fine."

What schools' CS programs are doing this?
posted by Zed at 4:45 PM on August 14, 2012


Not sure what you mean by "this," exactly? Many schools and good teacher are thinking about revamping the curricula (important, given the abysmal dropout rate at CS 101 classes, across the board) but most people I know in the industry seem to think that the people who failed are dumb; the people who passed are smart; and so the curriculum is doing its job.
posted by louie at 5:52 PM on August 14, 2012


people I know in the industry seem to think that the people who failed are dumb; the people who passed are smart; and so the curriculum is doing its job.
That's because programmers are, generally speaking, dicks. Specifically: lazy, hubristic, impatient dicks.
Computer science is about understanding intimately things like algorithms & data structures and their analysis, combinatorics/probability/statistics, complexity & automata, proofs, hardware design, compiler and interpreter design. Stuff like that. This looks like casual programming, where you look for languages and libraries suited such that you can not really understand all those things.
I hear you, but there's also a "computer" in computer science. Most people who study computer science do so with the intention of programming computers, overseeing the programming of computers, or doing some other activity that requires knowledge of computer programming. Do you want to teach beginners category theory?

I still fail to see how Khan's program is not valid as introductory material. John has put a ridiculous amount of effort into Khan Academy, and Shay Howe, a colleague of mine, has put a lot of work into his guide and Code Academy. These are people donating hours of their time to train total strangers, for free. I for one applaud that.
posted by deathpanels at 8:42 PM on August 14, 2012 [5 favorites]


"there's also a 'computer' in computer science"

... and in 'computer', we find 'compute', and that puts us right back in the realm of algorithms, combinatorics, and complexity.
posted by Ardiril at 9:45 PM on August 14, 2012


but . . . where are the cats?
posted by girandole at 11:15 PM on August 14, 2012


The cats? Packed up in Roy Thomas Baker's studio with Local H.
posted by Ardiril at 11:27 PM on August 14, 2012


But mostly the industry seems to have taken it to mean "we're smart and those people are stupid, so CS pedagogy is just fine."

The industry that would eventually hire those students (at least the large software company I work for) has taken it to mean "there are so few good American CS graduates and it costs too much to find them, screw that, we'll just hire from India, China, and Mexico instead."
posted by purple_frogs at 5:48 AM on August 15, 2012 [1 favorite]


purple_frogs: definitely. And somehow the solution to "so few good American CS students" is usually "throw more algorithms textbooks at them" and rarely "convince people programming is achievable and fun, and then throw more algorithms textbooks at them." It seems that this is aimed squarely at that first part, which is great.
posted by louie at 6:52 AM on August 15, 2012


@deathpanels: I hear you, but there's also a "computer" in computer science. Most people who study computer science do so with the intention of programming computers, overseeing the programming of computers, or doing some other activity that requires knowledge of computer programming.

And? So if I go to business school because I want to manage people, I shouldn't have to have a grounding in accounting, finance & marketing? You know...the fundamentals?

Do you want to teach beginners category theory?

If they want to call themselves computer scientists, yeah, I think that's a pretty reasonable topic to cover in their undergrad. Why would you think it isn't?

I still fail to see how Khan's program is not valid as introductory material.

I didn't say it wasn't. I said it wasn't, taken as whole, computer science. Call it "introductory programming" or something and no one would have said a word.

John has put a ridiculous amount of effort into Khan Academy, and Shay Howe, a colleague of mine, has put a lot of work into his guide and Code Academy. These are people donating hours of their time to train total strangers, for free. I for one applaud that.

That's nice. Really it is. But this whole "they work hard and are nice guys so don't you dare criticism them" attitude is rubbish.
posted by kjs3 at 8:45 AM on August 15, 2012


OK OK OK - let's call it "Let's get excited about Computer Science, starting with some cool basic programming things you can do and then work our way up to more actual computer sciencey stuff"
posted by symbioid at 3:14 PM on August 15, 2012


Except this isn't an undergraduate program. It's an introductory course geared toward beginners primarily interested in web development.
posted by deathpanels at 8:43 PM on August 15, 2012


@deathpanels: Then call it what it is. Why is that so hard to understand. If someone called introductory CPR "Medical School" there wouldn't be any issue with saying "that's bullshit", but somehow "intro web design" is okay to make synonymous with "computer science"? No...it really isn't.
posted by kjs3 at 6:52 PM on August 19, 2012


« Older “When someone hands me a beer I don’t ask how it...   |   Buying a Kick in the Face Newer »


This thread has been archived and is closed to new comments