Skip to main content

EduWorld

EduWorld is an educational python package designed for students to learn computational thinking, algorithms, and other basic programming concepts. Through this process they learn how to divide a problem into smaller steps and refine them; to abstract; to recognize patterns; and to design and implement algorithms;

Robot

Conceptually it is based on Kumir Robot, with bits of Karel the Robot. (but shares no code)

The Robot can walk in four cardinal directions, sense walls, temperature, radiation, and place/pickup beepers.

See the eduworld.robot module for the list of all available procedural commands.

Oop version of the Robot is not yet completed and somewhat clumsy to use.

Interactive mode

from eduworld.robot import interactive_mode

interactive_mode()

To launch Robot in interactive mode (immediate command execution), run python test_robot.py. In this mode Robot will not execute error shut-off even if you run it into the wall.

Command keys

  • W - move up
  • S - move down
  • A - move left
  • D - move right
  • E - paint tile
  • R - pickup beeper
  • F - put beeper
  • Q - quit
  • P - Save current world into out.aww file
  • KP_8 - Toggle tile top wall
  • KP_6 - Toggle tile right wall
  • KP_2 - Toggle tile bottom wall
  • KP_4 - Toggle tile left wall

Plotter

The Plotter is used to paint lines on endless sheet of paper. It is conceptually based on Kumir Plotter, but with few extras.

See the eduworld.plotter module for list of available commands.

Interactive mode

from eduworld.plotter import setup, shutdown


setup(interactive=True)
shutdown(keep_window=True)

To launch Plotter in interactive mode run python test_plotter.py. In this mode you can control plotter's head using following keys

  • Keypad 8 - move up 1 unit
  • Keypad 2 - move down 1 unit
  • Keypad 4 - move left 1 unit
  • Keypad 6 - move right 1 unit
  • Keypad 9 - move up-right 1 unit
  • Keypad 3 - move down-right 1 unit
  • Keypad 1 - move down-left 1 unit
  • Keypad 7 - move up-left 1 unit
  • Keypad 0 - Move pen to origin (0, 0)
  • Keypad - - zoom out
  • Keypad + - zoom in
  • W - randomly pick pen width
  • E - randomly pick pen color
  • R - raise pen
  • F - lower pen
  • Z - undo last line
  • C - erase drawing

When you shutdown() Plotter with keep_window=True, you can use Keypad to move around the paper sheet.

Metadata

Release files for EduWorld 0.0.40

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for EduWorld 0.0.40
File Size Uploaded
eduworld-0.0.40.tar.gz 30.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for EduWorld 0.0.40
File Interpreter ABI Platform
eduworld-0.0.40-py3-none-any.whl Python 3 none any Details

Total release size: 73.2 kB

Release files / eduworld-0.0.40.tar.gz

Download URL eduworld-0.0.40.tar.gz
Size 30.8 kB
Tags Source
SHA-256 checksum
How to use checksums
37e60680e3f9c7e5f43efd425f0073e85ff4d6c02454fc6c76947a8f1bc31b6c
BLAKE2b-256 checksum
How to use checksums
5f9dd5c4b02cd6b9ee7070c72aba57e8193fb67f88d2b0c7ebcbe45a91c92d29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Release files / eduworld-0.0.40-py3-none-any.whl

Download URL eduworld-0.0.40-py3-none-any.whl
Size 42.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56fc9915b21e9abcac27d790a69fa31e446aac424a887e76926a5c326da3d13a
BLAKE2b-256 checksum
How to use checksums
391486bde9c70c17bfc84c7d4b4198cca2b999443b9a6a557e9b26c4934ad6e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page