Articlesturbochataiteaching

Why TurboChat asks for a Run before the next hint

TurboChat, our AI teaching assistant, is in pilot. It gives hints rather than answers, sees only what the student sees, and leaves course staff in charge of when it helps and how much. What that looks like, and why we built it that way.

The TurboByte team3 min read

The TurboChat panel beside the code in the TurboByte IDE, answering a student's question about a ZeroDivisionError.

A student is working on average(grades). The first list works and the second one crashes with a ZeroDivisionError. They open the TurboChat panel beside the code and type: "What does ZeroDivisionError mean here? It worked for the first list."

The TurboChat panel beside the code. The student asks what ZeroDivisionError means, since it worked for the first list. The answer explains that len of an empty list is 0, quotes the instruction about empty lists, and asks how to check for an empty list first. The panel shows 80% left today.
The answer is a real one, from our test runs of the pilot, shown in the panel as a student sees it. It was not written for this article.

Look at what the answer does. It explains why the first list worked and the second didn't, using the student's own numbers. It sends them back to the instructions and quotes the sentence about empty lists. And it ends with a question, where the two lines of code that fix the bug could have been.

TurboChat is in pilot. It is built, and it is opening to a few courses first. This piece is about the choices behind it, because for a teaching assistant the choices matter more than the model.

A hint, then a Run

The panel opens with one line: "It helps you think it through. It won't write the answer."

A student who wants more help can ask for the next hint, but not straight away. First the panel asks them to try what they were told: "Use Run with your current code, then select Next hint." A hint the student hasn't tried is no use to them yet, and a string of hints with nothing in between is just the answer, delivered slowly.

"Won't write the answer" is the aim, and we treat it as something we measure rather than a promise. Answers in our test runs are read and checked for exactly this, and students in the pilot can mark any answer "Gave too much away".

It sees what the student sees

Each question goes with a snapshot of the student's side of the exercise: their files as they are in the editor, saved or not, the last output, the error card and the last test results. Hidden tests, the solution and any files the course keeps from students are never part of it. The panel says so in a line of its own: "Sees: your visible files and results shown in the IDE."

Course staff get two other modes. In a preview, TurboChat answers exactly as it would a student, so staff can try an exercise the way their students will meet it. In the exercise editor it does the opposite: it reads the hidden tests and the solution, and writes code if asked, which helps when preparing a course. Students never get that mode.

Course staff decide when, and how much

Setting

Choices

Help level, for the course or for one exercise

Off, Concepts only, Hints, or Hints and error help

When it can answer

Whenever it is on for the course, never, outside the submission window, or after the deadline

Languages

English, Hebrew, or both

So an exam can run with TurboChat silent, while a homework set has it from the first day. Each student also has a fair daily allowance, and the panel shows how much of today's is left.

It stays on the exercise

TurboChat answers questions about the exercise and the course, and turns down the rest. Abusive messages can close it to a student for a while, and course staff can open it again. A student who writes that they are struggling with more than the code gets a kind reply, one we wrote and checked ourselves rather than one the model makes up.

Two things we want to be plain about. It can be wrong: it is a pilot, and that is part of what we are measuring. And chats are not private: they are kept, and the people who run TurboByte can read them.

If you teach programming and would like your course to be part of the pilot, write to us.

ShareLinkedInXFacebookEmail