This doesn’t apply to people receiving a set online syllabus from a university or other institution. This is for people who, for whatever reason, didn’t have the chance to take the math/physics/bio/compsi1 courses they wanted to at a university, and are now trying to learn something useful on their own.

1. Advanced before Introductory

‘Intro’ courses are everywhere, and they’re largely useless2. They’re fine if you want to keep up with conversation, but they’re too superficial to make your training useful. Coursera and other platforms like it are particularly full of these kinds of courses.

It is an unwritten rule of university professors that every course must begin with an introductory lecture which revises everything you would get from the ‘beginners’ course, so you’ll know if you are missing anything crucial before you begin. Another reason to go for the advanced course is because, bizarrely, introductory courses often end up leaving out exactly the ‘advanced’ arguments that make complex ideas make sense. Advanced courses will keep you interested for longer, because you’ll have to really try to understand. If you can tolerate confusion, being forced to work it out will be more beneficial than comfortably following the boring intro course.

How?

If you’re going to use Coursera, look for an advanced course. Even better, avoid Coursera and find the course a department actually uses to teach its students. There’s an art to this, but if you can find the course’s webpage for students (start at the departments’ webpage, go to a lecturer’s bio and see if it lists any courses), there is often a private YouTube playlist lecture recordings, and PDFs of all lecture slides and readings.

Examples:

University of Toronto Machine Learning Courses Economics and Computing courses by Matt Weinberg

2. Applications before Abstractions

If you want to learn something interesting, and difficult, it probably comes with a substantial list of prerequisites. Or, you have an intuition that learning [advanced concept X] might be useful in your work/research/Twitter-flame-wars.

This is probably Math. For several reasons, math3 is usually the bottleneck to learning the cool new thing you want to try. Your list of prerequisites might be something like: linear algebra, vector calculus, differential equations, abstract algebra, probability theory, differential geometry etc.

And you, being the kind of person who learns things online for fun, will go and track down all of the best complex analysis courses, and they’ll all be intended for math majors and you’ll be perfectly miserable as the Prof writes down another list of assumptions about the function being holomorphic around p. If you love that kind of rigour, stick with it, but I suspect many people are put off because they just need the tools, for now.

How?

Go find courses which explicitly try to teach the ideas of that abstract discipline to non-experts. The benefit is that the Prof now can’t assume she’s talking only to math majors, which may improve your experience. Bonus points if you learn something about the applied discipline too!

Examples:

Abstract Algebra for Theoretical Computer Scientists Applied Topology for Neuroscience Applied Category Theory

3. Top-Down before Bottom-Up

There are two ways you can go about learning something difficult – you can start at the bottom and build up: learning the prerequisites and the background details, slowly building up towards the big, useful, important, interesting ideas at the cutting edge of the field – or you can start from the top and dig down: immersing yourself immediately in something big and exciting, which you don’t fully understand yet, but which you’re motivated to keep doing because you’ve seen tangible results. Top-down also keeps you focused on essentials, because you only add detail as is necessary for your understanding. Already know how to multiply matrices, but don’t remember how to find their eigenvalues? Then why sit through an entire linear algebra course? You’ll suddenly find yourself needing to learn about eigenvalues and you can spend an hour on YouTube getting up to speed (Tim Ferriss calls this “just in time, not just in case”).

The fast.ai Deep Learning course is the canonical example here. In the first lesson, you train a deep neural net to recognise several breeds of dogs and cats, at near-cutting-edge level. Over the course, you learn by tinkering with advanced models and learning to play around with the code. It’s probably the closest thing to Legitimate Peripheral Participation I’ve seen in an online course so far.

How?

Following rule 1 and 2 should have already got you a lot of the way here. Look for project-based courses, or see if you can just start with the coolest part of a discipline and pick up the prerequisites as you go. Don’t fall into the trap of spending years “in preparation”, this is probably as bad as only ever doing “introductory” courses.

Examples:

Fast.ai

I don’t have any other good examples to hand, suggestions would be appreciated, and I’ll add them here!

  1. I mostly have experience doing this for STEM domains. These might work for courses in the arts/humanities and so on, but there’s probably something important I’m missing 

  2. I think that some introductory programming courses might be exceptions here – or maybe languages generally? 

  3. I dream of a world where everyone has a browser plugin which just changes words to their favourite version. All the maths vs mathematics vs math people, all the American ‘-ize’ vs sensible ‘-ise’ people could just get on with it.