Python teaching platform

Everything you need
to teach Python

Interactive textbooks, a student-friendly IDE, auto-grading, and adaptive tutoring for Python courses from CS1 to AI. All in the browser.

Students write and run full Python programs on any device, Chromebooks included. Nothing to install.

Full Python in the browser
24+
Interactive Python textbooks
~2s
Until code is ready to run
0
Servers to manage

Watch Python run in a textbook

Interactive graphics, data plots, and semantic grading, all in the browser.

Full Python, not a subset

The libraries your course uses are ready to import.

Every library you teach with

NumPy, Pandas, scikit-learn, and more. Type import pandas and it’s there. No installs or dependency conflicts.

Instant for beginners, powerful for advanced work

From turtle graphics to machine learning, it all works out of the box. Simple programs start instantly.

Charts, plots, and interactive widgets

Matplotlib, Plotly, Bokeh, and Panel draw interactive charts and controls. ipywidgets works too.

Build AI-powered apps

Connect to OpenAI or any API. Includes the Intro to Generative AI course on chatbots, prompt engineering, and RAG.

Ready-to-teach curricula

Interactive Python textbooks

Complete courses from intro programming to generative AI, with every code example ready to run.

From CS1 to generative AI

Alps comes with full interactive textbooks. Assign a chapter, and your students are coding within minutes.

CS1

Intro programming textbooks

Data structures

Algorithms & data structures

Data science

Including Berkeley Data 8

AI

Generative AI, prompt engineering

Every code example runs

One click turns a code example into an exercise students can edit and run. They can test their own "what if?" ideas on the book's examples.

  • ✓ Runs Python, Java, JavaScript, SQL, and C++ examples
  • ✓ Students change an example and run it again as they read
  • ✓ Choose a sandbox editor, a shared REPL, or a separate REPL

Need more practice? Logic Gym adds thousands of tested, auto-graded Python problems, from Beginner to Competitive. Have your own textbook? We can bring it onto Alps as an interactive course. We also work with publishers and support licensed editions. Book a demo.

Student-friendly IDE

A full IDE with a Python terminal

A coding environment your students can grow into.

Full-screen, split-panel IDE

  • ✓ Output, tests, grading, and hints in one view
  • ✓ Instructions beside the editor, in a panel you can resize
  • ✓ Multi-file tabs, with main.py and tests.py side by side

Interactive terminal

  • ✓ Output shows up as the program runs, and input() waits for the student
  • ✓ A Stop button ends runaway code right away
  • ✓ Tab completion, command history, and multi-line input
Full-Screen IDE
Instructions

Implement binary search that returns the index of a target value in a sorted list.

  • ✓ Handle empty list
  • ✓ Return -1 if not found
  • ○ Use while loop, not recursion
search.py test_search.py Run
def binary_search(arr, target):
    lo, hi = 0, len(arr) - 1
    while lo <= hi:
        mid = (lo + hi) // 2
        # TODO: compare and narrow
Terminal Unit Tests Rubriq CodeLens Hints
>>> Ready
Grading

Grade whether code works and how it’s written

Unit tests show whether the code works. Rubriq shows how well it’s written.

Unit tests: does it work?

  • ✓ Unit tests generated and checked for every exercise
  • ✓ Pass or fail, with expected and actual output, on every run
  • ✓ "Run Without Tests" for trying out ideas
4 of 5 tests passed
search([1,3,5,7], 5) == 2Pass
search([], 1) == -1Pass
search([1,1,1], 1) == 0Fail
search([1,2,3], 9) == -1Pass

Rubriq: is it good code?

  • ✓ Rubrics written for you, for style and best practices
  • ✓ Plain-language feedback, even on broken code
  • ✓ Highlights the exact lines behind each result
Rubriq — 8 / 10 pts
Uses while loop (not recursion)+3
Narrows search space by half each iteration+3
Returns first occurrence for duplicates+2
Consider using lo + (hi - lo) // 2 to avoid overflowtip
Feedback: When duplicates exist, your code returns the last match. Set hi = mid - 1 instead of returning immediately to find the first.

Adaptive tutoring and learning analytics

Alps helps students when they’re stuck and shows you where each one stands.

Adaptive Coding

Hard problems break into smaller steps. Hints, code scaffolds, and Parsons puzzles appear only when a student needs them. Explore Adaptive Coding

Adaptive Parsons

Students put scrambled code blocks in order. When they struggle, the puzzle gets simpler. Explore Adaptive Parsons

BloomIQ learning analytics

See each student’s mastery on every skill, then group the class so each group practices at its own level. Every run, hint, and test result counts.

How we compare

Compare Python platforms

Feature Alps Other platforms
Several interactive textbooks included
Full Python and its libraries, instant in the browser ~
Unit tests and semantic grading ~
Adaptive tutoring with smaller steps and hints
Nothing to install, works on Chromebooks ~
Student-friendly IDE with split panels ~
Built-in Jupyter notebooks, no server ~
Learning analytics by skill

Ready to teach Python?

Educator Basic is free. Your students get full Python, interactive textbooks, and auto-grading on any device.