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

  1. to divide a problem into smaller pieces,
  2. to abstract,
  3. to recognize patterns, and
  4. 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.