I haven't taken many online courses, but here are my favorites (notice a trend):
Andrew Ng's ML Class - This makes the list because it is incredibly useful. I didn't have much background in the field and this class is a practical survey of ideas. Not a ton of depth, but exposes you to a lot of information gently.
Daphne Koller's PGM Class - This was the most rewarding. I banged my head on a lot of this material, but it was an incredible feeling when things started to click. That I was able to complete this class is a testament to Dr. Koller's excellence as an educator.
Dan Jurafsky's and Christopher Manning's NLP Class - This class was the most fun. I thought the exercises were incredibly well designed. Unlike the first two courses, the exercises were a lot more interesting. For ML and PGM, you mostly know when you have the answer and you are rewarded with 100%. NLP assignments are based on how well your system generalizes, which made me try harder to improve my systems, and helped me enjoy the course.
Koller's PGM was fun but very hard to generalize outside of the problems presented in the class. Opportunities to implement loopy belief propagation just don't seem to come up as much ad I'd like.
That's because most were toy examples dealing with discrete distributions in a few dimensions. Granted, these are mathematically easier to deal with, but not representative of real-world scenarios.
Wow, that PGM course looks exactly like what I need to get my head around GMs! I'm using Andrew Ng's class to support my learning for my MSc in Data Science, and it's been an invaluable resource. There is nothing like hearing the same material explained by different people to really hammer the topics home, I'm looking forward to getting stuck into that PGM course.
NLP has been on my watchlist for a semester now. No word on when future sessions will happen. I'm about to give up on that and just watch the old videos. Too bad I won't get the assignments :/
Algorithms: Design and Analysis Parts 1 and 2 (https://www.coursera.org/course/algo and https://www.coursera.org/course/algo2) taught by Tim Roughgarden of Stanford. Tim's the best professor I've ever had either on or offline and he does a fantastic job explaining the concepts and breaking down the algorithms into digestible, intuitive pieces. His enthusiasm for the topic and the impressive algorithms is contagious and keeps the challenging courses fun and interesting.
Functional Programming Principles in Scala (https://www.coursera.org/course/progfun) by Martin Odersky, the inventor of Scala, is also excellent and a great way to learn and start using Scala and functional programming. Be forewarned though, once you get a taste of Scala, you'll have to be dragged kicking and screaming back to using Java :-).
Also, Algorithms, Part I and II (https://www.coursera.org/course/algs4partI and https://www.coursera.org/course/algs4partII) by Kevin Wayne and Robert Sedgewick of Princeton University. They approach algorithms from a slightly different angle than Stanford course does and in my opinion they complement each other very well. I was very impressed by the lectures, practical problems, the autograder, and the 'Algorythms 4th edition' book.
p.s. don't expect any certificate of acomplishment for those courses though. I did them both close to 100% and they did not even show up in completed courses on Coursera. I guess it's the Princenton thing, and I came just for the knowledge so that was fine with me.
I haven't taken many online courses but my wife & I just took the course "Learning How to Learn" (https://www.coursera.org/learn/learning-how-to-learn) together and I wish this was available before I went to university. They do a great job of presenting the content and provide a lot of references for additional reading for those that have a deeper interest. It should probably be considered the pre-requisite to all other online courses!
+1 for Dan's crypto1. I don't think crypto2 has been taught yet via coursera, as I've been waiting to take it and have seen it pushed back several times, and I've seen others say they'd been watching it get delayed for years. It does seem that Dan has been recording videos for part 2 in 2015 though (according to one of his students), so there's reason for hope that it might happen in 2016.
I finished Cryptography I in March 2012 and wanted to take Cryptography II ever since. Every time the announced time is close it gets pushed back by 4 months.
I think we'll know in a couple of weeks if its going to start on Jan 11th or not. If its not ready yet, it'll be pushed back by a month or two by mid December. That's how the previous postponements were done.
Programming Languages is one of those courses that just keeps on giving.
A great basis for functional and Lisp fundamentals. I'm just starting a journey into Erlang and that course has meant that the switch isn't as difficult as it could have been.
The course format was interesting. I'm not 100% on board with doing peer assessment, but I did like being able to see how other people handled the assignments.
It's not tech-related, but I have achieved near-fluency in one language in less than a year (Dutch), and I'm currently learning 3-4 others. (Russian, German, French, Italian) I find it very effective and easy to fit in around everyday life.
I would definitely recommend it to anyone else seeking to learn languages.
I really like Duolingo (especially the fact that it's free) but have been using Rocket Languages for learning German. You do have to pay for it, but it has an emphasis on speaking and understanding full conversations in context that I haven't found in other courses.
After using it daily (about a half hour) for around a year I received a 95 on the A1 and an 87 on the A2 exams, so I can vouch for its effectiveness. I took both exams around the same time because I wasn't sure of my exact level.
I also used Anki for vocabulary memorization and was able to practice some with a fluent German speaking friend (infrequently).
Tip: If you're going to buy a course, wait till a holiday or clearance day like Black Friday. They regularly do 60% off sales that are actually valid (i.e. they don't raise their prices right before the sale).
"Fluency" is kind of a subjective term. If anyone is curious, as a rule of thumb a duolingo course is sufficient to get you to an A2-B1 language level in reading/listening and around an A1-A2 level in speaking.
You'll have to eventually study outside duolingo if you are serious about learning a language.
I would recommend starting with the duolingo course, completing it, then keeping your tree gold while exploring other learning material. Start with children's books and work your way up. There are also a lot of language exchange chat sites that are good to help you get more comfortable speaking a new language, but you will need a partner to practice with at some point.
Also I've found ReadLang (which I found on HN) to be a very helpful tool for faster learning, and I upload the majority of my ebooks into it.
Thanks. I was curious because I was using Duolingo to help with my (very rusty) Spanish. I could see that it was helping me to recall vocabulary (and some grammar points) but I didn't see how it would help me improve my listening.
Reading your comment, I thought you had achieved near-fluency in Dutch with just Duolingo, and thought perhaps there was some functionality I had missed!
Thanks for the pointer to ReadLang. The click-to-translate and immediate ability to add to a flashcard list are similar to the features I used most in Pleco (dictionary on steroids) when I first started seriously studying Chinese.
Can't edit my earlier comment, so making a new one: There are quite a few people on HN who are great at Economics and Finance. Could someone recommend some courses and texts (and hopefully a "path") for a complete beginner to understand it?
I'd like to be able to better understand things like the FT and all the stats that CNBC shows me etc. Also hopefully get skilled enough to start investing in the market. Not to mention, broad economical trends and projections etc. Thanks!
Have recommended that before: CFA (Chartered Financial Analyst) preparation materials. You can buy used ones for cheap as they lose their value extremely fast for people preparing for the exam, but small changes of accounting regulations should not concern you if you are reading just to educated yourself.
They might seem overwhelming, but I am yet to find another set of books with such neatly organized and concentrated material on Economics and Finance.
Damodaran and Graham are fantastic, as is Shiller's Financial Markets. His 2008 course on Open Yale was an early spark in my career.
After a quick look at the "Technical Analysis" book preview on Amazon, I would caution that technical analysis is generally a rorschach test of humans finding patterns in data when there really aren't any. Skip that one.
https://www.coursera.org/course/moneyhttps://www.coursera.org/course/money2
I took the first of these and intend to take the second, which I think came out as Coursera's top course at one point. There's a lot to learn here about what money is and how banks operate. That necessarily involves a historical perspective.
Financial Technology, but I guess Future Tradings would also be something I would want to learn? I'm at the beginner stage where I don't know what I need to know!
But my long term goal is to combine my CS background with Finance and do something interesting in it, if that makes any sense.
If I had more time I would love to go through the bioinformatics specialization on Coursera. They have 2 books and an exercise site (rosalind.info). It looks like great fun.
Along the same lines but a more thorough treatment of linear regression and statistical inference is the excellent Data Analysis and Statistical Inference https://www.coursera.org/course/statistics
Design of Computer Programs was decidedly the best course I ever took online. I was lucky enough to take it when it was first offered. Peter Norvig was very active in the course forum.
Presented by Pat Pattison from Berklee College of Music, I started the course thinking who is this guy? By the end I was hanging off his every word. Even if you've never thought of writing a song it opens your eyes to the talent (and tricks!) in the music business.
Seconded. I too was hanging off his every word, and learned from this course that Roget's Thesaurus is arranged in a completely different way to a regular thesaurus (by category/association rather than alphabetically) [1], and so much about how a good song is structured.
I took the "Developing your Musicianship" and "Jazz Improvisation" courses, which I believe are in the same specialisation. The first one was at a very basic level and the improv was one was more advanced, but both were excellent. Highly recommended for aspiring musicians.
Good to hear a recommendation for the Songwriting course, thanks, I'll check it out.
I also started Songwriting and Jazz Improvisation, and while both had outstanding content and instruction, the peer-grading of assignments was a complete failure and forced me to quit the coursework timeline. Aside from reviewing others' work being a huge time sink, all feedback I ever got myself was completely useless, like "You did everything in the instructions, but I don't like this" or "Gee, I don't know enough to tell you how to do this any better." I would have gladly paid to get qualified feedback.
You're right, I should have mentioned that, as I actually had a similar experience. A lot of the comments I received were also along the lines of "that's great" (when I knew it wasn't and I was actually looking forward to some constructive criticism from someone better than me) or, as you mentioned, the classic "I don't know enough to help you".
Paying for qualified feedback would have made it better, although I still felt like I took a lot away from the taught content.
As the course progresses roughly chronologically (one theme per week) from the formation of the solar system to the present, it introduces the foundations and jargon of the disciplines of astronomy, geology, microbiology, paleontology, botany, ecology etc.
For some reason I never finish courses that are directly relevant to my job. After an 8 or 9 hour day doing tech stuff to make a deadline, spending another 1 or 2 hours a night doing tech stuff to make a deadline starts to feel like more work. I find the general science courses much more interesting.
Basics of developing a web application, it uses Google App Engine as a base but the concepts taught are easily extensible to other platforms. Steve comes off as a likable and competent teacher.
I've been spending the past hour on "Leaning how to learn" because of the recommendations here. I was... well, the course was definitely not quite what I expected.
What I'm seeing here is a bunch of "tricks", and a lot of "brain facts" which I would usually dismiss as pseudoscience. The course almost feels like a scam. What gives?
All of the course content is based on the hard science, but is simplified so that every one can understand. You can look at the background of one of the course instructor:
https://www.coursera.org/instructor/terry
I didn't think the R course was that great. I only did the first course in the speciality but I thought the assignments didn't match the lectures very well.
I don't really know R but I still got through OK (100%) but it didn't compare well with the EdX AMPLab Spark course I did around the same time.
Buddhism and Modern Psychology by Robert Wright (author of The Moral Animal). It uses evolutionary psychology, modularity of mind, and other modern cognitive science theories to explain why some modern version of the buddhist teachings (like meditations) work. It includes interesting interviews and solid book/article recommendations. It's very eye-opening to me and gave me a whole new perspective about happiness and meaning in life.
On the subject of happiness, Prof Raj Raghunathan's "A Life of Happiness and Fulfillment" is also something I would highly recommend. The learner stands to gain a lot of insights on the types of motivations serve to enhance as well as undermine happiness.
Convex Optimization by Stephen Boyd (Stanford EE364A) available on itunesU. There's also a CVX101 Mooc[1], but I don't how it's different from the original material. IMO it's not the topic itself, but the invaluable material for machine learning, statistics and applied mathematics. And Boyd has such a huge insight on the topic it's always a pleasure to watch his lectures.
Thanks for sharing! On iTunes U are there assignments or other course materials, or just the video lectures? I only see the videos there and I'd like to get my hands dirty practicing assignments and not just watch the lectures.
Then I suggest the website of the course where you can find homework and lots of material. You can follow the course as if you were enrolled. Also the free pdf copy of the book will certainly be useful.
Discrete Optimization https://www.coursera.org/course/optimization -- I really enjoyed this challenging class with a very dynamic teacher, and organized around a set of tough problems that you can tackle using a choice of optimization paradigms (e.g. you can decide to "specialize" in "local search" if you want, and try to solve eveything with it).
Intro to Artificial Intelligence, Peter Norvig & Sebastian Thrun. This was the one which started it all in 2011, joined a little late by Andrew Ng's ML course which has been mentioned already.
I took Mr. Thrun's class on Programming a Robotic Car last year for part of my OMSCS classes at GA Tech.
They should use classes like this in undergrad computer science to show why Linear Algebra will be so important and the amazing applications you can do with it. Highly recommended.
I enjoyed MMDS, but the lectures given by Ulman were painful to sit through. The man could simply not deliver a single sentence not read verbatim from a screen.
The Harvard computer sci course really helped me out. I didn't take the class, but put all classes on my iPod. I would listen to lectures while exercising at night.
This course really helped me understand the ever changing computer lingo. I probally should have done the lessons.
Once you get used to the vocabulary, and all the acronyms--it's all starts to fall into place.
I would have to say anything on KhanAcademy. Sal Khan just does an incredible job of explaining things. I particularly like his statistics course as a good primer into stats or if you need to quickly brush up on the subject
Seconded. Brought my linear algebra and probability theory up to scratch within a day. I don't know what it is about how he explains the material, but it just clicked for me first time, every time.
Earlier this year I did the Stanford Introduction to Mathematical Thinking course on Coursera [1]. I found it fairly challenging but managed to finish with a distinction. The instructor was particularly good.
I'm now working through UCSD Interaction Design specialisation [2], which is a series of courses followed by a project. So far its been very good, although the short course format (3-4 weeks) means that there isn't time for much of a community to form among the participants. I've learned a lot though.
It's the only MOOC I've taken that was anywhere close to the kind of experience I had as an actual undergraduate at MIT. Outstanding lectures with accompanying lecture notes, challenging but rewarding problem sets, lots of interaction by the professor and other staff in the forums.
It's not a course in the sense of having problem sets and grades, but V. Balakrishnan's lecture series on classical physics (https://www.youtube.com/playlist?list=PL5E4E56893588CBA8) is amazing, just incredibly dense with insight.
CS188.1x Artificial Intelligence by BerkeleyX at edx.org. [1] I took this course back in Spring 2013 and I really enjoy the course project of making an intelligent Pac-Man. :) Through this course, besides learning AI, I also learned Python (before this, I didn't know how to code in Python at all). And with the knowledge from this course, I made a simple connect four game with AI implementation as the player's opponent. [2]
Taking this course right now. Just about to start Homework 2. Awesome stuff. I've laid out a curriculum for myself starting from this course and ending in ML expertise. :D
https://courses.platzi.com/, there are like 70 courses in Spanish (frontend, backend, marketing, DBA, DevOps, android and apple development) but they also have 16 in English, most of them are talks with the best YC startups CEOs and founders.
Geoff Hinton's (one of the most important guys in neural nets) coursera course from 2012 taught me most of what I know about neural nets (he starts with the basic sigmoid, backprop, convnets, dropout, RBMs and lstm nets).
Now the MOOCs are all popular, there are a lot of interesting courses out there, but I feel the best one is still the first online course I took in 2012, the pilot from edX (MITx at that time) - 6.002x Circuits and Electronics (https://6002x.mitx.mit.edu) by Dr. Anant Agarwal and Dr. Gerald Sussman.
It's an awesome course that introduces one to the electronics that goes behind modern day computers and smartphones. It really helped me understand how things work and what questions to ask.
Its a paid online business course by Harvard Business School with 3 modules - Business Analytics, Economics for Managers, Financial Accounting
Material is not super challenging (maybe except for Accounting), but its still a lot of work and very rewarding. There is a strong social element to the course because they incentivize students to ask and answer each other's questions. At the end of it, you have to go to a testing centre and give a 3 hour exam on everything they have taught you. I finished this course a few months ago and really enjoyed the material and all the people I met through it. Highly recommend!
Convolutional Networks from Stanford [1]. No video, but comes with a wonderful set of ipython notebooks to illustrate and work with cnn's.
Statistical Mechanics Algorithms and Computations [2]. Very well done video's shot in a studio with a green screen. Comes with massive amounts of small python programs to illustrate the material.
Eric Lander's incredible 'Introduction to Biology - The Secret of Life' was my first step away from data analysis for online marketing clients (which I didn't love) to bioinformatics (which I do very much love)
I'd like to second this. I had only slight interest in Biology but got completely hooked into the course because the teacher makes things so plausible and exciting. I wish one could do bioinformatics remotely, I'd seriously change careers ;)
I took these to prepare for first-job interviews coming out of grad school. Got an offer from a company frequently mentioned on this site, so I guess they helped.
For statistics I really liked Data Analysis and Statistical Inference by Mine Çetinkaya-Rundel. I think I understood statistics beyond formulas after I took this course. Apart from typical pen and paper problems, you also get programming exercises in R.
Introduction to Cryptography, by Christof Paar. His book '
Understanding Cryptography: A Textbook for Students and Practitioners' also provides great insight to the subject. https://www.youtube.com/watch?v=2aHkqB2-46k
I really enjoied Introduction to Operations Management (https://www.coursera.org/learn/wharton-operations) which is not about CS/IT but more about organizing process workflow (i.e. how to make shops, plants or any kind of multi-operator job more efficient).
I also liked a Coursera one titled "Data Analysis" but the url now returns a 404 (https://www.coursera.org/course/dataanalysis) and it probably morphed in something slightly different.
My only issue is her voice can be very monotonous and I find it hard to do more than an hour without having to walk away and wake myself up. Her course content is very good though.
I am currently doing this course and love every minute of it. The course is more of a history course than architecture per se. You will get a grand ride through the centuries all the way from 3000 BCE to the present.
My technology related list includes most of the same courses already listed. But off-technology, the "modern history" class (which appears to have been split in two[0]) was incredibly entertaining and gripping in addition to being educational.
If anybody has a good course on Compilers except the old one that's on Coursera (which was decent but honestly the instructor wasn't amazing at holding my attention), that would be awesome. :)
Surprisingly, I also found Khan Academy's organic chemistry videos very helpful when I was studying bioinformatics and needed to refresh my chemistry skills
I took Andrew Ng's machine learning class twice (scored >99% both times). That was my favorite. I have been working in the AI field since the 1980s, including a lot of neural network applications, but I still found his class to be an incredible source of practical knowledge.
Other favorites were Martin Odersky's functional programming with Scala and Erik Meijer's Haskell class at eDX.
Can anyone recommend a course on business organisation? I'm planning on starting a startup and want to round out my business knowledge as to who I should hire.
I want to stay in charge of tech & strategy while letting someone else manage finance, hr, etc. I couldn't find a single one that actually explains what a CEO does on coursera/edx/novoed.
I would highly recommend "The Personal MBA" by Josh Kaufman.
He also lists several other good books in there. Even if you're not in charge of the entire business, you'll have a good idea of the "big picture" of how it runs.
This doesn't seem to cover business organisation either. I know there are plenty of these "how to start a startup" courses, but i'm looking to fill in a specific niche of knowledge, not have to sift through another general course.
That said I've heard great things about "4 steps" but haven't got round to reading it yet so I guess it's worth a watch based on the instructor, so thanks anyway.
I thought this was just about VPS, virtualization, NoSQL DBs but I was amazed that it also includes different algorithms for distributed systems like Gossips, MapReduce, Paxos, etc.
Can anyone recommend their favorite way to learn foreign languages? I am curious if there are any new online courses that have made improvements in this area.
Not new - but I had the most fun and most progress with learning French with https://www.duolingo.com/
My kids got into it as well and at one point we would all sit together and do one lesson a day.
My Coursera profile lists 67 courses, I have completed ~15 of them and with a passing grade ~8 of them. My most favorite one, which for me was the hardest as well, was The Hardware/Software Interface by Gaetano Borriello and Luis Ceze[1]. I also liked Computer Networks[2] even though it's an introductory course, Functional Programming Principles in Scala[3] which is surprisingly easy unlike the follow up course[4], High Performance Scientific Computing[5], Software Security[6] and Cryptography[7] although I prefer Boneh's class. For non-IT related courses I liked Think Again: How to Reason and Argue[8], Crafting an Effective Writer: Tools of the Trade (Fundamental English Writing)[9], Child Nutrition and Cooking[10] and Work Smarter, Not Harder: Time Management for Personal & Professional Productivity[11].
I often take time to think why I have so many started but not finished courses. Most of them are abandoned on the first week and my assumption is that when I enroll my expectations for the course content and the workload needed are wrong.
Occasionally, I abandon courses because they demand too much time to get something working on linux or because of luck of time. The thing that I noticed about me is that when I get a little behind the schedule then it's almost certainly that I will abandon the course. Additionally, when I try to commit on two courses at the same time then it's certain that I will abandon at least one (usually both).
I've only just started it, but this looks great in terms of the content they cover, and they also provide quite a few programming tasks.
https://class.coursera.org/hiddenmessages-006