Ask HN: What are the best MOOCs you've taken? - csdrane
======
sampo
Most fun: Pat Pattison, Songwriting, Coursera. Very good lectures, very good
material, very well presented. Teaches a lot about writing song lyrics in just
6 weeks, breaks it nicely down to steps and recipes. I used to think that the
best feature of MOOCs is the automatic grading and feedback from programming
homework, but in this course, for the homework songwriting you gave and got
feedback from 3-5 random people in the course, and it was not only useful but
this feeling of togetherness with strangers was even better than getting
instantaneous feedback from a bot for programming homework. Shows that
teaching art scales to MOOCs as well.

Nicest: Andrew Ng, Machine Learning, Coursera. Interesting topic, well-planned
material, very well avoids going into the mathy details, but still conveys a
feeling of understanding of the topic, so accessible to a wide audience.
(Martin Odersky, Functional Programming Principles in Scala, Coursera, was
almost equally nice, but had some rough edges in the first run.)

Most interesting: Probabilistic Graphical Models, Daphne Koller, Coursera.
Very interesting topic. I took the first run of the course and it had lots of
rough edges. Needs a lot of work to apply the lectures to the homework. I
haven't seen such a demanding course since I took quantum mechanics at
university.

Best organized: Jennifer Widom, Databases, Stanford. This is not the flashiest
of a topic, but oh boy was it well organized. Runs like a clockwork.
Everything in the lectures is relevant, everything from the lectures is
applied and tested in the homework, there is lots of homework (but still not
enough to make you remember SQL,XPath,XQuery,XSLT for the rest of your life if
you don't keep using them), weekly homework has a nice progression from
simpler things to medium difficult things, and the web environment is well
designed, and gives wonderful feedback and guides you to get your queries
correct.

~~~
jcadam
> Nicest: Andrew Ng, Machine Learning, Coursera. Interesting topic, well-
> planned material, very well avoids going into the mathy details, but still
> conveys a feeling of understanding of the topic, so accessible to a wide
> audience. (Martin Odersky, Functional Programming Principles in Scala,
> Coursera, was almost equally nice, but had some rough edges in the first
> run.)

Have to agree with all of this. I've taken Andrew Ng's Machine Learning course
(only time I've paid for a 'verified' certificate), and found it a great
overview of ML, though I'm not sure I'd feel comfortable telling anyone I have
a good understanding of ML :)

Odersky's FP in Scala was actually the first Coursera course I took (during
its initial run, I think). -- I also found the follow up Reactive Programming
course to be excellent as well.

~~~
smoyer
Agreed Ng's Machine Learning and Odersky's FP in Scala were my favorites. I'm
looking for a good bioinformatics course at the moment. I wrote a small
program for my daughter that attempts to find CRISPR sites for my daughter and
it would be great to know more of the background.

