❤️ What: I love online learning; it feeds my curiosity and gives me the joy of exploration with freedom. I started my MOOC journey back in 2013 on Edx with Harvard's famous course called CS50. Ever since, I have taken many courses spanning many diverse fields. This repo contains relevant material about the MOOC I have taken.
🗄️ Why this Repo: A few years ago, I found that I could learn more efficiently by taking notes and sharing my progress. As I later found out, this personal finding is backed by science. In the book "Willpower", social psychologist Baumeister wrote extensively about the power of tracking progress, pre-commitment, and writing. Following this, I have started taking notes and recording my progress.
⚙️ My Learning Mechanism: There are two often-cited styles of learning: i) by reading books or taking courses and solving exercises, ii) directly delving into a related project or a problem, and learning by doing. We can think of these two as supervised (more structured feedback) and unsupervised (you have to create your structure and signal) learning. However, I think that a combination of these two -- pre-training on courses/books and fine-tuning on projects/tasks -- is the more optimal solution.
This combination consists of two steps. Start by taking/reading a few relevant courses/books quickly, and the aim is to complete the course/book as soon as possible. Start working on a project once I'm familiar with its basics. Then, I will keep revisiting it as I do more work on the project. For instance, I want to draw new types of plots for a paper, and I am trying to figure out how. I would start by reading Matplotlib documentation or taking a small MOOC (along with playing with some toy examples) and then move on to the task at hand.
- 📕 Book - Deep Learning Book by Aaron Courville, Ian Goodfellow, and Yoshua Bengio
- Part I: Applied Math and Machine Learning Basics
- Part II: Modern Practical Deep Networks
- Part III: Deep Learning Research
- 💻 DataCamp - Coding Best Practices with Python
- Writing Efficient Python Code
- Writing Efficient Code with pandas
- Writing Functions in Python
- Working with the Class System in Python
- Creating Robust Workflows in Python
- Software Engineering for Data Scientists in Python
- Unit Testing for Data Science in Python
- ✍🏼 Stanford and Lagunita - Writing in Science
- 📉 Stanford and Lagunita - Statistical Reasoning
- 🤖 Coursera - Deep Learning Specialization
- Course 1: Neural Networks and Deep Learning
- Course 2: Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
- Course 3: Structuring Machine Learning Projects
- Course 4: Convolutional Neural Networks
- Course 5: Sequence Models
- ⚙️ Facebook and Udacity - Pytorch Challenge
- 🕸️ Udacity - ND0044 - Full Stack NanoDegree
- SQL and Data Modeling for the Web
- API Development and Documentation
- Identity Access Management
- Server Deployment and Containerization
- 🏧 Harvard and Edx - CS50's Introduction to Computer Science
- 🔘 UT Austin and Edx - Embedded Systems - Shape The World: Microcontroller
- 📊 DataCamp - Data Visulization with Python
- Course 1: Introduction to Data Visualization with Matplotlib
- 🈹 Coursera - Natural Language Processing
- Natural Language Processing with Classification and Vector Spaces
- ❌ Standford - CS20SI Tensorflow for Research