Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Top Coursera Courses?
486 points by joshlk on Nov 29, 2020 | hide | past | favorite | 157 comments
In any field that “interesting” to HN

I took a bunch back in the day, and I liked Economics of Money and Banking[1] (by Perry Mehrling) more than most other courses. It's partly a history of the American financial system, and partly a tour of some modern financial instruments and institutions. The focus is on how things work and why they're designed as they are, and not so much on how things are priced. Deposits, bonds, commodity futures, central banks, how it all fits together, what purpose it all serves -- how it's not just gambling or an abstract game used to extract money from the productive economy.

One of the stated aims of the course is to get you in a position where you can read the Financial Times without going cross-eyed, and it works really well to give a clarifying framework for understanding market concepts outside the course's scope.

Another I really liked was "The Modern and the Postmodern" by Michael Roth. I don't know if that course would work well "at your own pace" though, the reading and peer essay feedback was a big part of it.

1: https://www.coursera.org/learn/money-banking

I did "The Modern and the Postmodern" last year, and really enjoyed it without doing the essays/peer review. Curiously I'm now working through Mehrling's course, too.

Another one I'd recommend if you enjoyed those two, although in a very different vein is Bloom's Moralities of Everyday Life, which is supposedly a psychology course, but really goes into comparative culture questions that IMO make it closer to an anthropology course. https://www.coursera.org/learn/moralities

I came here to recommend the same course. It's really well done and covers not only conventional banking but also covers quantitative easing post financial crisis. And the guy is also pretty funny.

I have no idea how 'Machine Learning' from Ng is not mentioned.

It's fine in teaching you introductory (although it seems to cover more basics than a lot of other courses do, somehow) ML. But more importantly, it's a well designed course. You can see how each piece uses previous pieces and how it solves problems and edge cases not covered earlier.

Interesting, I found the course disappointingly shallow. I did do it soon after it came out, maybe it got much better with time. I also have a background / job in statistics, though not ML as such.

While it does talk through the basics of ML, it is really barely a taster. It doesn’t leave you with any skills, other than, if you buy a book and work through it, you will know what a “decision tree” is ahead of time.

With something like ML, the real value is in the deep nitty gritty, building intuition about methods you use, fighting the unfair battle against broken data etc, and all those things were missing to me.

Have you tried the deep learning courses? They steer away from statistics and proofs, but all the math required to build a convoluted network is covered. Lib use is very low level at first; not too far removed from doing it all from scratch it you really wanted to waste the time.

I have as well. I wish it would have been a little more challenging but in the end, I still learned a lot.

I haven’t done the deep learning courses, only the Machine Learning one.

Just btw, I find a machine learning course at Charles University by Milan Straka better (deeper, more entertaining). Maybe I have bias, I'm studying at that school. "Thanks" to COVID, it's online and public - https://ufal.mff.cuni.cz/courses/npfl129/2021-winter#lecture.... You'd be interested in the EN lectures, CZ stands for Czech. You just won't get any certification, of course.

I appreciate his attention to pedagogy. Even small things like noticing that students learn better with Matlab/Octave than with R or Python is the kind of observation that takes a combination of knowledge, effort and caring about teaching.

I could be wrong, but I think it has nothing to do with that, and now to do with the course being so old that R and Python weren't the standard ML languages yet.

You are right. Recent offerings of the course are in Python: cs229.Stanford.edu.

That's not the entire explanation for Ng's use of Octave though.

At the birth of Coursera in 2012, R and Python were already clearly established in the field of data science. R was the dominant open-source language for data science, with Python very close behind (and already gaining ascendancy among folks who identified with "machine learning" rather than "data science"). I remember Matlab/Octave being more associated with academics/students in EE (signal processing, wireless communications, and the like); if you want clear insight into matrix operations, Octave is great.

I think Ng made a very conscious decision at the time to eschew built-in functions and not get distracted by trendy languages - hence the use of Octave to learn how to implement algorithms at the most basic linear-algebra level.

Even at the time his decision was not well understood nor popular - way back then I remember people asking "Why Octave instead of R or Python?"

I think his choice of Octave was really just to avoid using Matlab. I had taken several other courses around the same time, and they all used Matlab. All of the courses had arranged for a free Matlab license for the time the course was active. You also were given the option of buying the Student version for $99. That didn't last long, I haven't seen any courses offering a free license (or even using Matlab for that matter), and to get the Student license you have to be enrolled at a 4 year institution.

