Roboworld
roboworld is an educational Python package designed for students to learn basic programming concepts, such as,
- variables,
 - function calls,
 - conditionals,
 - loops and
 - recursion.
 
Students must navigate Robo (a robot) through different two-dimensional discrete worlds. Robo represents a very simplistic machine that can only deal with elementary instructions, i.e., method calls. Therefore, students have to extend the missing functionality step by step. Through this process they learn
- to divide a problem into smaller pieces,
 - to abstract,
 - to recognize patterns, and
 - to design and implement algorithms.
 
roboworld is heavily inspired by Kara.
You can install the package via pip:
pip install roboworld
You can find a complete example of a student assignment here.