I’ll be using this post to record the courses/specializations I’ve taken on MOOC platforms. From 2019, I started taking computer science courses on Coursera to make up the knowledge in this field.

1. Deep Learning Specialization by Deeplearning.ai

This is your go-to course if you want to learn deep learning mathematically or you want to know what happens in the blackbox of neural networks. Taught by the famous Andrew Ng, this course is top rated on Coursera.

You will code up neural networks (forward pass and backpropagation) from scratch with Numpy. Later this course will use Tensorflow (1.x) and Keras as frameworks. Since Tensorflow 2.0 incorporates Keras as a high-level API, it might be confusing sometimes. Personally, I find Pytorch more intuitive and easy to follow except the deployment. So if you are familiar with Pytorch, I recommend you to implement some projects with Pytorch additionally.

A machine learning course is not a presequisite but definitely helpful. I have taken two ML courses before but sometimes it’s still challenging for me. Linear algebra and multivariable calculus are heavily used when calculating the gradients. As for the machine learning course, the CS4780 taught by Prof. Kilian Weinberger at Cornell University finds an excellent balance between theory and application. Mathmatics is emphasized in this course. Lectures videos and notes can be found here.

2. Algorithms Specialization by Stanford University

It’s not an intro course, but I’ll highly recommend it if you feel comfortable dealing with data structures. This course can take you from brginning level to somewhere intermediate.

Sometimes you might feel a little bit tedious because of the massive amounts of proofs. The quizes and assignments are especially challenging in that some problems have time complexity limits.

3. Reinforcement Learning Specialization by University of Alberta

If you are looking for a theoretical course on reinforcement learning with some projects, this course will stand out. It basically covers all the reinforcement learning algorithms you need to know as a starter.

One drawback is that the lectures are too short. Lecturers reiterate the theorems and algorithms from the textbook.

4. Web Design Specialization by University of Michigan

You will not be able to design fancy websites after this course, which is certainly not the main purpose of this specializations. Nevertheless, you will learn the principles of how to design a websites. There are no “hard rules” for web design but there are some principles to make the websites more accessible and straightforward for others.

Some of the ideas are pretty high-level yet useful. At the end of the day, you may end up using the templete online but getting some info from this course is definitely helpful.

Absolute beginners can also keep up with this course. After finishing this course, I recommend you the design website for your portfolio or your projects.

Summary

Course Name Organization Difficulty
Deep Learning deeplearning.ai Intermidiate
Algorithms Stanford University Hard
Reinforcement Learning University of Albberta Intermidiate
Web Design for Everyone University of Michigan Easy