Peter Norvig to teach 'Design of Computer Programs' at Udacity
udacity.com
udacity.com
The lectures are deceptively well-designed, with lots of (asynchronous) interaction. Try a course, you'll see what I mean.
The homework is a little more brain-stretching. It usually involves some code reading and intuition that was not served to you on a plate during the lecture. I have found them very valuable.
Often you are filling in some mostly-working code provided by the instructors. My only quibble is liberal use of globals, which violates some of my instincts about how their code works and causes me to spend more time hunting odd bugs than doing the actual content. On the bright side they usually provide some test harnesses so you're not dead in the water.
I've really enjoyed it so far. Signed up for Norvig and another one next time around.
At least for CS 373, and I think for the other ones, they changed the grading scheme.
We have already had three homeworks due and are now on week 4. In the old scheme, you could drop one homework (out of seven). Homework was half the grade and the final the other half. So you could currently get a max of 66% on the homework.
They added a grading scheme that counts the final at 100%.
They will give you the better of your grade under the two schemes, to not disadvantage people who did well on the homework.
Join in today!
It's worth doing just to see how they're handling online education. Exciting times.
I am currently taking two Coursera classes (one is on probabilistic graphical models and the other on NLP) and so far at least, I am impressed by the depth of material covered and general quality. I will probably need to spend 10 to 15 hours a week on each class.
There are some subjects that I am interested in that I would like just a lighter weight overview, get a lay of the land - I think that this is what Udacity is for.
I'm taking the PGM class too and in fact right before I switched to this tab I was stuck on the d-separation question because I hadn't had enough practice on the active-path stuff, apparently. So I'd like to see Coursera work more towards the Udacity interactivity, while keeping their greater polish.
I wouldn't call it "light", though, and it's not that good in my personal experience FWIW. Courses will vary, of course, but the attention to presentation in the Norvig video is mind-blowing compared to Coursera's algorithm course whose videos gloss over everything with hastily-scribbled, illegible black on white.
Sebastian Thrun, the professor for CS373, has routinely stated that the caliber of the coursework and lecture material is equal to or beyond what he'd expect from his Stanford classes at the same level.
The teaching model they use is phenomenal though. If you haven't tried it, you should. They do brief 2 to 5 minute videos, followed by questions and coding exercises testing what you just learned. You learn things in very gradual increments, and are immediately forced to apply that knowledge. By the end of the lecture you're left thinking "Of course it works that way."
I think the difference between Coursera and Udacity, is the first one is more focused in lectures and homeworks, and the latter is more focused in practice all the time.
The fact that they show the immediate application of what you've learned goes miles into helping you remember it. To answer the question, they cover a lot in a short span of time and don't waste time teaching concepts that don't have immediate application.
Anyone is able to take their CS 101 class - no prereqs are required. But it's fairly substantive. There are always forum complaints about how hard some of the homework is.
I think they've picked a good balance of accessibility vs. rigor. But I expect that as they add more classes, people will be able to use Udacity to acquire real skills.
Put another way: The fact that 50% of their current classes are for novices (i.e. one course) doesn't mean the situation will stay that way for long.
And they are very, very good at teaching and online delivery.
Absolutely, your inference hit the nail on the head. Coursera is trying to fill a gap. Very few people across the globe have access to high quality higher education.
Udacity on the other hand, though noble in in their cause, have considerably watered down lectures/assignments for greater accessibility. I can understand the watered down programming class for greater accessibility, since even limited knowledge of programming is something which can greatly empower people who had no knowledge of it before. But advanced classes like robotics are pointless if they don't go into depth of the topic.
I'd love to take Norvig's course, but am already committed to Coursera's "Design and Analysis of Algorithms". Came here to recommend it. Tim Roughgarden is an excellent instructor and the videos are well presented.
He's also a superb technical writer, if you've read any of his books [1] or website blurbs [2].
I don't think the quality of his teaching ability will be an issue for anyone.
Edit: Obviously some disagree. My own personal opinion is to overlook and ignore presentation style, but others may need that to stay engaged. YMMV. Learning from Peter Norvig is quite enough in my case.
2. http://norvig.com/sudoku.html; http://norvig.com/experiment-design.html;
From his bio, http://norvig.com/resume.html
1985-1986 University of Southern California Assistant Professor
1986-1991 University of California, Berkeley Research Faculty Member
Fwiw, my personal prejudice: Peter Norvig teaches extremely well. I preferred him to Sebastian Thrun in the original AI class. He explains the essence of complex things in a very systematic way, which is what I look for in a teacher, but Norvig's calm and quiet approach (vs say Thrun's more apparent enthusiasm) may not be everyone's ideal.
I plan on teaching a local Skillshare class in this soon and currently I'm keen on using Dr Racket and stressing the importance of referential transparency; however I get the feeling that people are going to want to use Python.
But I'm happy and grateful because it exists; don't get me wrong.
Exciting times.
Also, teaching someone else solidifies knowledge a lot more quickly than straight lecture or exercises.
So it is too bad to me that there is no social aspect of this course and these types of programs. Udacity study group on google+ or whatnot would be neat.
There is a good mix of experienced programmers and absolute beginners...if I ever have a problem, I usually have an answer within 5-10 minutes, and I get to return the favour frequently.
Both points are valid, but I think we need to accept there are pros and cons, rather than comparing apples and oranges.
"So it is too bad to me that there is no social aspect of this course and these types of programs. Udacity study group on google+ or whatnot would be neat."
Social: IRC, message boards, facebook, google+, skype, mumble, news groups, facetime, instant messenger, etc.
Try to teach someone something: Stack Overflow, reddit, hacker news, your own blog, also, all of the above under social.
Collaboration: google docs, drop box, ftp, gliffy.
Despite being a programmer my whole life, I'm taking the Udacity 101 course because you never know how another person's experience with the basics might change your understanding.
Also, is programming a skill that really requires a social element for learning? I've definitely had a lot of fun programming in social settings and in groups, but a lot of the skill is built in the hours of isolation with your fingers on the keyboard.
Secondly, I think reducing my point to 'argle bargle...social' is a little unfair.
This may just be coming from my psyche as someone who has been in a fairly lonely job with few peers, but one of the best things about going to college was getting to know smart and interesting people.(On the other hand, learning to deal with people who have difficult personalities was also useful).
To really get to know someone you have to be in a community with them. I'm not sure that 'social solutions' on the internet would really fulfill this need. They are all the things that you do to kind of numb yourself at the end of the day so you can sleep... there isn't really an intention to engage.
It's not like he's popular for being snooki's best friend or something .. I feel Peter Norvig is a celebrity for the right reasons here.. there are two types of teachers - those who get you to see the world in interesting ways, and those who illuminate targets that one wouldn't hit normally on one's own. I'm guessing Norvig's course might be more of the latter type..
> .. but one of the best things about going to college was getting to know smart and interesting people personally, I feel 'getting to know' is not enough. As math ematicians/scientists or techies or programmers, our peer group /culture is our identity, and pretty much the main reason we wake up in the morning and check email for patch updates or stay up till 5 running code and what not. yep, online courses don't give that. And I too badly feel the need for it
tl;dr first point - disagree, second point - agree edit:formatting
Regarding your need for community or social learning, there is nothing preventing you from watching these lectures with a group of actual people.
Perter Norvig is a celebrity because of his technical accomplishments and teaching prowess. He is the author of PAIP which is regarded as one of the best books on programming. If you haven't already, check out his articles:
http://norvig.com/lispy.html http://norvig.com/spell-correct.html http://norvig.com/sudoku.html
So yes, when someone of Norvig's caliber wants to teach me something, social be fucked, I settle down and listen.
I don't know. It will be pretty interesting to see how it plays out. It was said above that Udacity's business model is to connect students with employers, so there will be a big push to make that happen. Contrast that with a school who focuses on accreditation. There will be less push to make sure you are employed at the end. You will, however, have the all important (to 99.999% of the population) accreditation.
If you are going in with the goal to get a job at the end, it seems like the former is going to yield better results, in my humble opinion. And if you are studying the subject just out of enjoyment, neither model matters, because who cares if you have a job or accreditation at the end?
I feel we're a long way from claiming one business model the victor.
Mr Markov, I presume?
The professors are also well respected brand names in their own right. Having your introduction to probabilistic robots come from Thrun to me carriers weight