What is TRPRT?

TRPRT is a collection of exercises designed to improve your ability to read code quickly, which ultimately will help you write it quickly and correctly as well.

Why did you make this site?

I've tutored programming professionally with students of all ages. Over the years I've found that the number one reason that beginners get frustrated when writing code is surprisingly that they're not able to read what they've written.

Unlike other sites and courses, the focus of TRPRT is on developing your ability to read code just as much as your ability to write it, which makes all other aspects of programming easier.

Why should I practice reading code?

A beginner writes a program, then runs it. It doesn't do what they expected. They re-read the code they wrote, but they still don't know why it didn't do what they expected. They're stuck.

An expert writes a program, then runs it. It doesn't do what they expected. They re-read the code they wrote, spot which part of the code is causing the misbehavior, and fix it.

Why did the beginner get stuck while the expert did not? In both cases, the first draft of the program had a bug. The beginner got stuck in the reading phase, not the writing phase. The difference is that the beginner was not able to read their own code. If they knew how to read code, they'd know why their program didn't do what they wanted.

How should I use this site?

Start with the control flow quiz on a difficulty level where you're able to solve most of the questions, but still find it challenging. If you're a beginner, start with just Ints. If you encounter something you don't recognize, Google it or look it up in Think Python.

You should sign up for a free account so that your scores will be recorded automatically. As you practice, your speed will improve and you will see a chart of your progress. Once your speed plateaus, you should move on to a different exercise or difficulty level.

Pushing yourself to improve your time along with immediate feedback on your performance is a very important component of deliberate practice, which is the key to mastery (skip to 4:25 in the video below if you're in a hurry).

Shouldn't beginners write code too?

Definitely! You shouldn't just read code. Use the reading exercises to improve your writing ability.

I'm planning to add exercises that require you to write code as well. If you have any suggestions or requests, contact me.

This is great! How can I show my appreciation?

Thanks! The biggest thing you can do to help is share TRPRT on social media:

You can also sign up here to hear about future updates.

Why is the site called TRPRT?

It's short for interpreter, which is the term for a program which executes other programs. In these exercises, you act as the interpreter.

It's also a palindrome.

How do you pronounce TRPRT?

"Ter-Pert." Rhymes with "Fur Shirt."

What in-browser Python interpreter does TRPRT use?