Hacker News new | past | comments | ask | show | jobs | submit login
Peter Norvig to teach 'Design of Computer Programs' at Udacity (udacity.com)
194 points by cgopalan on March 14, 2012 | hide | past | favorite | 51 comments



I'm a programmer. I'm really enjoying CS 373 (Thrun's robots). I haven't done much Python but I haven't found anything too taxing.

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.


One thing I forgot to mention. You can enter the course now and still get a good grade!

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!


That's correct, and it's true for CS 101 too. The final is 100% if you join late.

It's worth doing just to see how they're handling online education. Exciting times.


I have a question perhaps someone knows the answer to: is Udacity concentrating on short, relatively easy classes for mass appeal and Coursera concentrating on more difficult and rigorous classes?

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 not with Udacity (though I did talk to the team last year before they launched). The difference with the Coursera courses I'm seeing is they're more conventionally lecture-heavy with a few questions mixed in, while the Udacity ones try to exploit the new medium for more interaction and to encourage people to think more on their own. I see no reason that style can't work for harder courses; I don't know if they intend to go that way. (I can say the CEO had lots more in mind to do, and what we see in the courses now is just a start.)

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.


In my experience, Udacity isn't concentrating on short, easy classes. They've simply chosen to start with courses that have larger appeal.

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."


Udacity is definitely focussed on shorter classes. I wouldn't call them easy though - accessible is a better word.

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.


As a programming noob, I feel like I learned as much in a day on Udacity as I learned in a month left to my own devices using Khan Academy, The New Boston, and other online materials.

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.


The algorithm course for Coursera looks like it's fairly general in its scope.

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.


"is Udacity concentrating on short, relatively easy classes for mass appeal and Coursera concentrating on more difficult and rigorous classes?"

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 think the sample size is too small to tell (there are more higher level courses from Coursera, different topics, professors), but from what I've seen of the NLP and Machine Learning Coursera courses versus Probabilistic Robotics, I think that Udacity has the better teaching model: short videos immediately followed by a quiz question, rather than Coursera's more traditional PowerPoint approach with maybe 1 question / 6 minutes or so. Thus hours/week is probably a poor metric (FWIW, I feel like I have spent alot of time on the programming assignments in CS373).


I started in the CS373, and having a not so good experience in programming, I found the course very difficult. I mean, the style of teaching is very good. When you program step by step, you learn more and feel more confident.

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.


It depends on the course. NLP and PGM are some fo the more hardcore Coursera courses.


Too many very similar or related courses...

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.


Dr. Norvig is no doubt a genius in computer science, and Udacity is certainly looking promising considering that it's able to hire such influential people... but that said, it doesn't look like he has any actual teaching experience, and educating is made up of a different skill set than computer science. Every teacher has to start off having never taught before, but nevertheless, this makes me a little hesitant—are my concerns legitimate or not?


He co-taught Intro to AI at Stanford last fall. I sat in on a few of his sessions. He was fine. Maybe not a Richard Feynman level lecturer, but few are.

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.

1. http://norvig.com/

2. http://norvig.com/sudoku.html; http://norvig.com/experiment-design.html;


"it doesn't look like [Peter Norvig] has any actual teaching experience"

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 have to agree, I love Norvig's writing, but I was really underwhelmed with his teaching ability in ai-class. I though Thrun was a much more enthusiastic and elucidating teacher. It's also possible that Norvig and Thrun placed different priority on the course. PAIP is one of my favorite programming books, so I'm really surprised that someone that would write a text so well would have such a hard time getting that same energy to come across teaching.


I actually liked Norvig's teaching style. His ability to get to the essence of a topic quickly is quite remarkable.


I can't think of anyone with more to teach on good taste in programming. Admittedly that doesn't answer your question -- it's a different medium from the books he's done such a great job on. But where are you even going to find another course on this exact subject? I'm genuinely curious.


I'm interested in this material. After talking with a UT professor I get the impression that a big challenge for students is forming a good model in their heads of just what computation is.

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.


Enrolled! Is it possible to "audit" the course and just watch the 50 minutes of promised video or will I have to complete homework assignments and such in order to proceed through the lectures?


You can audit


So many courses, so little time!


So many new awesome courses this year. I enrolled in so many of them. No way I'm gonna be able to follow half of them. But it's still worth to try. Since these are easy to follow videos, you can just watch them during your lunch or just before going to sleep anyway. Way much better than watching TV at least. :)