In those classes that did use Matlab, there were quite a few people sticking to Octave, though it wasn't 100% compatable. And when I got to Ng's course, I (and I imagine a whole lot of others) were really happy to see he went 100% with Octave. Had he gone the Matlab route, the old course would be pretty worthless now.

We'll never know what happened behind closed doors, but I think Matlab was sponsoring some courses in order to get new people hooked on Matlab and it just didn't pay off.

I've taken 3 MATLAB courses on Coursera this year and they've all included free student access to MATLAB online. Also, a home use license for MATLAB is available for $149.

Why would they be worthless? Octave is Matlab clone.

That's certainly the goal, but in the courses I took, the Octave users always had Octave specific issues they had to work through, so there were some incompatibilities. This was about 10 years ago, so I imagine Octave has made some progress in that area too.

I still think that for learning the math behind ml Matlab still makes the most sense though. It takes the focus off the programming itself and enforces the matrix concepts. Although python is the undisputed king in that regard so unfortunately it makes more sense to teach that

This is probably right. But I am surprised there isn’t a python library that is equally expressive.

In his video for the course, he explains that he tried python and R but found students grasped the concepts better with Matlab/Octave. If I recall, it is in the video for the first lecture.

I agree with a sibling comment that it was python and R were well established at the time.

Also makes you think about how comprehension is closely tied to expression even for ostensibly similar languages.

This was the first course I did on Coursera and it is by far the best introductary course for machine learning I have ever seen, but my sample size is pretty small ;)

I agree it's the best out there from the few that I've see that gives you fantastic intuition into what's going on. I see it as the best "invitation-to-further-exploration" available.

It's good, but also very, very introductory.

I can still hear him saying multivariate. Amazing course.

Yes!! Though I did it a long time ago and I'm not sure if it's been modernised for current ML norms?

AFAIK it wasn't. Ng just makes new courses for new methods.

That said, I'm yet to see better coverage of that topics (If someone knows, I'd really like to get them. I forget pieces every now and then, and having more efficient refresh method is always welcome).

I hope everyone was referring to Andrew's blackboard course:


instead of the one that started Coursera:


it was mentioned 3 hours ago (by you)

Programming Languages, Dan Grossman, UW. https://www.coursera.org/learn/programming-languages It is a 3 part course and a bit more intensive than other courses on Coursera with challenging assignments. It helped me gain a deeper understanding of statically vs dynamically typed languages. Designing a tiny language in Part B is the best part of the course. Concludes with a nice comparison between OOP and functional languages.

Did this one when it was just one single course. The content is great, but the best thing by fat is the teacher. Dan Grossman is a natural teaching talent, and this course shows how one single teacher can make a difference.

dan is awesome. nice guy too.

Did that too and it totally changed how understand programming (was a newbie back then).

Thanks for the suggestion. I will check it out.

Dr Barbara Oakley’s “Learning How to Learn” [0] is great.

Edit: It gives an important understanding on how our minds function and how we learn, which, I think, forms the basis of effective work. Knowing how to work, and being an effective learner are incredibly important qualities in life.

[0] https://www.coursera.org/learn/learning-how-to-learn

I don't know... I would summarize it as:

- You will get good at anything given enough practice, so don't worry about thinking you're bad at X

- As you get good at X, you will start to like it

- Pomodoro

I'm over-simplifying of course, but I felt like the course provided a lot of concepts with very little actionable advice.

It's a very popular course because it "feels good". It is motivating, and has a very positive message. I wouldn't consider it very useful for already highly motivated and self-driven people.

You overlooked the two states of learning: focused and diffuse. Each is important. That was a big eye-opener for me as I used to blame my mind needing to take frequent breaks and thinking about other things on my inability to focus. Then I realized that it's just a natural way to learn.

so you're describing diffused learning? is that the default mode? havent taken the course so idk what the take on it is

There was lots of actionable advice. Just as an example: frequent self testing. Incorporating this into my studies more intentionally has helped me learn quicker.

I'm highly motivated and self-driven. This course isn't about motivation. It's about how we learn and how best to take advantage of that.

But I will say that knowing how the brain works and how we learn has motivated me to change my study habits. Knowing that I learn in my sleep motivates me to prime my brain for learning every day to take advantage of that. So I rarely skip a day now. Even ten minutes gets my subconscious primed and working while I sleep. The mental models you get out this course will last a lifetime.

You missed the most important part: Which is to jump between advanced/beginner content to build a better image. i.e.: If you are learning a programming language, you start with easy and keep going, but along the way you jump to very hard/advanced stuff. This technique really boosted my learning and solidified it.

