A log of things I'm learning
# learning

A running log of things I'm learning to build strong core software engineering skills while also expanding breadth of knowledge on [adjacent technologies](http://www.effectiveengineer.com/blog/master-adjacent-disciplines) a little bit [everyday](https://jamesclear.com/continuous-improvement).


## Core Skills

<details>
<summary>Business Understanding</summary>

|Concept|Resource|Done|
|---|---|---|
||[Book: Delivering Happiness](https://www.amazon.com/Delivering-Happiness-Profits-Passion-Purpose/dp/0446576220)|✓|
||[Book: Good to Great: Why Some Companies Make the Leap...And Others Don't](https://www.amazon.com/Good-Great-Some-Companies-Others-ebook/dp/B0058DRUV6)|✓|
||[Book: Hello, Startup: A Programmer's Guide to Building Products, Technologies, and Teams](https://www.amazon.com/Hello-Startup-Programmers-Building-Technologies/dp/1491909900)|✓|
||[Book: How Google Works](https://www.howgoogleworks.net)|✓|
||[Book: Learn to Earn: A Beginner's Guide to the Basics of Investing and Business](https://www.goodreads.com/book/show/817589.Learn_to_Earn)|✓|
||[Book: Rework](https://www.goodreads.com/book/show/6732019-rework)|✓|
||[Book: The Airbnb Story](https://www.amazon.com/Airbnb-Story-Ordinary-Disrupted-Controversy/dp/0544952669)|✓|
||[Book: The Personal MBA](https://www.amazon.com/Personal-MBA-Master-Art-Business/dp/1591845572)|✓|
||[Udacity: How to Build a Startup](https://www.udacity.com/course/how-to-build-a-startup--ep245)||
|Marketing|[Smartly: Marketing Fundamentals](https://smart.ly/course/abd47e21-4b59-4ccf-910d-fb1c18b2e9df)|✓|
||[Udacity: App Marketing](https://www.udacity.com/course/app-marketing--ud719)||
||[Facebook: Digital marketing: get started](https://learn.fb.com/skillset/marketing-started)|✓|
||[Facebook: Digital marketing: go further](https://learn.fb.com/skillset/marketing-further)|✓|
||[Google Analytics for Beginners](https://analytics.google.com/analytics/academy/course/6)|✓|
||[Moz: The Beginner's Guide to SEO](https://moz.com/beginners-guide-to-seo)|✓|
||[Treehouse: SEO Basics](https://teamtreehouse.com/library/seo-basics)|✓|
||[Udacity: App Monetization](https://www.udacity.com/course/app-monetization--ud518)||

</details>

<details>
<summary>Python Programming</summary>

|Concept|Resource|Done|
|---|---|---|
|Language|[Datacamp: Python for R Users](https://www.datacamp.com/courses/python-for-r-users)|✓|
||[Datacamp: Python for Spreadsheet Users](https://www.datacamp.com/courses/python-for-spreadsheet-users)|✓|
||[Datacamp: Intro to Python for Finance](https://www.datacamp.com/courses/intro-to-python-for-finance)|✓|
||[Book: A Byte of Python](https://python.swaroopch.com)|✓|
||[Book: Learn Python The Hard way](https://learnpythonthehardway.org)|✓|
||[Datacamp: Writing Efficient Python Code](https://www.datacamp.com/courses/writing-efficient-python-code)|✓|
||[Datacamp: Writing Functions in Python](https://www.datacamp.com/courses/writing-functions-in-python)|✓|
||[Datacamp: Working with Dates and Times in Python](https://www.datacamp.com/courses/working-with-dates-and-times-in-python)||
||[Datacamp: Object-Oriented Programming in Python](https://www.datacamp.com/courses/object-oriented-programming-in-python)|✓|
||[Datacamp: Importing Data in Python (Part 1)](https://www.datacamp.com/courses/importing-data-in-python-part-1)|✓|
||[Datacamp: Intermediate Python for Data Science](https://www.datacamp.com/courses/intermediate-python-for-data-science)|✓|
||[Datacamp: Python Data Science Toolbox (Part 1)](https://www.datacamp.com/courses/python-data-science-toolbox-part-1)|✓|
||[Datacamp: Python Data Science Toolbox (Part 2)](https://www.datacamp.com/courses/python-data-science-toolbox-part-2)|✓|
|Standard Library|[Book: Python 201](https://leanpub.com/python201)||
||[Book: The Python 3 Standard Library By Example](https://doughellmann.com/blog/the-python-3-standard-library-by-example)||
||[Calmcode: logging](https://calmcode.io/logging/introduction.html)|✓|
||[Calmcode: virtualenv](https://calmcode.io/virtualenv/intro.html)|✓|
||[Calmcode: tqdm](https://calmcode.io/tqdm/making-a-progress-bar.html)|✓|
||[Datacamp: Command Line Automation in Python](https://www.datacamp.com/courses/command-line-automation-in-python)||
|Regular Expression|[Regex For Noobs (like me!) - An Illustrated Guide](https://www.janmeppe.com/blog/regex-for-noobs/)|✓|
||[Youtube: Python 3 Programming Tutorial - Regular Expressions / Regex with re](https://www.youtube.com/watch?v=sZyAn2TW7GY)|✓|
||[Youtube: Python Tutorial: re Module - How to Write and Match Regular Expressions (Regex)](https://www.youtube.com/watch?v=K8L6KVGG-7o)|✓|
|Concurrency|[Article: Python Concurrency: The Tricky Bits](https://python.hamel.dev/concurrency/)|✓|
||[Article: Speeding Up Python with Concurrency, Parallelism, and asyncio](https://testdriven.io/blog/concurrency-parallelism-asyncio/)||
||[Article: Speed Up Your Python Program With Concurrency](https://testdriven.io/blog/concurrency-parallelism-asyncio/)||
||[Youtube: Python Concurrency and Multithreading](https://advanced-python.namespace.im/python-concurrency-and-multithreading/)||
||[Youtube: Aaron Richter- Parallel Processing in Python\| PyData Global 2020](https://www.youtube.com/watch?v=eJyjB3cNIB0&feature=youtu.be)||
|Packaging|[Datacamp: Developing Python Packages](https://www.datacamp.com/courses/developing-python-packages)|✓|
||[Datacamp: Conda Essentials](https://www.datacamp.com/courses/conda-essentials)|✓|
||[Datacamp: Conda for Building & Distributing Packages](https://www.datacamp.com/courses/conda-for-building-distributing-packages)||
||[Article: Push and pull: when and why to update your dependencies](https://pythonspeed.com/articles/when-update-dependencies/)||
||[Article: Reproducible and upgradable Conda environments: dependency management with conda-lock](https://pythonspeed.com/articles/conda-dependency-management/)||
||[Article: Options for packaging your Python code: Wheels, Conda, Docker, and more](https://pythonspeed.com/articles/distributing-software/)||
|Project Organization|[Youtube: Tutorial: Sebastian Witowski - Modern Python Developer's Toolkit](https://www.youtube.com/watch?v=WkUBx3g2QfQ&feature=youtu.be)|✓|
||[Book: Writing Idiomatic Python 3](https://www.amazon.com/Writing-Idiomatic-Python-Jeff-Knupp-ebook/dp/B00B5VXMRG)||
||[Article: Hypermodern Python](https://cjolowicz.github.io/posts/hypermodern-python-01-setup/)||
||[Article: Hypermodern Python Chapter 2: Testing](https://cjolowicz.github.io/posts/hypermodern-python-02-testing/)||
||[Article: Hypermodern Python Chapter 3: Linting](https://cjolowicz.github.io/posts/hypermodern-python-03-linting/)||
||[Article: Hypermodern Python Chapter 4: Typing](https://cjolowicz.github.io/posts/hypermodern-python-04-typing/)||
||[Article: pydantic](https://towardsdatascience.com/pydantic-688e897cfd3a)|✓|
||[Article: Hypermodern Python Chapter 5: Documentation](https://cjolowicz.github.io/posts/hypermodern-python-05-documentation/)||
||[Article: Hypermodern Python Chapter 6: CI/CD](https://cjolowicz.github.io/posts/hypermodern-python-06-ci-cd/)||
||[Article: Stop using print, start using loguru in Python](https://handyman.dulare.com/stop-using-print-start-using-loguru-in-python/)|✓|
||[Datacamp: Creating Robust Python Workflows](https://www.datacamp.com/courses/creating-robust-python-workflows)|✓|
||[Datacamp: Software Engineering for Data Scientists in Python](https://www.datacamp.com/courses/software-engineering-for-data-scientists-in-python)|✓|
||[Datacamp: Designing Machine Learning Workflows in Python](https://www.datacamp.com/courses/designing-machine-learning-workflows-in-python)|✓|
||[Youtube: Hydra configuration](https://uniroma1.zoom.us/rec/share/bTYldvVYRcN2UaBn8UTf3uuFQMkx8yy4UG4bRw8ikE1tT8Ll74Nl3WZoUXnJRCKE.HEhRruThY3al1jew?startTime=1620378786000)|✓|

</details>

<details>
<summary>Data Structures and Algorithms</summary>

|Concept|Resource|Done|
|---|---|---|
||[Book: Grokking Algorithms](https://www.manning.com/books/grokking-algorithms)|✓|
||[Codecademy: Big O](https://www.codecademy.com/courses/big-o/0/1 )|✓|
||[Udacity: Intro to Data Structures and Algorithms](https://www.udacity.com/course/technical-interview--ud513)|✓|

</details>

<details>
<summary>Linux & Command Line</summary>

|Concept|Resource|Done|
|---|---|---|
||[Codecademy: Learn the Command Line](https://www.codecademy.com/learn/learn-the-command-line)|✓|
||[Datacamp: Introduction to Shell for Data Science](https://www.datacamp.com/courses/introduction-to-shell-for-data-science)|✓|
||[Datacamp: Introduction to Bash Scripting](https://www.datacamp.com/courses/introduction-to-bash-scripting)|✓|
||[Datacamp: Data Processing in Shell](https://www.datacamp.com/courses/data-processing-in-shell)|✓|
||[Lecture 1: Course Overview + The Shell (2020)](https://www.youtube.com/watch?v=Z56Jmr9Z34Q) `0:48:16`|✓|
||[Lecture 2: Shell Tools and Scripting (2020)](https://www.youtube.com/watch?v=kgII-YWo3Zw) `0:48:55`|✓|
||[Lecture 3: Editors (vim) (2020)](https://www.youtube.com/watch?v=a6Q8Na575qc) `0:48:26`||
||[Lecture 4: Data Wrangling (2020)](https://www.youtube.com/watch?v=sz_dsktIjt4) `0:50:03`|✓|
||[Lecture 5: Command-line Environment (2020)](https://www.youtube.com/watch?v=e8BO_dYxk5c) `0:56:06`|✓|
||[Lecture 7: Debugging and Profiling (2020)](https://www.youtube.com/watch?v=l812pUnKxME) `0:54:13`|✓|
||[Lecture 8: Metaprogramming (2020)](https://www.youtube.com/watch?v=_Ms1Z4xfqv4) `0:49:52`|✓|
||[Lecture 9: Security and Cryptography (2020)](https://www.youtube.com/watch?v=tjwobAmnKTo) `1:00:59`||
||[Udacity: Linux Command Line Basics](https://www.udacity.com/course/linux-command-line-basics--ud595)|✓|
||[Udacity: Shell Workshop](https://www.udacity.com/course/shell-workshop--ud206)|✓|
||[Udacity: Configuring Linux Web Servers](https://www.udacity.com/course/configuring-linux-web-servers--ud299)|✓|
||[Article: Streamline your projects using Makefile](https://dev.to/yankee/streamline-projects-using-makefile-28fe)|✓|
||[Article: Understand Linux Load Averages and Monitor Performance of Linux](https://www.tecmint.com/understand-linux-load-averages-and-monitor-performance/)|✓|
||[Article: Command-line Tools can be 235x Faster than your Hadoop Cluster](https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html)|✓|
||[Calmcode: makefiles](https://calmcode.io/makefiles/the-problem.html)|✓|
||[Calmcode: entr](https://calmcode.io/entr/introduction.html)|✓|
</details>

<details>
<summary>Version Control</summary>

|Concept|Resource|Done|
|---|---|---|
|Git|[Udacity: Version Control with Git](https://www.udacity.com/course/version-control-with-git--ud123)|✓|
||[Datacamp: Introduction to Git for Data Science](https://www.datacamp.com/courses/introduction-to-git-for-data-science)|✓|
||[Thoughtbot: Mastering Git](https://thoughtbot.com/upcase/mastering-git)||
||[MIT Lecture 6: Version Control (git) (2020)](https://www.youtube.com/watch?v=2sjqTHE0zok) `1:24:59`||
||[Article: Mastering Git Stash Workflow](https://dev.to/yankee/mastering-git-stash-workflow-223)||
||[Article: How to Become a Master of Git Tags](https://blog.daftcode.pl/how-to-become-a-master-of-git-tags-b70fbd9609d9)|✓|
||[Article: Keep your git directory clean with `git clean` and `git trash`](https://coderwall.com/p/g16jpq/keep-your-git-directory-clean-with-git-clean-and-git-trash)||
|GitHub|[Udacity: GitHub & Collaboration](https://www.udacity.com/course/github-collaboration--ud456)|✓|
||[Udacity: How to Use Git and GitHub](https://www.udacity.com/course/how-to-use-git-and-github--ud775)|✓|
|LFS|[Youtube: 045 Introduction to Git LFS](https://youtu.be/xPFLAAhuGy0)|✓|
||[Article: How to track large files in Github / Bitbucket? Git LFS to the rescue](https://pgaijin66.medium.com/how-to-track-large-files-in-github-bitbucket-git-lfs-to-the-rescue-2f298e07b3d2)|✓|
</details>

<details>
<summary>Code Editor / IDE</summary>

|Concept|Resource|Done|
|---|---|---|
|PyCharm|[Article: Work remotely with PyCharm, TensorFlow and SSH](https://medium.com/@erikhallstrm/work-remotely-with-pycharm-tensorflow-and-ssh-c60564be862d)|✓|
||[Article: Docker as Remote Interpreter for PyCharm Professional](https://www.inovex.de/blog/docker-remote-interpreter-pycharm-professional/)|✓|
||[Article: Python remote debugging with PyCharm, CUDA, and Conda](https://medium.com/@n1r44/python-remote-debugging-with-pycharm-cuda-and-conda-87d27695634c)|✓|
|VSCode|[Article: How To Use Visual Studio Code for Remote Development via the Remote-SSH Plugin](https://www.digitalocean.com/community/tutorials/how-to-use-visual-studio-code-for-remote-development-via-the-remote-ssh-plugin)|✓|
||[Youtube: Getting Started with Python in Visual Studio Code](https://www.youtube.com/watch?v=7EXd4_ttIuw)|✓|
||[Visual Studio Code Crash Course](https://www.youtube.com/watch?v=WPqXP_kLzpo)|✓|
||[Youtube: VSCode Keyboard Shortcuts For Productivity](https://youtu.be/eGE-tFalwpA)|✓|
||[Youtube: Getting Started with Jupyter Notebooks in VS Code](https://youtu.be/Ozq24uAshXo)|✓|
||[Youtube: Notebooks in VS Code Are Getting Revamped!](https://youtu.be/g5EykzAsCC0)|✓|
||[Youtube: Getting Started with PyTorch in VS Code](https://youtu.be/A9lQHnFaqlU)|✓|
||[Youtube: What every GitHub user should know about VS Code - GitHub Satellite 2020](https://youtu.be/T6sW1Dk9B4E)|✓|
||[VS Code and GitHub](https://www.youtube.com/playlist?list=PLj6YeMhvp2S4UPBCWyhLPcOxGkmLI2BOz)|✓|
</details>

<details>
<summary>Test-Driven Development</summary>

|Concept|Resource|Done|
|---|---|---|
|Test Cases|[Article: Test-Driven Machine Learning Development (Deployment Series: Guide 07)](https://mlinproduction.com/testing-machine-learning-models-deployment-series-07/)|✓|
||[Pluralsight: Test-driven Development: The Big Picture](https://www.pluralsight.com/courses/test-driven-development-big-picture)|✓|
||[Test Driven Development with Python](http://chimera.labs.oreilly.com/books/1234000000754/index.html)||
||[Datacamp: Unit Testing for Data Science in Python](https://www.datacamp.com/courses/unit-testing-for-data-science-in-python)|✓|
||[Article: How to cheat at unit tests with pytest and Black](https://simonwillison.net/2020/Feb/11/cheating-at-unit-tests-pytest-black/)|✓|
||[Youtube: Lab 8: Testing and Continuous Integration (Full Stack Deep Learning - Spring 2021)](https://www.youtube.com/watch?v=D3YeQcE9tSg) `0:13:26`|✓|
||[Article: 4 Lesser-Known Yet Awesome Tips for Pytest](https://towardsdatascience.com/4-lessor-known-yet-awesome-tips-for-pytest-2117d8a62d9c)|✓|
||[Article: How to Unit Test Deep Learning: Tests in TensorFlow, mocking and test coverage](https://theaisummer.com/unit-test-deep-learning/)||
||[Article: Unit Testing for Data Scientists](https://www.maartengrootendorst.com/blog/unit/)|✓|
|ML|[Article: Effective testing for machine learning systems](https://www.jeremyjordan.me/testing-ml)|✓|
||[Youtube: Beyond Accuracy: Behavioral Testing of NLP Models with CheckList \| AISC](https://www.youtube.com/watch?v=A0od6RosVSA)|✓|
||[Youtube: Lecture 10: ML Testing & Explainability (Full Stack Deep Learning - Spring 2021)](https://www.youtube.com/watch?v=K42wdqpZymw) `1:41:12`||
</details>

<details>
<summary>Web Technology</summary>

|Concept|Resource|Done|
|---|---|---|
|Design|[Book: Refactoring UI](https://refactoringui.com/book/)||
||[Code School: Fundamentals of Design](https://www.pluralsight.com/courses/code-school-fundamentals-of-design)|✓|
||[Thoughtbot: Design for Developers](https://thoughtbot.com/upcase/design-for-developers)||
||[Udacity: Product Design](https://www.udacity.com/course/product-design--ud509)||
||[Udacity: Rapid Prototyping](https://www.udacity.com/course/rapid-prototyping--ud723)||
|HTML|[Codecademy: Learn HTML](https://www.codecademy.com/learn/learn-html)|✓|
||[Codecademy: Make a website](https://www.codecademy.com/en/courses/make-a-website)|✓|
||[Treehouse: HTML](https://teamtreehouse.com/library/html)|✓|
|CSS|[Pluralsight: CSS Positioning](https://www.pluralsight.com/courses/css-positioning-1834)|✓|
||[Pluralsight: Introduction to CSS](https://www.pluralsight.com/courses/css-intro)|✓|
||[Pluralsight: CSS: Specificity, the Box Model, and Best Practices](https://app.pluralsight.com/interactive-courses/detail/c580b092-d94a-4ed8-8d2a-2f4d0b76f99f)|✓|
||[Pluralsight: CSS: Using Flexbox for Layout](https://app.pluralsight.com/interactive-courses/detail/a089d0a5-4a4c-4c4e-b883-c1bc64009619)|✓|
||[Code School: Blasting Off with Bootstrap](https://www.pluralsight.com/courses/code-school-blasting-off-with-bootstrap)|✓|
||[Pluralsight: UX Fundamentals](https://www.pluralsight.com/courses/ux-fundamentals-2426)|✓|
||[Codecademy: Learn SASS](https://www.codecademy.com/learn/learn-sass)|✓|
|Javascript|[Treehouse: Javascript Booleans](https://teamtreehouse.com/library/javascript-booleans)|✓|
||[Udacity: ES6 - JavaScript Improved](https://www.udacity.com/course/es6-javascript-improved--ud356)|✓|
||[Udacity: Intro to Javascript](https://www.udacity.com/course/intro-to-javascript--ud803)|✓|
||[Udacity: Object Oriented JS 1](https://www.udacity.com/course/object-oriented-javascript--ud015)|✓|
||[Udacity: Object Oriented JS 2](https://www.udacity.com/course/object-oriented-javascript--ud711)|✓|
||[(ES6) - Beau teaches JavaScript](https://www.youtube.com/watch?v=1mgLWu69ijU&list=PLWKjhJtqVAbljtmmeS0c-CEl2LdE-eR_F)|✓|
||[Udemy: Understanding Typescript](https://www.udemy.com/understanding-typescript/)|✓|
||[Codecademy: Learn ReactJS: Part I](https://www.codecademy.com/learn/react-101)|✓|
||[Codecademy: Learn ReactJS: Part II](https://www.codecademy.com/learn/react-102)|✓|
||[Codecademy: Learn JavaScript](https://www.codecademy.com/learn/learn-javascript)|✓|
||[Codecademy: Jquery Track](https://www.codecademy.com/learn/learn-jquery)|✓|
||[Pluralsight: Using The Chrome Developer Tools](https://www.pluralsight.com/courses/chrome-developer-tools)|✓|

</details>

<details>
<summary>Backend & Web Servers</summary>

|Concept|Resource|Done|
|---|---|---|
|Theory|[Udacity: Authentication & Authorization: OAuth](https://www.udacity.com/course/authentication-authorization-oauth--ud330)||
||[Udacity: HTTP & Web Servers](https://www.udacity.com/course/http-web-servers--ud303)||
||[Udacity: Client-Server Communication](https://www.udacity.com/course/client-server-communication--ud897)||
||[Udacity: Designing RESTful APIs](https://www.udacity.com/course/designing-restful-apis--ud388)||
||[Udacity: Networking for Web Developers](https://www.udacity.com/course/networking-for-web-developers--ud256)||
|FastAPI|[Article: Microservice in Python using FastAPI](https://dev.to/paurakhsharma/microservice-in-python-using-fastapi-24cc)||
||[Youtube: PyConBY 2020: Sebastian Ramirez - Serve ML models easily with FastAPI](https://www.youtube.com/watch?v=z9K5pwb0rt8)|✓|
||[Youtube: FastAPI from the ground up](https://www.youtube.com/watch?v=3DLwPcrE5mA)|✓|
||[Youtube: Python pydantic Introduction – Give your data classes super powers](https://www.youtube.com/watch?v=WJmqgJn9TXg)|✓|
|Gunicorn|[Article: Selecting gunicorn worker types for different python web applications.](https://medium.com/@nhudinhtuan/gunicorn-worker-types-practice-advice-for-better-performance-7a299bb8f929)|✓|
||[Article: Better performance by optimizing Gunicorn config](https://medium.com/building-the-system/gunicorn-3-means-of-concurrency-efbb547674b7)|✓|
|Tensorflow Serving|[Article: Understanding TensorFlow Serving](https://medium.com/acing-ai/understanding-tensorflow-serving-faca576b558c)||
||[Article: Serving models using Tensorflow Serving and Docker](https://medium.com/acing-ai/model-serving-using-tensorflow-serving-and-docker-492a347eb934)||
|Cortex|[Youtube: PyData Vancouver meetup: cortex.dev : Serving machine learning models in production](https://www.youtube.com/watch?v=_2HMDhgPkSQ)|✓|
|Celery|[Article: Celery Execution Pools: What is it all about?](https://www.distributedpython.com/2018/10/26/celery-execution-pool/)|✓|
||[Article: Distill: Why do we need Flask, Celery, and Redis? (with McDonalds in Between)](https://ljvmiranda921.github.io/notebook/2019/11/08/flask-redis-celery-mcdo/)|✓|
||[Article: Celery: an overview of the architecture and how it works](https://www.vinta.com.br/blog/2017/celery-overview-archtecture-and-how-it-works/)|✓|
||[Article: Unit Testing Celery Tasks](https://www.distributedpython.com/2018/05/01/unit-testing-celery-tasks/)||
||[Article: Testing Celery Chains](https://www.distributedpython.com/2018/05/15/testing-celery-chains/)||
||[Article: Task Routing in Celery](https://www.distributedpython.com/2018/05/29/task-routing/)||
||[Article: Dynamic Task Routing in Celery](https://www.distributedpython.com/2018/06/05/dynamic-task-routing/)||
||[Article: Dockerize a Celery app with Django and RabbitMQ](https://www.distributedpython.com/2018/06/12/celery-django-docker/)||
||[Article: How to call a Celery task from another app](https://www.distributedpython.com/2018/06/19/call-celery-task-outside-codebase/)||
||[Article: Distributed Monte Carlo with Celery chords](https://www.distributedpython.com/2018/06/26/celery-monte-carlo/)||
||[Article: An incredibly simple no-frills Celery setup](https://www.distributedpython.com/2018/07/03/simple-celery-setup/)||
||[Article: 3 Strategies to Customise Celery logging handlers](https://www.distributedpython.com/2018/08/28/celery-logging/)||
||[Article: Celery task exceptions and automatic retries](https://www.distributedpython.com/2018/09/04/error-handling-retry/)||
||[Article: Concurrency and Parallelism](https://www.distributedpython.com/2018/09/14/concurrency-and-parallelism/)|✓|
||[Article: Celery, docker and the missing startup banner](https://www.distributedpython.com/2018/10/01/celery-docker-startup/)||
||[Article: Monitoring a Dockerized Celery Cluster with Flower](https://www.distributedpython.com/2018/10/13/flower-docker/)||
||[Article: Quick Guide: Custom Celery Task Logger](https://www.distributedpython.com/2018/11/06/celery-task-logger-format/)||
||[Article: Celery on Docker: From the Ground up](https://www.distributedpython.com/2018/11/15/celery-docker/)||
||[Article: Auto-reload Celery on code changes](https://www.distributedpython.com/2019/04/23/celery-reload/)||
</details>

<details>
<summary>Databases</summary>

|Concept|Resource|Done|
|---|---|---|
||[Udacity: Intro to relational database](https://www.udacity.com/course/intro-to-relational-databases--ud197)|✓|
||[Udacity: Database Systems Concepts & Design](https://www.udacity.com/course/database-systems-concepts-design--ud150)||
||[Datacamp: Database Design](https://www.datacamp.com/courses/database-design)||
||[Datacamp: Introduction to Databases in Python](https://www.datacamp.com/courses/introduction-to-relational-databases-in-python)||
||[Codecademy: SQL Track](https://www.codecademy.com/courses/learn-sql)|✓|
||[Datacamp: Intro to SQL for Data Science](https://www.datacamp.com/courses/intro-to-sql-for-data-science)|✓|
||[Datacamp: Intermediate SQL](https://www.datacamp.com/courses/intermediate-sql)||
||[Datacamp: Querying with TransactSQL](https://www.datacamp.com/courses/querying-with-transact-sql)|✓|
||[Datacamp: Joining Data in PostgreSQL](https://www.datacamp.com/courses/joining-data-in-postgresql)||
||[Udacity: SQL for Data Analysis](https://www.udacity.com/course/sql-for-data-analysis--ud198)||
||[Datacamp: Exploratory Data Analysis in SQL](https://www.datacamp.com/courses/sql-for-exploratory-data-analysis)||
||[Datacamp: Applying SQL to Real-World Problems](https://www.datacamp.com/courses/applying-sql-to-real-world-problems)||
||[Datacamp: Analyzing Business Data in SQL](https://www.datacamp.com/courses/analyzing-business-data-in-sql)||
||[Datacamp: Reporting in SQL](https://www.datacamp.com/courses/reporting-in-sql)||
||[Datacamp: Data-Driven Decision Making in SQL](https://www.datacamp.com/courses/data-driven-decision-making-with-sql)||
</details>

<details>
<summary>Production Environment</summary>

|Concept|Resource|Done|
|---|---|---|
|A/B Testing|[Datacamp: Customer Analytics & A/B Testing in Python](https://www.datacamp.com/courses/customer-analytics-ab-testing-in-python)||
||[Udacity: A/B Testing](https://www.udacity.com/course/ab-testing--ud257)||
||[Udacity: A/B Testing for Business Analysts](https://www.udacity.com/course/ab-testing--ud979)||
|Load Testing|[Youtube: Loading Testing with Python](https://www.youtube.com/playlist?list=PLotCx_Au_rT1LW_qpMWU40Q-vegZua-i8)|✓|
|Monitoring|[Article: Production Machine Learning Monitoring: Outliers, Drift, Explainers & Statistical Performance](https://towardsdatascience.com/production-machine-learning-monitoring-outliers-drift-explainers-statistical-performance-d9b1d02ac158)|✓|
||[Article: How to Monitor Models](http://bugra.github.io/posts/2020/11/24/how-to-monitor-models/)|✓|
||[Article: The Playbook to Monitor Your Model’s Performance in Production](https://towardsdatascience.com/the-playbook-to-monitor-your-models-performance-in-production-ec06c1cc3245)||
||[Article: Monitoring your Machine Learning Model](https://www.maartengrootendorst.com/blog/monitor/)|✓|
||[Article: Preventing model drift with continuous monitoring and deployment using Github Actions and Algorithmia Insights](https://algorithmia.com/blog/preventing-model-drift-with-continuous-monitoring-and-deployment-using-github-actions-and-algorithmia-insights)|✓|
||[Article: Continuous monitoring for data projects](https://medium.com/acing-ai/continuous-monitoring-for-data-projects-11fb1c00c7a4)||
||[Article: Lessons Learned from 15 Years of Monitoring Machine Learning in Production](https://mlinproduction.com/lessons-learned-from-15-years-of-monitoring-machine-learning-in-production/)|✓|
||[Article: Using Statistical Distances for Machine Learning Observability](https://towardsdatascience.com/using-statistical-distance-metrics-for-machine-learning-observability-4c874cded78)||
||[Youtube: Instrumentation, Observability & Monitoring of Machine Learning Models](https://www.infoq.com/presentations/instrumentation-observability-monitoring-ml/)||
||[Article: Incident Management in Machine Learning Systems](https://medium.com/acing-ai/incident-management-in-machine-learning-systems-d69b6e39fdee)||
||[Article: ML Infrastructure Tools — ML Observability](https://towardsdatascience.com/ml-infrastructure-tools-ml-observability-8e4d7df6db43)||
||[Youtube: MLOps #24 Monitoring the ML stack // Lina Weichbrodt](https://www.youtube.com/watch?v=Un30yb1WlpU) `0:55:32`||
||[Youtube: Josh Wills: Visibility and Monitoring for Machine Learning Models](https://youtu.be/zbS9jBB8fz8)|✓|
||[Youtube: Lecture 11B: Monitoring ML Models (Full Stack Deep Learning - Spring 2021)](https://www.youtube.com/watch?v=NfnpPrW30Zo) `0:36:55`|✓|
||[Youtube: OpML '20 - How ML Breaks: A Decade of Outages for One Large ML Pipeline](https://www.youtube.com/watch?v=hBMHohkRgAA)||
||[Youtube: MLOps #28 ML Observability // Aparna Dhinakaran - Chief Product Officer at Arize AI](https://www.youtube.com/watch?v=joTF9BRwWp4) `0:55:04`||
||[Youtube: MLOps #29 Continuous Evaluation & Model Experimentation // Danny Ma - Founder of Sydney Data Science](https://www.youtube.com/watch?v=i4QNpM20QOc) `1:00:46`||
||[Youtube: SE4AI: Quality Assessment in Production](https://www.youtube.com/watch?v=RaaNSXKFDGk) `1:18:45`||
||[Youtube: SE4AI: Infrastructure Quality, Deployment and Operations](https://www.youtube.com/watch?v=iBaJgWjpK24) `1:04:54`||

</details>

<details>
<summary>System and Infrastructure Design</summary>

|Concept|Resource|Done|
|---|---|---|
||[Datacamp: Data Engineering for Everyone](https://www.datacamp.com/courses/data-engineering-for-everyone)|✓|
||[Article: Batch Inference vs Online Inference](https://mlinproduction.com/batch-inference-vs-online-inference/)|✓|
||[Article: Machine Learning System Design: Real-time processing](https://medium.com/acing-ai/machine-learning-system-design-real-time-processing-6a952793925)||
||[Article: Machine Learning System Design: Models-as-a-service](https://medium.com/acing-ai/machine-learning-system-design-models-as-a-service-32666eba0e6)||
||[Article: What Does it Mean to Deploy a Machine Learning Model? (Deployment Series: Guide 01)](https://mlinproduction.com/what-does-it-mean-to-deploy-a-machine-learning-model-deployment-series-01/)|✓|
||[Article: Software Interfaces for Machine Learning Deployment (Deployment Series: Guide 02)](https://mlinproduction.com/software-interfaces-for-machine-learning-deployment-deployment-series-02/)|✓|
||[Article: Batch Inference for Machine Learning Deployment (Deployment Series: Guide 03)](https://mlinproduction.com/batch-inference-for-machine-learning-deployment-deployment-series-03/)|✓|
||[Article: The Challenges of Online Inference (Deployment Series: Guide 04)](https://mlinproduction.com/the-challenges-of-online-inference-deployment-series-04/)|✓|
||[Article: Online Inference for ML Deployment (Deployment Series: Guide 05)](https://mlinproduction.com/online-inference-for-ml-deployment-deployment-series-05/)|✓|
||[Article: Model Registries for ML Deployment (Deployment Series: Guide 06)](https://mlinproduction.com/model-registries-for-ml-deployment-deployment-series-06/)|✓|
||[Youtube: A friendly introduction to System Design](https://www.youtube.com/watch?v=quLrc3PbuIw)||
||[Youtube: System Design Basics: Horizontal vs. Vertical Scaling](https://www.youtube.com/watch?v=xpDnVSmNFX0)||
||[Youtube: What is a microservice architecture and it's advantages?](https://www.youtube.com/watch?v=qYhRvH9tJKw)|✓|
||[Youtube: Service discovery and heartbeats in micro-services](https://www.youtube.com/watch?v=lWE_UIbm8NA)||
||[Youtube: Avoid cascading failures in a distributed system](https://www.youtube.com/watch?v=xrizarXJgC8)||
||[Youtube: How databases scale writes: The power of the log](https://www.youtube.com/watch?v=_5vrfuwhvlQ)||
||[Youtube: How to avoid a single point of failure in distributed systems](https://www.youtube.com/watch?v=-BOysyYErLY)||
||[Youtube: How to start with distributed systems? Beginner's guide to scaling systems.](https://www.youtube.com/watch?v=SqcXvc3ZmRU)||
||[Youtube: What's an Event Driven System?](https://www.youtube.com/watch?v=rJHTK2TfZ1I)||
||[Youtube: Why do Databases fail? AntiPatterns to avoid!](https://www.youtube.com/watch?v=9T-gNZ5bGCw)|✓|
||[Youtube: What is Consistent Hashing and Where is it used?](https://www.youtube.com/watch?v=zaRkONvyGr8)|✓|
||[Youtube: What is a Message Queue and Where is it used?](https://www.youtube.com/watch?v=oUJbuFMyBDk)|✓|
||[Youtube: What is an API and how do you design it?](https://www.youtube.com/watch?v=_YlYuNMTCc8)||
||[Youtube: Introduction to NoSQL databases](https://www.youtube.com/watch?v=xQnIN9bW0og)||
||[Article: Exponential Backoff And Jitter](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/)|✓|
||[Youtube: What is Database Sharding?](https://www.youtube.com/watch?v=5faMjKuB9bc)||
||[Youtube: What is the Publisher Subscriber Model?](https://www.youtube.com/watch?v=FMhbR_kQeHw)||
||[Article: Shadow mode deployments](http://nlathia.github.io/2020/07/Shadow-mode-deployments.html)|✓|
||[Youtube: Relational database index vs. NoSQL index](https://www.youtube.com/watch?v=mTNkqMDCasI)||
||[Youtube: Capacity Estimation: How much data does YouTube store daily?](https://www.youtube.com/watch?v=0myM0k1mjZw)||
||[Youtube: What is Load Balancing?](https://www.youtube.com/watch?v=K0Ta65OqQkY)|✓|
||[Youtube: Distributed Consensus and Data Replication strategies on the server](https://www.youtube.com/watch?v=GeGxgmPTe4c)||
||[Youtube: What is Distributed Caching? Explained with Redis!](https://www.youtube.com/watch?v=U3RkDLtS7uY)||
||[Youtube: Designing Instagram: System Design of News Feed](https://www.youtube.com/watch?v=QmX2NPkJTKg)||
||[Youtube: System Design: Tinder as a microservice architecture](https://www.youtube.com/watch?v=tndzLznxq40)||
||[Youtube: System design : Design Autocomplete or Typeahead Suggestions for Google search](https://www.youtube.com/watch?v=us0qySiUsGU)||
||[Youtube: Whatsapp System Design: Chat Messaging Systems for Interviews](https://www.youtube.com/watch?v=vvhC64hQZMk)||
||[Youtube: How Netflix onboards new content: Video Processing at scale](https://www.youtube.com/watch?v=x9Hrn0oNmJM)||
||[Article: Building a feature store](http://nlathia.github.io/2020/12/Building-a-feature-store.html)|✓|
||[Article: Model artifacts: the war stories](http://nlathia.github.io/2020/09/Model-artifacts-war-stories.html)|✓|
||[Youtube: Feature Stores: An essential part of the ML stack to build great data / Kevin Stumpf - CTO at Tecton](https://www.youtube.com/watch?v=IjO8VUCIZxc) `1:05:46`||
||[Youtube: MLOps Meetup #6: Mid-Scale Production Feature Engineering with Dr. Venkata Pingali](https://www.youtube.com/watch?v=1CcYuVVwOGg) `1:01:35`||
||[Article: How to Deploy a Machine Learning Model](https://www.maartengrootendorst.com/blog/deploy/)|✓|
||[Article: How to properly ship and deploy your machine learning model](https://towardsdatascience.com/how-to-properly-ship-and-deploy-your-machine-learning-model-8a8664b763c4)|✓|
||[Article: The Ultimate Guide to Model Retraining](https://mlinproduction.com/model-retraining/)||
||[Youtube: Lecture 11A: Deploying ML Models (Full Stack Deep Learning - Spring 2021)](https://www.youtube.com/watch?v=jFflwpx4iK0) `0:53:25`|✓|
||[Article: Deploying Machine Learning Models: A Checklist](https://twolodzko.github.io/ml-checklist)|✓|
||[Article: How to put machine learning models into production](https://stackoverflow.blog/2020/10/12/how-to-put-machine-learning-models-into-production/)|✓|
||[Youtube: MLOps meetup #5 High Stakes ML with Flavio CLesio](https://www.youtube.com/watch?v=9g4deV1uNZo) `0:55:27`||
||[Youtube: MLOps meetup #7 Alex Spanos // TrueLayer 's MLOps Pipeline](https://www.youtube.com/watch?v=cUxK28ocZcw) `0:56:17`||
||[Youtube: The Current MLOps Landscape // Nathan Benaich & Timothy Chen // MLOps Meetup #43](https://www.youtube.com/watch?v=i6HZ2vjFLIs) `0:58:31`||
||[Article: How to build scalable Machine Learning systems — Part 1/2](https://towardsdatascience.com/being-a-data-scientist-does-not-make-you-a-software-engineer-c64081526372)|✓|
||[Article: Machine learning is going real-time](https://huyenchip.com/2020/12/27/real-time-machine-learning.html)|✓|
||[Book: Machine Learning Systems Design](https://huyenchip.com/machine-learning-systems-design/toc.html)||
||[Article: ML Infrastructure Tools for Model Building](https://towardsdatascience.com/ml-infrastructure-tools-for-model-building-464770ac4fec)||
||[Article: ML Infrastructure Tools for Production (Part 1)](https://towardsdatascience.com/ml-infrastructure-tools-for-production-1b1871eecafb)||
||[Article: ML Infrastructure Tools for Production](https://towardsdatascience.com/ml-infrastructure-tools-for-production-part-2-model-deployment-and-serving-fcfc75c4a362)||
||[Article: Data Lineage — An Operational perspective](https://medium.com/acing-ai/data-lineage-an-operational-perspective-d807e52e2198)||
||[Article: Data Pipelines — Agile considerations](https://medium.com/acing-ai/data-pipelines-agile-considerations-8b1933909bb1)||
||[Article: Securing ML applications](https://medium.com/acing-ai/securing-ml-applications-efa1bb7d75bd)||
||[Article: Getting machine learning to production](http://veekaybee.github.io/2020/06/09/ml-in-prod/)|✓|
||[Article: Machine Learning to Production](https://vikramriyer.github.io/machine-learning-to-production/#)|✓|
||[Youtube: SE4AI: Invited Talk Molham Aref "Business Systems with Machine Learning"](https://www.youtube.com/watch?v=_bvrzYOA8dY) `0:47:53`||
||[Youtube: SE4AI: Software Architecture of AI-Enabled Systems](https://www.youtube.com/watch?v=KIC-sFz5OT8) `1:14:24`||
||[Youtube: MLOps #31 Path to Production and Monetizing Machine Learning // Vin Vashishta - Data Scientist](https://www.youtube.com/watch?v=voO0B0_BsuQ) `0:56:35`||
||[Youtube: MLOps #35: Streaming Machine Learning with Apache Kafka and Tiered Storage // Kai Waehner, Confluent](https://www.youtube.com/watch?v=Ur969-WX1BY) `0:52:50`||
||[Youtube: MLOps #15 - Scaling Human in the Loop Machine Learning with Robert Munro](https://www.youtube.com/watch?v=LwbbGsuNpao) `0:55:04`||
||[Youtube: MLOps #4: Shubhi Jain - Building an ML Platform @SurveyMonkey](https://www.youtube.com/watch?v=oq1g4s2dUHE) `0:55:42`||
||[Youtube: #11 Machine Learning at scale in Mercado Libre with Carlos de la Torre](https://www.youtube.com/watch?v=ypySVdT9U7Q) `0:59:28`||
||[Youtube: MLOps #18 // Nubank - Running a fintech on ML](https://www.youtube.com/watch?v=ry_P5D_d7XA) `0:53:19`||
||[Youtube: Shawn Scully: Production and Beyond: Deploying and Managing Machine Learning Models](https://www.youtube.com/watch?v=q-VPALG6ogY&feature=youtu.be)|✓|
||[Doc: Lecture 3: Data engineering](https://docs.google.com/document/d/1b9iuZiDEGVLHyMmnf6w2y1aN6yWQhAyqk3GHlpI9q6M/edit)||
||[Youtube: MLOps #14: Kubeflow vs MLflow with Byron Allen](https://www.youtube.com/watch?v=TsGQZ0D3688) `0:54:57`||
||[Youtube: Luigi in Production // MLOps Coffee Sessions #18 // Luigi Patruno ML in Production](https://www.youtube.com/watch?v=ShBod1yXUeg) `0:47:23`||||[Stanford MLSys Seminar Episode 0: ML + Systems](https://www.youtube.com/watch?v=OEiNnfdxBRE) `0:11:49`|✓|
||[Stanford MLSys Seminar Episode 1: Marco Tulio Ribeiro](https://www.youtube.com/watch?v=VqiTtdY58Ts) `1:00:38`||
||[Stanford MLSys Seminar Episode 2: Matei Zaharia](https://www.youtube.com/watch?v=nCQ9WqXPIS4) `0:59:44`||
||[Stanford MLSys Seminar Episode 3: Virginia Smith](https://www.youtube.com/watch?v=laCyJICLyWg) `1:00:55`||
||[Stanford MLSys Seminar Episode 4: Alex Ratner](https://www.youtube.com/watch?v=pDVV4zKNqIE) `1:13:34`||
||[Stanford MLSys Seminar Episode 5: Chip Huyen](https://www.youtube.com/watch?v=c_AUuTuPA5k) `1:06:44`|✓|
||[Youtube: Xavier Amatriain on Practical Deep Learning Systems (Full Stack Deep Learning - November 2019)](https://www.youtube.com/watch?v=5ygO8FxNB8c&list=PL1T8fO7ArWlf4EkqeguoD70LsnOJ7c9Ib&index=4)||

</details>

<details>
<summary>Mathematics</summary>
	
|Concept|Resource|Done|
|---|---|---|
|Probability|[Article: Entropy, Cross Entropy, and KL Divergence](https://towardsdatascience.com/entropy-cross-entropy-and-kl-divergence-17138ffab87b)|✓|
||[Article: Interview Guide to Probability Distributions](https://medium.com/acing-ai/interview-guide-to-probability-distributions-a6dfb08c3766)||
||[Article: Entropy of a probability distribution — in layman’s terms](https://medium.com/@ajitrajasekharan/entropy-of-a-probability-distribution-explained-in-laymans-terms-8a4139b329bc)||
||[Article: KL Divergence — in layman’s terms](https://medium.com/@ajitrajasekharan/what-is-kl-divergence-d1fb7921ee5b)||
||[Article: Probability Distributions](https://www.simonwardjones.co.uk/posts/probability_distributions/)||
||[Article: Cross-Entropy and KL Divergence](https://medium.com/swlh/cross-entropy-and-kl-divergence-522d9f71bd3d)||
||[Article: Why Randomness Is Information?](https://medium.com/swlh/why-randomness-is-information-f2468966b29d)||
||[Article: Basic Probability Theory](https://medium.com/swlh/probability-for-machine-learning-and-data-science-cccd4f4f1df1)||
||[Datacamp: Foundations of Probability in Python](https://www.datacamp.com/courses/foundations-of-probability-in-python)|✓|
|Statistics|[Datacamp: Introduction to Statistics](https://www.datacamp.com/courses/introduction-to-statistics)|✓|
||[Datacamp: Introduction to Statistics in Python](https://www.datacamp.com/courses/introduction-to-statistics-in-python)|✓|
||[Datacamp: Hypothesis Testing in Python](https://www.datacamp.com/courses/hypothesis-testing-in-python)|✓|
||[Datacamp: Statistical Thinking in Python (Part 1)](https://www.datacamp.com/courses/statistical-thinking-in-python-part-1)|✓|
||[Datacamp: Statistical Thinking in Python (Part 2)](https://www.datacamp.com/courses/statistical-thinking-in-python-part-2)|✓|
||[Datacamp: Experimental Design in Python](https://datacamp.com/courses/experimental-design-in-python)|✓|
||[Datacamp: Statistical Simulation in Python](https://www.datacamp.com/courses/statistical-simulation-in-python)||
||[edX: Essential Statistics for Data Analysis using Excel](https://www.edx.org/course/essential-statistics-data-analysis-using-microsoft-dat222x-1)|✓|
||[StatQuest: Histograms, Clearly Explained](https://www.youtube.com/watch?v=qBigTkBLU6g) `0:03:42`||
||[StatQuest:  What is a statistical distribution?](https://www.youtube.com/watch?v=oI3hZJqXJuc) `0:05:14`||
||[StatQuest: The Normal Distribution, Clearly Explained!!!](https://www.youtube.com/watch?v=rzFX5NWojp0) `0:05:12`||
||[Statistics Fundamentals: Population Parameters](https://www.youtube.com/watch?v=vikkiwjQqfU) `0:14:31`||
||[Statistics Fundamentals: The Mean, Variance and Standard Deviation](https://www.youtube.com/watch?v=SzZ6GpcfoQY) `0:14:22`||
||[StatQuest: What is a statistical model?](https://www.youtube.com/watch?v=yQhTtdq_y9M) `0:03:45`||
||[StatQuest: Sampling A Distribution](https://www.youtube.com/watch?v=XLCWeSVzHUU) `0:03:48`||
||[Hypothesis Testing and The Null Hypothesis](https://www.youtube.com/watch?v=0oc49DyA3hU) `0:14:40`|✓|
||[Alternative Hypotheses: Main Ideas!!!](https://www.youtube.com/watch?v=5koKb5B_YWo) `0:09:49`||
||[p-values: What they are and how to interpret them](https://www.youtube.com/watch?v=vemZtEM63GY) `0:11:22`||
||[How to calculate p-values](https://www.youtube.com/watch?v=JQc3yx0-Q9E) `0:25:15`||
||[p-hacking: What it is and how to avoid it!](https://www.youtube.com/watch?v=HDCOUXE3HMM) `0:13:44`||
||[Statistical Power, Clearly Explained!!!](https://www.youtube.com/watch?v=Rsc5znwR5FA) `0:08:19`||
||[Power Analysis, Clearly Explained!!!](https://www.youtube.com/watch?v=VX_M3tIyiYk) `0:16:44`||
||[Covariance and Correlation Part 1: Covariance](https://www.youtube.com/watch?v=qtaqvPAeEJY) `0:22:23`||
||[Covariance and Correlation Part 2: Pearson's Correlation](https://www.youtube.com/watch?v=xZ_z8KWkhXE) `0:19:13`||
||[StatQuest: R-squared explained](https://www.youtube.com/watch?v=2AQKmw14mHM) `0:11:01`||
||[The Central Limit Theorem](https://www.youtube.com/watch?v=YAlJCEDH2uY) `0:07:35`||
||[StatQuickie: Standard Deviation vs Standard Error](https://www.youtube.com/watch?v=A82brFpdr9g) `0:02:52`||
||[StatQuest: The standard error](https://www.youtube.com/watch?v=XNgt7F6FqDU) `0:11:43`||
||[StatQuest: Technical and Biological Replicates](https://www.youtube.com/watch?v=Exk0OoRG0PQ) `0:05:27`||
||[StatQuest - Sample Size and Effective Sample Size, Clearly Explained](https://www.youtube.com/watch?v=67zCIqdeXpo) `0:06:32`||
||[Bar Charts Are Better than Pie Charts](https://www.youtube.com/watch?v=RiEZ_hEf96A) `0:01:45`||
||[StatQuest: Boxplots, Clearly Explained](https://www.youtube.com/watch?v=fHLhBnmwUM0) `0:02:33`||
||[StatQuest: Logs (logarithms), clearly explained](https://www.youtube.com/watch?v=VSi0Z04fWj0) `0:15:37`||
||[StatQuest: Confidence Intervals](https://www.youtube.com/watch?v=TqOeMYtOc1w) `0:06:41`||
||[StatQuickie: Thresholds for Significance](https://www.youtube.com/watch?v=KEofcJ1tfkI) `0:06:40`||
||[StatQuickie: Which t test to use](https://www.youtube.com/watch?v=nnBJeb_I-q8) `0:05:10`||
||[StatQuest:  One or Two Tailed P-Values](https://www.youtube.com/watch?v=bsZGt-caXO4) `0:07:05`||
||[The Binomial Distribution and Test, Clearly Explained!!!](https://www.youtube.com/watch?v=J8jNoF-K8E8) `0:15:46`||
||[StatQuest: Quantiles and Percentiles, Clearly Explained!!!](https://www.youtube.com/watch?v=IFKQLDmRK0Y) `0:06:30`||
||[StatQuest: Quantile-Quantile Plots (QQ plots), Clearly Explained](https://www.youtube.com/watch?v=okjYjClSjOg) `0:06:55`||
||[StatQuest: Quantile Normalization](https://www.youtube.com/watch?v=ecjN6Xpv6SE) `0:04:51`||
||[StatQuest: Probability vs Likelihood](https://www.youtube.com/watch?v=pYxNSUDSFH4) `0:05:01`|✓|
||[StatQuest: Maximum Likelihood, clearly explained!!!](https://www.youtube.com/watch?v=XepXtl9YKwc) `0:06:12`||
||[Maximum Likelihood for the Exponential Distribution, Clearly Explained! V2.0](https://www.youtube.com/watch?v=p3T-_LMrvBc) `0:09:39`||
||[Why Dividing By N Underestimates the Variance](https://www.youtube.com/watch?v=sHRBg6BhKjI) `0:17:14`||
||[Maximum Likelihood for the Binomial Distribution, Clearly Explained!!!](https://www.youtube.com/watch?v=4KKV9yZCoM4) `0:11:24`||
||[Maximum Likelihood For the Normal Distribution, step-by-step!](https://www.youtube.com/watch?v=Dn6b9fCIUpM) `0:19:50`||
||[StatQuest: Odds and Log(Odds), Clearly Explained!!!](https://www.youtube.com/watch?v=ARfXDSkQf1Y) `0:11:30`||
||[StatQuest: Odds Ratios and Log(Odds Ratios), Clearly Explained!!!](https://www.youtube.com/watch?v=8nm0G-1uJzA) `0:16:20`||
||[Live 2020-04-20!!! Expected Values](https://www.youtube.com/watch?v=fU2PuYKsr6M) `0:33:00`||
||[Udacity: Statistics](https://www.udacity.com/course/statistics--st095)||
||[Udacity: Intro to Inferential Statistics](https://www.udacity.com/course/intro-to-inferential-statistics--ud201)|✓|
|Calculus|[The Essence of Calculus, Chapter 1](https://www.youtube.com/watch?v=WUvTyaaNkzM) `0:17:04`||
||[The paradox of the derivative \| Essence of calculus, chapter 2](https://www.youtube.com/watch?v=9vKqVkMQHKk) `0:17:57`||
||[Derivative formulas through geometry \| Essence of calculus, chapter 3](https://www.youtube.com/watch?v=S0_qX4VJhMQ) `0:18:43`||
||[Visualizing the chain rule and product rule \| Essence of calculus, chapter 4](https://www.youtube.com/watch?v=YG15m2VwSjA) `0:16:52`||
||[What's so special about Euler's number e? \| Essence of calculus, chapter 5](https://www.youtube.com/watch?v=m2MIpDrF7Es) `0:13:50`||
||[Implicit differentiation, what's going on here? \| Essence of calculus, chapter 6](https://www.youtube.com/watch?v=qb40J4N1fa4) `0:15:33`||
||[Limits, L'Hôpital's rule, and epsilon delta definitions \| Essence of calculus, chapter 7](https://www.youtube.com/watch?v=kfF40MiS7zA) `0:18:26`||
||[Integration and the fundamental theorem of calculus \| Essence of calculus, chapter 8](https://www.youtube.com/watch?v=rfG8ce4nNh0) `0:20:46`||
||[What does area have to do with slope? \| Essence of calculus, chapter 9](https://www.youtube.com/watch?v=FnJqaIESC2s) `0:12:39`||
||[Higher order derivatives \| Essence of calculus, chapter 10](https://www.youtube.com/watch?v=BLkz5LGWihw) `0:05:38`||
||[Taylor series \| Essence of calculus, chapter 11](https://www.youtube.com/watch?v=3d6DsjIBzJ4) `0:22:19`||
||[What they won't teach you in calculus](https://www.youtube.com/watch?v=CfW845LNObM) `0:16:22`||
||[But what is a Neural Network? \| Deep learning, chapter 1](https://www.youtube.com/watch?v=aircAruvnKk) `0:19:13`|✓|
||[Gradient descent, how neural networks learn \| Deep learning, chapter 2](https://www.youtube.com/watch?v=IHZwWFHWa-w) `0:21:01`|✓|
||[What is backpropagation really doing? \| Deep learning, chapter 3](https://www.youtube.com/watch?v=Ilg3gGewQ5U) `0:13:54`|✓|
||[Backpropagation calculus \| Deep learning, chapter 4](https://www.youtube.com/watch?v=tIeHLnjs5U8) `0:10:17`|✓|
||[Article: A Visual Tour of Backpropagation](https://blog.jinay.dev/posts/backprop/)|✓|
|Linear Algebra|[Vectors, what even are they? \| Essence of linear algebra, chapter 1](https://www.youtube.com/watch?v=fNk_zzaMoSs) `0:09:52`||
||[Linear combinations, span, and basis vectors \| Essence of linear algebra, chapter 2](https://www.youtube.com/watch?v=k7RM-ot2NWY) `0:09:59`||
||[Linear transformations and matrices \| Essence of linear algebra, chapter 3](https://www.youtube.com/watch?v=kYB8IZa5AuE) `0:10:58`||
||[Matrix multiplication as composition \| Essence of linear algebra, chapter 4](https://www.youtube.com/watch?v=XkY2DOUCWMU) `0:10:03`||
||[Three-dimensional linear transformations \| Essence of linear algebra, chapter 5](https://www.youtube.com/watch?v=rHLEWRxRGiM) `0:04:46`||
||[The determinant \| Essence of linear algebra, chapter 6](https://www.youtube.com/watch?v=Ip3X9LOh2dk) `0:10:03`||
||[Inverse matrices, column space and null space \| Essence of linear algebra, chapter 7](https://www.youtube.com/watch?v=uQhTuRlWMxw) `0:12:08`||
||[Nonsquare matrices as transformations between dimensions \| Essence of linear algebra, chapter 8](https://www.youtube.com/watch?v=v8VSDg_WQlA) `0:04:27`||
||[Dot products and duality \| Essence of linear algebra, chapter 9](https://www.youtube.com/watch?v=LyGKycYT2v0) `0:14:11`||
||[Cross products \| Essence of linear algebra, Chapter 10](https://www.youtube.com/watch?v=eu6i7WJeinw) `0:08:53`||
||[Cross products in the light of linear transformations \| Essence of linear algebra chapter 11](https://www.youtube.com/watch?v=BaM7OCEm3G0) `0:13:10`||
||[Cramer's rule, explained geometrically \| Essence of linear algebra, chapter 12](https://www.youtube.com/watch?v=jBsC34PxzoM) `0:12:12`||
||[Change of basis \| Essence of linear algebra, chapter 13](https://www.youtube.com/watch?v=P2LTAUO1TdA) `0:12:50`||
||[Eigenvectors and eigenvalues \| Essence of linear algebra, chapter 14](https://www.youtube.com/watch?v=PFDu9oVAE-g) `0:17:15`||
||[Abstract vector spaces \| Essence of linear algebra, chapter 15](https://www.youtube.com/watch?v=TgKwz5Ikpc8) `0:16:46`||
||[Article: Introduction to Linear Algebra for Applied Machine Learning with Python](https://pabloinsente.github.io/intro-linear-algebra)||
||[Article: Relearning Matrices as Linear Functions](https://www.dhruvonmath.com/2018/12/31/matrices/)||
||[Article: You Could Have Come Up With Eigenvectors - Here's How](https://www.dhruvonmath.com/2019/02/25/eigenvectors/)||
||[Article: PageRank - How Eigenvectors Power the Algorithm Behind Google Search](https://www.dhruvonmath.com/2019/03/20/pagerank/)||
||[Article: Interactive Visualization of Why Eigenvectors Matter](https://www.dhruvonmath.com/2020/07/26/who-cares-about-eigenvectors/)||
||[Book: Basics of Linear Algebra for Machine Learning](https://machinelearningmastery.com/linear_algebra_for_machine_learning/)||
||[Computational Linear Algebra for Coders](https://github.com/fastai/numerical-linear-algebra)||
||[1. The Geometry of Linear Equations](https://www.youtube.com/watch?v=J7DzL2_Na80) `0:39:49`|✓|
||[2. Elimination with Matrices.](https://www.youtube.com/watch?v=QVKj3LADCnA) `0:47:41`|✓|
||[3. Multiplication and Inverse Matrices](https://www.youtube.com/watch?v=FX4C-JpTFgY) `0:46:48`|✓|
||[4. Factorization into A = LU](https://www.youtube.com/watch?v=MsIvs_6vC38) `0:48:05`|✓|
||[5. Transposes, Permutations, Spaces R^n](https://www.youtube.com/watch?v=JibVXBElKL0) `0:47:41`|✓|
||[6. Column Space and Nullspace](https://www.youtube.com/watch?v=8o5Cmfpeo6g) `0:46:01`|✓|
||[9. Independence, Basis, and Dimension](https://www.youtube.com/watch?v=yjBerM5jWsc) `0:50:14`|✓|
||[10. The Four Fundamental Subspaces](https://www.youtube.com/watch?v=nHlE7EgJFds) `0:49:20`|✓|
||[11. Matrix Spaces; Rank 1; Small World Graphs](https://www.youtube.com/watch?v=2IdtqGM6KWU) `0:45:55`|✓|
||[14. Orthogonal Vectors and Subspaces](https://www.youtube.com/watch?v=YzZUIYRCE38) `0:49:47`|✓|
||[15. Projections onto Subspaces](https://www.youtube.com/watch?v=Y_Ac6KiQ1t0) `0:48:51`|✓|
||[16. Projection Matrices and Least Squares](https://www.youtube.com/watch?v=osh80YCg_GM) `0:48:05`|✓|
||[17. Orthogonal Matrices and Gram-Schmidt](https://www.youtube.com/watch?v=0MtwqhIwdrI) `0:49:09`|✓|
||[21. Eigenvalues and Eigenvectors](https://www.youtube.com/watch?v=cdZnhQjJu4I) `0:51:22`|✓|
||[22. Diagonalization and Powers of A](https://www.youtube.com/watch?v=13r9QY6cmjc) `0:51:50`||
||[24. Markov Matrices; Fourier Series](https://www.youtube.com/watch?v=lGGDIGizcQ0) `0:51:11`||
||[25. Symmetric Matrices and Positive Definiteness](https://www.youtube.com/watch?v=UCc9q_cAhho) `0:43:52`||
||[27. Positive Definite Matrices and Minima](https://www.youtube.com/watch?v=vF7eyJ2g3kU) `0:50:40`||
||[29. Singular Value Decomposition](https://www.youtube.com/watch?v=TX_vooSnhm8) `0:40:28`||
||[30. Linear Transformations and Their Matrices](https://www.youtube.com/watch?v=Ts3o2I8_Mxc) `0:49:27`||
||[31. Change of Basis; Image Compression](https://www.youtube.com/watch?v=0h43aV4aH7I) `0:50:13`||
||[33. Left and Right Inverses; Pseudoinverse](https://www.youtube.com/watch?v=Go2aLo7ZOlU) `0:41:52`||
||[Udacity: Eigenvectors and Eigenvalues](https://www.udacity.com/course/eigenvectors-and-eigenvalues--ud104)|✓|
||[Udacity: Linear Algebra Refresher](https://www.udacity.com/course/linear-algebra-refresher-course--ud953)||

</details>

<details>
<summary>Interview Preparation</summary>

|Concept|Resource|Done|
|---|---|---|
||[Book: Machine Learning Interviews](https://huyenchip.com/ml-interviews-book/)||
||[Datacamp: Preparing for Statistics Interview Questions in Python](https://www.datacamp.com/courses/preparing-for-statistics-interview-questions-in-python)|✓|
||[Datacamp: Practicing Machine Learning Interview Questions in Python](https://www.datacamp.com/courses/practicing-machine-learning-interview-questions-in-python)|✓|
||[Datacamp: Kaggle Competition](https://www.datacamp.com/courses/winning-a-kaggle-competition-in-python)|✓|
||[Udacity: Optimize your GitHub](https://www.udacity.com/course/optimize-your-github--ud247)|✓|
||[Udacity: Strengthen Your LinkedIn Network & Brand](https://eu.udacity.com/course/strengthen-your-linkedin-network-and-brand--ud242)|✓|
||[Udacity: Data Science Interview Prep](https://www.udacity.com/course/data-science-interview-prep--ud944)|✓|
||[Udacity: Full-Stack Interview Prep](https://www.udacity.com/course/full-stack-interview-prep--ud252)|✓|
||[Udacity: Refresh Your Resume](https://www.udacity.com/course/refresh-your-resume--ud243)|✓|
||[Udacity: Craft Your Cover Letter](https://www.udacity.com/course/craft-your-cover-letter--ud244)||
||[Youtube: Guest Lecture - Chip Huyen - Machine Learning Interviews - Full Stack Deep Learning](https://youtu.be/pli1K75PSa8)|✓|
||[Youtube: Tutorial: Technical Blogging for Python Programmers](https://www.youtube.com/watch?v=mmU25Xd0BGs)|✓|

</details>


## Specialized Skills

<details>
<summary>Machine Learning Fundamentals</summary>

|Concept|Resource|Done|
|---|---|---|
|Regression|[Article: Linear regression](https://www.jeremyjordan.me/linear-regression/)||
||[Article: Polynomial regression](https://www.jeremyjordan.me/polynomial-regression/)||
||[StatQuest: Fitting a line to data, aka least squares, aka linear regression.](https://www.youtube.com/watch?v=PaFPbb66DxQ) `0:09:21`|✓|
||[StatQuest: Linear Models Pt.1 - Linear Regression](https://www.youtube.com/watch?v=nk2CQITm_eo) `0:27:26`|✓|
||[StatQuest: StatQuest: Linear Models Pt.2 - t-tests and ANOVA](https://www.youtube.com/watch?v=NF5_btOaCig) `0:11:37`|✓|
||[StatQuest: Fiitting a curve to data, aka lowess, aka loess](https://www.youtube.com/watch?v=Vf7oJ6z2LCc) `0:10:10`||
|Naive Bayes|[Article: Naive Bayes classification](https://www.jeremyjordan.me/naive-bayes-classification/)||
||[Naive Bayes, Clearly Explained!!!](https://www.youtube.com/watch?v=O2L2Uv9pdDA) `0:15:12`|✓|
||[Gaussian Naive Bayes, Clearly Explained!!!](https://www.youtube.com/watch?v=H3EjCKtlVog) `0:09:41`|✓|
|Logistic Regression|[Article: Logistic regression](https://www.jeremyjordan.me/logistic-regression/)||
||[Datacamp: Foundations of Predictive Analytics in Python (Part 1)](https://www.datacamp.com/courses/foundations-of-predictive-analytics-in-python-part-1)||
||[Datacamp: Foundations of Predictive Analytics in Python (Part 2)](https://www.datacamp.com/courses/foundations-of-predictive-analytics-in-python-part-2)||
||[StatQuest: Odds and Log(Odds), Clearly Explained!!!](https://www.youtube.com/watch?v=ARfXDSkQf1Y) `0:11:30`|✓|
||[StatQuest: Odds Ratios and Log(Odds Ratios), Clearly Explained!!!](https://www.youtube.com/watch?v=8nm0G-1uJzA) `0:16:20`|✓|
||[StatQuest: Logistic Regression](https://www.youtube.com/watch?v=yIYKR4sgzI8) `0:08:47`|✓|
||[Logistic Regression Details Pt1: Coefficients](https://www.youtube.com/watch?v=vN5cNN2-HWE) `0:19:02`|✓|
||[Logistic Regression Details Pt 2: Maximum Likelihood](https://www.youtube.com/watch?v=BfKanl1aSG0) `0:10:23`|✓|
||[Logistic Regression Details Pt 3: R-squared and p-value](https://www.youtube.com/watch?v=xxFYro8QuXA) `0:15:25`|✓|
||[Saturated Models and Deviance](https://www.youtube.com/watch?v=9T0wlKdew6I) `0:18:39`|✓|
||[Deviance Residuals](https://www.youtube.com/watch?v=JC56jS2gVUE) `0:06:18`|✓|
||[Regularization Part 1: Ridge (L2) Regression](https://www.youtube.com/watch?v=Q81RR3yKn30) `0:20:26`|✓|
||[Regularization Part 2: Lasso (L1) Regression](https://www.youtube.com/watch?v=NGf0voTMlcs) `0:08:19`|✓|
||[Ridge vs Lasso Regression, Visualized!!!](https://www.youtube.com/watch?v=Xm2C_gTAl8c) `0:09:05`|✓|
||[Regularization Part 3: Elastic Net Regression](https://www.youtube.com/watch?v=1dKRdX9bfIo) `0:05:19`|✓|
||[Article: One-vs-Rest strategy for Multi-Class Classification](https://www.geeksforgeeks.org/one-vs-rest-strategy-for-multi-class-classification/)|✓|
||[Article: Multi-class Classification — One-vs-All & One-vs-One](https://radiant-brushlands-42789.herokuapp.com/towardsdatascience.com/multi-class-classification-one-vs-all-one-vs-one-94daed32a87b)|✓|
||[Article: One-vs-Rest and One-vs-One for Multi-Class Classification](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/)|✓|
|Decision Trees|[Article: Decision trees](https://www.jeremyjordan.me/decision-trees/)|✓|
||[StatQuest: Decision Trees](https://www.youtube.com/watch?v=7VeUPuFGJHk) `0:17:22`|✓|
||[StatQuest: Decision Trees, Part 2 - Feature Selection and Missing Data](https://www.youtube.com/watch?v=wpNl-JwwplA) `0:05:16`|✓|
||[Decision Trees in Python from Start to Finish](https://www.youtube.com/watch?v=q90UDEgYqeI) `1:06:23`||
||[Regression Trees, Clearly Explained!!!](https://www.youtube.com/watch?v=g9c66TUylZ4) `0:22:33`|✓|
||[How to Prune Regression Trees, Clearly Explained!!!](https://www.youtube.com/watch?v=D0efHEJsfHo) `0:16:15`|✓|
|KNN|[Article: K-nearest neighbors](https://www.jeremyjordan.me/k-nearest-neighbors/)||
|SVM|[Article: Support Vector Machines](https://www.jeremyjordan.me/support-vector-machines/)|✓|
||[Support Vector Machines, Clearly Explained!!!](https://www.youtube.com/watch?v=efR1C6CvhmE) `0:20:32`|✓|
||[Support Vector Machines Part 2: The Polynomial Kernel](https://www.youtube.com/watch?v=Toet3EiSFcM) `0:07:15`|✓|
||[Support Vector Machines Part 3: The Radial (RBF) Kernel](https://www.youtube.com/watch?v=Qc5IyLW_hns) `0:15:52`|✓|
|Bagging|[Article: Random forests](https://www.jeremyjordan.me/random-forests/)||
||[StatQuest: Random Forests Part 1 - Building, Using and Evaluating](https://www.youtube.com/watch?v=J4Wdy0Wc_xQ) `0:09:54`|✓|
||[StatQuest: Random Forests Part 2: Missing data and clustering](https://www.youtube.com/watch?v=sQ870aTKqiM) `0:11:53`|✓|
|Boosting|[Article: Boosted trees](https://www.jeremyjordan.me/boosted-trees/)||
||[AdaBoost, Clearly Explained](https://www.youtube.com/watch?v=LsK-xG1cLYA) `0:20:54`||
||[Gradient Boost Part 1: Regression Main Ideas](https://www.youtube.com/watch?v=3CC4N4z3GJc) `0:15:52`||
||[Gradient Boost Part 2: Regression Details](https://www.youtube.com/watch?v=2xudPOBz-vs) `0:26:45`||
||[Gradient Boost Part 3: Classification](https://www.youtube.com/watch?v=jxuNLH5dXCs) `0:17:02`||
||[Gradient Boost Part 4: Classification Details](https://www.youtube.com/watch?v=StWY5QWMXCw) `0:36:59`||
||[Datacamp: Ensemble Methods in Python](https://www.datacamp.com/courses/ensemble-methods-in-python)|✓|
||[XGBoost Part 1: Regression](https://www.youtube.com/watch?v=OtD8wVaFm6E) `0:25:46`||
||[XGBoost Part 2: Classification](https://www.youtube.com/watch?v=8b1JEDvenQU) `0:25:17`||
||[XGBoost Part 3: Mathematical Details](https://www.youtube.com/watch?v=ZVFeW798-2I) `0:27:24`||
||[XGBoost Part 4: Crazy Cool Optimizations](https://www.youtube.com/watch?v=oRrKeUCEbq8) `0:24:27`||
||[Datacamp: Extreme Gradient Boosting with XGBoost](https://www.datacamp.com/courses/extreme-gradient-boosting-with-xgboost)||
|Dimensionality Reduction|[StatQuest: Principal Component Analysis (PCA), Step-by-Step](https://www.youtube.com/watch?v=FgakZw6K1QQ) `0:21:57`|✓|
||[StatQuest: PCA main ideas in only 5 minutes!!!](https://www.youtube.com/watch?v=HMOI_lkzW08) `0:06:04`|✓|
||[StatQuest: PCA - Practical Tips](https://www.youtube.com/watch?v=oRvgq966yZg) `0:08:19`|✓|
||[StatQuest: PCA in Python](https://www.youtube.com/watch?v=Lsue2gEM9D0) `0:11:37`|✓|
||[StatQuest: Linear Discriminant Analysis (LDA) clearly explained.](https://www.youtube.com/watch?v=azXCzI57Yfc) `0:15:12`|✓|
||[StatQuest: MDS and PCoA](https://www.youtube.com/watch?v=GEn-_dAyYME) `0:08:18`|✓|
||[StatQuest: t-SNE, Clearly Explained](https://www.youtube.com/watch?v=NEaUSP4YerM) `0:11:47`|✓|
|Clustering|[StatQuest: Hierarchical Clustering](https://www.youtube.com/watch?v=7xHsRkOdVwo) `0:11:19`|✓|
||[StatQuest: K-means clustering](https://www.youtube.com/watch?v=4b5d3muPQmA) `0:08:57`|✓|
||[StatQuest: K-nearest neighbors, Clearly Explained](https://www.youtube.com/watch?v=HVXime0nQeI) `0:05:30`|✓|
||[Datacamp: Customer Segmentation in Python](https://www.datacamp.com/courses/customer-segmentation-in-python)||
||[Datacamp: Unsupervised Learning in Python](https://www.datacamp.com/courses/unsupervised-learning-in-python)|✓|
||[Udacity: Segmentation and Clustering](https://www.udacity.com/course/segmentation-and-clustering--ud981)|✓|
||[Youtube: Clustering Algorithms](https://www.youtube.com/playlist?list=PLBv09BD7ez_6lYVoZ1RzVcOPIT5Lfjo0Y)|✓|
|Neural Networks|[Coursera: Neural Networks and Deep Learning](https://www.coursera.org/learn/neural-networks-deep-learning)||
||[Fast.ai: Deep Learning for Coder (2020)](https://course.fast.ai/)|✓|
||[Gradient Descent, Step-by-Step](https://www.youtube.com/watch?v=sDv4f4s2SB8) `0:23:54`|✓|
||[The Chain Rule](https://www.youtube.com/watch?v=wl1myxrtQHQ) `0:18:23`|✓|
||[Stochastic Gradient Descent, Clearly Explained!!!](https://www.youtube.com/watch?v=vMh0zPT0tLI) `0:10:53`|✓|
||[Article: Neural networks: activation functions](https://www.jeremyjordan.me/neural-networks-activation-functions/)||
||[Article: Neural networks: training with backpropagation](https://www.jeremyjordan.me/neural-networks-training/)||
||[Article: Neural Network from scratch-part 1](https://theaisummer.com/Neural_Network_from_scratch/)||
||[Article: Neural Network from scratch-part 2](https://theaisummer.com/Neural_Network_from_scratch_part2/)||
||[Article: Perceptron to Deep-Neural-Network](https://tsumansapkota.github.io/algorithm/2020/06/06/Perceptron-to-DeepNeuralNets/)||
||[Neural Networks from Scratch - P.1 Intro and Neuron Code](https://www.youtube.com/watch?v=Wo5dMEP_BbI) `0:16:59`||
||[Neural Networks from Scratch - P.2 Coding a Layer](https://www.youtube.com/watch?v=lGLto9Xd7bU) `0:15:06`||
||[Neural Networks from Scratch - P.3 The Dot Product](https://www.youtube.com/watch?v=tMrbN67U9d4) `0:25:17`||
||[Neural Networks from Scratch - P.4 Batches, Layers, and Objects](https://www.youtube.com/watch?v=TEWy9vZcxW4) `0:33:46`||
||[Neural Networks from Scratch - P.5 Hidden Layer Activation Functions](https://www.youtube.com/watch?v=gmjzbpSVY1A) `0:40:05`||
||[An overview of gradient descent optimization algorithms](https://ruder.io/optimizing-gradient-descent/)||
||[Article: Optimization for Deep Learning Highlights in 2017](https://ruder.io/deep-learning-optimization-2017/)||
||[Article: Gradient descent](https://www.jeremyjordan.me/gradient-descent/)||
||[Article: Setting the learning rate of your neural network](https://www.jeremyjordan.me/nn-learning-rate/)||
||[Article: Dismantling Neural Networks to Understand the Inner Workings with Math and Pytorch](https://towardsdatascience.com/dismantling-neural-networks-to-understand-the-inner-workings-with-math-and-pytorch-beac8760b595)||
||[Youtube: Deep Double Descent](https://youtu.be/R29awq6jvUw)|✓|
||[Article: Connections: Log Likelihood, Cross Entropy, KL Divergence, Logistic Regression, and Neural Networks](https://glassboxmedicine.com/2019/12/07/connections-log-likelihood-cross-entropy-kl-divergence-logistic-regression-and-neural-networks/)||
||[Article: MLE and MAP — in layman’s terms](https://medium.com/@ajitrajasekharan/mle-and-map-in-laymans-terms-8527061b15a6)||
||[Article: Cross-entropy for classification](https://towardsdatascience.com/cross-entropy-for-classification-d98e7f974451)||
|Evaluation Metrics|[Article: Measuring Performance: AUPRC and Average Precision](https://glassboxmedicine.com/2019/03/02/measuring-performance-auprc/)||
||[Article: Measuring Performance: AUC (AUROC)](https://glassboxmedicine.com/2019/02/23/measuring-performance-auc-auroc/)||
||[Article: Measuring Performance: The Confusion Matrix](https://glassboxmedicine.com/2019/02/17/measuring-performance-the-confusion-matrix/)||
||[Article: Measuring Performance: Accuracy](https://glassboxmedicine.com/2019/02/16/measuring-performance-accuracy/)||
||[Article: ROC Curves: Intuition Through Visualization](https://www.pragmatic.ml/intuition-through-visualization-roc-auc/)||
||[Article: Precision, Recall, Accuracy, and F1 Score for Multi-Label Classification](https://medium.com/synthesio-engineering/precision-accuracy-and-f1-score-for-multi-label-classification-34ac6bdfb404)|✓|
||[Article: The Complete Guide to AUC and Average Precision: Simulations and Visualizations](https://glassboxmedicine.com/2020/07/14/the-complete-guide-to-auc-and-average-precision-simulations-and-visualizations/)||
||[Article: Proxy Metrics](https://gibsonbiddle.medium.com/4-proxy-metrics-a82dd30ca810)|✓|
||[Youtube: Applied ML 2020 - 09 - Model Evaluation and Metrics](https://www.youtube.com/watch?v=trg3YkCsjqE) `1:18:23`|✓|
||[Article: Validating your Machine Learning Model](https://www.maartengrootendorst.com/blog/validate/)|✓|
||[Youtube: Machine Learning Fundamentals: Cross Validation](https://www.youtube.com/watch?v=fSytzGwwBVw) `0:06:04`|✓|
||[Youtube: Machine Learning Fundamentals: The Confusion Matrix](https://www.youtube.com/watch?v=Kdsp6soqA7o) `0:07:12`|✓|
||[Youtube: Machine Learning Fundamentals: Sensitivity and Specificity](https://www.youtube.com/watch?v=vP06aMoz4v8) `0:11:46`|✓|
||[Youtube: Machine Learning Fundamentals: Bias and Variance](https://www.youtube.com/watch?v=EuBBz3bI-aA) `0:06:36`|✓|
||[Youtube: ROC and AUC, Clearly Explained!](https://www.youtube.com/watch?v=4jRBRDbJemM) `0:16:26`|✓|
||[Article: The correct way to evaluate online machine learning models](https://maxhalford.github.io/blog/online-learning-evaluation/)|✓|
||[Youtube: Accuracy as a Failure](https://youtu.be/YGuVuZpTop0)|✓|
||[Article: Best Use of Train/Val/Test Splits, with Tips for Medical Data](https://glassboxmedicine.com/2019/09/15/best-use-of-train-val-test-splits-with-tips-for-medical-data/)|✓|

</details>

<details>
<summary>Machine Learning Libraries</summary>

|Concept|Resource|Done|
|---|---|---|
|Numpy|[Article: A Visual Intro to NumPy and Data Representation](https://jalammar.github.io/visual-numpy/)|✓|
||[Article: Good practices with numpy random number generators](https://albertcthomas.github.io/good-practices-random-number-generators/)|✓|
||[Article: NumPy Illustrated: The Visual Guide to NumPy](https://medium.com/better-programming/numpy-illustrated-the-visual-guide-to-numpy-3b1d4976de1d)||
||[Article: NumPy Fundamentals for Data Science and Machine Learning](https://pabloinsente.github.io/intro-numpy-fundamentals)|✓|
||[Datacamp: Intro to Python for Data Science](https://www.datacamp.com/courses/intro-to-python-for-data-science)|✓|
||[Pluralsight: Working with Multidimensional Data Using NumPy](https://www.pluralsight.com/courses/numpy-working-with-multidimensional-data)|✓|
|Pandas|[Article: Visualizing Pandas' Pivoting and Reshaping Functions](https://jalammar.github.io/visualizing-pandas-pivoting-and-reshaping/)|✓|
||[Article: A Gentle Visual Intro to Data Analysis in Python Using Pandas](https://jalammar.github.io/gentle-visual-intro-to-data-analysis-python-pandas/)|✓|
||[Article: Comprehensive Guide to Grouping and Aggregating with Pandas](https://pbpython.com/groupby-agg.html)|✓|
||[Article: 8 Python Pandas Value_counts() tricks that make your work more efficient](https://re-thought.com/pandas-value_counts/)|✓|
||[Datacamp: pandas Foundations](https://www.datacamp.com/courses/pandas-foundations)|✓|
||[Datacamp: Pandas Joins for Spreadsheet Users](https://www.datacamp.com/courses/pandas-joins-for-spreadsheet-users)|✓|
||[Datacamp: Manipulating DataFrames with pandas](https://www.datacamp.com/courses/manipulating-dataframes-with-pandas)|✓|
||[Datacamp: Merging DataFrames with pandas](https://www.datacamp.com/courses/merging-dataframes-with-pandas)|✓|
||[Datacamp: Data Manipulation with pandas](https://www.datacamp.com/courses/data-manipulation-with-pandas)|✓|
||[Datacamp: Optimizing Python Code with pandas](https://www.datacamp.com/courses/optimizing-python-code-with-pandas)|✓|
||[Datacamp: Streamlined Data Ingestion with pandas](https://www.datacamp.com/courses/streamlined-data-ingestion-with-pandas)|✓|
||[Datacamp: Analyzing Marketing Campaigns with pandas](https://www.datacamp.com/courses/analyzing-marketing-campaigns-with-pandas)|✓|
||[edX: Implementing Predictive Analytics with Spark in Azure HDInsight](https://www.edx.org/course/implementing-predictive-analytics-spark-microsoft-dat202-3x-2)|✓|
||[Modern Pandas (Part 1)](https://tomaugspurger.github.io/modern-1-intro.html)|✓|
||[Modern Pandas (Part 2)](https://tomaugspurger.github.io/method-chaining.html)|✓|
||[Modern Pandas (Part 3)](https://tomaugspurger.github.io/modern-3-indexes.html)|✓|
||[Modern Pandas (Part 4)](https://tomaugspurger.github.io/modern-4-performance.html)|✓|
||[Modern Pandas (Part 5)](https://tomaugspurger.github.io/modern-5-tidy.html)|✓|
||[Modern Pandas (Part 6)](https://tomaugspurger.github.io/modern-6-visualization.html)|✓|
||[Modern Pandas (Part 7)](https://tomaugspurger.github.io/modern-7-timeseries.html)|✓|
||[Modern Pandas (Part 8)](https://tomaugspurger.github.io/modern-8-scaling.html)|✓|
|Jupyter|[Article: Securely storing configuration credentials in a Jupyter Notebook](http://veekaybee.github.io/2020/02/25/secrets/)|✓|
||[Article: Automatically Reload Modules with %autoreload](https://switowski.com/blog/ipython-autoreload)|✓|
||[Calmcode: ipywidgets](https://calmcode.io/ipywidgets/introduction.html)||
||[Documentation: Jupyter Lab](https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html)|✓|
||[Pluralsight: Getting Started with Jupyter Notebook and Python](https://www.pluralsight.com/courses/jupyter-notebook-python)|✓|
||[Youtube: William Horton - A Brief History of Jupyter Notebooks](https://www.youtube.com/watch?v=kFhhCOeYcGw)|✓|
||[Youtube: I Like Notebooks](https://www.youtube.com/watch?v=9Q6sLbz37gk)|✓|
||[Youtube: I don't like notebooks.- Joel Grus (Allen Institute for Artificial Intelligence)](https://www.youtube.com/watch?v=7jiPeIFXb6U)|✓|
||[Youtube: Ryan Herr - After model.fit, before you deploy\| JupyterCon 2020](https://www.youtube.com/watch?v=hGHwu1h3l6g)|✓|
||[Youtube: nbdev live coding with Hamel Husain](https://www.youtube.com/watch?v=ZJTop5uqC2U&feature=youtu.be)|✓|
||[Youtube: How to Use JupyterLab](https://www.youtube.com/watch?v=A5YyoCKxEOU&feature=emb_logo)|✓|
|DVC|[Versioning Data with DVC (Hands-On Tutorial!)](https://www.youtube.com/watch?v=kLKBcPonMYw) `0:13:04`|✓|
||[Sharing Data and Models with DVC (Hands-On Data Science Tutorial!)](https://www.youtube.com/watch?v=EE7Gk84OZY8) `0:08:53`|✓|
||[Article: ML Ops: Data Science Version Control](https://medium.com/acing-ai/ml-ops-data-science-version-control-5935c49d1b76)||
||[Youtube: Data versioning in machine learning projects - Dmitry Petrov](https://www.youtube.com/watch?v=BneW7jgB298) `0:34:44`|✓|
||[Zoom: Data versioning with DVC Part 1](https://uniroma1.zoom.us/rec/share/74BYg5pKsplJLy4p-Yvo6g5bFa7eAEATwgqv5jzu6brzNZETWA9nISj_CK8_o192.WDm8fOY7zzd96bLA?startTime=1620383404000)|✓|
||[Zoom: Data versioning with DVC Part 2](https://uniroma1.zoom.us/rec/share/c2HsnkU5-DSdKWatv9AlmEjLM0a_i741VtnAZOx-eea2loTltiFPKBX196UaT8_3.-B4RbvXecplLujXK?startTime=1620803785000)|✓|
|scikit-learn|[Article: Stacking made easy with Sklearn](https://www.maartengrootendorst.com/blog/stacking/)|✓|
||[Article: Curve Fitting With Python](https://machinelearningmastery.com/curve-fitting-with-python/)|✓|
||[Article: A Guide to Calibration Plots in Python](https://changhsinlee.com/python-calibration-plot/)|✓|
||[Calmcode: human-learn](https://calmcode.io/human-learn/introduction.html)|✓|
||[Datacamp: Supervised Learning with scikit-learn](https://www.datacamp.com/courses/supervised-learning-with-scikit-learn)|✓|
||[Datacamp: Machine Learning with Tree-Based Models in Python](https://www.datacamp.com/courses/machine-learning-with-tree-based-models-in-python)|✓|
||[Datacamp: Introduction to Linear Modeling in Python](https://www.datacamp.com/courses/introduction-to-linear-modeling-in-python)||
||[Datacamp: Linear Classifiers in Python](https://www.datacamp.com/courses/linear-classifiers-in-python)|✓|
||[Datacamp: Generalized Linear Models in Python](https://www.datacamp.com/courses/generalized-linear-models-in-python)||
||[Notebook: scikit-learn tips](https://github.com/justmarkham/scikit-learn-tips)|✓|
||[Pluralsight: Building Machine Learning Models in Python with scikit-learn](https://www.pluralsight.com/courses/python-scikit-learn-building-machine-learning-models)|✓|
||[Video: human learn](https://calmcode.io/human-learn/introduction.html)||
||[Youtube: dabl: Automatic Machine Learning with a Human in the Loop](https://www.youtube.com/watch?v=TQnxH90PqFc&list=PLYx7XA2nY5GejOB1lsvriFeMytD1-VS1B&index=2&t=0s) `00:25:43`|✓|
||[Youtube: Multilabel and Multioutput Classification -Machine Learning with TensorFlow & scikit-learn on Python](https://www.youtube.com/watch?v=bDdjebakjbA)|✓|
||[Youtube: DABL: Automatic machine learning with a human in the loop- AI Latim American SumMIT Day 1](https://youtu.be/7pykC5m24Z0?list=LL)|✓|
|Tensorflow|[Coursera: Introduction to Tensorflow](https://www.coursera.org/learn/introduction-tensorflow)|✓|
||[Coursera: Convolutional Neural Networks in TensorFlow](https://www.coursera.org/learn/convolutional-neural-networks-tensorflow)|✓|
||[Deeplizard: Keras - Python Deep Learning Neural Network API](https://www.youtube.com/playlist?list=PLZbbT5o_s2xrwRnXk_yCPtnqqo4_u2YGL)|✓|
||[Book: Deep Learning with Python (Page: 276)](https://www.manning.com/books/deep-learning-with-python)||
||[Datacamp: Deep Learning in Python](https://www.datacamp.com/courses/deep-learning-in-python)|✓|
||[Datacamp: Convolutional Neural Networks for Image Processing](https://www.datacamp.com/courses/convolutional-neural-networks-for-image-processing)|✓|
||[Datacamp: Introduction to TensorFlow in Python](https://www.datacamp.com/courses/introduction-to-tensorflow-in-python)|✓|
||[Datacamp: Introduction to Deep Learning with Keras](https://www.datacamp.com/courses/deep-learning-with-keras-in-python)|✓|
||[Datacamp: Advanced Deep Learning with Keras](https://www.datacamp.com/courses/advanced-deep-learning-with-keras-in-python)|✓|
||[Pluralsight: Deep Learning with Keras](https://www.pluralsight.com/courses/keras-deep-learning)|✓|
||[Udacity: Intro to TensorFlow for Deep Learning](https://www.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187)|✓|
|PyTorch|[Article: The One PyTorch Trick Which You Should Know](https://towardsdatascience.com/the-one-pytorch-trick-which-you-should-know-2d5e9c1da2ca)||
||[Article: How does automatic differentiation really work?](https://thenlp.space/blog/how-does-pytorch-do-differentiation)||
||[Article: 7 Tips To Maximize PyTorch Performance](https://towardsdatascience.com/7-tips-for-squeezing-maximum-performance-from-pytorch-ca4a40951259)|✓|
||[Article: An introduction to PyTorch Lightning with comparisons to PyTorch](https://amaarora.github.io/2020/07/12/oganized-pytorch.html)|✓|
||[Article: Converting From Keras To PyTorch Lightning](https://towardsdatascience.com/converting-from-keras-to-pytorch-lightning-be40326d7b7d)|✓|
||[Article: From PyTorch to PyTorch Lightning — A gentle introduction](https://towardsdatascience.com/from-pytorch-to-pytorch-lightning-a-gentle-introduction-b371b7caaf09)|✓|
||[Article: Introducing PyTorch Lightning Sharded: Train SOTA Models, With Half The Memory](https://seannaren.medium.com/introducing-pytorch-lightning-sharded-train-sota-models-with-half-the-memory-7bcc8b4484f2)|✓|
||[Article: Sharded: A New Technique To Double The Size Of PyTorch Models](https://towardsdatascience.com/sharded-a-new-technique-to-double-the-size-of-pytorch-models-3af057466dba)|✓|
||[Article: Understanding Bidirectional RNN in PyTorch](https://towardsdatascience.com/understanding-bidirectional-rnn-in-pytorch-5bd25a5dd66)|✓|
||[Article: PyTorch Lightning Bolts — From Linear, Logistic Regression on TPUs to pre-trained GANs](https://medium.com/pytorch/pytorch-lightning-bolts-from-boosted-regression-on-tpus-to-pre-trained-gans-5cebdb1f99fe)|✓|
||[Article: Scaling Logistic Regression Via Multi-GPU/TPU Training](https://towardsdatascience.com/scaling-logistic-regression-for-multi-gpu-tpu-training-b4898d5049ff)|✓|
||[Article: Training Neural Nets on Larger Batches: Practical Tips for 1-GPU, Multi-GPU & Distributed setups](https://medium.com/huggingface/training-larger-batches-practical-tips-on-1-gpu-multi-gpu-distributed-setups-ec88c3e51255)|✓|
||[Article: PyTorch Lightning 0.9 — synced BatchNorm, DataModules and final API!](https://medium.com/pytorch/pytorch-lightning-0-9-synced-batchnorm-datamodules-and-final-api-aae885398a9d)|✓|
||[Article: PyTorch Lightning: Metrics](https://medium.com/pytorch/pytorch-lightning-metrics-35cb5ab31857)|✓|
||[Article: PyTorch Multi-GPU Metrics Library and More in PyTorch Lightning 0.8.1](https://medium.com/pytorch/pytorch-multi-gpu-metrics-and-more-in-pytorch-lightning-0-8-1-b7cadd04893e)|✓|
||[Article: EINSUM IS ALL YOU NEED - EINSTEIN SUMMATION IN DEEP LEARNING](https://rockt.github.io/2018/04/30/einsum)||
||[Article: Faster Deep Learning Training with PyTorch – a 2021 Guide](https://efficientdl.com/faster-deep-learning-in-pytorch-a-guide/)||
||[Article: Fit More and Train Faster With ZeRO via DeepSpeed and FairScale](https://huggingface.co/blog/zero-deepspeed-fairscale)||
||[Article: PyTorch Lightning V1.2.0- DeepSpeed, Pruning, Quantization, SWA](https://medium.com/pytorch/pytorch-lightning-v1-2-0-43a032ade82b)||
||[Article: But what are PyTorch DataLoaders really?](https://www.scottcondron.com/jupyter/visualisation/audio/2020/12/02/dataloaders-samplers-collate.html)||
||[Article: Using PyTorch + NumPy? You're making a mistake.](https://tanelp.github.io/posts/a-bug-that-plagues-thousands-of-open-source-ml-projects/)|✓|
||[Article: How Wadhwani AI Uses PyTorch To Empower Cotton Farmers](https://medium.com/pytorch/how-wadhwani-ai-uses-pytorch-to-empower-cotton-farmers-14397f4c9f2b)|✓|
||[Article: Taming LSTMs: Variable-sized mini-batches and why PyTorch is good for your health](https://towardsdatascience.com/taming-lstms-variable-sized-mini-batches-and-why-pytorch-is-good-for-your-health-61d35642972e)|✓|
||[Article: How to Build a Streaming DataLoader with PyTorch](https://medium.com/speechmatics/how-to-build-a-streaming-dataloader-with-pytorch-a66dd891d9dd)||
||[Article: Transform your ML-model to Pytorch with Hummingbird](https://www.maartengrootendorst.com/blog/humming/)|✓|
||[Article: PyTorch Loss Functions: The Ultimate Guide](https://neptune.ai/blog/pytorch-loss-functions)|✓|
||[Article: Pad pack sequences for Pytorch batch processing with DataLoader](https://suzyahyah.github.io/pytorch/2019/07/01/DataLoader-Pad-Pack-Sequence.html)|✓|
||[Article: Model Parallelism](https://huggingface.co/transformers/master/parallelism.html)||
||[Notebook: Tensor Arithmetic](https://colab.research.google.com/github/davidbau/how-to-read-pytorch/blob/master/notebooks/1-Pytorch-Introduction.ipynb)||
||[Notebook: Autograd](https://colab.research.google.com/github/davidbau/how-to-read-pytorch/blob/master/notebooks//2-Pytorch-Autograd.ipynb)||
||[Notebook: Optimization](https://colab.research.google.com/github/davidbau/how-to-read-pytorch/blob/master/notebooks//3-Pytorch-Optimizers.ipynb)||
||[Notebook: Network modules](https://colab.research.google.com/github/davidbau/how-to-read-pytorch/blob/master/notebooks//4-Pytorch-Modules.ipynb)||
||[Notebook: Datasets and Dataloaders](https://colab.research.google.com/github/davidbau/how-to-read-pytorch/blob/master/notebooks//5-Pytorch-Dataloader.ipynb)||
||[Documentation: Pytorch Lightning](https://pytorch-lightning.readthedocs.io/en/latest/)|✓|
||[Datacamp: Introduction to Deep Learning with PyTorch](https://www.datacamp.com/courses/deep-learning-with-pytorch)|✓|
||[Deeplizard: Neural Network Programming - Deep Learning with PyTorch](https://www.youtube.com/playlist?list=PLZbbT5o_s2xrfNyHZsM6ufI0iZENK9xgG)|✓|
||[Youtube: PyTorch Lightning 101](https://www.youtube.com/playlist?list=PLaMu-SDt_RB5NUm67hU2pdE75j6KaIOv2)|✓|
||[Youtube: SimCLR with PyTorch Lightning](https://www.youtube.com/playlist?list=PLaMu-SDt_RB4k8VXiB3hOdsn0Y3GoXo1k)|✓|
||[Youtube: PyTorch Performance Tuning Guide](https://youtu.be/9mS1fIYj1So) `26:41:00`||
||[Youtube: Skin Cancer Detection with PyTorch](https://www.youtube.com/playlist?list=PLUH_l3HbfEW0wP7ZOKUxmlnG6sntCQpHX)|✓|
||[Youtube: Learn with Lightning](https://www.pytorchlightning.ai/tutorials)|✓|
||[Youtube: PyTorch Tutorial - RNN & LSTM & GRU - Recurrent Neural Nets](https://www.youtube.com/watch?v=0_PgWWmauHk) `00:15:51`|✓|
||[Youtube: Pytorch Zero to All](https://www.youtube.com/playlist?list=PLlMkM4tgfjnJ3I-dbhO9JTw7gNty6o_2m)|✓|
||[PyTorch Developer Day 2020 \| Full Livestream](https://www.youtube.com/watch?v=jaPVoObpdO0)|✓|
||[Youtube: Lightning Chat: How a Grandmaster Won a Kaggle Competition Using Pytorch Lightning](https://www.youtube.com/watch?app=desktop&v=0HQCK_l-njI)|✓|
||[Youtube: Production Inference Deployment with PyTorch](https://youtu.be/Dk88zv1KYMI)||
||[Youtube: What is Automatic Differentiation?](https://www.youtube.com/watch?v=wG_nF1awSSY)||
|BeautifulSoup|[Docs: Beautiful Soup Documentation](https://www.crummy.com/software/BeautifulSoup/bs4/doc/)|✓|
||[Datacamp: Importing Data in Python (Part 2)](https://www.datacamp.com/courses/importing-data-in-python-part-2)|✓|
||[Datacamp: Web Scraping in Python](https://www.datacamp.com/courses/web-scraping-with-python)||
</details>

<details>
<summary>Docker and Containerization</summary>

|Concept|Resource|Done|
|---|---|---|
||[Pluralsight: Docker and Kubernetes: The Big Picture](https://www.pluralsight.com/courses/docker-kubernetes-big-picture)|✓|
||[Youtube: Docker](https://uniroma1.zoom.us/rec/share/c2HsnkU5-DSdKWatv9AlmEjLM0a_i741VtnAZOx-eea2loTltiFPKBX196UaT8_3.-B4RbvXecplLujXK?startTime=1620810184000)|✓|
||[Youtube: Why Your Web Server Should Log to Stdout (Especially with Docker)](https://www.youtube.com/watch?v=aQikNWEaJUQ&feature=emb_logo)|✓|
||[Article: How To Pass Environment Info During Docker Builds](https://blog.bitsrc.io/how-to-pass-environment-info-during-docker-builds-1f7c5566dd0e)|✓|
||[Article: Pass Docker Environment Variables During The Image Build](https://vsupalov.com/docker-build-pass-environment-variables/)|✓|
||[Article: Setting Default Docker Environment Variables During Image Build](https://vsupalov.com/docker-build-time-env-values/)|✓|
||[Article: Docker Explained Visually, For Non-Technical Folks](https://www.iteachrecruiters.com/blog/docker-explained-visually-for-non-technical-folks/)|✓|
||[Article: Tensorflow in Docker](http://blog.tabanpour.info/projects/2018/09/07/tf-docker-kube.html)|✓|
||[Article: Enough Docker to be Dangerous](http://seankross.com/2017/09/17/Enough-Docker-to-be-Dangerous.html)|✓|
||[Article: How Docker Can Help You Become A More Effective Data Scientist](https://towardsdatascience.com/how-docker-can-help-you-become-a-more-effective-data-scientist-7fc048ef91d5)|✓|
||[Article: Deploying conda environments in (Docker) containers - how to do it right](https://uwekorn.com/2021/03/01/deploying-conda-environments-in-docker-how-to-do-it-right.html)||
||[Article: Configuring Gunicorn for Docker](https://pythonspeed.com/articles/gunicorn-in-docker/)|✓|
||[Article: How to scale services using Docker Compose](https://medium.com/@karthi.net/how-to-scale-services-using-docker-compose-31d7b83a6648)|✓|
||[Article: A Beginner-Friendly Introduction to Containers, VMs and Docker](https://www.freecodecamp.org/news/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b/)|✓|
||[Article: Smaller Docker images with Conda](https://jcristharif.com/conda-docker-tips.html)|✓|
||[Pluralsight: Docker and Containers: The Big Picture](https://www.pluralsight.com/courses/docker-containers-big-picture)|✓|
||[Article: Docker for Machine Learning – Part I](https://mlinproduction.com/docker-for-ml-part-1/)|✓|
||[Article: Docker for Machine Learning – Part II](https://mlinproduction.com/docker-for-ml-part-2/)|✓|
||[Article: Docker for Machine Learning – Part III](https://mlinproduction.com/docker-for-ml-part-3/)|✓|
||[Article: Using Docker to Generate Machine Learning Predictions in Real Time](https://mlinproduction.com/docker-for-ml-part-4/)|✓|
||[Article: Connection refused? Docker networking and how it impacts your image](https://pythonspeed.com/articles/docker-connection-refused/)||
||[Article: Faster or slower: the basics of Docker build caching](https://pythonspeed.com/articles/docker-caching-model/)||
||[Article: Where’s your code? Debugging ImportError and ModuleNotFoundErrors in your Docker image](https://pythonspeed.com/articles/importerror-docker/)||
||[Article: A tableau of crimes and misfortunes: the ever-useful docker history](https://pythonspeed.com/articles/docker-history/)||
||[Article: Broken by default: why you should avoid most Dockerfile examples](https://pythonspeed.com/articles/dockerizing-python-is-hard/)||
||[Article: A review of the official Dockerfile best practices: good, bad, and insecure](https://pythonspeed.com/articles/official-docker-best-practices/)||
||[Article: The best Docker base image for your Python application (February 2021)](https://pythonspeed.com/articles/base-image-python-docker-images/)||
||[Article: A deep dive into the official Docker image for Python](https://pythonspeed.com/articles/official-python-docker-image/)||
||[Article: Using Alpine can make Python Docker builds 50× slower](https://pythonspeed.com/articles/alpine-docker-python/)||
||[Article: Building on solid ground: ensuring reproducible Docker builds for Python](https://pythonspeed.com/articles/reproducible-docker-builds-python/)||
||[Article: Installing system packages in Docker with minimal bloat](https://pythonspeed.com/articles/system-packages-docker/)||
||[Article: Less capabilities, more security: minimizing privilege escalation in Docker](https://pythonspeed.com/articles/root-capabilities-docker-security/)||
||[Article: Avoiding insecure images from Docker build caching](https://pythonspeed.com/articles/docker-cache-insecure-images/)||
||[Article: Build secrets in Docker and Compose, the secure way](https://pythonspeed.com/articles/build-secrets-docker-compose/)||
||[Article: Security scanners for Python and Docker: from code to dependencies](https://pythonspeed.com/articles/docker-python-security-scan/)||
||[Article: The high cost of slow Docker builds](https://pythonspeed.com/articles/high-cost-slow-docker-builds/)||
||[Article: Faster Docker builds with pipenv, poetry, or pip-tools](https://pythonspeed.com/articles/pipenv-docker/)||
||[Article: Elegantly activating a virtualenv in a Dockerfile](https://pythonspeed.com/articles/activate-virtualenv-dockerfile/)||
||[Article: Poetry vs. Docker caching: Fight!](https://pythonspeed.com/articles/poetry-vs-docker-caching/)||
||[Article: Speed up pip downloads in Docker with BuildKit’s new caching](https://pythonspeed.com/articles/docker-cache-pip-downloads/)||
||[Article: Multi-stage builds #1: Smaller images for compiled code](https://pythonspeed.com/articles/smaller-python-docker-images/)||
||[Article: Multi-stage builds #2: Python specifics—virtualenv, –user, and other methods](https://pythonspeed.com/articles/multi-stage-docker-python/)||
||[Article: Multi-stage builds #3: Why your build is surprisingly slow, and how to speed it up](https://pythonspeed.com/articles/faster-multi-stage-builds/)||
||[Article: Configuring Gunicorn for Docker](https://pythonspeed.com/articles/gunicorn-in-docker/)||
||[Article: Activating a Conda environment in your Dockerfile](https://pythonspeed.com/articles/activate-conda-dockerfile/)||
||[Article: Shrink your Conda Docker images with conda-pack](https://pythonspeed.com/articles/conda-docker-image-size/)||
||[Article: What’s running in production? Making your Docker images identifiable](https://pythonspeed.com/articles/identifying-images/)||
||[Article: Your Docker build needs a smoke test](https://pythonspeed.com/articles/test-your-docker-build/)||
||[Article: Docker BuildKit: faster builds, new features, and now it’s stable](https://pythonspeed.com/articles/docker-buildkit/)||
||[Article: Docker vs. Singularity for data processing: UIDs and filesystem access](https://pythonspeed.com/articles/containers-filesystem-data-processing/)||
||[Article: Where’s that log file? Debugging failed Docker builds](https://pythonspeed.com/articles/debugging-docker-build/)||
||[Article: An Introduction to Kubernetes for Data Scientists](https://mlinproduction.com/intro-to-kubernetes/)||
||[Article: How to Use Kubernetes Pods for Machine Learning](https://mlinproduction.com/k8s-pods/)||
||[Article: Kubernetes Jobs for Machine Learning](https://mlinproduction.com/k8s-jobs/)||
||[Article: Kubernetes CronJobs for Machine Learning](https://mlinproduction.com/k8s-cronjobs/)||
||[Article: Kubernetes Deployments for Machine Learning](https://mlinproduction.com/k8s-deployments/)||
||[Article: Kubernetes Services for Machine Learning](https://mlinproduction.com/k8s-services/)||
||[“Let’s use Kubernetes!” Now you have 8 problems](https://pythonspeed.com/articles/dont-need-kubernetes/)||
||[Article: Kubernetes for Python Developers: Part 1](https://www.distributedpython.com/2018/11/28/kubernetes-python-developers-part-1/)||
||[Doc: Environment variables in Compose](https://docs.docker.com/compose/environment-variables/)|✓|
||[Udacity: Scalable Microservices with Kubernetes](https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615)||
</details>

<details>
<summary>Cloud Computing</summary>

|Concept|Resource|Done|
|---|---|---|
|Theory|[Datacamp: Cloud Computing for Everyone](https://www.datacamp.com/courses/cloud-computing-for-everyone)|✓|
||[Pluralsight: AWS Developer: The Big Picture](https://www.pluralsight.com/courses/aws-developer-big-picture)|✓|
||[Pluralsight: AWS Networking Deep Dive: Virtual Private Cloud (VPC)](https://www.pluralsight.com/courses/aws-networking-deep-dive-vpc)|✓|
||[Pluralsight: AWS VPC Operations](https://www.pluralsight.com/courses/aws-vpc-operations)|✓|
||[Pluralsight: Building Applications Using Elastic Beanstalk](https://www.pluralsight.com/courses/elastic-beanstalk-building-applications)|✓|
||[Udemy: AWS Concepts](https://www.udemy.com/aws-concepts)|✓|
||[Udemy: AWS Certified Developer - Associate 2018](https://www.udemy.com/aws-certified-developer-associate/)|✓|
||[Whitepaper: Architecting for the Cloud AWS Best Practices](https://d1.awsstatic.com/whitepapers/AWS_Cloud_Best_Practices.pdf)|✓|
||[Whitepaper: AWS Well-Architected Framework](https://d1.awsstatic.com/whitepapers/architecture/AWS_Well-Architected_Framework.pdf)|✓|
||[Whitepaper: AWS Security Best Practices](https://d1.awsstatic.com/whitepapers/Security/AWS_Security_Best_Practices.pdf)|✓|
||[Whitepaper: Blue/Green Deployments on AWS](https://d1.awsstatic.com/whitepapers/AWS_Blue_Green_Deployments.pdf)|✓|
||[Whitepaper: Microservices on AWS](https://docs.aws.amazon.com/aws-technical-content/latest/microservices-on-aws/microservices-on-aws.pdf)|✓|
||[Whitepaper: Optimizing Enterprise Economics with Serverless Architectures](https://d1.awsstatic.com/whitepapers/optimizing-enterprise-economics-serverless-architectures.pdf)|✓|
||[Whitepaper: Practicing Continuous Integration and Continuous Delivery on AWS](https://d1.awsstatic.com/whitepapers/DevOps/practicing-continuous-integration-continuous-delivery-on-AWS.pdf)|✓|
||[Whitepaper: Running Containerized Microservices on AWS](https://d1.awsstatic.com/whitepapers/DevOps/running-containerized-microservices-on-aws.pdf)|✓|
||[Udemy: Serverless Concepts](https://www.udemy.com/serverless-concepts/)|✓|
||[Whitepaper: Serverless Architectures with AWS Lambda](https://d1.awsstatic.com/whitepapers/serverless-architectures-with-aws-lambda.pdf)|✓|
||[Youtube: Deploying a machine learning model to the cloud using AWS Lambda](https://www.youtube.com/watch?v=4ocbx9IeBMU&feature=youtu.be)|✓|
||[AWS: Amazon Transcribe Deep Dive: Using Feedback Loops to Improve Confidence Level of Transcription](https://www.aws.training/learningobject/video?id=27495)|✓|
||[AWS: Build a Text Classification Model with AWS Glue and Amazon SageMaker](https://www.aws.training/learningobject/video?id=27225)|✓|
||[AWS: Deep Dive on Amazon Rekognition: Building Computer Visions Based Smart Applications](https://www.aws.training/learningobject/video?id=27230)|✓|
||[AWS: Hands-on Rekognition: Automated Video Editing](https://www.aws.training/learningobject/video?id=27229)|✓|
||[AWS: Introduction to Amazon Comprehend](https://www.aws.training/learningobject/video?id=16626)|✓|
||[AWS: Introduction to Amazon Comprehend Medical](https://www.aws.training/learningobject/video?id=27159)|✓|
||[AWS: Introduction to Amazon Elastic Inference](https://www.aws.training/learningobject/video?id=27172)|✓|
||[AWS: Introduction to Amazon Forecast](https://www.aws.training/learningobject/video?id=27163)|✓|
||[AWS: Introduction to Amazon Lex](https://www.aws.training/learningobject/video?id=16516)|✓|
||[AWS: Introduction to Amazon Personalize](https://www.aws.training/learningobject/video?id=27158)|✓|
||[AWS: Introduction to Amazon Polly](https://www.aws.training/learningobject/video?id=15886)|✓|
||[AWS: Introduction to Amazon SageMaker Ground Truth](https://www.aws.training/learningobject/video?id=27162)|✓|
||[AWS: Introduction to Amazon SageMaker Neo](https://www.aws.training/learningobject/video?id=27160)|✓|
||[AWS: Introduction to Amazon Transcribe](https://www.aws.training/learningobject/video?id=19443)|✓|
||[AWS: Introduction to Amazon Translate](https://www.aws.training/learningobject/video?id=19442)|✓|
||[AWS: Introduction to AWS Marketplace - Machine Learning Category](https://www.aws.training/learningobject/video?id=27165)|✓|
||[AWS: Machine Learning Exam Basics](https://www.aws.training/learningobject/curriculum?id=27271)|✓|
||[AWS: Neural Machine Translation with Sockeye](https://www.aws.training/learningobject/video?id=27236)|✓|
||[AWS: Process Model: CRISP-DM on the AWS Stack](https://www.aws.training/learningobject/wbc?id=27200)|✓|
||[AWS: Satellite Image Classification in SageMaker](https://www.aws.training/learningobject/video?id=27231)|✓|
||[Datacamp: Introduction to AWS Boto in Python](https://www.datacamp.com/courses/introduction-to-aws-boto-in-python)|✓|
||[edX: Amazon SageMaker: Simplifying Machine Learning Application Development](https://www.edx.org/course/simplifying-machine-learning-app-development-with-amazon-sagemaker)|✓|

</details>

<details>
<summary>Natural Language Processing</summary>

|Concept|Resource|Done|
|---|---|---|
|Fundamentals|[Stanford CS224U: Natural Language Understanding \| Spring 2019](https://www.youtube.com/playlist?list=PLoROMvodv4rObpMCir6rNNUlFAn56Js20)|✓|
||[Stanford CS224N: Stanford CS224N: NLP with Deep Learning \| Winter 2019](https://www.youtube.com/playlist?list=PLoROMvodv4rOhcuXMZkNm7j3fVwBBY42z)|✓|
||[Natural Language Processing with Transformers Book](https://transformersbook.com/)||
|Preprocessing|[Article: Fixing common Unicode mistakes with Python â€“ after they’ve been made](http://blog.conceptnet.io/posts/2012/fixing-common-unicode-mistakes-with-python-after-theyve-been-made/)|✓|
||[Datacamp: Feature Engineering for NLP in Python](https://www.datacamp.com/courses/feature-engineering-for-nlp-in-python)|✓|
||[Datacamp: Natural Language Processing Fundamentals in Python](https://www.datacamp.com/courses/natural-language-processing-fundamentals-in-python)|✓|
||[Datacamp: Regular Expressions in Python](https://www.datacamp.com/courses/regular-expressions-in-python)|✓|
|Tokenization|[Article: 3 subword algorithms help to improve your NLP model performance](https://medium.com/@makcedward/how-subword-helps-on-your-nlp-model-83dd1b836f46)|✓|
|Keyword Extraction|[Article: Build A Keyword Extraction API with Spacy, Flask, and FuzzyWuzzy](https://towardsdatascience.com/build-a-keyword-extraction-api-with-spacy-flask-and-fuzzywuzzy-4909d7ffc105)|✓|
||[Article: Unsupervised Auto-labeling of Websites](https://pincone.com/blog/unsupervised-auto-labeling-of-websites)|✓|
||[Article: Keyword Extraction with BERT](https://www.maartengrootendorst.com/blog/keybert/)|✓|
||[Article: Topic Modeling for Keyword Extraction](http://bugra.github.io/posts/2017/2/5/topic-modeling-for-keyword-extraction/)|✓|
||[Simple Unsupervised Keyphrase Extraction using Sentence Embeddings \| Research Paper Walkthrough](https://www.youtube.com/watch?v=ykClwtoLER8) `0:21:23`|✓|
|Embeddings|[Article: The Illustrated Word2vec](https://jalammar.github.io/illustrated-word2vec/)|✓|
||[Article: Intuition & Use-Cases of Embeddings in NLP & beyond](https://jalammar.github.io/skipgram-recommender-talk/)|✓|
||[Article: Learning Word Embedding](https://lilianweng.github.io/lil-log/2017/10/15/learning-word-embedding.html)||
||[Article: On word embeddings - Part 1](https://ruder.io/word-embeddings-1/)||
||[Article: On word embeddings - Part 2: Approximating the Softmax](https://ruder.io/word-embeddings-softmax/)||
||[Article: On word embeddings - Part 3: The secret ingredients of word2vec](https://ruder.io/secret-word2vec/)||
||[Article: Word embeddings in 2017: Trends and future direction](https://ruder.io/word-embeddings-2017/)||
||[Rasa Algorithm Whiteboard - Embeddings 1: Just Letters](https://www.youtube.com/watch?v=mWvnlVw_LiY) `0:13:48`|✓|
||[Rasa Algorithm Whiteboard - Embeddings 2: CBOW and Skip Gram](https://www.youtube.com/watch?v=BWaHLmG1lak) `0:19:24`|✓|
||[Rasa Algorithm Whiteboard - Embeddings 3: GloVe](https://www.youtube.com/watch?v=QoUYlxl1RGI) `0:19:12`|✓|
||[Rasa Algorithm Whiteboard - Embeddings 4: Whatlies](https://www.youtube.com/watch?v=FwkwC7IJWO0) `0:14:03`|✓|
||[Rasa Algorithm Whiteboard - StarSpace](https://www.youtube.com/watch?v=ZT3_9Kjx7oI) `0:11:46`|✓|
||[Rasa Algorithm Whiteboard - Countvectors](https://www.youtube.com/watch?v=Ju7l5ADg10U) `0:13:32`|✓|
||[Rasa Algorithm Whiteboard - Subword Embeddings](https://www.youtube.com/watch?v=kNw9dpzp5RU) `0:11:58`|✓|
||[Rasa Algorithm Whiteboard - Implementation of Subword Embeddings](https://www.youtube.com/watch?v=8D3Gamk1Jig) `0:10:01`|✓|
||[Rasa Algorithm Whiteboard - BytePair Embeddings](https://www.youtube.com/watch?v=-0IjF-7OB3s) `0:12:44`|✓|
||[Vector 1 Word Meaning](https://www.youtube.com/watch?v=EsfNYiLVtHI) `0:09:09`||
||[Vector 2 Vector Semantics](https://www.youtube.com/watch?v=lrPxo-92GC0) `0:06:37`||
||[Vector 3 Words and Vectors](https://www.youtube.com/watch?v=xtD47WHNhxk) `0:05:16`||
||[Vector 4 Cosine Similarity](https://www.youtube.com/watch?v=-_i9Cg81rXA) `0:04:23`||
||[Vector 5 TF IDF](https://www.youtube.com/watch?v=TBUpxFw8oIA) `0:05:32`||
||[Vector 6 Word2vec](https://www.youtube.com/watch?v=FHhKmf1iPvw) `0:07:39`||
||[Vector 7 Learning in Word2vec](https://www.youtube.com/watch?v=MGhVvEwFB9o) `0:07:36`||
||[Vector 8 Properties of Embeddings](https://www.youtube.com/watch?v=QvFNqBRaCis) `0:06:08`||
||[Youtube: Applied ML 2020 - 17 - Word vectors and document embeddings](https://www.youtube.com/watch?v=xgjnlGBpLUs) `1:03:04`||
|RNN|[Article: Long Short-Term Memory: From Zero to Hero with PyTorch](https://blog.floydhub.com/long-short-term-memory-from-zero-to-hero-with-pytorch/)|✓|
||[Datacamp: RNN for Language Modeling](https://www.datacamp.com/courses/recurrent-neural-networks-for-language-modeling-in-python)|✓|
||[Article: Introduction to recurrent neural networks](https://www.jeremyjordan.me/introduction-to-recurrent-neural-networks/)||
||[Article: Explaining RNNs without neural networks](https://explained.ai/rnn/index.html)|✓|
||[Article: Understanding LSTM Networks](http://colah.github.io/posts/2015-08-Understanding-LSTMs/)||
||[Article: The Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/)||
||[Article: Under the Hood of RNNs](https://wandb.ai/authors/rnn-viz/reports/Under-the-Hood-of-RNNs--VmlldzoyNTQ4MjY)||
||[Article: Exploring LSTMs](http://blog.echen.me/2017/05/30/exploring-lstms/)||
||[Article: Making sense of LSTMs by example](https://alexander-schiendorfer.github.io/2020/02/08/making-sense-of-lstms.html)||
||[Article: Building RNNs is Fun with PyTorch and Google Colab](https://medium.com/dair-ai/building-rnns-is-fun-with-pytorch-and-google-colab-3903ea9a3a79)||
||[CMU Neural Nets for NLP 2021 (5): Recurrent Neural Networks](https://www.youtube.com/watch?v=5124LKzDaxo) `0:38:50`||
||[CMU Advanced NLP 2021 (5): Recurrent Neural Networks](https://www.youtube.com/watch?v=1aQwed1TTrY) `1:13:43`||
||[Notebook: TextRNN - Predict Next Step](https://colab.research.google.com/github/graykode/nlp-tutorial/blob/master/3-1.TextRNN/TextRNN.ipynb)||
||[Notebook: TextLSTM - Autocomplete](https://colab.research.google.com/github/graykode/nlp-tutorial/blob/master/3-2.TextLSTM/TextLSTM.ipynb)||
||[Youtube: RNN and LSTM `26:13`](https://www.youtube.com/watch?v=WCUNPb-5EYI&index=2&list=PLVZqlMpoM6kbaeySxhdtgQPFEC5nV7Faa&t=0s)||
||[Article: Understanding building blocks of ULMFIT](https://medium.com/mlreview/understanding-building-blocks-of-ulmfit-818d3775325b)|✓|
||[Article: Character level language model RNN](https://arig23498.github.io/char-level-language-model)||
|Text CNN|[Article: Understanding Convolutional Neural Networks for NLP](http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/)|✓|
|Transformers|[Article: Attention? An Other Perspective!: Part 1](https://learningturtle.github.io/Blog/posts/attention_another_perspective/)|✓|
||[UMass CS685 (Advanced NLP): Implementing a Transformer](https://www.youtube.com/watch?v=4oO3sSk1F1M) `1:12:36`||
||[Article: Attention and Memory in Deep Learning and NLP](http://www.wildml.com/2016/01/attention-and-memory-in-deep-learning-and-nlp/)|✓|
||[Article: Attention? An Other Perspective!: Part 2](https://learningturtle.github.io/Blog/posts/attention_another_perspective_part2/)||
||[Article: Attention? An Other Perspective!: Part 3](https://learningturtle.github.io/Blog/posts/attention_another_perspective_part3/)||
||[Article: Attention? An Other Perspective!: Part 4](https://learningturtle.github.io/Blog/posts/attention_another_perspective_part4/)||
||[Article: Attention? An Other Perspective!: Part 5](https://learningturtle.github.io/Blog/posts/attention_another_perspective_part5/)||
||[Rasa Algorithm Whiteboard - Attention 1: Self Attention](https://www.youtube.com/watch?v=yGTUuEx3GkA) `0:14:32`|✓|
||[Rasa Algorithm Whiteboard - Attention 2: Keys, Values, Queries](https://www.youtube.com/watch?v=tIvKXrEDMhk) `0:12:26`|✓|
||[Rasa Algorithm Whiteboard - Attention 3: Multi Head Attention](https://www.youtube.com/watch?v=23XUv0T9L5c) `0:10:55`|✓|
||[Rasa Algorithm Whiteboard: Attention 4 - Transformers](https://www.youtube.com/watch?v=EXNBy8G43MM) `0:14:34`|✓|
||[Youtube: A brief history of the Transformer architecture in NLP](https://www.youtube.com/watch?v=iH-wmtxHunk)|✓|
||[Youtube: The Transformer neural network architecture explained. “Attention is all you need” (NLP)](https://www.youtube.com/watch?v=FWFA4DGuzSc)|✓|
||[Youtube: How does a Transformer architecture combine Vision and Language? ViLBERT - NLP meets Computer Vision](https://www.youtube.com/watch?v=dd7nE4nbxN0)|✓|
||[Youtube: Strategies for pre-training the BERT-based Transformer architecture – language (and vision)](https://www.youtube.com/watch?v=dabFOBE4eZI)|✓|
||[Article: The Illustrated Transformer](https://jalammar.github.io/illustrated-transformer/)|✓|
||[Article: The Annotated Transformer](https://nlp.seas.harvard.edu/2018/04/03/attention.html)||
||[Article: A Deep Dive into the Reformer](https://www.pragmatic.ml/reformer-deep-dive/)||
||[Article: A Survey of Long-Term Context in Transformers](https://www.pragmatic.ml/a-survey-of-methods-for-incorporating-long-term-context/)||
||[Article: Why Rasa uses Sparse Layers in Transformers](https://blog.rasa.com/why-rasa-uses-sparse-layers-in-transformers/)||
||[Article: Transformer-based Encoder-Decoder Models](https://colab.research.google.com/github/patrickvonplaten/notebooks/blob/master/Encoder_Decoder_Model.ipynb)|✓|
||[Article: Understanding BigBird's Block Sparse Attention"](https://huggingface.co/blog/big-bird)|✓|
||[Article: The Transformer Family](https://lilianweng.github.io/lil-log/2020/04/07/the-transformer-family.html)||
||[Article: Hugging Face Reads - 01/2021 - Sparsity and Pruning](https://discuss.huggingface.co/t/hugging-face-reads-01-2021-sparsity-and-pruning/3144)|✓|
||[Article: Hugging Face Reads, Feb. 2021 - Long-range Transformers](https://huggingface.co/blog/long-range-transformers)|✓|
||[Article: The Transformer Explained](https://nostalgebraist.tumblr.com/post/185326092369/the-transformer-explained)|✓|
||[LSBert: A Simple Framework for Lexical Simplification \| Research Paper Walkthrough](https://www.youtube.com/watch?v=uhnKsGDyhEg) `0:20:27`|✓|
||[SpanBERT: Improving Pre-training by Representing and Predicting Spans \| Research Paper Walkthrough](https://www.youtube.com/watch?v=QUP3rMrA1mk) `0:14:21`|✓|
||[T5: Exploring Limits of Transfer Learning with Text-to-Text Transformer (Research Paper Walkthrough)](https://www.youtube.com/watch?v=91iLu6OOrwk) `0:12:47`|✓|
||[Hierarchical Transformers for Long Document Classification (Research Paper Walkthrough)](https://www.youtube.com/watch?v=3IOl5d9PZeM) `0:12:46`|✓|
||[UMass CS685 (Advanced NLP): Attention mechanisms](https://www.youtube.com/watch?v=3qdQAtfq1jU) `0:48:53`||
||[UMass CS685 (Advanced NLP): Better BERTs](https://www.youtube.com/watch?v=LfqzWrVkWak) `0:52:23`||
||[UMass CS685 (Advanced NLP): Retrieval-augmented language models](https://www.youtube.com/watch?v=B7zw0kq6554) `0:52:13`||
||[UMass CS685 (Advanced NLP): Model distillation and security threats](https://www.youtube.com/watch?v=Y1_7cLgnAps) `1:09:25`||
||[UMass CS685 (Advanced NLP): vision + language](https://www.youtube.com/watch?v=ovvHvTHCUow) `1:06:28`||
||[UMass CS685 (Advanced NLP): Intermediate fine-tuning](https://www.youtube.com/watch?v=run0nnEBVFU) `1:10:35`||
||[UMass CS685 (Advanced NLP): probe tasks](https://www.youtube.com/watch?v=y5ShdPnxjj0) `0:54:30`||
||[UMass CS685 (Advanced NLP): semantic parsing](https://www.youtube.com/watch?v=fBn1Cx5x5Rc) `0:48:49`||
||[UMass CS685 (Advanced NLP): commonsense reasoning (guest lecture by Lorraine Li)](https://www.youtube.com/watch?v=LW1HLn7_PEs) `0:58:53`||
|BERT|[Article: Deconstructing BERT](https://towardsdatascience.com/deconstructing-bert-reveals-clues-to-its-state-of-art-performance-in-nlp-tasks-76a7e828c0f1)||
||[Youtube: BERT Research Series](https://www.youtube.com/playlist?list=PLam9sigHPGwOBuH4_4fr-XvDbe5uneaf6)|✓|
||[Article: Maximizing BERT model performance](https://towardsdatascience.com/maximizing-bert-model-performance-539c762132ab)|✓|
||[Article: The Illustrated BERT, ELMo, and co. (How NLP Cracked Transfer Learning)](https://jalammar.github.io/illustrated-bert/)|✓|
||[Article: Smart Batching Tutorial - Speed Up BERT Training](https://mccormickml.com/2020/07/29/smart-batching-tutorial/)|✓|
||[Article: A review of BERT based models](https://towardsdatascience.com/a-review-of-bert-based-models-4ffdc0f15d58)||
||[Article: Understanding BERT’s Semantic Interpretations](https://www.statestitle.com/resource/understanding-berts-semantic-interpretations/)||
||[Article: Examining BERT’s raw embeddings](https://towardsdatascience.com/examining-berts-raw-embeddings-fd905cb22df7)||
|Semantic Search|[Article: Semantic Search On Documents](https://pakodas.substack.com/p/semantic-search-on-documents)||
||[7 1 Introduction to Information Retrieval 9 16](https://www.youtube.com/watch?v=kNkCfaH2rxc) `0:09:16`||
||[7 2 Term Document Incidence Matrices 8 59](https://www.youtube.com/watch?v=e81nC0LO0A8) `0:08:59`||
||[7 3 The Inverted Index 10 42](https://www.youtube.com/watch?v=Wf6HbY2PQDw) `0:10:43`||
||[7 4 Query Processing with the Inverted Index 6 43](https://www.youtube.com/watch?v=5KbynCj7yRQ) `0:06:44`||
||[7 5 The Boolean Retrieval Model 14 06](https://www.youtube.com/watch?v=TIN_02pJU-Y) `0:14:07`||
||[7 6 Phrase Queries and Positional Indexes 19 45](https://www.youtube.com/watch?v=QVVvx_Csd2I) `0:19:46`||
||[8 1 Introducing Ranked Retrieval 4 27](https://www.youtube.com/watch?v=ZrNmCtSrL48) `0:04:27`||
||[8 2 Scoring with the Jaccard Coefficient 5 06](https://www.youtube.com/watch?v=MiX8_JVP6PE) `0:05:07`||
||[8 3 Term Frequency Weighting 5 59](https://www.youtube.com/watch?v=9UXM2NXVYY0) `0:06:00`||
||[8 4 Inverse Document Frequency Weighting 10 16](https://www.youtube.com/watch?v=7nWlI_TVid0) `0:10:17`||
||[8 5 TF IDF Weighting 3 42](https://www.youtube.com/watch?v=4-P3ckZprBk) `0:03:42`||
||[8 6 The Vector Space Model 16 22](https://www.youtube.com/watch?v=o5nflzfX5tw) `0:16:23`||
||[8 7 Calculating TF IDF Cosine Scores 12 47](https://www.youtube.com/watch?v=k1tD7pYKWuM) `0:12:48`||
||[8 8 Evaluating Search Engines 9 02](https://www.youtube.com/watch?v=b7pfLpVBN84) `0:09:03`||
||[Article: Locality-sensitive Hashing and Singular to Plural Noun Conversion](https://towardsdatascience.com/locality-sensitive-hashing-and-singular-to-plural-noun-conversion-470a885d1331)||
||[Article: Haystack: The State of Search in 2021](https://medium.com/deepset-ai/haystack-the-state-of-search-in-2021-7388ecb15dfb)|✓|
||[Article: Search (Pt 1) — A Gentle Introduction](https://towardsdatascience.com/search-pt-1-a-gentle-introduction-335656c0f814)|✓|
||[Article: Search (Pt 2) — A Semantic Horse Race](https://towardsdatascience.com/search-pt-2-semantic-horse-race-5128cae7ce8d)|✓|
||[Article: Search (Pt 3) — Elastic Transformers](https://towardsdatascience.com/elastic-transformers-ae011e8f5b88)|✓|
||[Article: Semantic search using BERT embeddings](https://ajitrajasekharan.medium.com/semantic-search-using-bert-embeddings-511c5d78348e)||
||[Article: What Semantic Search Can do for You](https://medium.com/deepset-ai/what-semantic-search-can-do-for-you-ea5b1e8dfa7f)||
||[Article: How To Create Natural Language Semantic Search For Arbitrary Objects With Deep Learning](https://towardsdatascience.com/semantic-code-search-3cd6d244a39c)||
||[Article: Building a sentence embedding index with fastText and BM25](https://towardsdatascience.com/building-a-sentence-embedding-index-with-fasttext-and-bm25-f07e7148d240)|✓|
||[Article: String Matching with BERT, TF-IDF, and more!](https://www.maartengrootendorst.com/blog/polyfuzz/)|✓|
||[Article: Document search with fragment embeddings](https://towardsdatascience.com/document-search-with-fragment-embeddings-7e1d73eb0104)||
||[Article: Text Similarities : Estimate the degree of similarity between two texts](https://medium.com/@adriensieg/text-similarities-da019229c894)||
||[Article: How we used Universal Sentence Encoder and FAISS to make our search 10x smarter](https://blog.onebar.io/building-a-semantic-search-engine-using-open-source-components-e15af5ed7885)|✓|
||[Article: Using embeddings to help find similar restaurants in Search](https://bytes.swiggy.com/using-embeddings-to-help-find-similar-restaurants-in-search-1d1417dff304)||
||[Article: Evolution of and experiments with feed ranking at Swiggy](https://bytes.swiggy.com/evolution-of-and-experiments-with-feed-ranking-at-swiggy-17204769e79f)||
||[Article: Personalizing Swiggy POP Recommendations](https://bytes.swiggy.com/personalizing-swiggy-pop-recommendations-d434b6f555f9)||
||[Article: Fan(s)tastic: Search for blazing-fast results](https://bytes.swiggy.com/fan-s-tastic-search-for-blazing-fast-results-46aa706313ef)||
||[Article: Find My Food: Semantic Embeddings for Food Search Using Siamese Networks](https://bytes.swiggy.com/find-my-food-semantic-embeddings-for-food-search-using-siamese-networks-abb55be0b639)||
||[Article: Learning To Rank Restaurants](https://bytes.swiggy.com/learning-to-rank-restaurants-c6a69ba4b330)||
||[Article: Comparison Of Ngram Fuzzy Matching Approaches](http://chappers.github.io/web%20micro%20log/2015/04/29/comparison-of-ngram-fuzzy-matching-approaches/)||
||[Article: String similarity — the basic know your algorithms guide!](https://itnext.io/string-similarity-the-basic-know-your-algorithms-guide-3de3d7346227)||
||[Youtube: Billion-scale Approximate Nearest Neighbor Search](https://www.youtube.com/watch?v=SKrHs03i08Q)||
||[Youtube: Data Science - Fuzzy Record Matching](https://www.youtube.com/watch?v=YhrKvEjpBYo)|✓|
||[Youtube: Minimum Edit Distance Dynamic Programming](https://www.youtube.com/watch?v=We3YDTzNXEk)|✓|
||[Youtube: Cheuk Ting Ho - Fuzzy Matching Smart Way of Finding Similar Names Using Fuzzywuzzy](https://www.youtube.com/watch?v=NRAqIjXaZvw)|✓|
||[Youtube: What's in a Name? Fast Fuzzy String Matching - Seth Verrinder & Kyle Putnam - Midwest.io 2015](https://www.youtube.com/watch?v=s0YSKiFdj8Q)|✓|
||[Youtube: Jiaqi Liu Fuzzy Search Algorithms How and When to Use Them PyCon 2017](https://www.youtube.com/watch?v=kTS2b6pGElE)|✓|
||[Youtube: 1 + 1 = 1 or Record Deduplication with Python \| Flávio Juvenal @ PyBay2018](https://www.youtube.com/watch?v=McsTWXeURhA)|✓|
||[Youtube: Mike Mull: The Art and Science of Data Matching](https://www.youtube.com/watch?v=Y-nYEOgq3YE)|✓|
||[Youtube: Record linkage: Join for real life by Rhydwyn Mcguire](https://youtu.be/cEcVIjyHfiQ)|✓|
||[Youtube: Approximate nearest neighbors and vector models, introduction to Annoy](https://www.youtube.com/watch?v=QkCCyLW0ehU)|✓|
||[Advanced Information Retrieval 2021 - 2021 Course Introduction](https://www.youtube.com/watch?v=6FNISntK6Sk) `0:21:39`|✓|
||[Advanced Information Retrieval 2021: Crash Course IR - Fundamentals](https://www.youtube.com/watch?v=ZC94KSDd4DM) `0:46:31`|✓|
||[Advanced Information Retrieval 2021: Crash Course IR - Evaluation](https://www.youtube.com/watch?v=EiDltQZ713I) `0:37:15`||
||[Advanced Information Retrieval 2021: Crash Course IR - Test Collections](https://www.youtube.com/watch?v=pRRveh3D0pI) `0:51:12`||
||[Advanced Information Retrieval 2021: Word Representation Learning](https://www.youtube.com/watch?v=f3nM6DKVwug) `0:42:02`||
||[Advanced Information Retrieval 2021: Sequence Modelling with CNNs and RNNs](https://www.youtube.com/watch?v=7Bfj_UuJh38) `0:55:04`||
||[Advanced Information Retrieval 2021: Transformer and BERT Pre-training](https://www.youtube.com/watch?v=Mt7UJNKxscA) `0:47:15`||
||[Advanced Information Retrieval 2021: Introduction to Neural Re-Ranking](https://www.youtube.com/watch?v=GSixIsI1eZE) `0:59:20`||
||[Advanced Information Retrieval 2021: Transformer Contextualized Re-Ranking](https://www.youtube.com/watch?v=Fle-jKzV-Rk) `0:49:06`||
||[Advanced Information Retrieval 2021: Domain Specific Applications](https://www.youtube.com/watch?v=rHXTpHIiq6U) `0:38:32`||
||[Advanced Information Retrieval 2021: Dense Retrieval ❤ Knowledge Distillation](https://www.youtube.com/watch?v=EJ_7Gx6amt8) `0:59:28`||
||[Introduction to Dense Text Representations - Part 1](https://www.youtube.com/watch?v=qmN1fJ7Fdmo) `0:12:56`|✓|
||[Introduction to Dense Text Representations - Part 2](https://www.youtube.com/watch?v=0RV-q0--NLs) `0:23:13`|✓|
||[Introduction to Dense Text Representation - Part 3](https://www.youtube.com/watch?v=t4Gf4LruVZ4) `0:38:07`|✓|
||[Training State-of-the-Art Sentence Embedding Models](https://www.youtube.com/watch?v=RHXZKUr8qOY) `0:43:43`||
|NER|[Article: Unsupervised NER using BERT](https://towardsdatascience.com/unsupervised-ner-using-bert-2d7af5f90b8a)||
||[Introduction to Named Entity Tagging](https://www.youtube.com/watch?v=7CRyqwCZFY0) `0:05:06`||
||[Introduction to Part of Speech Tagging](https://www.youtube.com/watch?v=WQYt3DRLpuQ) `0:09:03`||
||[Article: Zero shot NER using RoBERTA](https://krishansubudhi.github.io/deeplearning/2020/06/25/ROBERTA-zeroshot-NER.html)||
||[Article: Existing Tools for Named Entity Recognition](https://mccormickml.com/2020/05/19/existing-ner-tools/)|✓|
||[Article: Solving NER with BERT for any entity type with very little training data (compared to past approaches)](https://ajitrajasekharan.medium.com/solving-ner-with-bert-for-any-entity-type-with-very-little-training-data-compared-to-past-50094e2e3df9)||
||[Article: What is Hidden in the Hidden Markov Model?](https://medium.com/acing-ai/what-is-hidden-in-the-hidden-markov-models-eee7bab45ac3)||
||[Article: Part of Speech Tagging with Hidden Markov Chain Models](https://towardsdatascience.com/part-of-speech-tagging-with-hidden-markov-chain-models-e9fccc835c0e)||
||[Article: Named-Entity evaluation metrics based on entity-level](http://www.davidsbatista.net/blog/2018/05/09/Named_Entity_Evaluation/)||
|Summarization|[Article: Automatically Summarize Trump’s State of the Union Address](https://towardsdatascience.com/automatically-summarize-trumps-state-of-the-union-address-6757c6af6534)||
||[Leveraging BERT for Extractive Text Summarization on Lectures \| Research Paper Walkthrough](https://www.youtube.com/watch?v=JU6eSLsp6vI) `0:20:10`|✓|
||[A Supervised Approach to Extractive Summarisation of Scientific Papers \| Research Paper Walkthrough](https://www.youtube.com/watch?v=73uWfopdjoc) `0:19:01`|✓|
||[Text Summarization of COVID-19 Medical Articles using BERT and GPT-2 \| Research Paper Walkthrough](https://www.youtube.com/watch?v=kC5kP1dPAzc) `0:21:52`|✓|
||[Extractive & Abstractive Summarization with Transformer Language Models \| Research Paper Walkthrough](https://www.youtube.com/watch?v=2IzXW3Ypks0) `0:16:58`|✓|
||[Unsupervised Multi-Document Summarization using Neural Document Model \| Research Paper Walkthrough](https://www.youtube.com/watch?v=qOoAlI5hpFk) `0:15:11`|✓|
||[SummPip: Multi-Document Summarization with Sentence Graph Compression \| Research Paper Walkthrough](https://www.youtube.com/watch?v=1jwUOMQVCo4) `0:16:54`|✓|
||[PEGASUS: Pre-training with Gap-Sentences for Abstractive Summarization \| Research Paper Walkthrough](https://www.youtube.com/watch?v=QY8oZxS0txs) `0:15:04`|✓|
||[On Generating Extended Summaries of Long Documents (Research Paper Walkthrough)](https://www.youtube.com/watch?v=Inc63mLLInA) `0:14:24`|✓|
|Multilingual NLP|[Article: How to Apply BERT to Arabic and Other Languages](https://mccormickml.com/2020/10/05/multilingual-bert/)||
||[Article: A survey of cross-lingual word embedding models](https://ruder.io/cross-lingual-embeddings/)||
||[Article: Unsupervised Cross-lingual Representation Learning](https://ruder.io/unsupervised-cross-lingual-learning/)||
||[Article: DaCy: New Fast and Efficient State-of-the-Art in Danish NLP!](https://www.kennethenevoldsen.com/post/new-fast-and-efficient-state-of-the-art-in-danish-nlp/)||
||[Article: Why You Should Do NLP Beyond English](https://ruder.io/nlp-beyond-english/)||
||[CMU: Low-resource NLP Bootcamp 2020](https://www.youtube.com/playlist?list=PL8PYTP1V4I8A1CpCzURXAUa6H4HO7PF2c)|✓|
||[CMU Multilingual NLP 2020](http://demo.clab.cs.cmu.edu/11737fa20/)|✓|
|Domain Adaptation|[Article: Domain-Specific BERT Models](https://mccormickml.com/2020/06/22/domain-specific-bert-tutorial/)|✓|
|Text Generation|[Article: Text Generation](http://veredshwartz.blogspot.com/2019/08/text-generation.html)||
||[UMass CS685 (Advanced NLP): Text generation decoding and evaluation](https://www.youtube.com/watch?v=E_zJKsNMAB0) `1:02:32`||
||[UMass CS685 (Advanced NLP): Paraphrase generation](https://www.youtube.com/watch?v=2wcrZs5PsZo) `1:10:59`||
||[Article: The Illustrated GPT-2 (Visualizing Transformer Language Models)](https://jalammar.github.io/illustrated-gpt2/)|✓|
||[Article: Controlling Text Generation with Plug and Play Language Models](https://eng.uber.com/pplm/)|✓|
||[Article: Poor man’s GPT-3: Few shot text generation with T5 Transformer](https://towardsdatascience.com/poor-mans-gpt-3-few-shot-text-generation-with-t5-transformer-51f1b01f843e)||
||[Article: Reducing Toxicity in Language Models](https://lilianweng.github.io/lil-log/2021/03/21/reducing-toxicity-in-language-models.html)||
||[Article: How to Implement a Beam Search Decoder for Natural Language Processing](https://machinelearningmastery.com/beam-search-decoder-natural-language-processing/)||
||[Article: Perplexity Intuition (and its derivation)](https://towardsdatascience.com/perplexity-intuition-and-derivation-105dd481c8f3)||
||[Article: The Annotated GPT-2](https://amaarora.github.io/2020/02/18/annotatedGPT2.html)||
||[Datacamp: Natural Language Generation in Python](https://www.datacamp.com/courses/natural-language-generation-in-python)|✓|
||[BLEURT: Learning Robust Metrics for Text Generation \| Research Paper Walkthrough](https://www.youtube.com/watch?v=9lWxwfMKAdM) `0:13:38`|✓|
||[Evaluation of Text Generation: A Survey \| Human-Centric Evaluations \| Research Paper Walkthrough](https://www.youtube.com/watch?v=-CIlz-5um7U) `0:15:54`|✓|
||[Nucleus Sampling: The Curious Case of Neural Text Degeneration (Research Paper Walkthrough)](https://www.youtube.com/watch?v=dCORspO2yVY) `0:12:48`|✓|
|Spelling Correction|[Article: Rebuilding the most popular spellchecker. Part 1](https://zverok.github.io/blog/2021-01-05-spellchecker-1.html)|✓|
||[Article: Rebuilding the spellchecker, pt.2: Just look in the dictionary, they said!](https://zverok.github.io/blog/2021-01-09-spellchecker-2.html)|✓|
||[Article: Rebuilding the spellchecker, pt.3: Lookup—compounds and solutions](https://zverok.github.io/blog/2021-01-14-spellchecker-3.html)|✓|
||[Article: Rebuilding the spellchecker, pt.4: Introduction to suggest algorithm](https://zverok.github.io/blog/2021-01-21-spellchecker-4.html)||
||[Article: Rebuilding the spellchecker: Hunspell and the order of edits](https://zverok.github.io/blog/2021-01-28-spellchecker-5.html)||
||[Article: How to Use n-gram Models to Detect Format Errors in Datasets](https://towardsdatascience.com/how-to-use-n-gram-models-to-detect-format-errors-in-datasets-bb2171842499)||
||[Article: Spelling Correction: How to make an accurate and fast corrector](https://towardsdatascience.com/spelling-correction-how-to-make-an-accurate-and-fast-corrector-dc6d0bcbba5f)|✓|
||[Article: Speller100: Zero-shot spelling correction at scale for 100-plus languages](https://www.microsoft.com/en-us/research/blog/speller100-zero-shot-spelling-correction-at-scale-for-100-plus-languages/)|✓|
||[Article: Breaking the spell of the spelling check](https://www.slideshare.net/KhrystynaKulak/breaking-the-spell-of-the-spelling-check)|✓|
||[Article: How to Write a Spelling Corrector](https://norvig.com/spell-correct.html)|✓|
||[Article: Spellchecking by computer](https://www.dcs.bbk.ac.uk/~roger/spellchecking.html)|✓|
||[Article: A Spellchecker Used to Be a Major Feat of Software Engineering](https://prog21.dadgum.com/29.html)|✓|
||[Article: 1000x Faster Spelling Correction algorithm (2012)](https://wolfgarbe.medium.com/1000x-faster-spelling-correction-algorithm-2012-8701fcd87a5f)|✓|
||[Youtube: How to build a custom spell checker using python NLP](https://www.youtube.com/watch?v=LEA3TDV98zE)|✓|
|Topic Modeling|[Article: Automatic Topic Labeling in 2018: History and Trends](https://medium.com/datadriveninvestor/automatic-topic-labeling-in-2018-history-and-trends-29c128cec17)||
||[Youtube: Applied ML 2020 - 16 - Topic models for text data](https://www.youtube.com/watch?v=xdmFx4-3Ukw) `1:18:34`|✓|
||[Youtube: Extracting topics from reviews using NLP - Dr. Tal Perri](https://www.youtube.com/watch?v=NVZho0VU53g)|✓|
||[Article: Interactive Topic Modeling with BERTopic](https://towardsdatascience.com/interactive-topic-modeling-with-bertopic-1ea55e7d73d8)||
||[Article: Understanding Climate Change Domains through Topic Modeling](https://omdena.com/blog/topic-modeling/)||
||[Article: When Topic Modeling is Part of the Text Pre-processing](https://towardsdatascience.com/when-topic-modeling-is-part-of-the-text-pre-processing-294b58d35514)||
||[Article: pyLDAvis: Topic Modelling Exploration Tool That Every NLP Data Scientist Should Know](https://neptune.ai/blog/pyldavis-topic-modelling-exploration-tool-that-every-nlp-data-scientist-should-know)||
||[Article: Topic Modeling with BERT](https://www.maartengrootendorst.com/blog/bertopic/)|✓|
|Zero-Shot NLP|[Article: Zero-Shot Learning in Modern NLP](https://joeddav.github.io/blog/2020/05/29/ZSL.html)|✓|
||[Article: Improved Few-Shot Text classification](https://maelfabien.github.io/machinelearning/NLP_6/)||
||[Article: Text classification from few training examples](https://maelfabien.github.io/machinelearning/NLP_5/)||
||[Article: Pattern-Exploiting Training](https://www.pragmatic.ml/pet/)||
|Paraphrasing|[Article: Paraphrasing](http://veredshwartz.blogspot.com/2017/08/paraphrasing.html)||
|Conversational AI|[Article: What makes a good conversation?](http://www.abigailsee.com/2019/08/13/what-makes-a-good-conversation.html)|✓|
||[Datacamp: Building Chatbots in Python](https://www.datacamp.com/courses/building-chatbots-in-python)|✓|
||[Rasa Algorithm Whiteboard - Diet Architecture 1: How it Works](https://www.youtube.com/watch?v=vWStcJDuOUk) `0:23:27`|✓|
||[Rasa Algorithm Whiteboard - Diet Architecture 2: Design Decisions](https://www.youtube.com/watch?v=KUGGuJ0aTL8) `0:15:06`|✓|
||[Rasa Algorithm Whiteboard - Diet Architecture 3: Benchmarking](https://www.youtube.com/watch?v=oj5oPGDlep4) `0:22:34`|✓|
||[Rasa Algorithm Whiteboard - TED Policy](https://www.youtube.com/watch?v=j90NvurJI4I) `0:16:10`|✓|
||[Rasa Algorithm Whiteboard - TED in Practice](https://www.youtube.com/watch?v=d8JMJMvErSg) `0:14:54`|✓|
||[Rasa Algorithm Whiteboard - Response Selection](https://www.youtube.com/watch?v=2jvyWngHEJM) `0:12:07`|✓|
||[Rasa Algorithm Whiteboard - Response Selection: Implementation](https://www.youtube.com/watch?v=0tXkFScW0hE) `0:09:25`|✓|
||[Dialog 1 Overview](https://www.youtube.com/watch?v=2zCfh3o88K8) `0:03:11`||
||[Dialogue 2 Human Conversation](https://www.youtube.com/watch?v=n0MpIyqZjZU) `0:10:31`||
||[Dialogue 3 ELIZA](https://www.youtube.com/watch?v=veyhOF4xFUo) `0:09:27`||
||[Dialogue 4 Corpus Chatbots](https://www.youtube.com/watch?v=GB3dOuV6f4s) `0:09:35`||
||[Dialogue 5 Frame Based Dialogue](https://www.youtube.com/watch?v=A4JndTnxoqE) `0:07:41`||
||[Dialogue 6 Dialogue State Architecture](https://www.youtube.com/watch?v=nQKMKzMXZks) `0:08:58`||
||[Dialogue 7 Dialogue State Architecture Policy and Generation](https://www.youtube.com/watch?v=ptVx38To1yM) `0:08:23`||
||[Dialogue 8 Evaluation](https://www.youtube.com/watch?v=iJet3n3gAso) `0:04:38`||
||[Dialogue 9 Design and Ethical Issues](https://www.youtube.com/watch?v=bX06GTiK3lQ) `0:03:29`||
||[YouTube: Level 3 AI Assistant Conference 2020](https://www.youtube.com/playlist?list=PL75e0qA87dlGP51yZ0dyNup-vwu0Rlv86)|✓|
||[Youtube: Conversational AI with Transformers and Rule-Based Systems](https://www.youtube.com/watch?v=_-rCUnPBlME) `1:53:24`|✓|
||[TOD-BERT: Pre-trained Transformers for Task-Oriented Dialogue Systems (Research Paper Walkthrough)](https://www.youtube.com/watch?v=z3Pe0cJUvO0) `0:15:25`|✓|
||[DialoGPT: Generative Training for Conversational Response Generation (Research Paper Walkthrough)](https://www.youtube.com/watch?v=Zo679MYoJns) `0:13:17`|✓|
||[Youtube: Transformers 🤗 to Rule Them All? Under the Hood of the AI Recruiter Chatbot 🤖, with Keisuke Inoue](https://www.youtube.com/watch?v=aYYaDFXLF3c)|✓|
||[Youtube: Chatbots Revisted \| by Abhishek Thakur \| Kaggle Days Warsaw](https://www.youtube.com/watch?v=yQqyl0PZ2Wg)|✓|
|Sentiment Analysis|[Article: NLP: Pre-trained Sentiment Analysis](https://medium.com/@b.terryjack/nlp-pre-trained-sentiment-analysis-1eb52a9d742c)|✓|
||[Article: Key topics extraction and contextual sentiment of users reviews](https://tech.goibibo.com/key-topics-extraction-and-contextual-sentiment-of-users-reviews-20e63c0fd7ca)|✓|
||[Article: Aspect-Based Opinion Mining (NLP with Python)](https://medium.com/@pmin91/aspect-based-opinion-mining-nlp-with-python-a53eb4752800)||
||[Datacamp: Sentiment Analysis in Python](https://www.datacamp.com/courses/sentiment-analysis-in-python)|✓|
||[Youtube: Sentiment Analysis: Key Milestones, Challenges and New Directions](https://www.youtube.com/watch?v=YAqjf7to-lU)|✓|
||[Talk: EmoTag1200: Understanding the Association between Emojis and Emotions](https://slideslive.com/38939357/emotag1200-understanding-the-association-between-emojis-and-emotions)|✓|
||[Youtube: Real life aspects of opinion sentiment analysis within customer reviews - Dr. Jonathan Yaniv](https://www.youtube.com/watch?v=CVn0yR49yxA)|✓|
||[Youtube: Deep Learning Methods for Emotion Detection from Text - Dr. Liron Allerhand](https://www.youtube.com/watch?v=DzAZ2Bq_dgU)|✓|
|Text Classification|[Article: Multi-Label Text Classification](https://radiant-brushlands-42789.herokuapp.com/towardsdatascience.com/multi-label-text-classification-5c505fdedca8)|✓|
|Text Clustering|[Article: Document clustering](https://theaisummer.com/Document_clustering/)|✓|
||[Datacamp: Clustering Methods with SciPy](https://www.datacamp.com/courses/clustering-methods-with-scipy)|✓|
||[Article: Gaussian Mixture Models for Clustering](https://towardsdatascience.com/gaussian-mixture-models-for-clustering-3f62d0da675)||
|Explainability|[Article: Explain NLP models with LIME & SHAP](https://towardsdatascience.com/explain-nlp-models-with-lime-shap-5c5a9f84d59b)||
||[Youtube: Explainability for Natural Language Processing](https://www.youtube.com/watch?v=3tnrGe_JA0s)||
|Usecases|[Article: How to solve 90% of NLP problems: a step-by-step guide](https://mlpowered.com/posts/how-to-solve-90-nlp/)|✓|
||[Article: Using an NLP Q&A System To Study Climate Hazards and Nature-Based Solutions](https://medium.com/omdena/using-an-nlp-q-a-system-to-study-climate-hazards-and-nature-based-solutions-c191920766d7)|✓|
||[Article: How To Do Things With Words. And Counters](https://nbviewer.jupyter.org/url/norvig.com/ipython/How%20to%20Do%20Things%20with%20Words.ipynb)||
||[Talk: Practical NLP for the Real World](https://www.infoq.com/presentations/practical-nlp/)|✓|
||[Youtube: Design Considerations for building ML-Powered Search Applications - Mark Moyou](https://www.youtube.com/watch?v=q7xSuKq31Tk)|✓|
||[Youtube: Analyze Customer Feedback in Minutes, Not Months](https://www.youtube.com/watch?v=RMamDDeIFeU)|✓|
||[Youtube: NLP in Feedback Analysis - Yue Ning](https://www.youtube.com/watch?v=V8mCS1XHyTI)|✓|
||[Youtube: Productionizing an unsupervised machine learning model to understand customer feedback](https://youtu.be/YLTLdEiJcq0)|✓|
||[Youtube: Bringing innovation to online retail: automating customer service with NLP](https://www.youtube.com/watch?v=beB77I0leY4)|✓|
||[Youtube: Transform customer service with machine learning (Google Cloud Next '17)](https://www.youtube.com/watch?v=bRnN4pBAsfc)|✓|
||[Youtube: Artificial Intelligence and Natural Language Processing in E-Commerce by Katherine Munro \| smec](https://www.youtube.com/watch?v=r7JI_5mt3To)|✓|
||[Youtube: The giant leaps in language technology -- and who's left behind \| Kalika Bali](https://www.youtube.com/watch?v=Mkelhs_OVMc)|✓|
|Machine Translation|[Article: Introducing Translatotron: An End-to-End Speech-to-Speech Translation Model](https://ai.googleblog.com/2019/05/introducing-translatotron-end-to-end.html)|✓|
||[Datacamp: Machine Translation in Python](https://www.datacamp.com/courses/machine-translation-in-python)|✓|
|Libraries|[Datacamp: Advanced NLP with spaCy](https://www.datacamp.com/courses/advanced-nlp-with-spacy)|✓|
||[Spacy Tutorial](https://www.youtube.com/watch?v=cgwDB1THUBY&list=PLJ39kWiJXSiz1LK8d_fyxb7FTn4mBYOsD)|✓|
||[Youtube: spaCy v3.0: Bringing State-of-the-art NLP from Prototype to Production](https://globalai.live/october-sessions-natural-language-processing/keynote-2/) `00:22:40`|✓|
||[Youtube: SpaCy for Digital Humanities with Python Tutorials](https://www.youtube.com/playlist?list=PL2VXyKi-KpYvuOdPwXR-FZfmZ0hjoNSUo)|✓|
||[TextBlob Tutorial Series](https://www.youtube.com/watch?v=4k2cqUIjb8g&list=PLJ39kWiJXSizrWpC7hcu1_mLNxEPzN0gF)|✓|
||[YouTube: Intro to NLP with Spacy](https://www.youtube.com/playlist?list=PLBmcuObd5An559HbDr_alBnwVsGq-7uTF)|✓|
|Huggingface|[How-to Use HuggingFace's Datasets - Transformers From Scratch #1](https://www.youtube.com/watch?v=GhGUZrcB-WM) `0:14:21`||
||[Build a Custom Transformer Tokenizer - Transformers From Scratch #2](https://www.youtube.com/watch?v=JIeAB8vvBQo) `0:14:17`||
||[Building MLM Training Input Pipeline - Transformers From Scratch #3](https://www.youtube.com/watch?v=heTYbpr9mD8) `0:23:11`||
||[Training and Testing an Italian BERT - Transformers From Scratch #4](https://www.youtube.com/watch?v=35Pdoyi6ZoQ) `0:30:38`||
|Audio|[Datacamp: Spoken Language Processing in Python](https://www.datacamp.com/courses/spoken-language-processing-in-python)||
||[Youtube: Librosa Audio and Music Signal Analysis in Python \| SciPy 2015 \| Brian McFee](https://www.youtube.com/watch?v=MhOdbtPhbLU)|✓|
||[Youtube: Deep Learning (for Audio) with Python](https://www.youtube.com/playlist?list=PL-wATfeyAMNrtbkCNsLcpoAyBBRJZVlnf)|✓|
|Gibberish Detection|[Youtube: Gibberish Detector](https://www.youtube.com/watch?v=l15C8UJu17s)|✓|
|Constituency Parsing|[Youtube: NLP Lecture 7 Constituency Parsing](https://www.youtube.com/playlist?list=PLr9TFf9GjancAHiiP5cqGmYsZad99Uf_h)|✓|
||[Youtube: LING 83 Teaching Video: Constituency Parsing](https://www.youtube.com/watch?v=G_bd2z4mIiI)|✓|
|Question Answering|[UMass CS685 (Advanced NLP): Question answering](https://www.youtube.com/watch?v=nfHBN2D47rc) `0:59:50`||
|Data Annotation|[UMass CS685 (Advanced NLP): Crowdsourced text data collection](https://www.youtube.com/watch?v=ETz6liqzMXA) `0:58:31`||
|Ethics|[UMass CS685 (Advanced NLP): ethics in NLP](https://www.youtube.com/watch?v=eOHTvpsuEL4) `0:56:57`||
</details>