It's kinda frustrating, though. Coursera PGM, for example, takes something like 10h/week.It's too much.

But I'm happy and grateful because it exists; don't get me wrong.

Exciting times.


The nice thing about college is that it provides an easy way to find a lot of other smart people who are about your age.

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.


Peter fucking Norvig is going to sit you down and teach you some shit for free and all you have to say is 'argle bargle...social'?

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.


Yea, exactly. Whenever someone of Norvig's caliber is willing to teach, I shut up pay attention. I wouldn't care if Norvig was teaching how to make peanut butter and jelly sandwiches, I'd have my freaking notebook out scribbling down his recipe.

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.


Hey, when did the 101 start? I'm thinking of joining in but if it is too far along then I might wait for the next round..


If you can still get in, it might not be too late to catch up. Obviously, you can submit all of the homework on time, but if you're score on the final is greater than your homework score, than they just use the final as your grade.


First off, I get that Norvig is a celebrity. Celebrity has little to do with teaching ability.

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.


> First off, I get that Norvig is a celebrity. Celebrity has little to do with teaching ability.

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.


> First off, I get that Norvig is a celebrity. Celebrity has little to do with teaching ability.

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


My point is, there is no shortage of communication and collaboration tools on the internet.

Regarding your need for community or social learning, there is nothing preventing you from watching these lectures with a group of actual people.



There is actually a very active social aspect to these Coursera and Udacity etc courses. You clearly haven't signed up yet, check out the forums for each class that are very active, the subreddits (main hub is at /r/OnlineEducation), and the many IRC channels (main hub is #free-class on Freenode). These act as effective study groups with people helping and discussing with each other many things about the courses at hand and related things. And as the other commenter noted, the students' backgrounds very greatly which makes it all the more interesting.


I think I will sign up and try it out knowing this.


Actually, the Udacity courses have very active forums.

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.


I understand this is the digital age, but I personally wouldn't put forums and socializing on campus in the same value category.

Both points are valid, but I think we need to accept there are pros and cons, rather than comparing apples and oranges.


On campus socializing is obviously quite different. I was responding to this:

"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."


I'm beginning to learn programming this year and have tackled a number of tutorials- Udacity's CS101 has been far and away the most helpful. This is the best format in my opinion- extremely short videos and regular quizzes with more complex homework problems at the end of each unit.


There's no content on the website, yet – except Norvig's 1 minute speech. It looks like a data structures oriented course but I'm not sure at all. Hope it becomes something tempting about designing program architectures besides shuffling poker cards.


Will Udacity courses be accredited? Will their accreditation be taken seriously? If not them, then some new startup in this space will be. They will spike the money-hose directed at HarvardYaleOxfordCambridge.


Their business model depends on their ability to teach and then connect students with hiring employers (in interviews they indicated their business plan is to generate revenue through recruitment). Whether accredited or not, as a student, what's good for Udacity is good for me.

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


Check the TOS; it says pretty clearly they are not accredited and courses taken will not stand in for an accredited course.


With version control software like git (and especially github), and the ability for anyone to build anything on their own, accreditation doesn't matter much. Not every company agrees, but enough do that it's not a big deal. The real question is "can you do the job", and with programming, it's not too difficult to show that you can, if you can.


> With version control software like git, ..., accreditation doesn't matter much.

Mr Markov, I presume?


I think we can agree most people reading this site and competing in the startup space know accreditation isn't too important. Aside from us, there is the 99.999% of the professional workspace where this idea is heretical. For them, a reasonably credible system of accreditation carries a lot of weight. The post-Uni startup that addresses these concerns will take most of the pot.


"The post-Uni startup that addresses these concerns will take most of the pot."

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.


I can't wait til Paul Graham teaches a class. Holy shit I am so there.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: