RizTech Academy logo
RizTech Academy

Python Complete Foundation

Learn Python properly, from your first line of code to writing programs you would not be embarrassed to show an employer.

Most Python tutorials teach you syntax and stop. You finish knowing what a for loop looks like but with no idea how to structure a program, handle an error sensibly, or write something a teammate could read.

This course goes further. You will write real programs from the second module, make the mistakes deliberately so you recognise them later, and finish able to build a small command-line application from scratch with tests around it.

Every lesson has something to type. Reading about Python does not make you a programmer — the practice at the end of each lesson is the part that matters.

Who this is for

  • Complete beginners with no programming background
  • Students who have learnt some Python in college but cannot yet build anything on their own
  • Anyone joining our Full-Stack track who needs Python before Django

What you need first

  • A computer with at least 4 GB RAM running Windows, macOS or Linux
  • A reliable internet connection for the initial setup
  • No prior programming experience required

Tools you will use

Python 3.12+VS Codepip & venvpytestGit

By the end you can

  • Read and write Python confidently, including the parts beginners usually avoid
  • Choose the right data structure for a problem instead of using lists for everything
  • Structure a program across multiple files and modules
  • Handle errors deliberately rather than letting programs crash
  • Read and write files, and work with JSON and CSV data
  • Write classes when they help and avoid them when they do not
  • Write tests with pytest and understand why they save you time
  • Set up a virtual environment and manage dependencies like a professional
Syllabus

11 modules, 63 lessons

Work through these in order. Each lesson is short enough to finish in one sitting and ends with something to build, not a quiz.

  1. 1

    Getting Started

    Get Python running on your machine and understand what is actually happening when you run a program.

    1. What Python is, and what it is actually used for10 min
    2. Installing Python on Windows, macOS and Linux15 min
    3. Setting up VS Code for Python15 min
    4. Your first program, and what happens when you run it15 min
    5. The REPL: your fastest way to test an idea10 min
  2. 2

    Variables and Data Types

    The building blocks. Strings, numbers, booleans, and why type matters more than beginners expect.

    1. Variables and naming things well15 min
    2. Numbers: integers, floats, and the floating point trap20 min
    3. Strings and f-strings25 min
    4. Booleans, None, and truthiness15 min
    5. Type conversion and why input() always gives you a string15 min
  3. 3

    Control Flow

    Making decisions and repeating work — the point where a script becomes a program.

    1. if, elif and else20 min
    2. Comparison and logical operators15 min
    3. for loops and range()20 min
    4. while loops, and how to avoid infinite ones15 min
    5. break, continue and loop else15 min
    6. Practice: building a number-guessing game30 min
  4. 4

    Data Structures

    Lists, dictionaries, tuples and sets — and how to pick the right one instead of defaulting to a list.

    1. Lists: creating, indexing, slicing25 min
    2. List methods you will actually use20 min
    3. Dictionaries: the workhorse of Python25 min
    4. Tuples and when immutability helps15 min
    5. Sets and fast membership testing15 min
    6. Nested structures and working with real-world data25 min
    7. List and dictionary comprehensions25 min
    8. Choosing the right structure: a decision guide20 min
  5. 5

    Functions

    Writing reusable code, and understanding scope — the concept that trips up most self-taught beginners.

    1. Defining and calling functions20 min
    2. Arguments: positional, keyword and default25 min
    3. Return values, and functions that return nothing15 min
    4. Scope: local, global, and why your variable is not changing25 min
    5. *args and **kwargs20 min
    6. Docstrings and type hints20 min
    7. Practice: refactoring a messy script into functions30 min
  6. 6

    Errors and Debugging

    Reading a traceback, handling failure deliberately, and finding bugs without guessing.

    1. How to read a traceback20 min
    2. The errors every beginner hits, and what they mean25 min
    3. try, except, else and finally25 min
    4. Raising your own exceptions20 min
    5. Debugging with print, breakpoints and the VS Code debugger25 min
  7. 7

    Files and Data

    Reading and writing real data — the point where your programs start being useful.

    1. Reading and writing text files25 min
    2. Context managers and why you should always use with15 min
    3. Working with JSON25 min
    4. Working with CSV files25 min
    5. File paths done properly with pathlib20 min
  8. 8

    Modules, Packages and Environments

    Splitting code across files, using other people’s code, and keeping projects isolated.

    1. Modules and imports20 min
    2. The standard library tour: what is already built in25 min
    3. Virtual environments, and why they matter20 min
    4. Installing packages with pip and pinning requirements20 min
    5. Structuring a Python project25 min
  9. 9

    Object-Oriented Python

    Classes explained without the jargon — including when you should not use them.

    1. Why classes exist, explained with a real problemComing soon
    2. Defining a class, __init__ and selfComing soon
    3. Methods, attributes and encapsulationComing soon
    4. Inheritance and compositionComing soon
    5. Dunder methods: making your objects behave like built-insComing soon
    6. Dataclasses: less boilerplateComing soon
    7. When a function is the better answerComing soon
  10. 10

    Testing and Code Quality

    Writing tests, formatting code, and the habits that separate a hobbyist from a professional.

    1. Why tests save you time, with a worked exampleComing soon
    2. pytest: writing your first testsComing soon
    3. Arrange, act, assert and good test namesComing soon
    4. Formatting and linting with RuffComing soon
    5. Git basics for a Python projectComing soon
  11. 11

    Capstone Project

    Build a complete command-line application from scratch, with tests and a README.

    1. The brief: an expense trackerComing soon
    2. Planning before you codeComing soon
    3. Building it step by stepComing soon
    4. Adding testsComing soon
    5. Polish, README and publishing to GitHubComing soon

Learning this with a mentor is faster

Our internship programme is free and fully remote. You get this curriculum, real project work, and code review from working developers.