Skip to content
wannacode

Programming with Python

Programming with Python, the language of data analysis and automation, web servers and machine learning. You start from your first program and get to classes, files, collections, tests, threads and networking. The ideas are the same as in the Java and C# courses; the code and the details are Python.

The course is split into modules, and each module into short lessons. A lesson is a series of cards, one idea per card: a real problem, what actually happens (often with an animation next to the code), a small task, then the next idea. At the end there is an exercise for your editor and a short test.

Every module uses only what the earlier ones have shown. Your progress is kept in your browser: a lesson picks up from the card you reached.

Module 0

Welcome

3 lessons · the language, where it is used, setup

  1. The language you are learning
  2. Getting your computer ready
  3. How to solve a task

Module 1

Language basics

9 lessons · variables, conditions, loops, arrays

  1. Your first program
  2. Variables and types
  3. Input and output
  4. Doing math
  5. Conditions
  6. Loops
  7. Lists
  8. Tables of numbers
  9. Working with text

Module 2

Functions

4 lessons · code you write once and call many times

  1. Why functions
  2. Parameters and return
  3. Default values
  4. Recursion

Module 3

Classes and objects

5 lessons · your own types

  1. Your own type
  2. Constructors and self
  3. Behavior
  4. Encapsulation
  5. What all objects share: class attributes

Module 4

Inheritance and polymorphism

5 lessons · what is shared, in one place

  1. Inheritance
  2. Polymorphism
  3. Abstract classes
  4. Interfaces as abstract classes
  5. What is it really?

Module 5

Errors and exceptions

3 lessons · when something goes wrong

  1. When something goes wrong
  2. Different errors and finally
  3. Throwing and your own exceptions

Module 6

Text and files

5 lessons · strings, regex, files

  1. Text up close
  2. Regular expressions
  3. Search and replace
  4. Files
  5. Data in files

Module 7

Collections

5 lessons · lists, stack, queue, dicts, sets

  1. A list that grows
  2. Stack, queue and linked list
  3. dict and set
  4. How dict and set work
  5. Classes inside classes and data inside data

Module 8

Modern Python

4 lessons · lambdas, data pipelines, patterns

  1. Lambdas
  2. List comprehensions and generators
  3. dataclass, match and patterns
  4. Design patterns

Module 9

Real-world programs

5 lessons · tests, threads, network, databases, reflection

  1. Tests with unittest
  2. Threads
  3. Programs on the network
  4. Databases
  5. Reflection and decorators

Let's make a game

three games from scratch

8 lessons

  1. How to think about a game
  2. RPG 1: the heroes
  3. RPG 2: the battle
  4. RPG 3: the whole game
  5. Epic Cosmos 1: the objects in space
  6. Epic Cosmos 2: resources, buildings, ships
  7. The locked lab 1: rooms and commands
  8. The locked lab 2: puzzles and the way out

Project

a whole program, step by step

1 lesson

  1. Hotel reservations

Made by Ivo Gergov as part of Evo Tech's campaign for accessible programming education ·