Home · Tracks · Programming

Hands typing code on a laptop
Learn to build software

Software & Programming

Python, C++, JavaScript, HTML & CSS and Git — from your very first line of code to finished, working projects you can show anyone.

8 free lessons · 8 hands-on labs · 1 practice quiz · 100% free

What you will be able to do

  • Write real programs in Python, C++ and JavaScript
  • Build and style complete webpages
  • Use Git & GitHub like a professional
  • Finish portfolio-ready projects
Step 1 · Learn

Your lessons, in the right order

Read them in this order — each lesson builds on the one before it. Every lesson is free and opens on its own page.

1 What is Programming? A Beginner's Complete GuideProgramming is simply giving instructions to a computer — in a language it understands. This guide explains what code is, how programs run, and how you can write your first one. Beginner10 min read 2 Python Basics: Variables, Loops and Functions with ExamplesVariables store data, loops repeat work, and functions organise your code. Learn the three most important Python basics with short examples you can type and run today. Beginner11 min read 3 HTML & CSS: Build Your First Webpage Step by StepEvery website starts with HTML for structure and CSS for style. Follow these steps to create your first real webpage in one sitting — no experience needed. Beginner11 min read 4 JavaScript Basics for BeginnersJavaScript makes web pages alive — buttons respond, menus open, forms check themselves. Learn variables, decisions, loops, functions and your first DOM interaction, with examples you can run in any browser. Beginner10 min read 5 Object-Oriented Programming (OOP) Concepts ExplainedClasses, objects, inheritance, encapsulation — OOP words sound heavy, but the ideas are everyday simple. Learn the four core concepts with a Python example and real-world analogies. Beginner10 min read 6 Git & GitHub: Version Control Step by StepGit saves every version of your code, and GitHub puts it online as proof of your work. A complete beginner walkthrough: install, first repository, commits, branches and pushing to GitHub. Beginner11 min read 7 Git Basics: Version Control for BeginnersGit is the time machine every professional developer uses: it records every change to your files so you can undo mistakes, work in branches, and collaborate without chaos. Learn it step by step, with real commands. Beginner12 min read 8 C++ Basics for Beginners: Variables, Decisions and LoopsC++ is fast, powerful and the language behind games, systems and much university coursework. Learn variables, input and output, if-else decisions, loops and your first function \u2014 with code you can run today. Beginner12 min read

Open this track in the full library

Step 2 · Practice

Hands-on labs for this track

Reading is not enough — do each lab yourself. Labs run Easy → Intermediate → Tough.

1 Lab 1 · Build and Style Your First Webpage (HTML/CSS)Create a complete personal profile webpage with semantic HTML, a Flexbox skills row, real links and a responsive check on phone width. 🟢 Easy · Beginner60 min 2 Lab 2 · Python Basics Lab: Variables, Input, Loops — Number-Guessing GameWrite a complete Python guessing game using variables, input(), conditionals, a while loop, attempt counting and input validation. 🟢 Easy · Beginner75 min 7 Lab 7 · JavaScript DOM Lab: Interactive To-Do ListBuild a working to-do app in the browser: add, complete and delete tasks with DOM manipulation, event listeners and clean state handling. 🟡 Intermediate90 min 8 Lab 8 · Git & GitHub Lab: Branch, Commit, Pull Request WorkflowRun the full professional Git workflow on a real repository: feature branch, meaningful commits, push, pull request, review comment and merge. 🟡 Intermediate90 min 13 Lab 13 · Full Responsive Website Project Lab: Multi-Page Site + Deployment ChecklistPlan, build and finish a 3-page responsive website with navigation, a working form layout and a pre-launch checklist — a portfolio-grade project. 🔴 Tough · Advanced3-4 hrs 14 Lab 14 · Python OOP Project Lab: Library Management SystemDesign classes and build a working console library system: add books, register members, issue and return books, with data kept in objects — not loose lists. 🔴 Tough · Advanced3 hrs 23 Lab 23 · Set Up Git and Make Your First RepositoryInstall and configure Git, create your first real repository, save commits with professional messages, and finish with a branch merged back into main — the complete beginner Git workflow. 🟢 Easy · Beginner60 min 24 Lab 24 · C++ Basics Lab: Student Marks Calculator with Decisions and LoopsWrite a complete C++ program that reads 5 subject marks, validates them, calculates total and average with a function, and prints a grade \u2014 with test cases that prove it handles bad input. 🟢 Easy · Beginner75 min

Step 3 · Test yourself

Finished the lessons and labs? Take the Programming practice quiz and check your score instantly — then revise whatever you missed.

Start the quiz

See the full learning path

The Programming learning path lays out lessons, labs and the quiz as one guided journey, beginner to advanced.

Open Learning Paths
Not your track?

Explore the other tracks

You decide what to learn. Every track is free, and you can switch any time.