Sal Khan has started videos about Python
youtube.com
youtube.com
But I think that I might be wrong. I think that Sal might be right, and just go. Python is easy enough that some people might pick it up just from following along - not to mention that you don't want to fill people's heads with crazy words they've never heard before. That's only going to stop people from trying to program.
The problem is that I'm a fairly experienced programmer by now, so any thoughts I _do_ have are going to be skewed. I can't look at these videos from a beginner's eyes because my mental model for programming is already set, and no matter how I look at something, I'll try to fit it into my existing model.
Either way, this is fantastic. Absolutely excellent. I think it's wonderful. Honestly cannot shut up about it. I'm going to tell my sister to watch them, just to see what she thinks.
Given that Sal focuses an awful lot of time on getting Khan Academy in schools, this may be the next step in teaching the entire world how to program. I can't wait to see where this leads.
http://www.youtube.com/watch?v=ZyYp1V84Xqc
Hopefully a mod can change the link.
I'm worried: Sal does not seem like a professional software developer or someone who's done significant software maintenance. Like Visual Basic, he could end up just teaching bad practices that people who watch his videos will just have to unlearn later.
Personally, I'm still going to recommend that people read Learn Python the Hard Way, not watch this video.
LPTHW looks like a great book and may be a much more thorough introduction to Python for someone who is committed to learning the language; these videos are not really focused on that demographic. LPTHW is great if you're already a programmer or go in knowing you really want to learn how to program; hopefully where these videos can succeed is bringing in new people who are mildly interested and getting them started while showing them how fascinating programming can be. One day, hopefully Khan Academy will have enough videos and interactive exercises that a programming education will be as thorough as LPTHW, but that doesn't happen overnight.
I'm not saying that adding extraneous comments at the top of your file is the end of the world: I'm saying that Sal violated basic programming practice in one of the simplest 10 line programs that can be written. This is a canary.
What makes good teachers so good is that they know their field so well that they can use all of their gathered knowledge to help clarify and guide people who don't know any better. It doesn't matter how good a teacher you are if you really don't know what you're teaching.
This video isn't trying to make people into professional developers any more than his videos on algebra are trying to teach research-oriented mathematics.
Now that he's making minor mistakes on programming, HNers are upset he's not a software engineering expert.
Are you willing to actually do any work to improve it, or give a big cash grant so KhanAcademy.org can hire those professional programmers to help out?
I guess I can understand why people criticize Khan but it seems so wrong. Just pretend that khan is for the other 7 billion people!
Will you be putting up your own website of free programming tutorial videos done the way you think they ought to be done? Will you offer to volunteer your time to Khan Academy.org to produce programming videos the way you think they should be done?
Yeah... that's what I though.
Second, I feel no need to replicate LPTHW.
I didn't think that the video (now dead) was particularly good, but I think that this is a bit of an overreaction. LPTHW doesn't seem to use PyDoc comments either. Would I be upset if he used C# and put a // comment at the top of a method, instead of a /// comment? Probably. Would I regard it as evidence that he wouldn't be able to teach programming? No.
He's not simplifying things by putting the filename at the top of the file: he's just wrong
Maybe this is a Python thing, but there's a semi-official, but fairly popular tool from Microsoft called StyleCop that forces C# code to have a comment with the filename at the top. Bottom line: putting a filename at the top is not regarded universally as a bad practice, even among professional programmers.
I know that it isn't your main point, but I when Sal inevitably moved to CS, I was hoping he would start with theoretical CS first. He seems strongest on mathy topics, and I think his style of teaching could be very useful in that area.
I wonder, has it ever been tried? (starting with proof theory)
The real issue is that there is already a clearly defined way to do these things. If you've got any meaningful experience with Python, you should be following at least the spirit of the PEPs. I don't think that's unreasonable for Sal to do.
The dude's got so much knowledge on such a large breadth of topics. I wouldn't be surprised if he didn't know or care what a PEP was.
These type of efficiency tactics enable him fit a meaningful lecture in under 10 mins.
On a related note, what many people here found a helpful introduction to Clojure was viewed with circumspection my some in the #clojure Freenode community. Assessing the quality of materials is made even more difficult by the challenge of finding the critics whose opinions are worth paying attention to.
`Superficiality` is a strong word. Zed Shaw's LPTHW is for beginners, but not superficial. Similarly, most of Khan's lectures target a particular audience. Some of his lectures are advanced, some are intermediate, some are for beginners...just the way it should be.
Khan himself responded to one of superficiality claims here on HN(the one about history lessons).
I think Sal and the rest of the crew at KA have been keeping this at bay by acknowledging all the good will and keeping on with the daily load of videos, enhancements to the site, open source initiatives with the exercise dashboard, and maximizing exposure with the press while not loosing vision of what they're doing or the quality of the material. That's a good thing.
But I do agree, the material on KA is a little too soft and I would appreciate more higher level material but at the same accessibility and ease-of-use as KA. OCW efforts seem to be filling this gap for awhile, but I think there still needs to be something better. Thankfully, there's Youtubers like commutant[1] who does the same video style lectures as Sal on partial differential equations, numericalmethodsguy[2] who does lectures on numerical analysis, real analysis by Francis Su[3] on the Harvey Mudd channel, UNSW lectures[4] on engineering math, algebraic topology, and digital signal processing, JimBobJenkins[5] who does a fantastic and intriguing lecture series on Game Theory, TheIntegralCalc's[6] great videos on early calculus, as well as MathDoctorBob's[7] clips on a wide-ranging list of higher maths. Abstract algebra[8] by Benedict Gross is also another class I am currently going through, really fascinating.
[1] http://www.youtube.com/user/commutant
[2] http://www.youtube.com/user/numericalmethodsguy
[3] http://www.youtube.com/user/HarveyMuddCollegeEDU
[4] http://www.youtube.com/user/UNSWelearning
[5] http://www.youtube.com/user/JimBobJenkins
[6] http://www.youtube.com/user/TheIntegralCALC
This is actually the root of the controversy in my opinion: the real purpose of all this online educational material (Khan academy, various youtube channels, MIT OCW, etc) is still pretty multifaceted and ill-defined.
I'm making my videos because I think that well-crafted videos make material more appealing and accessible to a lot of people on the internet. My hope is that people who are already learning the material will supplement with my videos and people who are introduced through my videos will get interested and seek out other sources. In this sense I would hope that they provide a window OUT of the "Skinner box", as would any other reasonable piece of educational material that stokes the desire to learn.
eg. http://www.khanacademy.org/video/is-short-selling-bad?playli...
The above video is supposed to be a discussion of virtues and vices of short-selling, but depending on who you are, you will tend to read it differently, because its impossible to be value neutral on that topic.
Here's another one: http://www.khanacademy.org/video/are-hedge-funds-bad?playlis...
I guess finance geeks such as myself will find the question "Are hedge funds bad" itself a nonsense question. Its like asking "Is recursion bad ?". Unless you qualify it with more metrics, such as "bad to whom/what", what is "bad", as opposed to what is "good" etc.
It's funny because he's coming from the opposite end now, since he's been doing mainly programming and technical content vids and has recently started making series on things like Biology and mathematics, the forte of khanacademy. Pretty awesome to see it all play out.
This might be a different from Khan Academy and thenewboston, which seem to aim for a different level/audience. But for what it is and does, I feel like SWC is one of those hidden gems that I wish would get discovered a little more...
I watched the video, and enjoyed it. I'm going to recommend it to my friends. It's rather high quality (not going to talk about the download that goes with it, I didn't look at it), and it gets across a good thing about computer science: You can easily verify the results with your own computer.
I see that their's a lot of criticism on this, but this is already loads better than what current uni students are getting (I just went through my first year of uni, and I can tell you that I've not learned anything [1] in my CS classes).
As I've stated previously, I would recommend this to my friends, as well as to people just getting their feet wet in programming. Good job Sal, you're pretty awesome.
[1] Except for an x86 assembler class. That class had an excellent professor, and I now understand pointer arithmetic.
Just gotta say great job to Sal though, he spreads his knowledge and i'm sure many people around the world are greatful for it.
How do people evaluate this kind of stuff?
And as someone noted, with Resig there, this is just a matter of time.
JavaScript is great for me when friends ask me: "Hey you know programming right? Show me something on my computer" but if they want to learn programming, I'd just ask them to download Python or Ruby.
Javascript is great as intro. Kids are naturally drawn to shiny things and you can create plenty of shiny stuff with Javascript with minimal setup.
Once you hit the natural limit("how do I save the scores!"), you can move on to PHP/python etc.
On the other hand, what the fuck do I know. I'm a Smalltalk developer leading a .NET front-end to a Python project.
We miss you, kamens. :(