Made for teaching programming.

Everything TurboByte does for a programming course, and what is coming next, each marked as it really is.

Step through, one sentence at a time.

A debugger for beginners narrates every step, in English or Hebrew.

Step 1 of 5
def average(numbers): if not numbers: return 0 return sum(numbers) / len(numbers) print(average([90, 72, 85]))

The program calls average with [90, 72, 85].

Errors, explained.

When a program breaks, a plain-language card says what happened, and where.

def average(numbers): return sum(numbers) / len(numbers) print(average([]))

ZeroDivisionError: division by zero

Dividing by zeroOn line 2, len(numbers) is 0 for an empty list, and Python cannot divide by 0.

Courses and teams.

Owners, instructors and TAs, with deadlines, late work and extensions.

Intro to Python · Fall 2026

MOwner
RInstructor
YTA
Due Sunday, 23:59+2 days

Academic integrity, with care.

Tools that help staff notice possible copying. They inform; staff decide.

Worth a look

Bring your Codeboard projects.

Import them, and your course's links keep working.

codeboard-export.zip
Projects imported

English and Hebrew.

Task text, error help and the debugger speak both, right to left where it belongs.

ENעב

Write a function average that returns the mean of the grades in a list.

כתבו פונקציה בשם average שמחזירה את ממוצע הציונים ברשימה.

Python today. More of the programming world next.

PythonAvailable
R
C
C++
Java
C#
Haskell
RustIn development

TurboChat

Pilot

An AI assistant that gives hints, not answers.

Why does my average crash on an empty list?

What does len(numbers) give for an empty list? Try it in the division on line 4.

Illustrative example

TurboBash

In development

A terminal that teaches the command line.

Ready when your course is.