I would recommend skipping this one. It contains fairly obvious advice, the information density is low and it isn't delivered very well. I really don't know why it's recommended so often.

It is recommended often because Learning How To Learn is a very fundamental part of your skill set which, sadly, many people either lack or do sub-optimal. Precisely because of that it can contain "obvious" device; because you are already (partly) familiar with it. I find it rather arrogant to say its useless for everyone. Its a fairly quick course, where you can spend more time on aspects if you desire.

This topic about the top Coursera courses or which ones you recommend comes up regularly here on HN.

On top of the mentioned Learning How To Learn I can recommend the following:

Terrorism and Counterterrorism: Comparing Theory and Practice by Edwin Bakker [1]

Securing Digital Democracy by J. Alex Halderman [2]

Cryptography I by Dan Boneh [3]. I didn't finish this one, but its very good...

[1] https://www.coursera.org/learn/terrorism

[2] https://www.coursera.org/learn/digital-democracy

[3] https://www.coursera.org/learn/crypto

That first one is not something I’d expect to find in on an IT site. Thanks for posting I’d like to check it out.


If you define "work" rather broadly, to include hobbies and the pursuit of personal goals, in addition to laboring for remuneration, then I would argue that knowing how to learn is probably the most important meta-skill one can have.

Agreed. This is a great point.

I really enjoyed that course my-self as well.

One thing that stood out for me was that I realised that the basic concept of the course was already familiar to me. Breaking down something new to learn into chunks, then forming a high-level picture of the unknown landscape and then starting to connect those chunks as you go deeper into the details.

I wonder how many people have already in some way used that process to learn something new without realising that it is indeed the most efficient way for the brain to learn a new concept.

What’s good about it?

You can get a sample out of her Google talk on YouTube. Basically the course tells you ideas about how to read/manage time to learn things more efficiently.

And most importantly, why you should study and manage your time in certain ways.

A lot of things in that course feels like it fairly obvious when you hear it, but often you might not have thought in those directions, and often it helps to get those things spelled out.

If I had had that course in my early teens that would have helped me a lot.

I really enjoyed the part about recollecting vs rereading. This changed my perspective on how to read things. I have noticed I read less nonsense and retain more of the important topics. Also tried it with software docs. Although recollecting API names didnt help me make better software decisions but it came in handy while writing code. A bit of fluency helped reduce friction since I could code with less context switches.

Ah yes, that is an important part. I certainly often fell into the trap of looking at the material, feeling it was comfortingly familiar and thus believed that I knew it. And then of course struggled to recall it when I needed it.

Thanks. I added some more comments.

Also, it is free as in beer, and since its very fundamental, that is important. It is also useful for high school students as well. I actually had various of these subjects at high school (in my native language and without these experts though).

I think Dan Grossman's Programming Languages courses are amazing if you have slept through the subject in university: https://www.coursera.org/learn/programming-languages

+1! This is a three-parter and it was such a fun hobby for a few weeks when quarantine was kicking up. I had played with plenty of languages before but didn't realize the gaps in my knowledge. Would recommend.

I took it the second time it was offered. One of the main reasons was it was as an excuse to learn Emacs. Does anyone know if the course still encourages using Emacs?

it does!

I did this course 5+ years ago and I still remember it fondly! I can pretty confidently say that it made me a better developer

As someone who learned to program outside of college, this course was one of my favorites.

Great class that really challenged me as a self-taught programmer. Rewarding assignments that pushed back the basics you often find in MOOCs

These are absolute gems! I remember how bummed I felt watching the last video of the last course because it was ending.

I wish there was a follow up. Brown published their book online, but it's not as fun without a structure.

Nand to Tetris: how a computer is built from the ground up. Starting from nand logic gates all the way to OO programming


The course is good, the book is better, in my opinion. Although it covers the same, but I like its presentation much better than the video course.

Nisam/Schocken: "The Elements of Computing Systems"

I have only finished the hardware part, so far, but skimming the rest I can't find Tetris anywhere. Is that really missing, although it's in the title?

