When these courses started coming out I was very excited. Now that there are so many of them, I find myself being interested in too many and being paralyzed by excessive choice, to the point that I've gone back to good old books for my self-learning.
It boils down to choosing the top 2 courses. It's difficult to do beyond that if you have a day job. One can still score high on the exams but you will have very little time left to reflect on the material.
I almost feel as if it isn't fair. My university offers none of these things at the undergraduate level -- compilers isn't even offered at all. Although I am an advocate of this paradigm shift taking place, and am happy to be alive during a time where radical changes to education are surely to be made, these courses being offered make me really have second thoughts about putting all my time towards my university's summer courses to graduate as soon as I can. I hope they don't start charging by the time I finish undergrad.
I wish. Unfortunately I can't skip summers while trying to get a double degree, if I want to finish in any reasonable time -- or before scholarship money runs dry for that matter.
why not work within the system you're in? At my university a bunch of grad students got together wanting to do ml/pgm/nlp-class, so we put together a small group, added a semester project plus paper presentations to make it worthy of a grad class. It's a bummer that the coursera courses started so late, but otherwise it's working out great. We help each other out and teach each other new stuff, and in the end get credit ;)
If you can't get departmental approval for something like that, then you should at least be able to swing an easily justifiable independent study out of one of the free classes.
Any opinion on Udacity's compiler classes versus Coursera's? There is a gap of one week between them, so we can try both and choose the one that suits us, but still, any gut feel?
I feel like Udacity's compiler class would be more practical and more entry level as compared to Coursera. Its target audience are the people who finished the recently concluded CS101 course. Coursera's version would be more theoretical, thorough and closer to a Stanford level undergraduate class. Coursera's version has midterms as well exams. So I feel like it would be around 10 weeks long as compared to 7 weeks for Udacity.
Like you I plan to try both of them and ideally finish both of them. I am also waiting on them to announce a part 2 of the Data Structure and Algorithm class.
I'm not experienced much on implementation differences between compilers and interpreters, but Coursera seems like a compilers course versus Udacity's interpreter.
I personally much prefer Udacity's format--short videos (30 seconds to ~7 minutes) with a question after most of them, and then an explanation video. The Coursera courses I've seen have 15 minute videos/1 question, so I don't find myself retaining the material as well.
Moreover, Udacity (atleast for CS373) asks programming questions as quizzes, so you have more exposure to the programming rather than just the theory.
I don't know if this will be as bad for a compilers class, but CS373 definitely let a lot of the math be magic versus Coursera's Machine Learning class.
I don't think they are both compilers classes. At many universities there's an undergrad class with "programming languages" in the name (principles of ..., paradigms of ..., etc). Compilers is often a separate, more advanced class, perhaps with the PL class as a prereq. Based on the syllabi the two classes seem to follow this tradition, with the Udacity class being the PL class and Coursera the compilers one.
They should start in mid May instead so students can finish their Spring semester classes and then take Udacity or Coursera courses over the summer. With the current schedule, I would have to start taking the courses near my Spring term final exams.
I am in a fix after seeing Coursera's list of classes as to whether to take the automata class or the compiler one? Any opinions on this? I have not done both at university level as I am a self taught programmer.
I think that's a great move by Udacity. I am trying to catch up on unit 6 right now in CS101. It's definitely a challenge to keep up if you are doing the course as a "hobby". Of course I also don't really care about the certs so as long as the course material is available I'm happy.
For noobs like me I highly recommend the CS101 course, I found that a lot of stuff I was struggling with in Learn Python the Hardway (a great resource as well by the way and many thanks to Zed for making it available) and other sources online became clearer to me during the CS101 course.
I am looking forward to CS253:Web Application Engineering next.
Are there any repercussions on choosing more courses and then dropping some after a couple of weeks? I guess it will be hard following more than two with college semester coming to an end, but I like at least 4 or 5 of these online courses and I'd like to see how some of them are going for a few weeks
There are none. I've signed up for everything that looked interesting two months ago and have been active in... 6 of them (counting CS101 that just finished). The rest I'm glad to have registered for since I can still keep up with the materials and lectures without doing the assignments.
One other website that people might find interesting is MITx's program. http://mitx.mit.edu/
So far, I've tried Coursera and Udacity.
Udacity:
1. Of the classes I took, only Udacity had programming exercises. For one of my friends,
who had never taken programming, the course managed to capture his interest.
Udacity's courseload is:
i: video followed by a short quiz(multiple choice, fill in the blank, etc.) or a programming exercise(Create a function that takes 2 numbers and outputs the bigger one, etc.) There are generally anywhere from 25-40 videos, each 30 seconds to 4 minutes long.
ii: A series of homework assignments. These can be either quizzes or programming tasks. You can submit them, but you don't know whether you got it correct until some deadline, when your homework is graded. THe programming exercises are quite a bit harder.
One of the ones my friend struggled with for a while was a task to build a function that checked whether a sudoku square was valid when entered in a certain format.
iii: At the end of each week, there is a time where they have some kind of IRC/audio channel set up, and you can ask them questions live.
2. All the courses are the same quality. Also, they seem to truly have adapted learning into a digital environment, as opposed to certain other places, like MIT's OpenCourseware
Coursera, on the other hand, seems to be a series of lectures that they then overlaid questions on too.
Some teachers' classes are quite obviously just lectures, with some quizzes added on as an afterthought, while other teachers have incorporated them
quite nicely.
Coursera, my guess is, will also probably have more courses on offer than Udacity soon, since it's a collaboration between several schools.
TLDR: Try them both. I personally prefer Udacity, but there's no harm in signing up for one and then dropping it.
Can very much recommend the Udacity's courses. They are well planned and a big plus is that the homework spans from quite easy task, to some rather difficult.
34 comments
[ 3.3 ms ] story [ 38.2 ms ] threadTLDR: i jelly
If you can't get departmental approval for something like that, then you should at least be able to swing an easily justifiable independent study out of one of the free classes.
Like you I plan to try both of them and ideally finish both of them. I am also waiting on them to announce a part 2 of the Data Structure and Algorithm class.
I personally much prefer Udacity's format--short videos (30 seconds to ~7 minutes) with a question after most of them, and then an explanation video. The Coursera courses I've seen have 15 minute videos/1 question, so I don't find myself retaining the material as well.
Moreover, Udacity (atleast for CS373) asks programming questions as quizzes, so you have more exposure to the programming rather than just the theory.
I don't know if this will be as bad for a compilers class, but CS373 definitely let a lot of the math be magic versus Coursera's Machine Learning class.
As CS373 progressed it got more complex: you worked from some helper code (like a matrix class) and had multiple test cases to test your program.
For noobs like me I highly recommend the CS101 course, I found that a lot of stuff I was struggling with in Learn Python the Hardway (a great resource as well by the way and many thanks to Zed for making it available) and other sources online became clearer to me during the CS101 course.
I am looking forward to CS253:Web Application Engineering next.
Udacity's courseload is:
i: video followed by a short quiz(multiple choice, fill in the blank, etc.) or a programming exercise(Create a function that takes 2 numbers and outputs the bigger one, etc.) There are generally anywhere from 25-40 videos, each 30 seconds to 4 minutes long.
ii: A series of homework assignments. These can be either quizzes or programming tasks. You can submit them, but you don't know whether you got it correct until some deadline, when your homework is graded. THe programming exercises are quite a bit harder.
One of the ones my friend struggled with for a while was a task to build a function that checked whether a sudoku square was valid when entered in a certain format. iii: At the end of each week, there is a time where they have some kind of IRC/audio channel set up, and you can ask them questions live.
2. All the courses are the same quality. Also, they seem to truly have adapted learning into a digital environment, as opposed to certain other places, like MIT's OpenCourseware
Coursera, on the other hand, seems to be a series of lectures that they then overlaid questions on too.
Some teachers' classes are quite obviously just lectures, with some quizzes added on as an afterthought, while other teachers have incorporated them quite nicely. Coursera, my guess is, will also probably have more courses on offer than Udacity soon, since it's a collaboration between several schools.
TLDR: Try them both. I personally prefer Udacity, but there's no harm in signing up for one and then dropping it.
It sounds like you haven't really looked at Coursera? It has assignments, including programming assignments.