First Steps

Challenge Difficulty
Christmas Tree
Tic-Tac-Toe ⭐⭐
Checkerboard ⭐⭐
Palindrome ⭐⭐
Anagrams ⭐⭐
Roman Numbers ⭐⭐⭐
Encryption ⭐⭐⭐
Minesweeper ⭐⭐⭐

Math Problems

Challenge Difficulty
Common Divisor
Fibonacci ⭐⭐
Multiplicative Digital Root ⭐⭐
Birthday Problem ⭐⭐


Challenge Difficulty
Postcard ⭐⭐
Recursive Graphics ⭐⭐⭐
Choropleth ⭐⭐⭐

Data Analysis

Challenge Difficulty
Baby Name Generator
Random Data
Benford Analysis ⭐⭐
Movie Ratings ⭐⭐
US Baby Names ⭐⭐
Last Letters ⭐⭐⭐


Challenge Difficulty
Sorting Algorithms
Josephus' Problem ⭐⭐
Tree Traverasl ⭐⭐
Graph Traversal ⭐⭐⭐
Magic Square ⭐⭐⭐
Traveling Salesman ⭐⭐⭐
King ⭐⭐⭐⭐
Backpack Problem ⭐⭐⭐⭐
Blockchain ⭐⭐⭐⭐

Web Development

Challenge Difficulty
Ping Pong ⭐⭐
Google Search ⭐⭐⭐
Download Web Pages ⭐⭐⭐
Blog ⭐⭐⭐⭐


Challenge Difficulty
Dice ⭐⭐
Memory ⭐⭐⭐

Advanced Python

Challenge Difficulty
Tennis ⭐⭐
Decorator-Metaclass ⭐⭐⭐⭐⭐

Coding Katas

A Coding Kata is a programming exercise that you can perform to build and maintain your coding skills. Probably you already know "Hello World", the simplest Kata possible.

Here are a few places to find them:


You can repeat Coding Katas once in a while. Try different languages, programming paradigms or automated tests to crank up the difficulty. Like running in sports, I consider doing Coding Katas a basic exercise to improve and to maintain your fitness as a programmer.

I wish you good coding.

Dr. Kristian Rother

I am a professional Python trainer, developer and author based in Berlin. I believe everybody can learn programming.

Contact me via:
+49 176 3052 4691


That was one of the best lectures in my whole life. Great experience that can be used in our future life.

Jakub T., UAM Poznan

See also