Become a data analyst by writing code and understanding the systems behind your analysis, not just clicking around demo dashboards. In this rigorous learning path you'll build a strong foundation in Python, SQL, Pandas, and Git, then learn to collect, clean, analyze, and visualize real data with industry-standard tools like Pandas and Power BI.
Overview
Syllabus
- Learn Python for Beginners — Learn Python from scratch with hands-on lessons covering functions, loops, data structures, debugging, and problem solving.
- Learn Linux — Never fear a Linux terminal again. Navigate the filesystem, inspect processes, and automate everyday developer tasks.
- Build a BookBot in Python — Build your first local command-line app and use the real tools developers use every day.
- Learn Git — Don't be the developer that uses Git to simply add, commit, push, and pray. Learn how it works under the hood.
- Learn SQL — Get dangerous with relational databases: query, filter, join, and aggregate data without hiding behind an ORM.
- Learn Object Oriented Programming in Python — Use classes when they help, skip the complexity when they don't, and learn OOP as a practical way to organize code.
- Build Asteroids using Python and Pygame — Make a real arcade game while practicing OOP, vectors, collision detection, and game loops.
- Learn Functional Programming in Python — Add functional programming to your toolbox without pretending Python is Haskell.
- Build an AI Agent in Python — Build a tiny coding agent that can read files, edit code, run Python, and loop on feedback.
- Learn HTTP Clients in Python — Call real APIs, parse JSON, handle errors, and make HTTP feel boring in Python.
- Build a Web Scraper in Python — Build an SEO-flavored crawler in Python that maps internal links and teaches you how scraping really works.
- Learn Pandas — Turn messy CSVs, JSON, and event logs into clean, analysis-ready data with Pandas and Polars.
- Learn Power BI — Turn messy data into dashboards people can actually use to make decisions.
- Learn Retrieval Augmented Generation — Build a RAG pipeline instead of just prompting harder: chunk data, search it, retrieve it, and feed it to an LLM.
- Capstone Project — Build your strongest portfolio project, then turn it into resume and interview material.
- Learn How to Find a Programming Job — Turn your projects into proof, your resume into a signal, and your job search into something less random.
Courses
-
You'll build a real command-line application in Python that does data analysis on text files, or rather, entire novels like "Frankenstein," "Moby Dick," or "Pride and Prejudice." You'll be guided through the setup of a professional development environment using Python. This is the perfect first Python project for beginners.
-
Learn the fundamentals of the most widely-used programming paradigm today: object-oriented programming. You will model real-world problems within your programs, and learn how to write code that is easy to understand and maintain. By the end of this course you'll be writing production-quality Python code.
-
Functional programming is back in vogue. There's a reason front-end frameworks like React and Vue are moving toward functional programming, and after this course you'll more than understand its benefits. We'll dive in-depth into all of the foundational concepts of functional programming in a familiar language.
-
Learn all the basics of Structured Query Language in this comprehensive SQL course. You'll build out real database tables and practice querying them in flexible ways right in the browser. Not only will you understand how to use SQL, but you'll also learn in what situations you should use it. We will cover architectural design patterns and how to use SQL in a production environment.
-
This capstone project should be your resume's pièce de résistance. You're allowed to use any languages or frameworks you want, but you must build it yourself, and it should be remarkable, memorable even. The purpose of this project is two-fold: a chance to put your skills into practice but also to give your resume something that stands out and gets you noticed.
-
Learn how to find a job as a software engineer. This course will walk you through polishing up your portfolio projects, creating a resume, networking, interviewing, and even thinking about relocation. If you're nervous about starting your job search, this course will get you started on the right foot.
-
So many developers go years before understanding the basics of shells, terminals, and Linux (or more generally Unix-like systems). Here you'll learn to navigate files and directories, install dependencies, configure your PATH, and use powerful CLI tools like grep, find, and pipes. Never fear the command line again, make it fear you.
-
Write a toy agentic code editor in Python, similar to Claude Code or Cursor's Agent Mode. Understand how agents work from scratch by using free models on OpenRouter (via the OpenAI SDK) to create an LLM-powered code agent. You'll use function calling and feedback loops to build an agent that can find and fix bugs in a real project!
-
Build a clone of the classic Asteroids game using Pygame and object-oriented programming concepts. This guided project will help you understand how to use Pygame to create a game loop, handle user input, and manage game state. You'll also learn how to use object-oriented programming to create game objects and manage their interactions.
-
Use Python to build a web crawler that scrapes pages. It's a tool that any SEO expert would be happy to have. You'll make HTTP requests and parse HTML to generate reports that can easily marshaled to standard output or a file. If you're interested in getting a job doing data analysis, this project will teach you how Python can be used to build a command-line application.
-
Ah, Git. The source control system that every developer uses, but few truly understand. In this course, we'll not just learn how to use Git, but we'll go over some of the plumbing commands that make it all work. By the end, you'll have everything you need to know to get started using Git as a professional developer, plus a bit extra.
-
Learn the backbone of the modern web: HTTP network communications. You will be writing real HTTP requests in Python, then parsing and displaying the responses. Each challenge in this course is part of a larger application so that you will understand how HTTP is used in the real world.
-
Learn all about modern search engine techniques like keyword, vector, semantic and LLM-enhanced search. In this course you'll implement different search techniques from scratch in Python everything from simple keyword search up to a fully functional Retrieval Augmented Generation (RAG) pipeline using free models on OpenRouter (via the OpenAI SDK).
-
Learn how to manipulate data in Python with Pandas, the industry-standard data analysis library. You'll load messy JSON, CSV, and Parquet files, then clean, filter, merge, and aggregate them into analysis-ready datasets. You'll even learn about Polars, a faster, modern alternative to Pandas.
-
In this interactive course, you'll master the fundamentals of data visualization using Microsoft Power BI, the industry-leading business intelligence tool. You'll learn how to connect to diverse data sources, clean and model complex datasets using Power Query and DAX, and create compelling interactive reports that tell a story. Whether you're a data analyst, business professional, or aspiring data scientist, you'll gain the hands-on experience needed to turn raw numbers into actionable business insights.
-
Learn Python from scratch by writing code, not just watching videos. This course is built for complete beginners, so you don't need any prior programming experience. Every lesson runs in your browser, and XP, streaks, and quests keep you coming back.