# Free Online Courses

I decided to post some comments about some excellent online courses related to
computing and engineering that I’ve started to take during Covid-19
self-quarantine. Literally all of them are available **for free** on YouTube.

## Index

- WFST: Weighted Finite-State Transducers @ NTU
- Linux Basics for SysAdmins @ tutoriaLinux
- Computer Networking Crash Course @ Geek’s Lesson
- Probability and Stochastic Processes @ UCalgary
- Introduction to Probability @ MIT
- Machine Learning & Deep Learning Fundamentals @ deeplizard
- Keras with Tensorflow Course @ freeCodeCamp
- TensorFlow 2.0 for Beginners @ freeCodeCamp
- ⚠️ Introduction to Reinforcement Learning @ UCL & DeepMind
- ⚠️ Reinforcement Learning @ Stanford
- ⚠️ Natural Language Processing with Deep Learning @ Stanford
- ⚠️ Applied Linear Algebra @ Uni of Nebraska

## Weighted Finite-State Transducers

📆 Enrollment: March 2020

This is of particular interest for those who are dealing with ASR (speech
recognition). Working with Kaldi, for example, one might bump into a `HCLG.fst`

file, which is, in an oversimplified way, the composition of the three main
resources for ASR: the lexicon `L`

, the language model `G`

, and the acoustic
model `H`

with context-dependency `C`

. Nanyang Technological University’s
Lim Zhi Hao
provided a 13-video lecture series which gives a nice picture of the
theoretical foundations of WFSTs and semirings notation.

*Nanyang Technological University*

*Semirings and WFST, 2015*

## Linux Basics for SysAdmins

📆 Enrollment: Apr 2020

This is a phenomenal overview course on Linux of about 60 videos that as a beginner-intermediate you can really learn a lot from. I work with command line tools for about 8 years and some of the things it provides I haven’t actually even heard about (e.g., the “script” command). Thanks to tutoriaLinux channel by Dave Cohen!

*tutoriaLinux*

*The Linux Basics Course: Beginner SysAdmin, Step by Step, 2014-today*

## Computer Networking Crash Course

📆 Enrollment: May 2020

This was a fortunate attempt to fill the huge gap from by my undergrad years. This five-hour, single-take course is composed by six modules that provide a solid foundation in computer network. The course is provide by Geek’s Lesson channel, and was migrated from Coursera’s original course “IT Support Professional Certificate”. This module is ministered by Victor Escobedo, an engineer at Google.

*Geek’s Lesson*

*Computer Networking Complete Course - Beginner to Advanced*

## Probability and Stochastic Processes

📆 Enrollment: June 2020

This is the best course I’ve found online so far on the topic. University of Calgary’s Professor Geoffrey Messier did a remarkable job on his thorough explanations regarding random variables and random processes in a 14-module, crash-course-like lecture series.

*Greoffrey Messier @ University of Calgary’s Schulich School of Engineering*

*Probability and Stochastic Processes, 2018*

## Introduction to Probability

📆 Enrollment: July-Aug 2020

This course is ministered by Professor John Tsitsiklis is another gem provided by MIT. I actually found three distinct playlists on YouTube: the original for 6.041 “Probabilistic Systems Analysis and Applied Probability” course; the most up-to-date version, RES-6.012 on “Introduction to Probability”, which was developed specially to be taken as online classes; and the third one, 6.041SC, which contains the very same videos as the original, plus some recitation videos where student TAs solve some exercises in between lectures.

*MIT OpenCourseWare*

*MIT 6.041 (original 2010)*

*MIT RES-6.012 (edX 2018)*

*MIT 6.041SC (original 2010 plus examples solved by TAs 2013)*

## ML and Deep Learning Fundamentals

📆 Enrollment: Aug 2020

This is a fantastic crash course from deeplizard on the most fundamental aspects of deep learning that might give you some enlightenment regarding Keras functions and parameters from the sequential API. Moreover, it may make yourself comfortable with the concepts of activation functions, training and validation datasets, data augmentation, one-hot encoding, loss functions, backpropagation, overfitting vs. underfitting, maxpooling, feed-forward and convolutional networks, batches, regularization, transfer learning, etc.

*deeplizard: Machine Learning & Deep Learning Fundamentals*

*Machine Learning & Deep Learning Fundamentals, 2017*

## Keras with Tensorflow Course

📆 Enrollment: Aug 2020

This is another course from deeplizard’s Mandy which was made available as a single 3-hour-long video via freeCodeCamp. I think it was rather shortened or is incomplete but it is enough to get you going on classification and transfer learning with CNNs. The up-to-date version might be found at deeplizard’s official YouTube channel or webpage.

*deeplizard: Keras – Python Deep Learning Neural Network API*

*freeCodeCamp: Keras Course – Learn Python DL and Neural Networks*

*Keras with TensorFlow Course - Python DL for Beginners Tutorial, 2020*

## TensorFlow 2.0 for Beginners

📆 Enrollment: July–Aug 2020

This 7-hour-long course ministered by Tim Ruscica contains just the barebones to get you going with most of the most-common learning algorithms in Keras. It isn’t very didactic though, so I recommend watching the lessons from deeplizard before enrolling this one.

*Tech with Tim*

*TensorFlow 2.0 Complete Course - Python NN for Beginners Tutorial, 2020*

## Introduction to Reinforcement Learning

📆 Enrollment: May-Aug 2020

TBD.

The course is ministered at University College London by David Silver, DeepMind’s genius.

## Reinforcement Learning

📆 Enrollment: Aug 2020

TBD.

## NLP with Deep Learning

📆 Enrollment: Sept 2020

TBD.

## Applied Linear Algebra

📆 Enrollment: Sept 2020

TBD.