(I know that you can program Tetris on the machine you build in the course, but is it an exercise somewhere?

One section asks you to learn Jack (The high-level programming language) by writing a medium-complexity program. The goal of the exercise is not to get proficient in Jack (which is a Java-like-language), but to just learn it well enough to implement the compiler.

I wrote a Tic-Tac-Toe variant - but you could write anything, including Tetris.

On Coursera, if I remember right, the first course gets you to the point where you have a CPU that can run machine language and an assembler. They give you an assembly version of Tetris that will run on what you built.

In the second course you build the programming language that could be used to write Tetris, though I don't think you actually go through it as an exercise.

The second edition of the book is actually slated for release in July. You can preorder it on Amazon.

Seconding this. It's the most fun I've ever had on a technical project (with the possible exception of tptacek's microcorruption.com), and really opened my eyes to all the problems you have to solve to get a working computer.

Note: you can also complete all the course materials just by going to nand2tetris.org.

My presentation slides promoting nand2tetris to the Austin python group: https://docs.google.com/presentation/d/1fGf2eZVOM2lHL8hFVyd2...

I am going to take this next! I am excited to see what it has to offer.

Have never done the course, but I did work through the entire book some years ago and it was an intensely rewarding experience.

Differential Equations in Action https://www.udacity.com/course/differential-equations-in-act...

It's not an intense differential equations course, and I don't think you even need calculus to understand or complete the exercises. It has a lot of really great, well, explained, fun exercises like computing a gravitational slingshot, computing the spread of an epidemic, then N-body problem, and others. The exercises are solved programmatically, not with math equations.

America's Unwritten Constitution https://www.coursera.org/learn/unwritten-constitution America's Written Constitution https://www.coursera.org/learn/written-constitution

If you're American, you'll likely find both of these courses extremely interesting. What they (probably) taught you in grade/high school was very overly simplified, or just wrong. This is geared toward people who have no background in law. I don't remember there being amazing exercises to do, but there were a lot of mind blowing facts I learned about things the constitution does and doesn't cover.

I really enjoyed Tim Roughgarden's 'Algorithms' specialisation. The first half are actually on Stanford's online learning platform for free.


I took his 2 algorithm courses on Coursera's original platform. They were stellar. In particular making practical problems that have a calculable answer that you implement yourself in whatever language you choose and check as part of the course. As opposed to having some online interpreter for some specific language.

That was then hosted on Stanford's own Lagunita platform (based on the edX platform I think.)

Stanford then split those 2 courses into 4 on Coursera's new platform - the same material I believe but packaged differently.

Stanford then closed its Lagunita platform and those original 2 courses are now offered on edX.

A similar story with Alex Aiken's excellent Compiler course and Jeffrey Ullman's Automata course too. I'm not even sure if they are still available on Coursera or not.

[1] https://www.edx.org/course/algorithms-design-and-analysis

[2] https://www.edx.org/course/algorithms-design-and-analysis-pa...

[3] https://www.edx.org/course/compilers

[4] https://www.edx.org/course/automata-theory

What level of math would you recommend for the courses?

This is always a difficult question, because it's always "high school level math" which is rarely true. Then again, some algo courses focus highly on math and proofs while others focus more on implementation.

I prefer the Algorithms course by Princeton but I still really like this course. The deep dive into the mathematical proofs and timing of these algorithms is what gives this course an advantage over Princeton’s course.

Highly recommend this course. Good coverage of topics and the explanations help build intuition.

I quite liked "How to win a data science competition" (https://www.coursera.org/learn/competitive-data-science) where I learned a lot about validation strategies and machine learning on tabular data. The course has its own Kaggle competition.

I also really liked "Discrete optimization" (https://www.coursera.org/learn/discrete-optimization). At the time that I took it it also had a competitive element where you would solve optimization problems and there was a leader board comparing all the students in the current batch. That was when courses still started in batches and were free so the experience would probably no longer be the same, unfortunately.

> I quite liked "How to win a data science competition

As a machine learning researcher I am on the one hand glad that folks are learning more about the topic. On the other hand, this is totally the wrong approach and it will teach you the wrong lessons.

The idea that you can just treat data as a uniform dump of tables and that grinding your way to high numbers is somehow worthwhile is simply terrible. The resulting systems won't work well in the real world and they produce horrific explanations of what is going on. This class teaches you not just the wrong tools, like boosting, it teaches you the wrong mental model.

I really can't think of a worse introduction to ML than this class. Even not knowing anything would actually be better.

Interesting. I definitely would not recommend this course as an only course in machine learning or indeed as an introduction, and I see where you’re coming from with the wrong mental models. I can’t be sure that I do have the right ones but I have taken a number of other courses as well and my sense is they’re ok.

My main takeaway from the course was definitely not that just grinding away for higher numbers is the right thing to do (but it might be a necessary evil in a competition context). The key thing I learned here was much more about paying very close attention that your validation strategy and your testing strategy are compatible because there are many ways you can mess it up, making your models valid in-sample only. Most of the other things I had done before were also more around SVMs and neural networks and getting some experience with decision tree based algorithms was interesting.

ok - what is the alternative?

My personal favorite, Statistical Mechanics and Computations.[1]. Excelled introduction to MCMC methods, lots and lots of python programs and filmed against a green screen.

Obligatory, Stanford CS231n: Convolutional Neural Networks for Visual Recognition [2] The assignments are excellent and will let you implement a deephish network from practically scratch, before diving into modern frameworks and applications.

[1]: https://www.coursera.org/learn/statistical-mechanics [2]: http://cs231n.stanford.edu/index.html

Cryptography 1, time well spent. ~3000 reviews at 4.8 stars


+1 for this... Really good. Did it years ago and it was all very clear to me.

However as I don't use this in daily life I pretty much lost all the knowledge again :)

Same. Having finished the course years ago, I remember most vividly the following: never implement your own crypto. Not many details survived the time but it was intellectually rewarding.

Just don’t hold your breath for Cryptography 2

I was hoping it would finally be available this year. Now I think it's never going to happen.

The course is apparently being released when the accompanying book is complete. The book is free, and you can see the current version here: https://cryptobook.us/

It's super dense though, even with a math background I struggled to make headway.

That perennial reddit thread on this is priceless, it should be an official meme now!

Also pretend or real J.P Aumasson handle?

I invest a lot of time in data storage and synchronization tools (i'm a fan of immutable stores), but i know very little about crypto.

I'd like to know enough to be able to confidently use existing tools to encrypt data at rest, transit, pub/priv key, etc.

Would this course give me such a foundation to achieve this?

I'd say yes, provided you complement the better mental model this course will give you with a reputable cookbook list of how to do X in practice (maybe start at https://latacora.micro.blog/2018/04/03/cryptographic-right-a...), and everything you'd like to do falls into some well-established pattern.

But then you probably shouldn't trust my opinion, because I'm not a domain expert (although I have been involved in security design together with people who are domain experts), and whatever understanding I had is probably somewhat rusty by now .

The Python for Everybody course was great. I was excited to complete it (well, the first 3 courses in the roadmap): https://www.coursera.org/specializations/python

As a non-programmer but a decent mather, I thought it presented the materials in a way that was easy to understand. In my mid-thirties now, I feel like I could have handled this at 18 just fine--but not in a patronizing way. It was just very clear and the professor had a good sense of humor.

I just built my first time-saving Python program and it felt really satisfying. I built a few others that were cool but none actually saved me time. Very satisfying! At the end of the 3 courses (~60 hours) and some additional tinkering (~40 hours), I had the skills and that's pretty cool.

As someone who has been both 18 and 30, 18 is a much easier time to learn a programming language.

+1 for Dr Chuck! Echo your sentiments exactly.

Had I taken this course when I was 18, I surely would have gone for a CS degree.

I quite enjoyed https://www.udacity.com/course/design-of-computer-programs--... -- program design by Peter Norvig. (Disclaimer: I had a very small part in preparing it.)

+1 for this. It's quite python-specific, but I found it amazingly insightful.

Scott Page's Model Thinking course: https://www.coursera.org/learn/model-thinking. Broad overview of how to think in models to understand the world around you.

For me, this was also the most interesting course. But I don't think you can still access it (I tried a couple of months ago to revisit it). But Scott Page also has a book out on the topic "The Model Thinker", which covers most of the course.

What does that mean to think in models?

Models are tools to help us reason clearly about the world. They help us deal with complexity in manageable chunks by focusing on salient parts of a problem, rather than the whole.

From my course notes, a nearly comprehensive summary of how the social sciences use models was presented:

16 uses of modeling outside prediction include from Epstein, Joshua M. (2008). Why Model?. Journal of Artificial Societies and Social Simulation:

1. Explain (very distinct from predict)

2. Guide data collection

3. Illuminate core dynamics

4. Suggest dynamical analogies

5. Discover new questions

6. Promote a scientific habit of mind

7. Bound (bracket) outcomes to plausible ranges

8. Illuminate core uncertainties

9. Offer crisis options in near-real time

10. Demonstrate tradeoffs / suggest efficiencies

11. Challenge the robustness of prevailing theory through perturbations

12. Expose prevailing wisdom as incompatible with available data

13. Train practitioners

14. Discipline the policy dialogue

15. Educate the general public

16. Reveal the apparently simple (complex) to be complex (simple)

Think scientifically/mathematically. It what most people who hang out HN do intuitively, but most of the general public does not. (Like how Dr Fauci talks about COVID-19 vs how Donald Trump does).

Has anyone tried either?: - "Fundamentals of Parallelism on Intel Architecture" https://www.coursera.org/learn/parallelism-ia - "Introduction to High-Performance and Parallel Computing" https://www.coursera.org/learn/introduction-high-performance...

Interesting prior discussion from 2018



Financial Markets course [0] taught by Robert Shiller (Nobel laureate) is a phenomenal course to understand the basics of financial markets. He explains how financial markets work from an engineering perspective which is an interesting approach in contrast to other similar courses.

[0] https://www.coursera.org/learn/financial-markets-global

I tried this course and found it nearly unwatchable due to the editing. Rapid cuts jump around topics and rooms and days without any transitions and without any logical continuity either. Shiller frequently references things he probably said 5 minutes ago in the actual lecture, but won’t say for 10 more videos in the Coursera edit.

I cannot find anyone else talking about this in the reviews; they are all glowing. Wondering if I’m crazy, if Coursera is glitching just for me, or if no one actually watched the videos.

Here's the 2011 version of Shiller's lecture on Financial Markets on YouTube, which doesn't have this problem: https://www.youtube.com/playlist?list=PL8FB14A2200B87185

Thank you!

Algorithms by Princeton University, taught by Dr. Robert Sedgewick. That was the most organized and well-taught course I have taken on Coursera. The visuals for explaining algorithms were beautiful, Dr. Sedgewick explained the material extremely well, and my favorite part, were the assignments.

The assignments are completed in Java and cover the lecture material from the week. For example, your 1st assignment is to use a union data structure to determine if a grid percolates, similar to a coffee filter percolating.

One slight drawback with the course was that it was originally published several years ago, so the forums are not well moderates much more and some of the previous quizzes are no longer available. Also Princeton does not issue certifications of completion.

Still it’s the best online course I have taken in a MOOC.

I can think of many - I have taken several starting since 2013. The tricky thing is that Coursera classes seem to get merged, re-mashed or otherwise re-branded. And as such only one currently is listed in my "Completed" courses section of my profile.

Having said that and with the caveat that these probably changed since I taken them, I recommend the following:

- Cryptography - https://www.coursera.org/learn/crypto - great introduction to the fundamentals and math behind cryptography. A lot of theory but also some practical exercises. This is my top recommended.

- Machine Learning - https://www.coursera.org/learn/machine-learning - a good introduction to the basic of machine learning; focuses on octave/matlab and does not dive into frameworks like scikitlearn or tensorflow

- Introduction to Interactive Programming with Python - https://www.coursera.org/learn/interactive-python-1 - I took a course from Rice University on Python programming through making games that was fun. As far as I can tell, this is the modern incarnation in two parts.

- Software Security - https://www.coursera.org/learn/software-security - goes into stack / overflow exploits, tools for testing, and web-based attacks

- Functional Programming Principles in Scala - https://www.coursera.org/specializations/scala - this was a good introduction to scala and functional programming - it got me thinking in a different way

- C++ for C Programmers - https://www.coursera.org/learn/c-plus-plus-a - I think this was the first coursera class I took. This course dove into the C++ STL and a lot of modern features introduced in C++11.

> as such only one currently is listed in my "Completed" courses section of my profile.

That's surprising to me: wouldn't Coursera want learners to be reassured that whatever signalling benefit there is to completing a course will remain forever?

I took a few courses in 2013 just to see what MOOCs are really like and completed two (Programming Languages, as taken by many here, and Introduction to Mathematical Thinking, which IIRC was mostly about logic) which indeed are not listed under "completed" in my profile. I found them at https://www.coursera.org/accomplishments though.

> I found them at https://www.coursera.org/accomplishments though.

Thanks for pointing that out! I have 11 courses in the accomplishments and just one in "completed" courses.

The Science of Well Being. A great course about how psychologists research human happiness and what the current state of the art suggests are the best strategies for leading a fulfilling life.


Intro to Psychology: https://www.coursera.org/learn/introduction-psychology

The Modern World, Part One: Global History from 1760 to 1910: https://www.coursera.org/learn/modern-world (2nd part is as great as the first one)

I very much enjoyed Geoffrey Hinton's course about Neural Networks. But I cannot find it anymore on Coursera?

Anyway, I found it here: https://www.youtube.com/playlist?list=PLoRl3Ht4JOcdU872GhiYW...

Surprised this isn't higher. It was absolutely incredible at the time. It was cutting edge: the now well known optimizer RMSProp was presented by Hinton in this course and not even published anywhere else; people cite the lecture slides for this course in their papers when they use it.

The field moves fast so it's a little outdated now, but this course gave me a strong and deep foundation for understanding the techniques of deep learning. I was able to apply it at work later with great success. I think this course was more worthwhile than Ng's.

I think HN should be interested by that Coursera today requires reCAPTCHA passing to log into. That filters out some browsers or extensions.

Also at least some courses are paid-only - initially there were plenty of free courses. For example, even if you don't want a certificate for Deep Learning specialization, just to view videos require you to enter a credit card and agree to some dim conditions probably drafted by lawyers (and expected to be read by non-lawyers).

Coursera was great initially, with well taught courses. Now it's more of a gated community, much worse IMO than it used to be. Hope there are better offerings elsewhere.

Not coursera but I'd definitely recommend Helsinki university's Elements of AI course [0].

It's quite accessible and a good introduction to artifical intelligence.

[0]: https://www.elementsofai.com/

- Algorithms I and II by R. Sedgewick are great (https://www.coursera.org/instructor/~250165). Super easy to understand and very deep/nuanced at the same time.

- Automata Theory by J. Ullman is also really good. It used to be on Coursera but is now on EdX (https://www.edx.org/course/automata-theory)

I second the recommendation for "Automata Theory", the explanations are crystal clear and I learned a lot.

I found the first part, on regular expressions really excellent (though the accelerated pace made it difficult to fully grasp all the proofs). He's a still-enthused expert.

However, he didn't seem as passionate on the second part, decision languages. It's also a lot harder, yet is squeezed into even less time.

To help you assess my observation: I scored in the highest segment (IIRC 95%)... After taking the course, I would say I understand the regular expressions material fully, but not decision languages. I'm still confused about showing what complexity class something is in. e.g. the complexity class of determinng two polynomials are equivalent (PIT), like x(1 + y) + y and x + (x + 1)y.

Your experience aligns with how most people feel about learning about Decision Languages, based on my experience in that class in college.

This thread is great. I've already enrolled and given up on 20ish courses, now I have another 4 enrolled. :)

I really enjoyed "The Modern World, Part One: Global History from 1760 to 1910" [1] by Philip Zelikow. He clearly put a lot of thought into developing his lectures -- there's also a part two [2] that picks up where the first leaves off.

[1] https://www.coursera.org/learn/modern-world

[2] https://www.coursera.org/learn/modern-world-2

Another thread from earlier this year with pretty good recommendations: https://news.ycombinator.com/item?id=22826722

This has the potential to be one of the best paid finance course online. I am working on its first course currently. This is edx version of OCW https://ocw.mit.edu/courses/sloan-school-of-management/15-40...

"Introduction to Public Speaking" - Dr. Matt McGarrity

I think public speaking is a very important skill that not enough people take the time to learn.

Andrew NG Deep Learning courses were nice, especially for an absolute beginner.

I thought "The science of the solar system" by Mike Brown was an excellent introduction.


I second this, one of the best courses I attended on coursera.

Databases with Jennifer Widom. I think the original course I took on Stanford's platform has now been split into 3 on edx. Amazing hands-on introduction to Database concepts https://www.edx.org/course/databases-5-sql

I quite liked the Web Development course taught by Steve Huffman (the founder of Reddit) on Udacity. It's possibly a bit dated right now.

+1 for Web Development with Steve Huffman. This is the course most responsible for my career as a software developer.

So people don't have to click the link to see what those are about. First link is "Alanysis of Algorithms" from Stoney Brook University, second is "Discrete Mathematics" also from Stoney Brook.

Analysis of Algorithms is with Steven Skiena, author of Algorithm Design Manual

"Modern Big Data Analysis with SQL Specialization" by Cloudera is awesome. It discusses Hadoop, Hive, Impala and Big Data and the instructors are great. It is rated 4.8/5.0


PSA: LinkGrabber exists. Get a list of URLs pointing to the recommended courses :-) [1]

1: https://chrome.google.com/webstore/detail/link-grabber/caode...

Princeton's and Stanford's Algorithms are fantastic.

I was disillusioned by Princeton's Algorithms course when I took it. I felt like I was fighting too hard with eccentricities of Java than actually learning about algorithms. In retrospect, I was wrong, because one of the things I realized that it taught me was that implementation details of algorithms are _hugely_ important, and can cause drastic differences in time and memory utilization. I can easily forget the details, but I haven't forgotten the experience of hacking out my stupid mistakes until the implementations fit the requirements.

That was a learning for me too, but I thoroughly enjoyed the psets. I don't mind Java - setting everything up can be annoying but I find it fairly straightforward and its massive standard library comes in handy for a class like this.

Audio Signal Processing for Music Applications

Professor Xavier Serra[1] is a highly respected veteran in the field.

[1] https://en.m.wikipedia.org/wiki/Xavier_Serra

I have loved https://www.coursera.org/learn/crypto? Some of the material has been very useful when I have done stripe CTF n°2.

I liked internet history, technology and security: https://www.coursera.org/learn/internet-history

It doesn't get very deep in terms of knowledge of networks, TCP/IP stack etc, it's a very lightweight course that's easy to get through, it was my gateway MOOCs years ago, instructor is great and there's great footage from the beginnings of the internet, it feels more like an interactive documentary than an online class.

Scott Klemmer’s HCI- and design-related courses: https://www.coursera.org/instructor/~1250

I should mention that they have a Black Friday or cyber Monday type special right now where you take a course or a month for free.

I've found courses that aren't directly related to my profession (or making money) to be the most rewarding. For example: https://www.coursera.org/learn/age-of-cathedrals

I am learning programming in C++ and found this course nice. C++ Data Structures in the STL https://www.coursera.org/projects/cpp-data-structures-in-the...

Economics of Money and Banking by Perry Mehrling - https://www.coursera.org/learn/money-banking

Great course to learn about monetary systems, central banks and its effects on financial markets.


(Not just on Coursera, but also others. You can filter for the Coursera ones.)

Not Coursera but I really enjoyed the "Intro to Complexity" course from the Sante Fe Institute; it's highly recommended on classcentral. It gives a broad overview of how complex systems emerge from simple phenomenon and shows how cross-disciplinary some of these insights are.



Machine Learning by Dr Ng is a classic. I also loved Algorithms I and II by Tim Roughgarden. Sedgewick's Algorithms are also good.

Thanks for the info about Machine Learning from Ng. I've been trying to find that course.

I took the (Penn) Calculus sequence by Robert Ghrist and really enjoyed it as a review of single variable calculus. He uses Taylor series as the basis of his explanations which I felt was really clean way to provide intuition for some of the more complicated theorems and formulae. The lecture videos have high quality animations and are broken into digestible chunks (around 10-15 minutes each). The downside is that only a few example problems are shown being worked out, but I only found this to be an issue for a few of the lectures (mainly in the applied calculus section of the course).

The course also covers some interesting, non-standard topics. In particular, I liked the lecture on a discrete version of calculus (https://www.youtube.com/watch?v=NHa8UgWigZk) which can be used to find easy solutions to series and recurrence relations (e.g. the "discrete anti-derivative" can be used to provide quick closed-form solutions to sums of the form "n^k from n=1 to K" - an example occurs at the 5:28 mark of the linked lecture, but some background from earlier in the video will be necessary to follow along).

The lecture videos are available on Youtube (https://www.youtube.com/playlist?list=PLKc2XOQp0dMwj9zAXD5Ll...), but I would recommend working through the problems on Coursera (especially the challenge problems) as well. I would also recommend that viewers watch the videos as 1.5x speed or faster. Dr. Ghrist speaks so slowly in these videos that I found it distracting.

For those who have some knowledge of the standard intro calculus textbooks, the level of rigor and difficulty in this course is above the Stewart book that many universities use, but below the Spivak/Apostol/Courant type of book that an honors course may use.

This used to be a single course, but Coursera split it up into 5 pieces, with somewhat unhelpful names. The sequence is "Part 1 - Functions"[1], "Part 2 - Differentiation"[2], "Part 3 - Integration"[3], "Part 4 - Applications"[4], and "Part 5 - Discrete Calculus"[5]. The first four parts names are reflected in their Coursera titles, but the "Discrete Calculus" course is titled "Single Variable Calculus" instead since it contains the final exam for the overall sequence.

It's also worth mentioning that Dr. Ghrist also has other video lectures available on Youtube (https://www.youtube.com/c/ProfGhristMath) for other math courses including a sequence on multivariable calculus called "Calculus Blue."

[1] https://www.coursera.org/learn/single-variable-calculus

[2] https://www.coursera.org/learn/differentiation-calculus

[3] https://www.coursera.org/learn/integration-calculus

[4] https://www.coursera.org/learn/applications-calculus

[5] https://www.coursera.org/learn/discrete-calculus

The UCGD bioinformatics courses are very high quality.

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