~~~
anderspitman
The UCSD bioinformatics algorithms courses on Coursera are fantastic:
[https://www.coursera.org/specializations/bioinformatics](https://www.coursera.org/specializations/bioinformatics)

------
carusooneliner
Financial markets by Robert Shiller:
[https://www.coursera.org/learn/financial-markets-
global](https://www.coursera.org/learn/financial-markets-global)

I wanted to invest better so I took this course to learn the basics of
financial markets (I'm a software guy and have zero training in finance).
After taking it, not only do I have the basics nailed down but have gained a
massive appreciation of finance as a technology that, at its best, mitigates
risk and advances society.

Shiller is an authority on the topic, having won a Nobel Prize in Economics no
less. His penchant for financial market history and human behavior angle on
things is a massive plus for this course. I'd say the course is useful
education for entrepreneurs and curious folks alike.

~~~
dannygarcia
It's kind of crazy that, at least in the US, personal finance is not taught so
much in grade school. I had to do a lot of reading and research now in my late
twenties to figure out the best way to manage the RSUs I get at work and how
to plan for a home purchase and retirement. It turns out (surprise) that most
financial institutions don't have regular investors' best interest in mind.
Instead, they see us as customers with value to siphon out over long periods
of time.

Understanding how economies work[1], how financial service companies sell
products, theories behind volatility and market forces, and how simple
portfolio management can be goes a long way to improving an individuals
ability to efficiently self-manage their finances.

1\.
[https://www.youtube.com/watch?v=PHe0bXAIuk0](https://www.youtube.com/watch?v=PHe0bXAIuk0)

~~~
kobiguru
The video gives a really good explanation but i loved the book he released
freely along with that but maybe I have a preference for that. I am awed at by
the knowledge this guy has ... If you haven't already read the book
"Principles" by Dalio ( same guy)

------
antman
As a serial MOOCist I cannot single out any one so here is a list per domain.

Data Science

Introduction to Probability - The Science of Uncertainty,math oriented MIT/EDX
Difficulty:5/5 Videos:5/5 Material and exercises:5/5 Usefulness: 5/5

Learning from Data, math oriented formerly Caltech/EDX now on caltech, check
the exercises and you will see the difference in quality with Andrew Ng:
Difficulty:4/5 Videos:4:5 Material and exercises:5:5 Usefulness:3/5

The Analytics Edge - Bertsimas MIT/EDX.You will learn practical stuff in R
includes a kaggle competition. Difficulty:3/5 Videos:4/5 Material and
exercises:6/5 Usefulness:6/5

Computational Probability and Inference MIT/EDX Computational probabilty using
python. Difficulty:2/5 Videos:3/5 Material and exercises:6/5 Usefulness:5/5

Basic Modeling for Discrete Optimization: Uses an easy to learn language
called minizinc which has multiple backends and is useful for those types of
problems. VERY pleasant to watch videos. Difficulty:2/5 Videos:4/5 Material
and exercises:3/5 Usefulness:5/5

Deep learning: deeplearning.ai coursera and fast.ai for more practical stuff.

Non data science:

I have not done the exercises on these just watched them:

Learning how to learn: Life changing I wish it existed many years ago.

Influencing People: Puts things into perspective. Makes you ponder about
morality

Roman Architecture: Includes the "why" it is like the old "who moved my
cheese" book, but in roman architecture edition.

Explaining European Paintings, 1400 to 1800: What it says on the tin.

Economics of money and Banking: In all tuthe courses I have listed the
professors are very good. But this guy.... Makes a difficult subject so
approachable and watching the news becomes as painful as watching a train full
of passengers going to broken bridge

I am sure I have forgotten others

MOOCs have changed my life, financially and in other ways. I thank all the
people involved.

~~~
carlosgg
Hey antman, thanks a lot for the comment! Can you elaborate a bit more on how
MooCs have made a difference in your life? Thank you.

~~~
antman
I was a mech eng manager in industrial automation. Did the MOOCs, chose a
domain, started a phd in ML and AI by showing my MOOC results, got picked
during the 3rd year from one of the big consulting companies, now running a
series of international projects. Banking(IT only), AI, CompVision and
Analytics.

~~~
ezhil
This is very inspirational. Thanks and congrats!

------
gmiller123456
Nand2Tetris was my favorite. I can't say the information (particularly the
first half) has much practical application for me, but it was a lot of fun and
deepened my understanding of what's going on at a low level. Homework is very
well designed with a simulator you download to test your work on, then submit
for automatic grading.

Udacity's Differential Equations course was pretty awesome too. I had taken
Calculus previously, but I believe it's pretty approachable even if you
haven't. The homework was very well designed, and involved fun problems like
computing gravitational slingshots and curing diseases.

Coursera's "The Unwritten Constitution", also has a similar "The Written
Constitution". Both are pretty awesome and really gives an in depth view of
what the constitution is about (spoiler alert: it's about slavery), and even
points out holes that haven't been challenged yet. Homework was writing essays
and grading other people's, so not that well designed in that respect.

Coursera's "Coding the Matrix" is a Linear Algebra course. I took it the first
time it was offered, and you pretty much had to buy the accompanying book to
follow along. And the book unfortunately had a lot of "first version" issues.
A lot of the homework wasn't explained very well, but it was all auto graded
code. I think the issues with the book have been addressed with the second
edition, not sure about the homework. I had already taken linear algebra
before, so this was mostly a refresher, but even I found it hard to follow
along in the last part, and never completed the last homework assignment.

On Youtube you can find "Fundamentals of Small Arms Weapons" from 1945. It
shows how the action of a small arms rifle works. It starts as just a tube
with a bullet, and works up to several different types of fully automatic
actions. It's just a couple hours long.

~~~
rectang
Coding The Matrix had a great concept. The learn-math-by-coding approach
allows the student to see applications of the material from early on. The
treatment of complex numbers was especially strong.

The tradeoff is that the student must debug during the exercises (an activity
which is unrelated to the material), but it's worth it.

Regrettably, Coding the Matrix was taken down down along with a lot of first-
generation Coursera courses. However, there's still the book, the website at
[http://codingthematrix.com](http://codingthematrix.com) and the the lectures
from the Brown University version of the course:

[https://cs.brown.edu/video/channels/coding-matrix-
fall-2014](https://cs.brown.edu/video/channels/coding-matrix-fall-2014)

------
cjauvin
Three Coursera MOOCs I particularly enjoyed:

* Discrete Optimization: almost entirely problem-driven, very challenging and entertaining prof; [https://www.coursera.org/learn/discrete-optimization](https://www.coursera.org/learn/discrete-optimization)

* Crypto I: very deep, thorough and crystal clear explanations; [https://www.coursera.org/learn/crypto](https://www.coursera.org/learn/crypto)

* Computer Networks: excellent overall course covering a wide variety of topics; [https://www.coursera.org/instructor/~517478](https://www.coursera.org/instructor/~517478), [https://www.youtube.com/playlist?list=PLfgkuLYEOvGMWvHRgFAcj...](https://www.youtube.com/playlist?list=PLfgkuLYEOvGMWvHRgFAcjN_p3Nzbs1t1C)

~~~
robertely
Computer Networks looks great it's a shame they pulled it down.

~~~
jamestimmins
Take a look at
[https://lagunita.stanford.edu/courses/Engineering/Networking...](https://lagunita.stanford.edu/courses/Engineering/Networking-
SP/SelfPaced/about). Haven't taken either, but Stanford typically puts out
pretty good MOOCs.

~~~
weber111
Lectures are great. Material is at a solid undergrad level (should be suitable
for someone with 1-2yrs of CS background). No programming assignments, so I
would go look at Phil Levis's website to find the "regular" course website and
do the programming assignments from there.

------
vector_rotcev
Learning how to learn, Barbara Oakley, Coursera.

By far and away the best learning course I've taken in my life as well, I wish
it had been available before I had completed my formal education.

~~~
libdjml
Has anyone read her book and can comment on the differences?

I own the book and have half-read it twice, it’s very underwhelming. At no
point am I thinking “that’s going to change my way of doing X”

~~~
dyukqu
I haven't read the book but looked through it (hastily though). It was pretty
the same - like a slide version of the course.

You shouldn't expect some direct instructions about "how to do/achieve X" in
this course/book, I would say. It's more like _Brain 101 - A layman 's guide
on how to use it efficiently_. I say "layman", because as you go through the
course you realize how little you know about your own brain. It teaches you
how to _treat_ the brain, basically - it was the case for me at least (e.g.
the _real need_ for sleep, for one). It's not a some kind of deceptive self-
help book (course), after all.

Besides, Barbara Oakley is not the only instructor of the course. Terrence
Sejnowski[0] is also involved, who is an important figure in his field -
Computational Neuroscience. He appears in some videos.

Last but not least, maybe following the video lectures would be more fun for
you too. Barbara Oakley, such a lively and nice lady. I wrote her a "thank
you" e-mail stating my appreciation for the course and not surprisingly, she
replied kindly. I'd like to meet and have a conversation with her some day -
but I'm thousands of kilometers (0.621 miles:) away.

[0][https://en.m.wikipedia.org/wiki/Terry_Sejnowski](https://en.m.wikipedia.org/wiki/Terry_Sejnowski)

My two cents.

~~~
libdjml
Thanks, really appreciate the writeup. I might give the course a crack, given
the positive reviews it’s getting in this thread.

------
rectang
Khan Academy math, because of the exercises.

They are consistent, not very buggy, gamified, and consumable in small or
large amounts. Sal Khan is a good communicator and the videos are decent, but
it's the exercises that make Khan Academy exceptional.

~~~
komali2
Khan Academy filled the gaps from my inconsistent public schooling (moved a
lot as a kid). Used to think I was just dumb (I might still be lol), but turns
out missing some of the early math concepts is extremely destructive to later
learning. Fill the gaps and everything else becomes _so much easier_.

I hear tell Sal Khan is hiding out in the Bay Area somewhere, really wish I'd
bump into him in a bar so I can grab his tab or something. Dude's a hero to
me.

~~~
jacquesm
Khan Academy, Wikipedia, Archive.org. Between those three there is a lifetime
of free education.

~~~
throwawaylolx
How do you use Archive.org as an educational resource?

~~~
jacquesm
For instance:

[https://archive.org/details/mit_ocw](https://archive.org/details/mit_ocw)

And then there is archive team with their Coursera backups as well.

------
MadSudaca
Model thinking ([https://www.coursera.org/learn/model-
thinking](https://www.coursera.org/learn/model-thinking))

Taught by Prof. Scott E. Page, teaches about models in several fields and how
they're used to aid thinking about complex issues by careful design and usage.

A couple of insights: all models are wrong but some are useful. Having many
models about a situation to help your thinking is better than having only one,
and much better than none. Complex models are not necessarily better than
simple ones.

~~~
Sohakes
I love this one. Saw it when it launched and it frequently helps me see
through some situations. Some models explains why, despite best intentions,
things go awry sometimes. Sometimes things are terrible not because people are
terrible, but because everything interact in ways that are difficult to
understand and predict.

------
loganekz
Functional Programming Principles in Scala [1] taught by Martin Odersky,
professor at EPFL and creator of the Scala language.

[1] -
[https://www.coursera.org/learn/progfun1](https://www.coursera.org/learn/progfun1)

~~~
wongma
Would this course be appropriate for those with a lot of general programming
(OOP) knowledge, but little to no FP experience?

~~~
acjohnson55
I'd go as far as to say that those folks would be the ideal audience.

------
grdvnl
I took the Programming Languages course on Coursera which is so far the best
course for me. It changed the way I learn any new programming language.

[https://www.coursera.org/learn/programming-
languages](https://www.coursera.org/learn/programming-languages)

I see that they have split the course into 2 parts.

~~~
jamestimmins
Could you expand on how it changed things for you? How did you learn them
before vs after?

~~~
madflame991
> It changed the way I learn any new programming language.

I can say the same and I can offer my reasons: until this course I saw every
language like a little island; after this course I understood that programs
are just a collection of features: various typing systems, static/dynamic
scoping, lazy/eager evaluation, etc. It's a ton easier to learn a new language
by identifying these features than by looking at a language as a big blob.
This also made me realize that languages are not little disjoint island -
they're overlapping a lot instead.

The course was the way I got into racket and other lisps and this allowed me
to read SICP. Since then I've been doing all sorts of toy
interpreters/transpilers for fun and it allowed me to get an idea of what's
happening behind the scenes in real languages. For example, I used to think
that closures are magical, but after implementing them as part of the course
they were a piece of cake afterwards. You will get a profound satisfaction
when you implement call/cc yourself and suddenly you understand how try/catch
or generators work.

~~~
jamestimmins
Interesting. Did you feel like you needed a strong understanding of compilers
or automata to really grok what was going on (I _think_ automata relate to
programming languages, but could be mistaken)?

~~~
madflame991
None at all. Automata are used to turn a program from its textual form into
some manageable data structure that something else will consume (actual
interpreter/optimizer/compiler). At some point in the course (in the racket
part) you will be asked to implement an interpreter for MUPL (made-up
programming language), but the programs are directly written as a data
structure - so no need to parse; in racket both data and code look exactly the
same - it'll be a breeze.

I think the only requirements for this course is some plain procedural
language (C/Pascal).

------
burlesona
Georgia Tech's Knowledge Based AI class (on Udacity:
[https://www.udacity.com/course/knowledge-based-ai-
cognitive-...](https://www.udacity.com/course/knowledge-based-ai-cognitive-
systems--ud409))

Fantastic course, more focused on theory than programming, but full of deeply
fascinating commentary on what is knowledge, intelligence, learning, etc. and
what does it mean for a program to demonstrate it (ie. what is AI anyway?).

My daughter was about 18 mo. old at the time I took the class, it was an
outrageously awesome added bonus to watch a little human learn all the things
I was trying to get a computer to learn at the same time.

~~~
allanbreyes
I took the same course as part of the OMS CS[0] program. I wasn't terribly a
fan of the lectures, but the most fascinating part for me was the course
project: building an AI agent that solves Raven's Progressive Matrices[1],
basically a visual IQ test. Really intriguing and challenging stuff... easy to
get "easy" problems right, but incredibly hard for any of the harder[2] ones.
I do wish I didn't have to mess with any computer vision, and instead spent
more time integrating more concepts in KBAI.

[0]: [http://www.omscs.gatech.edu/](http://www.omscs.gatech.edu/)

[1]:
[https://en.wikipedia.org/wiki/Raven%27s_Progressive_Matrices](https://en.wikipedia.org/wiki/Raven%27s_Progressive_Matrices)

[2]: [http://www.highiqpro.com/iq-tests-iq-scores-iq-
questions/mat...](http://www.highiqpro.com/iq-tests-iq-scores-iq-
questions/matrix-iq-brain-teasers)

~~~
samford100
I took the class during my undergrad at Tech and I could not agree more. There
was such a disconnect between the class material and the project.

Additionally, this is the class that gave us "Jill Watson", the robot TA.

[http://www.cbc.ca/news/technology/robot-ta-
ai-1.3585801](http://www.cbc.ca/news/technology/robot-ta-ai-1.3585801)

------
Suncho
Economics of Money and Banking, taught by Perry Mehrling on Coursera:

[https://www.coursera.org/learn/money-
banking](https://www.coursera.org/learn/money-banking)

It's just fantastic. He explains what money really is from the perspective of
treating everyone as a bank. Also, lots of good history here including the
history of central banking, the gold standard, and war finance.

Anyone who wants to understand money should take this course. It would be nice
if more cryptocurrency enthusiasts learned this kind of monetary economics.

------
jpfr
MIT OCW contains quite a few true gems. These lectures will still be worth
watching 100 years from now.

\- Differential Equations from 2015:
[https://ocw.mit.edu/resources/res-18-009-learn-
differential-...](https://ocw.mit.edu/resources/res-18-009-learn-differential-
equations-up-close-with-gilbert-strang-and-cleve-moler-fall-2015/)

\- The original SICP recordings from 1986:
[https://ocw.mit.edu/courses/electrical-engineering-and-
compu...](https://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-001-structure-and-interpretation-of-computer-programs-
spring-2005/video-lectures/)

~~~
sewercake
what makes the differential equation course so good, in your mind?

~~~
jpfr
Gilbert Strang is a lengendary teacher.

In addition to the other Gilbert Strang ODE courses, this one comes with
videos for numerical solutions. From the inventor of Matlab himself.

------
rikkhill
Another oddball choice for HN, but the Coursera course _Think Again: How to
Reason and Argue_ , by Duke University's Ram Neta and Walter Sinnott-Armstrong
[1] is exceptional.

The subject matter covers a staggering breadth of topics, which can be
characterised as either (a) fundamentals of philosophical reasoning, or (b)
stuff that amateur internet-debaters think they understand but actually don't.

[1] - [https://www.coursera.org/learn/understanding-
arguments](https://www.coursera.org/learn/understanding-arguments)

------
drxyzzy
1\. Quantum Mechanics and Quantum Computation (on edX, from UC Berkeley:
[https://www.edx.org/course/quantum-mechanics-quantum-
computa...](https://www.edx.org/course/quantum-mechanics-quantum-computation-
uc-berkeleyx-cs-191x)), taught by Umesh Vazirani. Intro to quantum computing
that made clear key ideas in quantum mechanics, almost in passing. The first
of over 70 MOOCs I completed, not available at the moment.

2\. Astrophysics (on edX from Australian National University, 4-part series:
[https://www.edx.org/xseries/astrophysics](https://www.edx.org/xseries/astrophysics))
taught by Brian Schmidt and Paul Francis. Delightful. Plenty of math but
mostly at undergrad level. A grand tour of current topics.

3\. First Nights - Handel's Messiah and Baroque Oratorio (on edX from Harvard:
[https://www.edx.org/course/first-nights-messiah-harvardx-
mus...](https://www.edx.org/course/first-nights-messiah-harvardx-mus24-2x))
taught by Thomas Forrest Kelly. Historical perspective and structure of the
music. I was hooked from the first lecture. One of a series of 5 outstanding
courses in the "First Nights" series, this is my favorite.

So many great MOOCs, so little time.

~~~
plaguuuuuu
is there any way to view the old material from #1?

------
imranq
Best course so far: AI from BerkeleyX

Other great courses: Learning to Learn, Irrational Psychology by Dan Ariely,
and Algorithms by Sedgewick

Can someone recommend a good way to work with other students on MOOCs? I've
taken many courses, but they aren't much better than just reading the textbook
and working on a personal project, although the curation of content is
valuable.

The relationship aspect is sorely missing from online courses. If there was an
easy way to have a classroom setting with highly motivated peers each
following the MOOC with a collaborative environment, then I would definitely
want to sign up. You say that's what college is for? Well I've already
graduated, signing up for random college classes is extremely expensive and
the peer group is highly variable.

~~~
lazyasciiart
The best way I found was to sign up with a group of co-located friends and
form a study group. If you don't know anyone who wants to take your course,
maybe you could try joining a relevant Meetup group and asking people there?

------
gringoDan
3b1b's series on Linear Algebra is essential for an intuitive understanding of
the topic:
[https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2x...](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)

(Really anything by 3b1b)

------
blocked_again
Buddhism and Modern Psychology by Princeton. This course was just mind-blowing
for me. It talks a lot about how our evolutionary survival mechanisms prevent
us from seeing the world clearly. If anyone has taken similar courses would
love to hear.

[https://www.coursera.org/learn/science-of-
meditation](https://www.coursera.org/learn/science-of-meditation)

~~~
tra3
I will +nth this course. Tying an ancient philosophy with modern science lends
both a lot of credibility. Note that religious aspects are not addressed.
Practical aspects of buddhism (such as a regular meditation practice, approach
to emotions, etc) are discussed. I find it very useful in day to day life.

------
blcArmadillo
Andrew Ng's Machine Learning Course on Coursera:
[https://www.coursera.org/learn/machine-
learning](https://www.coursera.org/learn/machine-learning)

------
phyller
These courses are for beginners, but I started with what I learned from a few
courses in Coursera and turned it into a career as a software engineer.
[https://www.coursera.org/learn/learn-to-
program](https://www.coursera.org/learn/learn-to-program) and
[https://www.coursera.org/learn/program-
code](https://www.coursera.org/learn/program-code) from Jennifer Campbell and
Paul Gries from the University of Toronto laid a great foundation to build on.
I think I took them the first time they offered it and I still don't
understand how they completely nailed a new medium like that first try. It was
very accessible, but with enough detail to make sense and the videos were so
clear and concise. The Python one from Rice University, is a fun, awesome
course, where you build games to learn.
[https://www.coursera.org/learn/interactive-
python-1](https://www.coursera.org/learn/interactive-python-1)

~~~
jackallis
how did you turn it into a career?

~~~
phyller
I extracted everything I could from those courses, which served as a basic
comp sci foundation, saw that I was pretty good at it, took a few more not-as-
important courses, then applied to a challenging coding bootcamp. I passed the
coding tests, got in, worked and learned the hardest I have ever done so
before for a few months, and continued studying on my own for a couple months.
Then I applied for a job that required a practical coding test, knew someone
at the company so they would at least give me a chance, and crushed the coding
challenge. I was almost optimally prepared for the job and hit the ground
running, while having no official credentials. It's been great since then. The
only drawback is that I don't have the broad depth of knowledge/experience
that I imagine can come from a CS degree. So I am planning on getting a
masters.

------
rripken
I've taken 10 GaTech OMSCS courses via Udacity. Two of my favorites (so far):
Intro to Computer Vision: [https://www.udacity.com/course/introduction-to-
computer-visi...](https://www.udacity.com/course/introduction-to-computer-
vision--ud810) Reinforcement Learning:
[https://www.udacity.com/course/reinforcement-learning--
ud600](https://www.udacity.com/course/reinforcement-learning--ud600)

I found the Isbell+Littman combo to work so well that I also took the ML
course. I know some people complain about their humor but it was perfect for
me. I could listen to those two explain just about anything. I still LOL when
I think about Littman saying to Isbell something like "are you trying to teach
us something by making this lecture infinitely long?" Who knew RL could be
funny?

~~~
allanbreyes
Second, this! I was a big fan of Isbell+Littman. There was a brief
conversation on Twitter about a third class[0]. Really hoping it happens!

This was also probably my favorite OMSCS class. The projects were particularly
enjoyable... especially the OpenAI Gym lunar lander[1]. Kinda bummed that
OpenAI chose to shut down the online submission platform.

[0]:
[https://twitter.com/isbellHFh/status/893216499439210497](https://twitter.com/isbellHFh/status/893216499439210497)

[1]:
[https://gym.openai.com/envs/LunarLander-v2/](https://gym.openai.com/envs/LunarLander-v2/)

------
wildebeestmode
This might not be the answer you're looking for, but if you ever want to learn
to play the guitar, Justin Sandercoe will take you from novice to expert for
free at justinguitar.com. The way he teaches and structures his lessons will
probably appeal to a lot of programmers. Also one of the nicest people in the
world.

------
ransom1538
Ethical hacking. This guy is pretty legit, first class: install Kali Linux.

[https://www.udemy.com/learn-ethical-hacking-from-
scratch/](https://www.udemy.com/learn-ethical-hacking-from-scratch/)

Andrew Ng. Machine Learning (Stanford) (youtube free)

[https://www.youtube.com/watch?v=nLKOQfKLUks](https://www.youtube.com/watch?v=nLKOQfKLUks)

~~~
bigtunacan
I’ll second Ethical Hacking. His pen testing material is a benefit to any web
developer serious about building secure applications. In addition Zaib does a
great job of regularly updating the materials and is very responsive to
students questions.

This is the only MOOC that I have gone through multiple times.

------
azangru
CS50 on EdX was a great intro course helping me to get into programming.

Agile Development Using Ruby on Rails (in two parts) on EdX was also great,
primarily because they encouraged students to set up pair programming sessions
over Google Hangouts. It's amazing how many ways there are to solve a problem,
and live discussions in small groups over Hangouts were an outstanding
resource to learn.

I am currently enjoying courses from the Applied Data Science with Python
specialization on Coursera. I love how they are using Jupyter notebooks for
assignments; it makes the problems feel realistic and at the same time very
accessible.

------
idiocratic
Robert Sedgewick's Algorithms has been one of the best for me, not only as a
general refresher on algorithms, but also as a way of better understanding
complexity notations.

~~~
rashkov
I enjoyed the lectures quite a bit, but ran into a lot of trouble with the
problem sets. I'm wondering if anyone else had a similar experience, or if I
should give it another chance and try some different approach?

The problem I had was that he gave you a mostly finished program which
utilizes the percolation algorithm, but then asks you to fill in some data
structures and functions to make it work, and finally a test suite should let
you know if you've completed that successfully. The issue I had was that there
was basically no feedback, or incremental progress that you could make towards
a solution. You either understand the full requirements and are able to
implement them, or your tests fail and you have to scratch your head some more
wondering if you misunderstood the problem or what.

I loved the approach that Tim Roughgarden's stanford algorithms class took on
Coursera, where you're actually implementing the full algorithm and are given
some data sets to test them on. You could even write it in whatever language
you choose.

I really wanted to do professor Sedgewick's course but I felt like I couldn't
do the assignment even if I understood the algorithm perfectly. Would love
some advice if anyone has any suggestions, or even if someone can confirm that
I'm not crazy for having a bad time with it.

~~~
monster_group
I did not run into any trouble with Sedgewick's course. His coding assignments
are the most elegant and comprehensive I have seen which leave virtually no
room for ambiguity. But they are challenging indeed.

> "he gave you a mostly finished program..." What? He gives you an API with
> public methods and you have to do the implementation. How is this a mostly
> finished program?

> "The issue I had was that there was basically no feedback"

The tests are your feedback. When a test fails you need to figure out why the
test is failing and what's wrong with your code or if you understood the
requirements incorrectly.

I absolutely enjoyed his courses and finished both of them with all the
assignments. His assignments are not something you can knock out in an hour.
It usually took me at least 3-4 hours to complete any assignment sometimes
even more than that.

I also did Roughgarden's course and loved it. He is an awesome teacher. Both
Sedgewick's and Roughgarden's courses are very good but they have different
approaches. I found Roughgarden's coding assignment a lot easier than
Sedgewick's.

Make use of the course forum. If something is not clear ask questions on the
forum. Though I found that Sedgewick's requirements specification are very
comprehensive and unambiguous. In fact while doing the course I wished
software requirements on the job were anywhere close to that comprehensive in
real life.

------
zachwill
Not your usual answer for HN, but the best online courses I've ever taken are
Chris Orwig's photography stuff on Lynda.com. Most local libraries have a free
subscription with Lynda, and the way he teaches photography/Photoshop/etc was
so useful to learn during college. It's not math or machine learning, but the
guy is an absolute master at his craft -- and offers some of the clearest
explanations on his line of thinking when working on projects.

------
Dowwie
Dan Ariely's behavior economics mooc (from Duke, through Coursera) was more of
a graduate level calibre in terms of required/recommended readings and the
videos were of high quality.

There was a gamification mooc taught by Kevin Webach (Wharton) that was
excellent, too.

Chuck Eesley's first tech-entrepreneur mooc was ground breaking (it led to the
spinoff of NovoEd).

The last mooc I actually completed was one for contract law, offered by
harvardx. It gives a nice, high-level overview of the subject-- good enough
for my needs/interests.

------
Fnoord
Learning How To Learn [1] by Dr. Barbara Oakley, Dr. Terrence Sejnowski
available on Coursera & elsewhere.

[1] [https://www.coursera.org/learn/learning-how-to-
learn](https://www.coursera.org/learn/learning-how-to-learn)

------
atomicnumber1
CS50x (Introduction to Programming) [1]: Very well structured. Excellent and
very Enthusiastic Teacher & staffs. It was the most fun MOOC I took

Learning How to learn [2]: Life changing. I wish I did it sooner.

ops-class (Operating Systems) [3]: This is by far the toughest MOOC I've
taken. The Assignments are really tough. Although not impossible. Just the
right amount of tough, I guess. I'm currently in the last few weeks and I've
really enjoyed it every bit so far.

Interesting (Not Yet Completed): Introduction to Quantum Physics (2013) [4]:
My god, I just love the teacher's enthusiasm. After few lectures, I realised I
need to first brush up on classical physics before moving further (which
obviously was the requirement that I ignored).

[1]: [https://www.edx.org/course/cs50s-introduction-computer-
scien...](https://www.edx.org/course/cs50s-introduction-computer-science-
harvardx-cs50x)

[2]: [https://www.coursera.org/learn/learning-how-to-
learn](https://www.coursera.org/learn/learning-how-to-learn)

[3]: [https://www.edx.org/course/cs50s-introduction-computer-
scien...](https://www.edx.org/course/cs50s-introduction-computer-science-
harvardx-cs50x)

[4]:
[https://www.youtube.com/playlist?list=PLUl4u3cNGP61-9PEhRogn...](https://www.youtube.com/playlist?list=PLUl4u3cNGP61-9PEhRognw5vryrSEVLPr)

~~~
orenht
You accidentally duplicated the cs50 link. Where were you taking the operating
systems class? I'm very interested :)

~~~
atomicnumber1
Sorry. here's the link. You'd love it.

[3]: [https://www.ops-class.org](https://www.ops-class.org)

------
samuraijack
Compilers by Alex Aiken.
[https://lagunita.stanford.edu/courses/Engineering/Compilers/...](https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about)

~~~
dbrgn
Strong +1 from me. I actually took this course in parallel to the compilers
course at my university and the videos by Alex helped immensely.

------
ScoutOrgo
Fast.ai's (fast.ai) deep learning and machine learning courses. No ads, good
notes/forum, and very approachable material for anyone that knows basic
coding.

~~~
allanbreyes
Have you considered deeplearning.ai? I was on the fence between the two, but
ended up taking deeplearning.ai after reading a review[0].

> The fast AI course mainly teaches you the art of driving while Andrew’s
> course primarily teaches you the engineering behind the car.

I'll probably take some of the fast.ai courses at some point, but the
deeplearning.ai one was great.

[0]: [https://towardsdatascience.com/thoughts-after-taking-the-
dee...](https://towardsdatascience.com/thoughts-after-taking-the-deeplearning-
ai-courses-8568f132153)

~~~
jdminhbg
I think it totally comes down to your learning style. If you learn best by
tinkering with a running system and seeing how your changes affect it and
piecing together its foundations that way (like I do), fast.ai is for you.
Deeplearning.ai I think appeals more to people who do better with
understanding the theoretical foundations before trying to implement
something.

------
dabent
The "Bitcoin and Cryptocurrency Technologies" on Coursera helped me gain an
understanding cryptocurrencies. Until I took that course I knew very little
about the subject.

It's possibly a little dated now, but it's a good primer.

[https://www.coursera.org/learn/cryptocurrency/](https://www.coursera.org/learn/cryptocurrency/)

I'd love to hear what other cryptocurrency courses others recommend.

As many others mentioned, Andrew Ng's course on Machine Learning on Coursera
was also very good.

[https://www.coursera.org/learn/machine-
learning](https://www.coursera.org/learn/machine-learning)

~~~
chabes
You might appreciate the Digital Currency MOOC from University of Nicosia,
with Andreas Antonopoulos and Antonis Polemitis.

[https://digitalcurrency.unic.ac.cy/free-introductory-
mooc/](https://digitalcurrency.unic.ac.cy/free-introductory-mooc/)

Latest live stream (with Andreas Antonopoulos) goes into Ethereum and
alternative uses of the blockchain:

[https://www.youtube.com/watch?v=PxyPNS5QmAI](https://www.youtube.com/watch?v=PxyPNS5QmAI)

Edit - Actually, the latest live stream is this one:

[https://www.youtube.com/watch?v=h2aeToagyaA](https://www.youtube.com/watch?v=h2aeToagyaA)

Figured I'd leave both, since they cover similar topics

~~~
miltosgm
very interesting

------
markshead
Nand2Tetris was very good. I think Coursera has it listed as "Build a Modern
Computer from First Principles: From Nand to Tetris." The course does an
incredibly good job of walking you through building a CPU starting with NAND
chips.

------
neovive
Over the past few years, I've watched a few courses on Udacity, Coursera and
EdX. I prefer taking ad-hoc courses to fill knowledge gaps (statistics, AI,
programming, math, etc.), so I can't give a full review of the complete
Nanodegrees, Certificates, XSeries, etc. I usually watch the lessons as needed
without completing the entire course; mixing and matching MOOC courses with
video learning sites (e.g. Datacamp, Youtube channels, Khan Academy, Egghead,
etc.)

If I had to pick a MOOC platform, I prefer Udacity's more hands-on approach,
but enjoy courses on EdX and Coursera. The quality of all three MOOC platforms
is excellent. It's an amazing time for autodidacts!

If you're starting from scratch, without any background knowledge, the
certificate programs with access to mentors are a great place to start. The
curriculum is designed by industry professionals and/or experienced
professors. This saves you time, keeps you focused and offers a place to get
help when needed.

~~~
jitix
Do you have any recommendations on statistics for beginners?

~~~
ycombinator_usr
if you want to focus on Statistical Learning, I can recommend Introduction to
Statistical Learning Using R[1] by Prof. Hastie and Tibshirani.

[1]:
[https://lagunita.stanford.edu/courses/HumanitiesSciences/Sta...](https://lagunita.stanford.edu/courses/HumanitiesSciences/StatLearning/Winter2016/about)

~~~
harry8
I found the lectures entertaining and the exercises of a much lower quality.
Not enough of them, shallow and ambiguously worded.

I got something like 90% on the edx MITx probability course and was barely
getting 50% for the above mentioned Stanford stat learning course for the 5
weeks of it I completed. I mention the MIT course, (which I highly recommend
fwiw) only to support my view that I don't think my experience is aptitude or
workload related. But as ever YMMV.

------
timnic
The Theoretical Minimum lecture series on theoretical physics by Leonard
Susskind. Covers the basics in a very approachable way. I wish this had been
available when I studied physics.

------
diyseguy
favorite: the ancient greeks: good teacher:
[https://www.coursera.org/learn/ancient-
greeks](https://www.coursera.org/learn/ancient-greeks)

other favorite: absolutely insightful about Russia
[https://www.coursera.org/learn/russian-history-lenin-
putin](https://www.coursera.org/learn/russian-history-lenin-putin)

history of the modern world: really good just with headphones:
[https://www.coursera.org/learn/modern-
world](https://www.coursera.org/learn/modern-world)
[https://www.coursera.org/learn/modern-
world-2](https://www.coursera.org/learn/modern-world-2)

ancient assyrians: [https://www.coursera.org/learn/organising-empire-assyrian-
wa...](https://www.coursera.org/learn/organising-empire-assyrian-way)

best was "Social Psychology" by Scott Plous/Wesleyan University. inexplicably
gone now from Coursera and internet afaikt

~~~
tehwhynot

      Social Psychology
    

It is available on AcademicTorrents with seeders, if one is so inclined.

------
laylomo2
I took the OCaml MOOC to learn OCaml programming. It had many portioned
exercises, The video content was very high quality. The online code editor was
pretty amazing as well, as it autoformatted the code as I typed it and even
compiled and executed in the browser. Some of the problems required one to
think outside the box.

[https://www.fun-
mooc.fr/courses/parisdiderot/56002S02/sessio...](https://www.fun-
mooc.fr/courses/parisdiderot/56002S02/session02/about#)

~~~
TheSmoke
do you know where the video lectures are uploaded to?

edit: i asked and i shall receive:
[https://archive.org/details/fun_ocaml_mooc](https://archive.org/details/fun_ocaml_mooc)

------
harry8
Currently enjoying the 2017 lectures (and I bought the text) for McElreath's
bayesian stats course:

[http://xcelab.net/rm/statistical-
rethinking/](http://xcelab.net/rm/statistical-rethinking/)

Strang's MIT OCW Linear Algebra is pretty good. Probably also needs the
textbook.

John Tsitsiklis' MITx edx Probability intro course is probably the best course
I've taken anywhere and better than anything I did in person at university. I
didn't buy the text for this one though I probably should.

Robert Sapolsky's Human Behavioral Biology Stanford lectures are well worth
watching.
[https://www.youtube.com/playlist?list=PL848F2368C90DDC3D](https://www.youtube.com/playlist?list=PL848F2368C90DDC3D)

~~~
ljiljana
Came here to suggest Robert Sapolsky's class as well.

I would also add Michael Sandel's Justice: What's the right thing to do?
[https://www.youtube.com/watch?v=kBdfcR-8hEY&list=PL15D875D84...](https://www.youtube.com/watch?v=kBdfcR-8hEY&list=PL15D875D8484D18BB)
great course on moral reasoning, covers different theories of justice based on
ideas from Aristotle, Kant, John Stuart Mill, John Rawls and many more,
extremely well presented too.

------
usecide
Introduction to Biology - The Secret of Life by Eric S. Lander (available on
edX) was entertaining and educational at the same time. Not many MOOCs were
able to keep me engaged to the very end and make me proud and happy when I've
finished them. If you are interested in the cell biology and are looking for a
way to start on the subject that one is highly recommended.

------
sleazy_b
Kind of a random one but Coursera's Audio Signal Processing for Music
Applications was a ton of fun. I had basically no exposure to either the
signal processing or the music side of this course and still learned a ton.
Inspired me to mess with software synthesizers as well as go back to linear
algebra; opened up a whole bunch of avenues for further study.

------
nbouscal
Linear Dynamical Systems by Stephen Boyd of Stanford:
[https://www.youtube.com/watch?v=bf1264iFr-w&list=PL06960BA52...](https://www.youtube.com/watch?v=bf1264iFr-w&list=PL06960BA52D0DB32B)

Programming Languages by Dan Grossman of University of Washington:
[https://www.coursera.org/learn/programming-
languages](https://www.coursera.org/learn/programming-languages)

~~~
MadSudaca
what's good about the first one?

~~~
siddboots
I've also gone over those lectures a couple of times. I'm not even sure why I
started watching them, since I knew absolutely nothing about linear dynamical
systems before hand, but it really changed my life! It taught me techniques
that I now use all the time, and I think are very neglected within my field
(data analysis/forecasting).

If your not familiar with it, it's an extremely versatile framework for
modeling and analysis of all kinds of systems. It will give you new insights
into linear algebra, time series analysis, stochastic models, Fourier
analysis, Laplace transforms, and many other areas.

He's a brilliant (and enthusiastic) teacher, and he has lots of resources on
line, including a text-book length exercise-set which I've printed out and had
bound because it is so awesome.

~~~
MadSudaca
Sounds really good, I'll make some time to watch it. Thanks!

------
anarchimedes
I like the dialogue between Hastie and Tibshirani in their statistical
learning course from Stanford [1]. I found the accompanying ISL book and
c-cran depositories helpful for when I wanted to go deeper beyond the lecture.

[1][https://lagunita.stanford.edu/courses/HumanitiesandScience/S...](https://lagunita.stanford.edu/courses/HumanitiesandScience/StatLearning/Winter2015/about)

------
sateesh
Paradigms of Computer Programming ([https://www.edx.org/course/paradigms-
computer-programming-lo...](https://www.edx.org/course/paradigms-computer-
programming-louvainx-louv1-1x-2))

Amazing course, though it uses _Mozart_ a little known programming language,
drives home the functional paradigm in a lucid manner. I am surprised that
Peter Van Roy's book (instructor of the course) _Concepts, Techniques, and
Models of Computer Programming_ is not as well known as SICP.

------
mrbonner
Intro to finance - Gautam Kaul I am not sure if they still offer this course
for free. I took it in 2011 and I really like it’s homework assignments.
Gautam is also hilarious in his teaching style.

~~~
vukmir
I've taken it around the same time, too.

To this day the name of the professor brings a smile to my face. If I remember
correctly, I didn't even plan to take this course (had no interest in
finance), but after watching the _Intro_ video I was hooked.

~~~
umbs
I have forgotten about it until this comment. Prof Gautam Kaul's MOOC was the
first course I took on any MOOC. I did not finish it, mainly because it became
very mathematical towards the end and I couldn't keep up. The course gave me
appreciation for many things in finance, including personal finance. It's not
exaggeration to say that that MOOC was a trigger to seek pay rise, contribute
more to 401K and few adjustments in personal finances.

A good reminder and greatful to MOOCs and this course.

------
ojbyrne
Programming Languages, Dan Grossman (Coursera has split it into 3 parts now):
[https://www.coursera.org/learn/programming-
languages](https://www.coursera.org/learn/programming-languages)

------
mung
A Brief History of Humankind by Yuval Noah Harari on Coursera.

There is also a book (that I have not read) called "Sapiens: A Brief History
of Humankind" which I think was quite popular. It was not quite was I was
expecting yet it was very interesting and enlightening.

Also, it's been mentioned, but Databases, by Jennifer Widom. Stanford.

------
lowbloodsugar
I really enjoyed Discrete Optimization, Pascal Van Hentenryck, Coursera. [1] I
did it in 2013 and it looks like it's changed a little: vehicle routing seems
a good, practical topic right now. Optimizing systems is one of my favorite
pleasures, so this course was great for me.

[1] [https://www.coursera.org/learn/discrete-
optimization](https://www.coursera.org/learn/discrete-optimization)

------
MattyMc
The Hardware/Software Interface from the University of Washington (previously
offered on Coursera). As a non-CS major, it gave clarity to a lot of the magic
that happens when you write code. Fabulous course.
[https://courses.cs.washington.edu/courses/cse351/](https://courses.cs.washington.edu/courses/cse351/)

~~~
Nimitz14
I can confirm! Had the exact same issue and this was very helpful.

------
akbarnama
Most fun and learnt a lot in Introduction to Mathematical Thinking taught by
Keith Devlin. I did this course from Coursera in 2012. The most fun part was
the forum where students collaborated to discuss and gain better understanding
of the problems.

------
KerrickStaley
I really liked Geoff Hinton's Neural Networks for Machine Learning
([https://www.coursera.org/learn/neural-
networks](https://www.coursera.org/learn/neural-networks)). It goes into a lot
of depth (much more so than Andrew Ng's Machine Learning course) and is fairly
challenging.

------
henryw
MIT OpenCourseWare Algorithms [https://ocw.mit.edu/courses/electrical-
engineering-and-compu...](https://ocw.mit.edu/courses/electrical-engineering-
and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-
videos/)

Watching them throw seat cushions as prizes was funny.

~~~
starpilot
Does this cover data structures (stacks, queues etc.) as well?

------
bitL
Udacity's Self-driving Car Nanodegree by a wide margin.

From the rest, MIT's Underactuated Robotics (Boston Dynamics stuff) was pretty
rad, Udacity's Deep Learning Foundations Nanodegree was very useful, Ng's
Machine Learning was made super easy. The School of AI's DApps/Blockchain
course so far looks pretty good as well.

------
rjammala
Algorithms by Tim Roughgarden on Coursera

~~~
exist
Definitely agree with this one. It's called Algorithm Specialization on
Coursera. I'm now on course 3 and it's definitely helped me a lot in thinking
about how reason about algorithms.

------
gnat
Science of Everyday Thinking: [https://www.edx.org/course/science-everyday-
thinking-uqx-thi...](https://www.edx.org/course/science-everyday-thinking-uqx-
think101x-5)

I took the first incarnation of this and it was consistently interesting,
entertaining, and useful. A good romp through cognitive biases, decision-
making to counter them, the scientific method, skepticism, memory and
learning, and more. I've started and dropped a lot of MOOCs. This one stands
out because I was consistently eager for the next installment to drop.

------
plafl
I'm surprised no one has mentioned Learning from Data:
[https://work.caltech.edu/telecourse.html](https://work.caltech.edu/telecourse.html)

------
kroltan
I've taken "From NAND to Tetris" by Noam Nisan and Shimon Schocken while at
high school. Very nice explanation of the whole stack.

As the name suggests, they teach the necessary to build your own computer,
assembler, language and finally a simple game.

I would say it goes to an "appropriate" level of detail. You certainly won't
become an electrical engineer and game developer with it, but it gives great
insight on all layers and how computers actually work, and explains concepts
such as pipelining.

~~~
jwhitlark
This course was excellent. After years of self study it really pulled
everything together for me.

------
shurane
This is going to be one of those threads that I'll upvote and bookmark and
then not revisit till years later.

Any idea on how to start setting aside time to take a MOOC? For those of you
taking a MOOC, how do you structure your week? It's been years since I've been
in college.

~~~
batmanimal
It all depends on your work/life schedule, but for me, I have been successful
at meeting my learning goals when I do two things:

\- Set aside a discrete amount of time for coursework, and stick to it as much
as possible

\- Do SOMETHING in the course at least once per week, even if it's just
watching one video

For the last course (or Udacity Nanodegree in my case) that I completed, I set
up this schedule to fit my work/life (I have an infant):

\- Watch course videos/do in-class exercises for 2 hrs on 1-2 days after work
or during lunch break each week. My goal was to complete all the course videos
that went with a project, so that I would be able to do 1 project per weekend.
For longer/more complex topics, I would have to stretch this to one project
per 2 weeks.

\- Complete 1 project every weekend while my baby napped (total 3hrs per
weekend day). I usually was able to complete the project during this allotted
time, but sometimes had to work at night after putting baby down.

With the above schedule, I was able to complete my program within 3 months,
which was slightly ahead of the program's recommended schedule.

You may need to adjust the schedule as you go (life happens) but the main
thing is to KEEP GOING, and do your best to visit the classroom and do
something - anything - at least once per week.

------
adenadel
I'm going to go off the beaten path here. I really enjoyed the edX course
Molecular Biology (MITx - 7.28.1x). They teach DNA replication and repair.

------
jamesdhutton
Robotics, UPenn:
[https://www.coursera.org/specializations/robotics](https://www.coursera.org/specializations/robotics)

Excellent introduction to the algorithms that underlie control systems for
robots. For the assignments, you program Matlab simulators of robots. It is
comprehensive and not dumbed down: plenty of calculus involved! I loved it.

------
syndacks
Colt Steele's the Web Developer Boot Camp was the first online course I took.
I was committed to a career change/learning how to program/do web development
and his course was the structure I needed at the time. It helped me land my
first coding gig too. Thanks Colt.

But now I realize how much I don't know :) and why the CS kids I work with
have a leg up. I've tried making my way through teachyourselfcs.com, mostly
just dipping in here and there. But I've also learned that staring at a
glowing rectangle 8+ hours a day doesn't bring me as much joy as does
collaboration/empathy/creativity, and that I'm pretty good at design/product
stuff (not saying programming can't also elicit said feelings).

Life is one big learning journey, and I'm so grateful that one of the by-
products of the internet has been the democratization of learning. For $10
dollars and some work ethic you can learn enough to land a completely new job.
The paradigm of 4 year college is waning, and that's a beautiful thing.

~~~
zaphirplane
Power and respect to you for doing what you want. I strongly disagree that a
$10 course gives a person the same learning as a 4 year university degree, I
have worked with people that have been to university and people that “got”
into the job and there is a large difference. Of course that isn’t always 100%
true, there are exceptional people. I’m sure this will be down modded

------
sizzzzlerz
I've been wanting to learn how to sketch. Has anyone taken on of the drawing
courses and successfully brought their skill level up from nothing to being
able to do recognizable drawings?

~~~
pram
[http://drawabox.com/](http://drawabox.com/)

This is pretty good material for fundamentals. I used it myself to learn.

------
cmsd2
without a doubt: Calculus in a single variable with Robert Ghrist
[https://www.coursera.org/learn/single-variable-
calculus](https://www.coursera.org/learn/single-variable-calculus)

for lots of people here it'll revisit some material you learnt at school but
it does go further and the materials are fantastic and the exam at the end is
no pushover either.

------
paultopia
the MIT Introduction to Computer Science and Programming Using Python on edx
is beginner-level, and I took it a few years ago, so it might not be best for
the people who read HN---but it's really good. Best introductory-level MOOC in
anything I've ever seen.

------
manca
Algorithms I and II by Tim Roughgarden on Coursera -- amazing teaching style
with a lot of depth and math background.

ML by Andrew Ng is also another great example of a MOOC that could be executed
very well.

From non CS related courses I really liked Intro To Finance by Gautam Kaul,
also on Coursera.

------
jadbox
Professor Kagan's class on Death from Yale is absolutely fantastic and should
be general class taught imho.
[https://www.youtube.com/watch?v=p2J7wSuFRl8](https://www.youtube.com/watch?v=p2J7wSuFRl8)

------
ajudson
Nand2Tetris (part 1)

~~~
dmytrish
The second part is awesome too.

The first part shows how to design an unoptimized and simplistic, but complete
and working 16-bit CPU and RAM from logic gates.

The second part builds a whole software stack on top of it using a virtual
stack-based VM:

    
    
        - CPU assembler;
        - a (AOT) compiler from the VM opcodes 
          into the CPU assembly;
        - a compiler from the high-level language 
          called Jack (an educational mix of Java/C 
          with many complex parts removed) into the 
          VM opcodes;
        - a standard library for the Jack language 
          (Screen/Keyboard/Output/Math/String/Array/
          Sys/Memory classes), including writing your own
          memory allocator and drawing lines/circles 
          and bitmapping glyphs into video memory 
          for text rendering;
        - your own project (usually a simple game and 
          sometimes marvels like [0]) written in Jack 
          on top of all of that;
    

The courses are definitely very challenging and some previous exposure to the
topics is desired.

[0]
[https://github.com/QuesterZen/hackenstein3D](https://github.com/QuesterZen/hackenstein3D)

~~~
SilasX
Wow, someone made an FPS in Jack on the Hack computer? Crazy!

(Just completed parts 1 and 2 last week on Coursera btw, really opened my
eyes!)

------
ENadyr
I'm surprised no-one had mentioned YC's Startup School! We did the Founder's
Track last year and it's by far the most useful MOOC for my startup and I. We
had an awesome YC alum as an advisor and a weekly group office hours chair.

------
nimos
CS50x and Stanford's Startup Engineering one.

Got me into programming and part of an exclusive club of MOOCs I've started
AND finished.

~~~
Dowwie
+1 for Chuck Eesley's startup engineering one! how did your team experience
pan out?

~~~
nimos
Balaji and Vijay version actually. I think it was only actually offered once
on Coursera.

------
contingencies
_Venture Deals_. [https://www.kauffmanfellows.org/online-course-venture-
deals/](https://www.kauffmanfellows.org/online-course-venture-deals/)

~~~
contingencies
New term just announced: [https://kfatechstars.novoed.com/kfa-venture-deals-
spring18](https://kfatechstars.novoed.com/kfa-venture-deals-spring18)

------
internetman55
Gilbert Strang's linear algebra lectures on MIT OCW

Donald Kagan's introduction to ancient greek history on open Yale courses

------
mcintyre1994
fast.ai is outstanding, if you're at all interested in deep learning.

------
Pamar
I track mines here: [http://pa-
mar.net/Study/Online/OnlineCourses.html](http://pa-
mar.net/Study/Online/OnlineCourses.html)

Best - in no particular order: Introduction to AI (Stanford), the one who
started it all, Coursera Data Analysis and Introduction to Operations
Management by University of Pennsylvania.

You can find more details about all of these in the page I linked above.

------
baristaGeek
Pretty useful and well taught: React JS parts I and II in Codecademy,
JavaScript promises in Udacity.

Just pretty fun: Intro to Machine Learning in Udacity

As a general comment, I would like to say that MOOCs tend to be superficial
and that the best way to learn a new technology or paradigm is just to read
the docs and try hacking on a project. However, MOOCs can be a good format to
simply get a broad perspective on some topic though.

------
ribs
I loved Coursera’s Statistical Molecular Thermodynamics course taught by Chris
Cramer from U. Minnesota. Mind expanding. Some calculus.

------
andyjohnson0
Introduction to Mathematical Thinking
([https://www.coursera.org/learn/mathematical-
thinking](https://www.coursera.org/learn/mathematical-thinking)). Aims to
teach you what it is like to think like a mathematician. Covers the elements
of topics that you probably encounter in the first semester of an
undergraduate maths degree: logic, induction, proof construction, real
analysis, etc.

Machine Learning ([https://www.coursera.org/learn/machine-
learning](https://www.coursera.org/learn/machine-learning)). I'm still working
through this course but am finding it extremely interesting. I find that
having to implement things in matlab/octave gives you a deeper understanding
than using a framework like tensorflow or keras.

Both of the above courses have good instructors, which I think is the main
factor that makes a good mooc.

------
Salutator
The best teaching I've seen in a MOOC is in Introduction to Financial
Accounting / More Introduction to Financial Accounting by Brian J Bushee on
Coursera. (This used to be one course back when I took it.)

The subject matter is probably not that interesting to most hackers but it is
a great example of making the MOOC-format work.

------
currymj
David Silver (now of DeepMind, leading their reinforcement learning group
which has had so many big high profile successes) has video lectures for his
introduction to reinforcement learning. It's very thorough and uses a good,
free textbook, and the programming projects are interesting but also
reasonable in scope.

------
AlexCoventry
I think I've only really taken one MOOC, that was Shiller's course on
Financial Markets. It's a bit slow, but he has a lot of good anecdotes.

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

------
SriVee
[https://www.coursera.org/instructor/danariely](https://www.coursera.org/instructor/danariely)
One of the best courses I enjoyed. Have become a fan of Prof Dan. Have read
his books on Irrationality and thoroughly enjoyed.

------
michaelcampbell
[https://courses.knowthen.com/p/elm-for-
beginners](https://courses.knowthen.com/p/elm-for-beginners)

Elm for Beginners, and the followup course. The first one is free and does the
70% case of the language.

Well organized, good pacing, good content.

------
complex1314
Circuit and electronics MITx 6.002. Great lectures, a joy to watch. Put me on
the path to EE full-time.

~~~
microtherion
Really outstanding class! Prof Agarwal was an excellent lecturer, the course
material was well prepared, and lots of tutoring material was made available.

------
mcjiggerlog
Can anybody recommend any courses for learning WebGL?

~~~
sassy_samurai
I haven't taken it myself (but will sometime in the future), but I've read
great things about this Udacity course taught by Eric Haines:
[https://www.udacity.com/course/interactive-3d-graphics--
cs29...](https://www.udacity.com/course/interactive-3d-graphics--cs291)

You can read a couple of reviews here:
[https://www.coursetalk.com/providers/udacity/courses/interac...](https://www.coursetalk.com/providers/udacity/courses/interactive-3d-graphics)

------
dagw
Andrew Ng's deep learning course. For me it struck the perfect balance between
being fast and 'easy' enough to not take up too much of my time while still
being deep enough that I finally understood the basic math behind deep
learning.

------
ya3r
Convex Optimization by Stephen Boyd.

[https://lagunita.stanford.edu/courses/Engineering/CVX101/Win...](https://lagunita.stanford.edu/courses/Engineering/CVX101/Winter2014/info)

------
billdybas
MoMA's "Fashion as Design" course was pretty interesting:
[https://www.coursera.org/learn/fashion-
design/](https://www.coursera.org/learn/fashion-design/)

------
bluesmonk
I've recently discovered that videos don't cut it for me. I fall asleep or get
distracted doing side research of what is being discussed.

The only one I've finished is edX's CS50. As an electrical power engineer, I
used to code in matlab as a hobby: Optimization problems, Power flows, and
stuff.

This mooc gently took me by the hand and gave me what is basic to change my
career. I quit my job as an EPE and now work as a software engineer, and now I
can't stop learning. The course is real fun and challenging at the same time.

Another one that is interesting is mind and machines in edx, kinda thoughtful
and different and yet interesting approach to artificial intelligence.

------
whalesalad
Not sure if this counts but recently I started the “elixir for programmers”
course and I’m loving it. It skips over the low level stuff and starts from “I
know how to build apps in XYZ other tool, how can I get up to speed on
idiomatic Elixir” which is exactly the kind of thing I was looking for.

You follow along building the same app as the instructor. Lots of hands on
coding and experimentation between clips. I’m not an expert but my confidence
level with elixir is very high now.

[https://codestool.coding-gnome.com/courses/elixir-for-
progra...](https://codestool.coding-gnome.com/courses/elixir-for-programmers)

------
MarlonPro
Learning How to Learn: Powerful mental tools to help you master tough subjects

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

------
dmytrish
I enjoyed Game Theory [0], it makes you get a different perspective on many
situations.

[0] [https://www.coursera.org/learn/game-
theory-1](https://www.coursera.org/learn/game-theory-1)

------
wawhal
Fundamentals of Operations Research by G Srinivasan.
[https://medium.com/@jossctz/google-kubernetes-engine-
default...](https://medium.com/@jossctz/google-kubernetes-engine-default-
deployment-security-problems-ccac23ad35b)

It is a great course for non management majors to get a sense about how
operations work. In fact, it is meant for non-management students because the
course is originally taught at an engineering institute.

The instructor is a great figure in Operations Research. He is exceptionally
knowledgeable and more importantly, clear.

~~~
rodrigo
Do you have a url? I googled and found just lectures on youtube.

~~~
ludicast
Curious myself, and I found this:

[https://onlinecourses.nptel.ac.in/noc17_mg10/preview](https://onlinecourses.nptel.ac.in/noc17_mg10/preview)

As someone into OR myself, I'd like to see if it will be formally given again.

------
tuccinator
I have created a Github repository listing all of the "main" MOOCs here.

[https://github.com/Tuccinator/hn-moocs](https://github.com/Tuccinator/hn-
moocs)

------
chongli
Programming is for everybody on Coursera. Taught with Python, extremely
approachable for non programmers. Teaches you fun stuff including how to use
sqlite and how to scrape websites, use JSON APIs, and more!

------
randyzwitch
I found Udacity CS344: Intro to Parallel Programming (CUDA) a great class, not
only from a practical standpoint of learning CUDA but also had some decent
explanations/whiteboarding behind the algorithms

~~~
andy000
Think that was taken down for some reason. I tried watching it last month

~~~
john_owens
All course videos are here:
[https://www.youtube.com/watch?v=F620ommtjqk&list=PLAwxTw4SYa...](https://www.youtube.com/watch?v=F620ommtjqk&list=PLAwxTw4SYaPnFKojVQrmyOGFCqHTxfdv2)

------
sonabinu
Learning how to learn! [https://www.coursera.org/learn/learning-how-to-
learn](https://www.coursera.org/learn/learning-how-to-learn)

------
petecox
(Folks have already mentioned Odersky and Grossman for grokking functional
programming)

FutureLearn has an introductory Dutch course. I've only learned languages from
the Romance family previously, so it was a worthwhile experience. (Dutch-
Australian in-laws) It's a taster course requiring further study but well
worth satisfying your curiosity.

Dutch (and Frisian) may provide a stepping stone to understanding Old English
- there are recognisably 'Germanic' traits.

------
fermigier
"Learning How to Learn" (already cited) and "Critical Perspectives on
Management" (by Rolf Strom-Olsen, available on Coursera, starts in 2 weeks!).

------
Dowwie
Interesting how the myriad other mooc platforms, largely non-US, aren't
mentioned.. futurelearn, novoed, ....

This makes me wonder what English speaking courses are being missed..

------
delecti
Is MOOC a commonly used term? I don't believe I've ever seen it before this
post. Based on context, the default Wikipedia redirect [1] for it seems
correct, but I'm surprised I never knew that concept had a name (and an
acronym at that).

[1]
[https://en.wikipedia.org/wiki/Massive_open_online_course](https://en.wikipedia.org/wiki/Massive_open_online_course)

~~~
vpribish
I'd never heard it before either. It's just "online course". guess they wanted
to feel cooler with an acronym?

~~~
icosa
Online courses that aren't MOOCs either:

1\. Allow a limited number of students to sign up for a run of the class,
which is on a specific schedule, and there's high interaction with and
feedback from other students and the instructor. 2\. Allow unlimited students
to sign up, often at any time, but at most there's a forum or mailing list for
participants to interact with each other. Many are just a series of videos or
articles, maybe with some assignments, but there's no pressure to complete
them.

MOOCs try to combine those. Unlimited students can sign up for scheduled
classes. While the class is in session, students are assigned to grade each
other's homework, so there's both pressure and interaction.

Most MOOC providers let you "audit" a class for free, which is basically a
type 2 online course.

~~~
vpribish
Ah. that makes sense; openness plus motivation. thanks for explaining.

------
bas
The AI class (Udacity now) with Thrun and Norvig was fun.

~~~
alok-g
I had found it useful also. It has a lot of bugs though. The instructors often
faced the heat on the forums for not thinking the problems through. It's hard
after all to be teaching a group of some X0,000 students, noting that some
then would have intelligence levels well exceeding the instructors (no matter
how accomplished they are).

------
justinhj
Andrew Ngs machine learning course as well as both Princeton Algorithms
courses were the most challenging and valuable.

I did all the Scala ones a few years ago, the most interesting was building a
distributed key value store.

There’s a really online interesting course on Milton at Yale. Great lectures
but I didn’t try to work through any of the assignments.

Not really a Mooc but I recommend both Duolingo and Memrise for learning
language skills on your phone

------
leavenotracks
Not a full MOOC, rather a video lecture series, and one I cannot recommend
enough is ‘Human behavioural biology’ with Robert Sapolski. Mind blown. Have
listened to some multiple times. I found it to be a fascinating tour of so
many facets of biology.

[https://www.youtube.com/playlist?list=PL150326949691B199](https://www.youtube.com/playlist?list=PL150326949691B199)

------
acutesoftware
I've done a few from coursera and the best MOOC's I have taken are:

Machine Learning = really good overview of ML, well explained. I did this
first but struggled with some of the maths, so took maths refreshers
afterwards

Calculus 1 - I have never had a maths class where the Professors made the
content so interesting and with such enthusiasm.

Human-Computer Interaction - worth doing if you are building websites / apps

------
pttod
NAND to Tetris

------
user2994cb
Dan Boneh's Cryptography Part I on Coursera. Will we ever get Part II?
Enrolling for Sept 2018 according to Coursera.

~~~
suddensleep
Wondering the same! It looks like Part I has been around since late 2015/early
2016 based on the course reviews.

~~~
eeZah7Ux
2012

------
some_random
Since no one has said it yet, /r/ludobots is pretty good. It's a University of
Vermont course centered around ML for robotics. Specifically, the goal is to
train a procedurally generated robot to walk using NNs. I wouldn't say it's
the best I've ever taken but it's pretty unique and great fun.

~~~
peller
I took a few courses by the same guy at school. Probably the best professor I
had at UVM

------
mohanmca
If someone likes to rip all the links from this wonderful discussion, please
use this script and paste it in browser console.
[https://gist.github.com/mohanmca/481056956ca618a3b21a2b3a0d1...](https://gist.github.com/mohanmca/481056956ca618a3b21a2b3a0d156f11)

------
shabbir1993
[http://callingbullshit.org/](http://callingbullshit.org/)

------
Exorus18
Can anyone recommend course about assembly ? Which focuses especially on
embedded systems (arm, avr, pic archs) ?

~~~
WorkForPizza
Azeria Labs has a good introduction to ARM assembly and ARM exploitation.
[https://azeria-labs.com/writing-arm-assembly-part-1/](https://azeria-
labs.com/writing-arm-assembly-part-1/)

------
theuncommon
Machine Learning by Andrew Ng on Coursera is the best MOOC I've taken so far.
It has great explanations on complex topics, fun activities, and a really well
put together curriculum on machine learning.

------
omarkn
Math for CS by Tom Leighton (founder of Akamai) - MIT Open Courseware

------
spencerfry
I'm a big fan of Chris (the GoRails.com guy):
[https://courses.gorails.com/](https://courses.gorails.com/)

Great course.

------
tzs
• MITx "Introduction to Solid State Chemistry" [1]. I've never been good at
chemistry, but this course managed to make it clear to me.

• MITx "Circuits and Electronics" [2][3][4] (three links because they have
split it into three courses since I took it). Most electronics courses have
not worked well for me. Some fail by using analogies that don't work for me.
The analogies are either to things I don't understand, or to things I
understand too well compared to the target audience for the course.

The latter might seem odd--how can understanding the analogous system too well
cause a problem? It's because there usually isn't a perfect match between
behavior of the analogous system and electronics. The more you know about the
analogous system, the more likely you are to know about those places that
don't match. If the author expects the students will not know about those
parts, they won't mention the limitations from those parts. So you can end up
expecting too much of the analogous system to apply.

Other courses have not worked for me by being too deep and detailed. For
instance at one time I knew, from a solid state physics intro I took, how a
semiconductor diode worked at a quantum mechanical level. I could do the
math...but the course gave me no intuition for actually _using_ the diode in a
useful circuit.

The "Circuits and Electronics" course struck for me a perfect balance.

• MITx "Computation Structures" [5][6][7]. At the end of this three part
course (of which I only took the first two parts), you will know how digital
logic circuits work at the transistor level, and you will know how to design
combinatorial and sequential logic systems at the gate level, and you will
know how to design a 32-bit RISC processor...and you will have done all those
designs, using transistor level and gate level simulators.

As I said, I only took the first two parts (didn't have time for the third).
In the first two parts we did cover caching and pipelining, but we didn't use
them in our processor. I believe that in the third part those and other
optimization are added to the processor.

• Caltech "Learning From Data" [8]. The big selling point of this course is
that it is almost the same as what Caltech students get when they take it on
campus. The only watering down when I took it was the homework was multiple
choice so it could be graded automatically.

The most outstanding thing about this course was Professor Abu-Mostafa's
participation in the forums. He was very active answering questions. I don't
know if he still does that now that the course is running in self-paced mode.

[1] [https://www.edx.org/course/introduction-solid-state-
chemistr...](https://www.edx.org/course/introduction-solid-state-chemistry-
mitx-3-091x-5)

[2] [https://www.edx.org/course/circuits-electronics-1-basic-
circ...](https://www.edx.org/course/circuits-electronics-1-basic-circuit-
mitx-6-002-1x-0)

[3] [https://www.edx.org/course/circuits-
electronics-2-amplificat...](https://www.edx.org/course/circuits-
electronics-2-amplification-mitx-6-002-2x-0)

[4] [https://www.edx.org/course/circuits-
electronics-3-applicatio...](https://www.edx.org/course/circuits-
electronics-3-applications-mitx-6-002-3x-0)

[5] [https://www.edx.org/course/computation-structures-
part-1-dig...](https://www.edx.org/course/computation-structures-
part-1-digital-mitx-6-004-1x-0)

[6] [https://www.edx.org/course/computation-
structures-2-computer...](https://www.edx.org/course/computation-
structures-2-computer-mitx-6-004-2x)

[7] [https://www.edx.org/course/computation-
structures-3-computer...](https://www.edx.org/course/computation-
structures-3-computer-mitx-6-004-3x-0)

[8]
[https://work.caltech.edu/telecourse.html](https://work.caltech.edu/telecourse.html)

~~~
sizeofchar
Also did Computation Structures from MITx and I think it was the best of the
roughly 20 MOOCs I took. Too bad few people seem to have done it as well.

In the third part of the course, the content moved to the software connecting
to the BETA, the processor we built in earlier parts. The last problem set was
to build a very simple OS, in assembly, with interrupts, privileged mode, and
running up to 3 concurring processes, all in less than 1000 instructions,
macros included.

------
mxyzptlk
I enjoyed sabremetrics 101 at edX. Some statistics, light coding (SQL and R),
history and baseball.

------
MajesticUnicorn
Charles Fried - Harvard Law Contract Course. Super nice and just a very good
class to understand

------
schoen
I took Cryptography I (Boneh) and Automata (Ullman) on Coursera and they were
both great.

------
isuraed
Second the Jennifer Windom course. That's been the most useful course to my
career.

------
emp2ror
AI by UC brekely, was one of the best course on edx

------
beezle
edX/MIT 8.05 QM II Barton Zwiebach Thought he did a really good job with the
material, very clear.

Agree with others on Windom, Ng and Page.

------
walterkobayashi
Cryptography I by Dan Boneh in Coursera.

------
ninjakeyboard
The odersky one is good.

------
senatorobama
This thread is ABSOLUTE GOLD!!!!

