From your first line to your own AI web app.
Eight free modules, about 258 hours in all. You finish as a junior full-stack developer with a live AI-enabled web app of your own.
In short
Pinda is a free, self-guided coding course of eight modules, about 258 hours, that takes a complete beginner to junior full-stack developer. You learn Python, HTML, CSS and JavaScript, then Flask and AI, and finish by shipping your own AI-enabled web app.
| Module | Name | Level | Hours | Weeks at 10 h |
|---|---|---|---|---|
| 1 | Setup | Novice | 8 | 1 |
| 2 | Raw materials | Novice | 20 | 2 |
| 3 | Decision and repetition | Beginner | 30 | 3 |
| 4 | Containers and your own tools | Beginner | 30 | 3 |
| 5 | The page | Beginner | 40 | 4 |
| 6 | The browser awake | Intermediate | 40 | 4 |
| 7 | The two halves joined | Intermediate | 40 | 4 |
| 8 | Intelligence and the capstone | Junior developer | 50 | 5 |
| Total | 258 | about 26 | ||
The eight modules
Self-guided, structured and free. Take them in order.
Pinda is best learned on a laptop with an internet connection. Module one installs everything the whole course needs, so the rest is pure learning.
Each module opens to show its level, hours, what you will be able to do, the lessons, exercises, videos to watch, and the snippet drawers that go with it.
Pinda is best learned on a laptop with an internet connection. In one weekend you install every tool the whole course needs and open every free account, so nothing stops you later.
You will be able to
- Install Python, VS Code, Git and Node.js and prove each one works
- Make a project folder, write hello.py and run it from the terminal
- Open free accounts for GitHub, an AI API key and hosting
- Know where files live and how the terminal moves between folders
Install and sign up
- Python 3On Windows, tick Add python.exe to PATH before Install.
- Visual Studio CodeThen add the Python extension from the Extensions panel.
- GitKeeps every version of your code.
- Node.js (LTS)Runs JavaScript outside the browser.
- DB Browser for SQLiteLets you look inside the database your app uses.
- GitHub accountWhere your code and portfolio live.
- Google AI Studio keyA free key for the AI part of your capstone.
- Groq accountA second free AI option, very fast.
- PythonAnywhereFree hosting for your Flask app, with a real address.
- RenderAnother free way to put an app online.
Lessons
- What a program is and what the computer does with it
- Files, folders and file extensions
- The terminal: cd, ls or dir, mkdir
- Install and check Python
- Install and set up VS Code
- Install Git and Node.js
- Your first file: hello.py
- Open the free accounts you will need
Exercises
- Run python --version, git --version and node --version and write down all three answers
- Make a folder called pinda, create hello.py inside it that prints your name and town, and run it
- Create your GitHub account and a first empty repository called pinda-course
Watch
- Install python windows add to path
- Vs code python setup for beginners
- Git install and first commit beginner
- Command line basics for beginners
Snippets for this module
Everything a program works with is made of a few kinds of values. You learn to store them, change them, print them and take them in from the keyboard.
You will be able to
- Name values with variables and pick good names
- Do arithmetic, including money that rounds correctly
- Slice, clean and format text with f-strings
- Read input from the user and convert it to numbers
Lessons
- Variables and assignment
- Numbers: int and float, and why 0.1 + 0.2 is odd
- Strings: quotes, joining, slicing
- f-strings and formatting money
- True, False and comparisons
- input() and converting text to numbers
- Comments and readable code
- Reading an error message
Exercises
- Write a VAT calculator that asks for a price and prints it with 14% VAT added
- Ask for a full name and print the initials in capitals
- Convert a temperature in Celsius, entered by the user, to Fahrenheit
Watch
Snippets for this module
Programs become useful when they make choices and repeat work. This module is where you start to think like a programmer: break a job into steps, then write the steps.
You will be able to
- Choose between paths with if, elif and else
- Repeat work with for and while loops
- Combine conditions with and, or and not
- Plan a small program in plain words before coding it
Lessons
- if, elif and else
- Comparison and logical operators
- for loops and range()
- while loops and when to use them
- break and continue
- Nested loops
- Counting, summing and finding the biggest
- Planning with pseudocode
Exercises
- Print a times table for any number the user chooses
- Build a number guessing game with hints of higher or lower
- Grade a list of marks as pass or fail and count the passes
Watch
Snippets for this module
Real data comes in groups, and real programs are built from small tools you make yourself. You store data in lists and dictionaries, wrap jobs in functions, and read and write CSV and JSON files.
You will be able to
- Store and search data with lists, dictionaries and sets
- Write functions with parameters and return values
- Read and write text, CSV and JSON files
- Handle errors with try and except instead of crashing
Lessons
- Lists and list methods
- Dictionaries: finding things by name
- Sets and tuples
- List comprehensions
- Functions, parameters and return
- Modules and import
- Reading and writing files
- CSV and JSON
- try and except
Exercises
- Keep a shopping list in a dictionary of item to price and print the total
- Write a function that formats any Botswana phone number to +267 form
- Read a CSV of sales and write a JSON file of total sales per city
Watch
Snippets for this module
Now you build what people see. HTML gives a page its structure and CSS gives it its look. By the end you can build a clean, responsive page from a blank file, including drawings made with SVG.
You will be able to
- Write semantic HTML with headings, lists, links, images and forms
- Style pages with CSS: colour, type, spacing and layout
- Lay out pages with flexbox and grid that work on phones
- Draw simple graphics with SVG and publish a page on GitHub Pages
Lessons
- How a browser reads a page
- HTML structure and semantic elements
- Links, images and relative paths
- Forms and inputs
- CSS selectors and the box model
- Colour, fonts and spacing
- Flexbox
- Grid
- Responsive design and media queries
- SVG drawing
- Accessibility basics
Exercises
- Build a one-page CV with your name, skills and projects
- Make the CV work on a phone and a laptop with one stylesheet
- Draw your own logo in SVG and put it in the page header
Watch
Snippets for this module
JavaScript makes pages respond. You learn the language itself, then use it to react to clicks and typing, change the page, and fetch data from servers.
You will be able to
- Write JavaScript with variables, functions, arrays and objects
- Find and change elements on the page
- Respond to clicks, typing and form submissions
- Fetch JSON from an API and show it on the page
Lessons
- JavaScript basics compared with Python
- Arrays and objects
- Functions and arrow functions
- The DOM: selecting and changing elements
- Events and event delegation
- Forms and validation
- async, await and promises
- fetch and JSON
- Storing small data in the browser
- Building a component: tabs, accordion, modal
Exercises
- Add a working dark mode switch to your CV page
- Build a live search that filters a list as you type
- Show today's weather for your town from a free API
Watch
Snippets for this module
Front end meets back end. You build a web app in Python with Flask, store data in SQLite, connect your HTML and JavaScript to it, and deploy it to a real address people can visit.
You will be able to
- Build a Flask app with routes, templates and forms
- Store and read data with SQLite
- Build a JSON API and call it from JavaScript
- Deploy to PythonAnywhere or Render and share the link
Lessons
- How the web works: requests and responses
- Your first Flask app
- Templates with Jinja
- Forms and POST requests
- SQLite and SQL basics
- A JSON API in Flask
- Calling your API with fetch
- Environment variables and secrets
- Git and GitHub workflow
- Deploying to a real address
Exercises
- Build a notes app where you can add, list and delete notes
- Add a JSON API to the notes app and a JavaScript page that uses it
- Deploy the notes app and send the link to a friend
Watch
Snippets for this module
The last module is where it all comes together. You analyse data with pandas, call an AI model from your Flask back end, and design, build and ship your own AI-enabled web app as your capstone.
You will be able to
- Load, clean and summarise data with pandas
- Train a simple model with scikit-learn
- Call an AI model through an API from Flask, keeping the key secret
- Ship an AI-enabled web app with a front end, a back end and a live address
Lessons
- NumPy and pandas basics
- Cleaning and summarising data
- Charts from data
- What a model is: train, test, predict
- A first scikit-learn model
- Large language models and prompts
- Calling an AI API from Python
- Streaming answers to the browser
- Designing your capstone
- Build, test and ship
- Writing it up for your portfolio
Exercises
- Summarise a sales CSV by city and month with pandas
- Build a Flask route /api/ask that sends a question to an AI model and returns the answer
- Capstone: build and deploy your own AI web app, for example an invoice reader, a study tutor or a customer message sorter, and publish the code on GitHub
Watch
- Pandas tutorial for beginners
- Scikit learn beginner tutorial
- Gemini api python flask tutorial
- Build ai web app flask javascript
Snippets for this module
The capstone: your own AI web app
The course ends with something you can show an employer.
In module eight you design, build and deploy a working web app with a Python and Flask back end, an HTML, CSS and JavaScript front end, a database, and an AI model behind it. It goes live at a real address, and its code sits on your GitHub profile.
Ideas people build: an invoice reader, a study tutor for a subject they know, a customer message sorter for a small shop, or a translator for local languages.
Questions people ask
How long does the Pinda course take?
About 258 hours across eight modules, which is about six months at ten hours a week.
Is the Pinda course free?
Yes. There is no fee and no account. Every lesson, snippet and download is free.
What do I need to start?
A laptop with an internet connection. Module one installs every tool the course needs in one weekend.
What will I be able to build at the end?
An AI-enabled web app with a Python and Flask back end, an HTML, CSS and JavaScript front end, a database and a live address.
Which languages does Pinda teach?
Python, HTML, CSS and JavaScript, with Flask, SQLite, pandas and an AI model API in the later modules.