This full 6 hour+ course provides a complete introduction to Graph Theory algorithms in computer science.

Code: https://github.com/williamfiset/algorithms
Slides: https://github.com/williamfiset/Algorithms/tree/master/slides/graphtheory

Course created by William Fiset. Check out his YouTube channel: https://www.youtube.com/channel/UCD8yeTczadqdARzQUp29PJw

⭐️ Course Contents ⭐️
⌨️ (0:00:00) Graph Theory Introduction
⌨️ (0:13:53) Problems in Graph Theory
⌨️ (0:23:15) Depth First Search Algorithm
⌨️ (0:33:18) Breadth First Search Algorithm
⌨️ (0:40:27) Breadth First Search grid shortest path
⌨️ (0:56:23) Topological Sort Algorithm
⌨️ (1:09:52) Shortest/Longest path on a Directed Acyclic Graph (DAG)
⌨️ (1:19:34) Dijkstra’s Shortest Path Algorithm
⌨️ (1:43:17) Dijkstra’s Shortest Path Algorithm | Source Code
⌨️ (1:50:47) Bellman Ford Algorithm
⌨️ (2:05:34) Floyd Warshall All Pairs Shortest Path Algorithm
⌨️ (2:20:54) Floyd Warshall All Pairs Shortest Path Algorithm | Source Code
⌨️ (2:29:19) Bridges and Articulation points Algorithm
⌨️ (2:49:01) Bridges and Articulation points source code
⌨️ (2:57:32) Tarjans Strongly Connected Components algorithm
⌨️ (3:13:56) Tarjans Strongly Connected Components algorithm source code
⌨️ (3:20:12) Travelling Salesman Problem | Dynamic Programming
⌨️ (3:39:59) Travelling Salesman Problem source code | Dynamic Programming
⌨️ (3:52:27) Existence of Eulerian Paths and Circuits
⌨️ (4:01:19) Eulerian Path Algorithm
⌨️ (4:15:47) Eulerian Path Algorithm | Source Code
⌨️ (4:23:00) Prim’s Minimum Spanning Tree Algorithm
⌨️ (4:37:05) Eager Prim’s Minimum Spanning Tree Algorithm
⌨️ (4:50:38) Eager Prim’s Minimum Spanning Tree Algorithm | Source Code
⌨️ (4:58:30) Max Flow Ford Fulkerson | Network Flow
⌨️ (5:11:01) Max Flow Ford Fulkerson | Source Code
⌨️ (5:27:25) Unweighted Bipartite Matching | Network Flow
⌨️ (5:38:11) Mice and Owls problem | Network Flow
⌨️ (5:46:11) Elementary Math problem | Network Flow
⌨️ (5:56:19) Edmonds Karp Algorithm | Network Flow
⌨️ (6:05:18) Edmonds Karp Algorithm | Source Code
⌨️ (6:10:08) Capacity Scaling | Network Flow
⌨️ (6:19:34) Capacity Scaling | Network Flow | Source Code
⌨️ (6:25:04) Dinic’s Algorithm | Network Flow
⌨️ (6:36:09) Dinic’s Algorithm | Network Flow | Source Code

Siraj Raval has a video exploring a paper about genomics and creating reliable machine learning systems.

Deep learning classifiers make the ladies (and gentlemen) swoon, but they often classify novel data that’s not in the training set incorrectly with high confidence. This has serious real world consequences! In Medicine, this could mean misdiagnosing a patient. In autonomous vehicles, this could mean ignoring a stop sign. Machines are increasingly tasked with making life or death decisions like that, so it’s important that we figure out how to correct this problem! I found a new, relatively obscure yet extremely fascinating paper out of Google Research that tackles this problem head on. In this episode, I’ll explain the work of these researchers, we’ll write some code, do some math, do some visualizations, and by the end I’ll freestyle rap about AI and genomics. I had a lot of fun making this, so I hope you enjoy it!

Likelihood Ratios for Out-of-Distribution Detection paper: https://arxiv.org/pdf/1906.02845.pdf 

The researcher’s code: https://github.com/google-research/google-research/tree/master/genomics_ood

Siraj Raval gets back to inspiring people to get into AI and pokes fun at himself.

Almost exactly 4 years ago I decided to dedicate my life to helping educate the world on Artificial Intelligence. There were hardly any resources designed for absolute beginners and the field was dominated by PhDs. In 2020, thanks to the extraordinary contributions of everyone in this community, all that has changed. It’s easier than ever before to enter into this field, even without an IT background. We’ve seen brave entrepreneurs figure out how to deploy this technology to save lives (medical imaging, automated diagnosis) and accelerate Science (AlphaFold). We’ve seen algorithmic advances (deepfakes) and ethical controversies (automated surveillance) that shocked the world. The AI field is now a global, cross-cultural movement that’s not limited to academics alone. And that’s something all of us should be proud of, we’re all apart of this. I’ve packed a lot into this episode! I’ll give my annual lists of the best ML language and libraries to learn this year, how to learn ML in 2020, as well as 8 predictions about where this field is headed. I had a lot of fun making this, so I hope you enjoy it!

Donald Knuth is one of the greatest and most impactful computer scientists and mathematicians ever. He is the recipient in 1974 of the Turing Award, considered the Nobel Prize of computing.

He is the author of the multi-volume work, the magnum opus, The Art of Computer Programming. He made several key contributions to the rigorous analysis of the computational complexity of algorithms. He popularized asymptotic notation, that we all affectionately know as the big-O notation.

He also created the TeX typesetting which most computer scientists, physicists, mathematicians, and scientists and engineers use to write technical papers and make them look beautiful.

Lex Fridman interviews him in this video.

EPISODE LINKS:
The Art of Computer Programming (book): https://amzn.to/39kxRwB

OUTLINE:
0:00 – Introduction
3:45 – IBM 650
7:51 – Geeks
12:29 – Alan Turing
14:26 – My life is a convex combination of english and mathematics
24:00 – Japanese arrow puzzle example
25:42 – Neural networks and machine learning
27:59 – The Art of Computer Programming
36:49 – Combinatorics
39:16 – Writing process
42:10 – Are some days harder than others?
48:36 – What’s the “Art” in the Art of Computer Programming
50:21 – Binary (boolean) decision diagram
55:06 – Big-O notation
58:02 – P=NP
1:10:05 – Artificial intelligence
1:13:26 – Ant colonies and human cognition
1:17:11 – God and the Bible
1:24:28 – Reflection on life
1:28:25 – Facing mortality
1:33:40 – TeX and beautiful typography
1:39:23 – How much of the world do we understand?
1:44:17 – Question for God

What If ponders what the world would be like if we already had quantum computers. I’d hold off on their advice about throwing out your old computers though.

Get rid of your old computers, because the future of technology has arrived! It’s not artificial intelligence or virtual reality; it’s something called quantum computing! And it could completely revolutionize every aspect of our society, from healthcare to finance, and even national security. But how does it work?When can we expect it? And what could happen if it gets into the wrong hands?