← All pathwaysPathway · Coding & software
Python Developer
Go from your first line of Python to a full web app with logins and a database, kept in Git and packaged with Docker — the skills for a junior developer job.

First program to deployed web app
Go from your first line of Python to a full web app with logins and a database, kept in Git and packaged with Docker — the skills for a junior developer job.
Free forever — like every pathway and course on Avro Academy: all lessons, quizzes, downloads and your certificates. Our promise
Who it's for
Beginners who want to become developers. No experience needed to start.
What you'll be able to do
- Write Python programs confidently
- Build a full web app with Flask
- Store data in SQLite and PostgreSQL
- Work with Git and GitHub like a team
- Package and run your app with Docker
The courses
- Python Foundations: Your First Programs
- Git & GitHub for Beginners: Save, Share and Collaborate
- Full-Stack Python: Build a Web App with Flask
- SQLite in Practice: Track Your Spending
- PostgreSQL Foundations: Run the Corner Café Database
- Docker Basics: Containers for Your Apps
Optional extras
- Python for Data: Clean, Analyse and Visualise — A great extra if you like working with data
How it works
- Join once, and track your progress across every course in one place, under My learning
- Take the courses in order: each one opens when you finish the one before.
- 6 required courses, about 39.5 hours in total — at your own pace
- You get a certificate for each course, and a pathway certificate when you finish them all
- Completely free
Courses in this pathway
Take these in order: each course opens when the required one before it is complete.
Python Foundations: Your First ProgramsNot startedLessons (0 of 32 done)
Module 1: Getting started
- What Python is — and why learn it10 min
- Coding in your browser with Google Colab15 min
- Your first program: print, comments and maths15 min
- Reading error messages (tracebacks)12 min
- Module 1 quiz5 min
Module 2: Values and variables
- Variables12 min
- Numbers and maths15 min
- Strings and f-strings15 min
- Input, booleans and converting types15 min
- Module 2 quiz5 min
Module 3: Making decisions
- if, elif and else15 min
- and, or, not12 min
- Module 3 quiz5 min
Module 4: Lists and loops
- Lists15 min
- Loops: for, range and while15 min
- List comprehensions12 min
- Module 4 quiz5 min
Module 5: Functions
- Writing functions18 min
- Scope and building with functions12 min
- Project: shift pay calculator18 min
- Module 5 quiz5 min
Module 6: Dictionaries and data
- Dictionaries15 min
- Lists of dictionaries: real data15 min
- Module 6 quiz5 min
Module 7: Files, errors and modules
- Reading and writing files15 min
- Handling errors with try and except12 min
- Modules: using code others have written12 min
- Module 7 quiz5 min
Module 8: Projects and next steps
- Project: workplace quiz game25 min
- Project: pay and budget tracker25 min
- Debugging, AI tools and next steps15 min
- Module 8 and final quiz5 min
Git & GitHub for Beginners: Save, Share and CollaborateOpens when the course before it is completeLessons (0 of 23 done)
Module 1: Meet Git and GitHub
- What Git and GitHub are10 min
- Your GitHub account, set up safely15 min
- Your first repository, on the website15 min
- Module 1 quiz5 min
Module 2: Git on your computer
- Install Git and set it up15 min
- Your first commits20 min
- Seeing changes and writing good messages15 min
- Undo mistakes and ignore files15 min
- Module 2 quiz5 min
Module 3: Working with GitHub
- Connect to GitHub and push20 min
- Pull and clone15 min
- GitHub Desktop and VS Code12 min
- Module 3 quiz5 min
Module 4: Branches
- Branches: a safe place to try ideas15 min
- Merge conflicts — and how to fix them20 min
- Module 4 quiz5 min
Module 5: Collaborating
- Pull requests20 min
- Issues, forks and contributing15 min
- Module 5 quiz5 min
Module 6: Show your work
- Publish your portfolio with GitHub Pages15 min
- A GitHub profile employers notice12 min
- Next steps8 min
- Module 6 and final quiz5 min
Full-Stack Python: Build a Web App with FlaskOpens when the course before it is completeLessons (0 of 31 done)
Module 1: How the web works
- What full-stack means10 min
- Requests, responses and URLs12 min
- Setting up: Python, VS Code and Flask20 min
- Module 1 quiz5 min
Module 2: Flask basics
- Your first Flask app15 min
- Templates with Jinja15 min
- Static files and links10 min
- Module 2 quiz5 min
Module 3: Forms
- HTML forms, GET and POST12 min
- Reading and checking form data15 min
- Flash messages and redirect after POST12 min
- Module 3 quiz5 min
Module 4: Databases
- SQL in 15 minutes15 min
- Connecting Flask to SQLite15 min
- Saving, listing and deleting15 min
- SQL injection and safe queries12 min
- Module 4 quiz5 min
Module 5: User accounts
- Storing passwords safely12 min
- Sign up, log in and sessions20 min
- Protecting pages and actions15 min
- Module 5 quiz5 min
Module 6: Security essentials
- CSRF: forms only you can send15 min
- XSS, safe redirects and secret keys15 min
- Module 6 quiz5 min
Module 7: APIs and JavaScript
- Building a JSON API15 min
- JavaScript fetch: no page reload15 min
- Module 7 quiz5 min
Module 8: Test and launch
- Automated tests with pytest20 min
- Put your app online25 min
- Next steps as a developer10 min
- Module 8 and final quiz5 min
SQLite in Practice: Track Your SpendingOpens when the course before it is completeLessons (0 of 20 done)
Module 1: Meet SQLite
- What SQLite is10 min
- Install sqlite3 and DB Browser15 min
- Your first database file20 min
- Module 1 quiz5 min
Module 2: Getting data in
- Import a CSV file20 min
- Clean it into a proper table25 min
- Duplicates from overlapping files20 min
- Module 2 quiz5 min
Module 3: How SQLite is different
- SQLite's flexible types20 min
- Dates and times20 min
- Keys and the foreign keys switch20 min
- Module 3 quiz5 min
Module 4: Answering money questions
- Categorise the spending25 min
- Monthly reports and the budget25 min
- Views and sharing results20 min
- Module 4 quiz5 min
Module 5: Python and beyond
- SQLite from Python25 min
- Adding data safely from Python20 min
- Backups, sharing and choosing a database25 min
- Module 5 and final quiz5 min
PostgreSQL Foundations: Run the Corner Café DatabaseOpens when the course before it is completeLessons (0 of 32 done)
Module 1: Meet PostgreSQL
- What a database is10 min
- Install PostgreSQL20 min
- psql and the café database20 min
- Module 1 quiz5 min
Module 2: Asking questions with SELECT
- Your first queries with SELECT20 min
- Filtering with WHERE25 min
- Sorting and removing duplicates15 min
- Module 2 quiz5 min
Module 3: Summaries
- Counting and totals20 min
- GROUP BY and HAVING25 min
- Dates, times and text25 min
- Module 3 quiz5 min
Module 4: Joins
- Keys: how tables connect20 min
- Joining tables25 min
- LEFT JOIN and joining many tables25 min
- Module 4 quiz5 min
Module 5: Changing data
- Adding rows with INSERT20 min
- Changing and removing rows20 min
- Transactions: your undo button20 min
- Module 5 quiz5 min
Module 6: Designing tables
- Data types20 min
- Creating tables with CREATE TABLE25 min
- Changing tables with ALTER TABLE20 min
- Module 6 quiz5 min
Module 7: More powerful queries
- Subqueries and WITH25 min
- CASE and views20 min
- Indexes and EXPLAIN20 min
- Module 7 quiz5 min
Module 8: Safe and useful
- Users and permissions20 min
- Backups, exports and other tools25 min
- Capstone: the monthly report30 min
- Module 8 and final quiz5 min
Docker Basics: Containers for Your AppsOpens when the course before it is completeLessons (0 of 24 done)
Module 1: Meet Docker
- What Docker is15 min
- Installing Docker20 min
- Your first containers25 min
- Module 1 quiz5 min
Module 2: Build your own image
- Shift Swap and the Dockerfile25 min
- Build and run your image25 min
- Layers and the build cache20 min
- Module 2 quiz5 min
Module 3: Data and configuration
- Volumes: keep your data25 min
- Bind mounts: share a folder20 min
- Settings and secrets20 min
- Module 3 quiz5 min
Module 4: A production-ready image
- A real web server: gunicorn20 min
- Don't run as root20 min
- Health checks and image size20 min
- Module 4 quiz5 min
Module 5: Docker Compose with PostgreSQL
- Why Docker Compose25 min
- Start the whole stack25 min
- Inside the stack25 min
- Module 5 quiz5 min
Module 6: Share and next steps
- Tags and registries20 min
- Cleaning up and fixing problems25 min
- Where Docker goes next20 min
- Module 6 and final quiz5 min
Python for Data: Clean, Analyse and VisualiseA great extra if you like working with data
Opens when the course before it is completeLessons (0 of 30 done)
Module 1: Data with Python
- What data work really is10 min
- Colab for data: notebooks and uploading files12 min
- Data with plain Python first15 min
- Module 1 quiz5 min
Module 2: pandas basics
- DataFrames: loading CSV and Excel15 min
- Exploring your data15 min
- Selecting and filtering15 min
- Sorting and new columns12 min
- Module 2 quiz5 min
Module 3: Cleaning messy data
- Finding the problems12 min
- Fixing types: prices, numbers and dates15 min
- Text, missing values, duplicates — and saving20 min
- Module 3 quiz5 min
Module 4: Analysing
- groupby: totals by category, item and staff15 min
- Working with dates: months and weekdays15 min
- Combining tables with merge15 min
- Pivot tables12 min
- Module 4 quiz5 min
Module 5: Visualising
- Bar and line charts15 min
- Histograms and choosing the right chart12 min
- Honest charts12 min
- Module 5 quiz5 min
Module 6: Automating everyday tasks
- Combining many files at once15 min
- Exporting reports to Excel and CSV12 min
- Project: weekly roster hours report20 min
- Module 6 quiz5 min
Module 7: Capstone and next steps
- Capstone: a year at Corner Café30 min
- Real data: open datasets, privacy and ethics12 min
- Next steps in data10 min
- Module 7 and final quiz5 min
