A curated list of amazing awesome online courses and tutorials in AI/ML, big data analytics and software systems engineering.
β Software
Courses and tutorials on software engineering, software systems, software infrastructure, modern DevOps.
- Introduction to Linux (The Linux Foundation) - More important than diving into a course on software engineering in Python, C/C++ or Java, its better to get started with an introduction to Linux on which powers the servers of the world. Bash shell scripting will go a long way for a programmer/computer scientist.
- All about Git - Working with Github and GitLab (Udemy) - Git is the cource code management tool of choice for most programmers. Learning the ecosystem (markdown, github and gitlab, issues, github pages, gitbooks, wikis etc.) around git is very helpful in making you a productive programmer.
- Git Handbook - A good read. Introduces git quickly.
- Github Learning Lab - Hands on tutorials for the github ecosystem in particular.
- Containerisation
- Learn Docker & Containers using Interactive Browser-Based Scenarios
- Containerisation: A Technical Overview - My own slides from sometime back on containerisation technologies. It covers briefly some aspects of history, technologies, performance and security.
- UI/UX, Modern Front-end Stack, Visualisation
- awesome-viz - A reading list of UI and viz related resources that my interns use.
β AI
Courses on AI.
- CS188.1x: Artificial Intelligence (Class Central: Berkeley: Dan Klein and Pieter Abbeel) - An excellent introduction to AI that should be the foundation for any AI education. Instead of overly focusing on Deep Learning, it covers the broader domain of AI technologies and fundamentals which sets up a better understanding of AI. Coursework is very well done too.
- Introduction to Data Science in Python (UMichigan)
- Intro to TensorFlow for Deep Learning (Udacity: Tensorflow Team) - The 2 deep learning frameworks/libaries that are ahead these days are TF and pytorch. pytorch is increasingly more popular with the NLP community. TF though has very nice libaries on top like Keras. Both are here to stay. This course introduces TF for deep learning and is by the TF team themselves.
- Intro to Google Colab - Special mention to this part of the course which gives an introduction to using Google Colab, a free platform to create a iPython notebook, learn deep learning and run on a free GPU in the cloud.
β NLP
Courses and tutorials on NLP.
- BERT
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (Jacob Devlin) - A set of slides explaining BERT by the author himself.
- BERT Explained: State of the art language model for NLP - A medium blog post explaining BERT. It's either the first of second on a Google search so you know it's pitched at a good level to read.
- A Primer in BERTology: What we know about how BERT works - Anna Rogers, Olga Kovaleva, Anna Rumshisky (2020). A Primer in BERTology: What we know about how BERT works. arXiv. A later and more deep technical study of BERT.
β Data Science
Courses, tutorials and resources on data science.
- Foundations of Data Analysis (UTexas) - A more statistics-centric introduction to data analysis. The tooling was R rather than python which was not ideal. However, the course introduces a few important statistics concepts.
- Streamlit - Go from data science and machine learning analysis to apps in a few lines of python code with this library.