Ram Rachum and his PythonTurtle project

This week we have a very special interviewee.  Israeli software developer Ram Rachum started PythonTurtle as a side project in 2009.  Focused on giving students and easy and fun introduction to real code centered around Python’s Turtle module, the downloadable Mac and Windows program is being used in classrooms around the world to get students hands-on with code.  In this interview Ram shares how he got started with PythonTurtle and some of the design philosophy behind the project.

Ram Rachum
Ram Rachum

This is part of a periodic interview series we’re doing with innovators in coding education.  You can find the other interviews in the series here.

Elliott: First of all, tell us a little about your background.  How did you get into programming?


Ram: I was always interested in computers when I was a child. Fortunately my parents noticed and appreciated that interest, and when I was in third grade they hired a private tutor to teach me programming using the BASIC language. I didn’t know any kind of programming, and that tutor taught me everything from the ground up.  Eventually I was able to write simple programs and games, all in BASIC. I was very excited in anticipation for every lesson, and gulped everything that he had to say.

Eventually I was able to write simple programs and games, all in BASIC.

The time I spent with that tutor was my most formative experience as a software developer. I learned the basic principles of programming and debugging, and everything I’ve learned after that course (like programming in C and Pascal in high school) felt like applying the exact same principles, just in a different language.

I figured that many more people, and especially children, might be interested in learning to program with Python

Elliott: When did you begin work on PythonTurtle, and why did you start it?

Ram: In 2009 I started learning programming again, after a long hiatus. I was learning Python because I was interested in physics and I wanted to write physics simulations. I was frustrated with how much technical work (installations, configuring stuff) was needed in order to program. (That was the reason I took a hiatus from programming in the first place.)

I figured that many more people, and especially children, might be interested in learning to program with Python if there was a way to do that that didn’t require too much technical work. I knew there was a turtle module in the Python standard library, which was an emulation of LOGO just like PythonTurtle, but I wasn’t happy with it. The simple truth was that if you wanted to use the turtle module, you’d need to download and install Python, run IDLE, and write `import turtle`. These three items don’t seem too bad– To a developer. That’s the key point. It’s an easy process for the kind of person who knows what Python is and what IDLE is and what an import line means. But if you want to get children involved, you can’t start with any of these assumptions because you’re going to lose your entire audience.




Another example of this approach is the fact that the standard turtle module doesn’t draw a real turtle on the screen; it draws a triangle shape. Because that’s basically the same thing, right?… To a developer. Same key point. If you’re a developer, than the turtle is just a meaningless graphic, and it’s basically the same thing as a triangle or any other shape. But to a child, the fact that there’s an image of a turtle moving on the screen makes all the difference in seeing programming as exciting rather than a boring technical task.

This is why I decided to develop PythonTurtle, with a dedicated installer and a drawing of an actual turtle.

Elliott: What was your background with Logo or any of the other Turtle-like environments? 

Ram: I used LOGO as a child briefly, both in school and at home, but didn’t get too deep into it. What enchanted me the most about LOGO was how mysterious and minimalistic it was. This was in DOS days, so when you launched LOGO, there was nothing on the screen except the turtle and the shell. Nothing. No start menu, no window title, no button to minimize. There were no distractions. (I tried to replicate this feeling in PythonTurtle, which is why the interface is so minimalistic.) There was also nothing to help you figure out how to use the program, which is kind of negative but it made the entire process feel more mysterious and impossible, so I guess I kind of enjoyed how difficult it was 🙂

I figured out the basic commands and loops and did some complex circle-like drawings. Other kids at school did more interesting things than me, I think.

Elliott: I know you recently found out that Saudi Arabia has integrated you into its national curriculum.  Congrats! Any other memorable or meaningful success stories that you’d care to share?

Ram: I was very happy to learn that Saudi Arabia integrated PythonTurtle into their curriculum. I was also contacted by other schools, in different places around the world who’ve used PythonTurtle. I was contacted by schools in the UK, South Africa and Australia.

The most memorable success story I have is a 70-year-old man from the states who said that he used PythonTurtle to teach himself programming and he was very happy with it. We kept corresponding after that and he went on to learn how to make GUIs in Python, using Git, and some more complex stuff.

Elliott: Are there any projects or people that inspire you or you think are doing great work right now?

Ram: I think sites like Codecademy, Trinket, and Brad Miller‘s interactivepython.org are doing the right thing by allowing learners to learn how to program on the web, without having to download and install a program. When someone is learning how to program they have to deal with a huge amount of technical information, and the more burden you can remove from their shoulders (by not requiring to download and install a program and then inevitably tweak its configuration,) the bigger chance they have to stick with it to the point where they can create a useful program, and after they’ve reached that stage they’re hooked, and they can continue studying on their own without anyone holding their hand.


That’s all for this great interview!  Big thanks to Ram for taking the time to chat with me. You can find Ram on Twitter @coolRR. Interested in learning more about PythonTurtle?  You’ll find the site here.

  • Alexis Caracas

    After completing the 4 levels of PythonTurtle, what should I do next to learn Python?