Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Education Programming News

Khan Academy Launches Computer Science Curriculum 146

joabj writes "Expanding beyond math and the physical sciences, Khan Academy has added a set of computer science courses to its popular collection of learn-at-home instructional videos. For the project, Khan tapped jQuery creator John Resig, who chose JavaScript as the first language to teach students. The initial set of tutorials cover drawing, programming basics, animation and user interaction."
This discussion has been archived. No new comments can be posted.

Khan Academy Launches Computer Science Curriculum

Comments Filter:
  • by Anonymous Coward

    Queue Javascript bashing in 3...2....1....

  • by Anonymous Coward

    His book Secrets of the JavaScript Ninja got me to love JavaScript. He wrote the framework that made JavaScript a pleasure and now he is educating young people. I only have one man-crush and it is on John Resig.

  • by gweihir ( 88907 )

    JavaScript is completely unsuitable to teach CS. It may have some suitability for a scripting-language course, but doing algorithmics, interfaces, architecture, clean design, etc., can only fail with JavaScript.

    • Why, exactly is this the case? Why can't you teach algorithms or architecture or clean design in Javascript? Interfaces are tricky, sure; at best you have to resort to something like duck typing in asserts if you want to be sure that something implements an interface, but the rest seems completely doable in JS.

      • by gweihir ( 88907 )

        The problem is that novice programmers will struggle with the language most of the time and will not see the things actually taught. A language for teaching must stand in the way as little as possible, be clear, orthogonal, little clutter, etc. The best for teaching algorithms and data-structures I have seen so far was Haskell. After the students have actually understood the concepts, and have seen one language, move to C and teach them about the other side, but keep using the same data-structures and algor

  • Awesome. I'm going to make everyone I know watch these. Time to get rid of the "Programming is just typing!" school of thought. And maybe teach some people how to think in new ways.
  • I love my job. I love the internet & online teaching. Why spend money when you don't have to? :-) (I also love all the other free stuff online like magazines & audiobooks & music & news & .....)

  • Before you blindly dis' javascript, listen to Crockford

    http://www.youtube.com/watch?v=gz7KL7ZirZc [youtube.com]

    "Lisp in C's clothing"

    "Lousy Implementations" to blame

    And the prototype model is more pragmatic and less crazy than the object-fetishists will ever admit. You can do functional-style programming in javascript pretty well too.

    Could it be that javascript is a language whose time has come, and the Khan academy have made a smart choice? Let's face it - it wouldn't harm to have more well-trained javascript program

  • I disagree with Kahn calling these Computer Science courses, but I have to admit that I am at a loss as to what to call them. Computer Fundamentals perhaps?

    It is a disservice to those looking at these to think that Computer Science is making an iPhone app or game. It really trivializes how powerful computers are and the concepts they embody.

    • I'm waiting for the Khan Academy course on how to use a hammer.

    • Into to Software Development?

    • I disagree with Kahn calling these Computer Science courses, but I have to admit that I am at a loss as to what to call them.

      When you figure it out, you should be able to apply the same term to any grade school course the subject of which they hand out graduate degrees. Math, English, Biology, Physics, History, etc. These beginner courses provide the lingua franca (programming languages) which we use to *begin* teaching Software Engineering (well the parts that aren't just pure engineering principles). If you want the academic, abstruse term, how about "Fundamentals of Algorithmic Expression".

  • by jmasha ( 2708237 ) on Tuesday August 14, 2012 @06:07PM (#40990369)
    Different educational institutions have different goals. If you want to go be a programmer and hack source code to make games, apps, real world things, etc. than traditional University education is probably not for you. Unless you are writing a physics engine from scratch, your use of math is probably limited and often CS degrees require a lot of math. Remember that the S in CS stands for science. This is where the University education plays a role. They want to mould students to become scientists, researchers, and professors. A good portion of the science and research material requires strong mathematical backgrounds and im my experience doesn't require the ability to be a super elite programmer. Hell, lots of great ideas are proven and tested with MATLAB scripts. This also applies to the concepts such as runtime analysis and algorithm complexity that are core to developing and proving new approaches and systems. I applaud Khan for it's attempt, but unless there is a heavy math focus later in the curriculum, then they should advertise it as a programming class, not a CS class.
    • Different educational institutions have different goals. If you want to go be a programmer and hack source code to make games, apps, real world things, etc. than traditional University education is probably not for you.

      Real world things? Like database engines, operating system kernels, compilers, enterprise distributed systems, parallel computing, algo-trading, animation/rendering engines that must run in uber-clusters? Yeah, sure, a CS education is not probably not for you &lt/rolls eyes>

      Unless you are writing a physics engine from scratch, your use of math is probably limited and often CS degrees require a lot of math.

      Been working on software (both commercial/enterprise, systems development and for the defense sector), and in each I've had to constantly use CS-related mathematics to do my work. Even on the commercial sector, I've had to use num

    • by rastos1 ( 601318 )

      Remember that the S in CS stands for science.

      I'm afraid that attempting to explain to unwashed masses the difference between Computer Science and Programming (and web page design) is equally futile to explaining the difference between hacker and cracker (and a script kiddie).

  • SICP (Score:5, Interesting)

    by Orgasmatron ( 8103 ) on Tuesday August 14, 2012 @06:20PM (#40990513)
    There is still no finer introduction to computer science than Structure and Interpretation of Computer Programs [mit.edu] by Abelson and Sussman. Also, be sure to watch the videos [mit.edu].

    Computer science is about processes and structures, not computers, and not programs. LISP is still the ideal vehicle for learning about the important parts.

    On a personal note, a friend of mine had a CS 101 intro course some years ago that was Javascript based. It was absolutely terrible. I know that it was terrible, because I ended up re-teaching him each of the concepts using random old textbooks that I had lying around. He had no problem learning concepts in other languages (Fortran, BASIC, C, even some MIX when I used Knuth) and then applying them to back to the Javascript that he had to do the problems in.

    I know that Javascript wasn't entirely to blame there, but it sure didn't help. But why try to polish that particular turd?
    • it's for kids, relax. there has to be an element of fun in it

    • by hackus ( 159037 )

      I entirely agree.

      Scripting languages should not be taught to first year students for a variety of reasons. I think in my opinion the primary one is that scripting languages do not expose the connections between information structures and the algorithmic complexity of those structures in enough detail to provide a good foundation to learn other concepts such as machine organization and operating and compiler theory.

      -Hack

  • I'd definitely recommend C as a starting point for anybody serious about learning how to program. You can do high level stuff (pointers, functions). low level (bit manipulation) and everything in between. Also C is the starting point for so many other languages. The knowledge picked up could be extended to Java, C++, C# pretty quickly. If C is considered too cumbersome, Python would be an excellent choice. The clean coding style required definitely builds good habits. But, God Forbid, don't start with
  • Does anybody know what the player requirements are?
    The presentation style courses hang at "Loading audio..." for me. Chrome, chromium or iceweasel on Debian wheezy.

  • by Gothmolly ( 148874 ) on Tuesday August 14, 2012 @08:52PM (#40991993)

    This is the 2nd mention of the Khan "Academy" in the last week or so.

    • by Zubinix ( 572981 )

      Only on Slashdot does an AC get modded Informative for pointing out that the LHC is in Europe.

      and modded as 'Insightful' for pointing out that Europe is not part of America.

  • "Computer Science Curriculum"

    Teaching basic coding skills is not computer science. Even teaching more advanced coding skills is not computer science. It's teaching coding.

One man's constant is another man's variable. -- A.J. Perlis

Working...