← Back to Timeline
Week 0: Prerequisites

Python & ML Foundations

Getting up to speed with Python, data libraries, and fundamental ML algorithms before we dive into RL.

Environment Setup

Before starting with a programming language, we'll set up an IDE. Basically, these are programming environments where you would write your code (looks cool :) ). We recommend VS Code, but feel free to use any IDE of your choice. We'll also set up Anaconda for managing Python packages, and optionally Google Colab if you prefer working in the cloud.

Getting Started with Python in VS Code

Official setup guide for the IDE

Anaconda: Installation & Using Conda

Managing packages and environments with Conda

Google Colab Tutorial for Beginners

Introduction to cloud-based Jupyter notebooks

Version Control (Git & GitHub)

Git is a version control system that lets you track changes in your code and collaborate with others. GitHub is where we'll host our project repositories. You'll be using these throughout the project to submit assignments and collaborate with your team.

A Brief Introduction to Git for Beginners

Basic Git concepts and workflow

How to Upload Files and Folders to GitHub

Practical guide for using the GitHub UI

Python Basics

Python is the language we'll use for everything in this project, from simple scripts to training RL agents. Make sure you're comfortable with the fundamentals: variables, loops, functions, and especially classes (OOPs), since most ML libraries are built around them. If you already know Python, skim through these as a refresher.

W3Schools Python Tutorial

Interactive reference for Python syntax and concepts

Learn Python: Full Course for Beginners

Comprehensive beginner-friendly full course

Everything About Python (Medium)

Detailed article covering Python fundamentals

NumPy & Matplotlib

NumPy is the backbone of numerical computing in Python. You'll use it for everything from matrix operations to handling environment states. Matplotlib lets you visualize training curves, rewards, and agent behavior. Both are essential tools you'll use daily.

W3Schools NumPy Tutorial

Interactive NumPy reference

NumPy Tutorial for Beginners

Video walkthrough of NumPy array operations

W3Schools Matplotlib Tutorial

Interactive Matplotlib reference

Matplotlib Crash Course

Quick introduction to data visualization in Python

Mathematics (Probability)

Reinforcement Learning is built on probability theory. Understanding Bayes' theorem, probability distributions, and the law of large numbers will help you grasp why RL algorithms work the way they do. Don't worry, we only need the intuition, not rigorous proofs.

Bayes Theorem: 3Blue1Brown

Beautiful visual explanation of Bayes' theorem

Probability Distributions Playlist

Focused playlist on probability distributions (Watch video 1, 3, 5, 6 from the playlist)

Expected Values

What is expected value of a distribution?

Law of Large Numbers

Understanding convergence and statistical foundations

Machine Learning Foundations

Before jumping into RL, it helps to understand how machines learn from data. Linear and logistic regression are the simplest ML algorithms and introduce key concepts like cost functions, gradient descent, and overfitting that carry over directly to deep RL.

ML Zero to Hero: Part 1

Intro to Machine Learning concepts

Linear Regression: Comprehensive Guide

Analytics Vidhya deep-dive on linear regression

Logistic Regression: StatQuest

Clear visual explanation of logistic regression

Logistic Regression: Conceptual Guide

Analytics Vidhya beginner-friendly article

Confusion Matrix Explained

Understanding evaluation metrics for classification

Neural Networks

Neural networks are the function approximators that make deep RL possible. In this project, we'll use them as policy networks (PPO) and world models. Understanding how a basic neural net learns through backpropagation is essential, and the 3Blue1Brown series is a must-watch.

Intro to Neural Networks: Part 1

Deep Learning Demystified on Medium

Intro to Neural Networks: Part 2

Continuation: backpropagation and training

Understanding CNNs

Convolutional Neural Networks overview

PyTorch Basics Tutorial

Official PyTorch quickstart for building neural networks

TensorFlow Quickstart

Official TensorFlow beginner tutorial

Scikit-learn Model Building

GeeksforGeeks guide to scikit-learn