An educational computer science platform for schools Student & educator login
The Python Group for Educational Narratives

Computer science education

Teaching programming through authentic Python.

PyGPEN provides a browser-based learning environment in which students write real Python, build interactive programs, and develop the problem-solving habits of working programmers.

Our mission

We believe students learn programming best when they use the same language professionals use and apply it to work they care about. Every program a student writes tells a story: a problem stated, a design chosen, errors found and corrected, and a result others can read and learn from.

Our platform supports that process from a student's first line of code through to publishing a finished, documented project for classmates to study.

Program areas

Python programming

A full code editor in the browser with syntax highlighting, autocompletion and multiple files. Students write standard Python with the Pygame-CE library and run their programs instantly, with no software to install.

Debugging practice

A library of prepared problems in which students read error messages, trace program behaviour and correct faulty code, building the diagnostic skills at the heart of programming.

Keyboarding for code

Typing exercises drawn from real Python source, so students build accuracy and fluency with the brackets, operators and indentation that code requires.

Student showcase

Students publish finished projects to a moderated school gallery, where peers can run them, read the complete source code and build on one another's work.

Concepts students practise

  • Variables, data types and expressions
  • Conditional logic
  • Loops and iteration
  • Functions and decomposition
  • Lists, dictionaries and data structures
  • Event-driven programming
  • Coordinate geometry and motion
  • Collision detection and simulation
  • Reading tracebacks and debugging
  • Organising code across multiple files

For educators

Teachers manage their own classes directly within the platform.

  • Create classes and enrol students with a join code, or create student accounts in bulk
  • View each student's projects, code and progress
  • Reset student passwords without involving IT staff
  • Switch optional recreational features off for an individual class
  • Archive past classes while keeping student work

Our principles

A real language

Students learn Python itself, not a simplified teaching language, so their skills carry directly into further study and professional work.

Open to inspection

Every published project's source code can be read in full. Students learn by studying working programs, including the platform's own examples.

Built for school networks

All software is served from our own servers, with no third-party content delivery networks and nothing to install on student devices.