I'm pretty amped about this, to be honest. Gives me a way to take an Algorithms class a semester early, and it serves as a good kick in the rear too! (Well, hopefully not so much the latter - just excited to be able to take the class!)
I’m seriously considering taking half a year off to work on several of these classes, supported by a part time job. There’s just so much in there that we never properly treated at uni (bachelor level).
I'm stunned... I've already signed up for ML, was thinking crypto, and now this? Some people dream of winning the lottery, I would be happy for a 6 month sabbatical from my full time job to immerse myself in these classes. I've currently taking the AI class and a enjoy it immensely. I feel the my 'bag of programming tools' has grown exponentially with all the stuff I'm learning.
ML class is good, but I'm bit disappointed regarding programming assignments - it is just a translation of the given math formulas to the Octave/MATLAB syntax.
but why ? if it is lack of maths, then you can work through derivations etc by following Christopher bishop's excellent 'neural network for pattern recognition'. for me though, the balance between theory and practice is just right.
also, for some more fun you may want to check out Stanford's uldl page as well, which goes into unsupervised learning and deep-learning architectures.
While that's not an inaccurate representation, I think "just" translating the math to Octave/MATLAB's pretty powerful vector algebra language isn't as trivial as you seem to find it. I've had some seriously epiphanic moments. For me, at least, this class is striking a pretty good balance.
Although I've been struck by the fact that they expect most people to do loop iteration until forced into vectorized concepts - I've been forcing myself to do it all as linear algebra from the start, as that's what I see as the point of the class.
yeah, that was kind of surprising for me as well. however, i have forced myself to submit only vectorized implementation for all exercises so far. yes, that includes the neural-networks examples as well ;)
I agree with your description but I'm not sure if I'd call it disappointing. However I think it'd be really exciting if the class offered some sort of final project where you had to use the algorithms on some new domain of your own choosing (although of course you don't need a class to do this on your own).
Exactly, regarding final project or similar, where students could demonstrate some creativity and come up with original solutions.
Actually, I put more emphasis in "bit" word, before "disappointed".
But otherwise, it is really a great course - such an amount of practical information in such a short time.
I don't mind it. It's well known from teaching that reading about something and actually doing something (even if it is the same something) is incredibly important. I find that writing the MATLAB code, even if it's just translating a known formula, has helped my understanding of ML overall.
On top of this, writing the Octave code lets me see line by line what the algorithm is doing as well, and it's a quick way to gain insight into the ML approaches by seeing exactly what each intermediate step is doing.
Finally, even when it's a "translation" I find that it's not that trivial to do. Seeing a formula on a page and being able to write that as vectorized MATLAB code has also been an interesting challenge.
I'm curious about the practical side of these courses as well as the intellectual side.
How much time does the course use up? I expect everyone is different - so it's a personal question of your time.
Are there homework assignments or exercises? How are the practical aspects handled for example with learning a programming language?
With regards to the current classes, it typically takes 2-3 hours to consume the lectures (unless you have ADHD like me). 20 minutes to finish weekly exercises. 1-2 hours to finish the programming exercises in the ML class. The ML class also gave a crash course in programming Octave, which handled any language issues you may have for that course.
I took 2 classes, which is a huge time-sink (I can't even go through the textbooks). I think for a person with a full-time job, 1 course would be enough for a particular semester.
I'm a Stanford student, and I can tell you that Roughgarden is one of the best lecturers at Stanford. If you're thinking about taking a class, I would highly recommend this one. Plus, the material is awesome.
Can anyone (at Stanford or otherwise) tell me if there is a follow up course? The (online) course title says "Design and Analysis of Algorithms I". Is there a Design and Analysis of Algorithms II (or III or IV)?
There's the following algorithms class CS 261 (upper-level undergraduate/masters) and CS 361b (mostly aimed at phd students, though undergraduates take it). 161 covers all the material you would expect to see in an undergrad algorithms class. I'd be surprised if 261 or 361b are put online, since they're not usually recorded and (at least when I took them) have between 10 and 20 students.
"I'd be surprised if 261 or 361b are put online, since they're not usually recorded and (at least when I took them) have between 10 and 20 students."
Isn't that the exact reason they should be put online though? If there are say 5,000 students worldwide (vs 150,000 for the AI course) that is still a massive multiple. I sincerely hope Stanford doesn't stop at the "Introduction to X" courses. The upcoming "Probablistic Graphics Models" class seems reasonably advanced, and is hopefully a harbinger of things to come.
I think smaller classes are trickier to online-ify in a way. With large lectures, they're already somewhat public, so recording them doesn't change things a lot. With a 10-person class, you often have more of a seminar-style discussion, with a lot of back-and-forth between students and professor and less of a pre-planned, one-way lecture. That might be harder to record well, and I think the seminar-style discussion might also suffer if students were "on the record", knowing that they were being broadcast rather than just chatting with the 10 people in the room.
I'm currently loving Jennifer Widom's DB class, and I'm excited about this and ML next quarter.
I really hope this phenomenon spreads outside of their CS department; I'd love it if there were some pure math classes(like real analysis and abstract algebra) in this format.
The ideal situation is that other Universities get into the game, so we can pick and choose courses from specific professors - one course from MIT and another from Stanford and so on.
Another thing I'd like to see is this idea expanding beyond CS to, say, Math and Physics. Within CS it would be great to see courses on Compilers, Operating Systems and so on. Yes I am greedy :p (and the courses are addictive!)
If you are looking for math video lectures, UCCS posts videos for a bunch of their courses. However, these do not have the features that are on the Stanford sites (e.g., interactive questions).
I think these courses are great, but how is Stanford benefiting from them? If Stanford has to expend all this effort without realizing a benefit of some sort, why should they continue? I'm worried they'll stop, so it'd be reassuring to know they benefit somehow.
Self interest aside, this is a winner take all market. The best producers aren't limited to selling their wares to a finite number of customers, as they are with brick and mortar universities. It's like a musician performing live music in local bars, versus selling his album on iTunes - a man can only be in one place at one time, so the demand of local bars can afford several bands play and fame. But for privately listening to music, recordable media means there is no limit to how many fans a superstar can accomodate, lowering the demand for all the runner-ups, to the point where no one but the top stars can stay in business.
But of course, there's still room for several players across subjects, rather than within subjects. Lady Gaga does not threaten Bob Dylan much.
If Stanford successfully finds a way to monetize this model, they will have a large competitive advantage. They will be able to lure the best professors in the world with handsome sums, because they are best placed to sell their lectures to hundreds of thousands. It would take a significant outlay of capital for anyone else to get a start.
I think this might actually favor consolidation. With physical classrooms, you need hundreds of universities, but once a few universities are teaching an online Algorithms course in which thousands of people can enroll, it may be hard for additional universities, especially those with less exalted brand names than Stanford, to attract interest/students.
I am guessing there are three more classes to come. That way the rows showing the classes, at the bottom of each class page, will be nice and symmetrical.
This may have been answered in one of the many other threads on these, but are they going to run these regularly? There's so many I want to do but I don't have time to do them all at once. Have they said that they will run them later next year?
I don't believe the ai class profs have mentioned it yet. The db professor sounds like she is going to do it again next year same time, but hasn't said so definitively. ML class is happening next semester again.
I am amazed that Stanford is taking this idea and running with it. Khan Academy established the need and feasibility of the parallel education system. It is much better than the other types of open course ware. I am beginning to think there are going to be a lot more. And I am desperately wishing for some electrical engineering classes.
I don't think I've ever heard of anyone marking out for signal processing, but I'm liking it. I think we need to combine all of the terminology- 'Fourier was such a spotmonkey' or something.
Are these classes sustainable? Once a class has been run, how much labor is required of Stanford staffers?
My concern is that Stanford will hold these classes, realize no payoffs besides goodwill, and then quit. It may sound strange, but it'd be comforting to know Stanford is materially benefiting from the classes. If they aren't, I worry they'll stop. I think I won't have time for any classes this semester, as I'm taking some for credit classes elsewhere.
To remedy that, I wonder if Stanford could offer tutoring services for pay, sort of like giving away software and then charging for support. This wouldn't be too different from the status quo where TAs teach undergrads who in turn subsidize graduate instruction. This might create an incentive for Stanford to make classes unnecessarily abstruse (by analogy, making software impossible to use without technical support), but if professors weren't pressured to hit revenue targets, I don't think it would be an issue.
The next step to truly revolutionize education is to grant credits and eventually complete degrees, while lining up employers who would accept these degrees and hire their holders. Currently, online undergraduate education isn't taken seriously, especially by prestige employers.
But this in itself is pretty damn cool, and judging by the reception, superior to all the other means out there for educating oneself.
What are the expectations for someone who signs up for a course? Are there ramifications if one does not complete the material? I want to sign up for this, but I have three other college classes to take at the same time (with extracurriculars), and I'm not positive I could keep up for the entire semester.
56 comments
[ 2.8 ms ] story [ 82.4 ms ] threadYou can get a sample of what his lectures will probably be like here http://openclassroom.stanford.edu/MainFolder/CoursePage.php?...
For those who can only afford to take one or two classes per semester, keep them coming!
also, for some more fun you may want to check out Stanford's uldl page as well, which goes into unsupervised learning and deep-learning architectures.
Although I've been struck by the fact that they expect most people to do loop iteration until forced into vectorized concepts - I've been forcing myself to do it all as linear algebra from the start, as that's what I see as the point of the class.
But otherwise, it is really a great course - such an amount of practical information in such a short time.
Although it would be cool to organize a showcase of such projects spontaneously!
On top of this, writing the Octave code lets me see line by line what the algorithm is doing as well, and it's a quick way to gain insight into the ML approaches by seeing exactly what each intermediate step is doing.
Finally, even when it's a "translation" I find that it's not that trivial to do. Seeing a formula on a page and being able to write that as vectorized MATLAB code has also been an interesting challenge.
How much time does the course use up? I expect everyone is different - so it's a personal question of your time. Are there homework assignments or exercises? How are the practical aspects handled for example with learning a programming language?
I took 2 classes, which is a huge time-sink (I can't even go through the textbooks). I think for a person with a full-time job, 1 course would be enough for a particular semester.
Can anyone (at Stanford or otherwise) tell me if there is a follow up course? The (online) course title says "Design and Analysis of Algorithms I". Is there a Design and Analysis of Algorithms II (or III or IV)?
Isn't that the exact reason they should be put online though? If there are say 5,000 students worldwide (vs 150,000 for the AI course) that is still a massive multiple. I sincerely hope Stanford doesn't stop at the "Introduction to X" courses. The upcoming "Probablistic Graphics Models" class seems reasonably advanced, and is hopefully a harbinger of things to come.
I really hope this phenomenon spreads outside of their CS department; I'd love it if there were some pure math classes(like real analysis and abstract algebra) in this format.
Another thing I'd like to see is this idea expanding beyond CS to, say, Math and Physics. Within CS it would be great to see courses on Compilers, Operating Systems and so on. Yes I am greedy :p (and the courses are addictive!)
http://www.uccs.edu/~math/vidarchive.html
I think these courses are great, but how is Stanford benefiting from them? If Stanford has to expend all this effort without realizing a benefit of some sort, why should they continue? I'm worried they'll stop, so it'd be reassuring to know they benefit somehow.
Self interest aside, this is a winner take all market. The best producers aren't limited to selling their wares to a finite number of customers, as they are with brick and mortar universities. It's like a musician performing live music in local bars, versus selling his album on iTunes - a man can only be in one place at one time, so the demand of local bars can afford several bands play and fame. But for privately listening to music, recordable media means there is no limit to how many fans a superstar can accomodate, lowering the demand for all the runner-ups, to the point where no one but the top stars can stay in business.
But of course, there's still room for several players across subjects, rather than within subjects. Lady Gaga does not threaten Bob Dylan much.
If Stanford successfully finds a way to monetize this model, they will have a large competitive advantage. They will be able to lure the best professors in the world with handsome sums, because they are best placed to sell their lectures to hundreds of thousands. It would take a significant outlay of capital for anyone else to get a start.
My concern is that Stanford will hold these classes, realize no payoffs besides goodwill, and then quit. It may sound strange, but it'd be comforting to know Stanford is materially benefiting from the classes. If they aren't, I worry they'll stop. I think I won't have time for any classes this semester, as I'm taking some for credit classes elsewhere.
To remedy that, I wonder if Stanford could offer tutoring services for pay, sort of like giving away software and then charging for support. This wouldn't be too different from the status quo where TAs teach undergrads who in turn subsidize graduate instruction. This might create an incentive for Stanford to make classes unnecessarily abstruse (by analogy, making software impossible to use without technical support), but if professors weren't pressured to hit revenue targets, I don't think it would be an issue.
The next step to truly revolutionize education is to grant credits and eventually complete degrees, while lining up employers who would accept these degrees and hire their holders. Currently, online undergraduate education isn't taken seriously, especially by prestige employers.
But this in itself is pretty damn cool, and judging by the reception, superior to all the other means out there for educating oneself.
In addition, at least for the ones that happened this fall, if you are taking the advanced stream, you can drop down to the beginner one at any time.