Teaching Computer Science (in Saudi Arabia)

Recently I came across two computer programming products, whose creators have mentioned they’re being used in the high school curricula of Saudi Arabia. The reasons I was looking at the these two products were not connected, so I thought it an interesting coincidence that I came across similar stories twice in about a week.

The first product was a learning program called PythonTurtle, created by Israeli developer Ram Rachum.


Python, for those who don’t know, is a popular computer programming language. Turtle is a reference to the ‘turtle’ used in the Logo programming language, which is an icon or point that shows the current position of the cursor on the screen when drawing using Logo. Logo is an early computer language developed specifically as an educational tool for teaching programming (and one of the test schools where it was used was my elementary school in Brookline, MA). The goal of PythonTurtle was to create a learning environment similar to Logo, but using the modern (and more useful) programming language Python.

Ram Rachum developed PythonTurtle six years ago and released it as open-source software. Last year he started noticing a large number of traffic to his site from Saudi Arabia, although he didn’t know why. He also noticed that the traffic peaked in January – both in 2014 and 2015. A few weeks ago he received an answer to his question, when a teacher from Saudi Arabia explained that PythonTurtle has been integrated into the high-school curricula of Saudi Arabia, and is being using in thousands of schools by hundreds of thousands of students.

The second product I came across was AppStudio by NS Basic.


AppStudio is a commercial development environment that can use either the BASIC or Javascript programming languages to develop application for Android and iOS smartphones. I came across it in a promotional link. I was looking for something else, but glanced at a list of discounted apps and noticed AppStudio. Curious about it, I took a look at the web site, and noticed several posts about Saudi Arabia – two press releases from December and an article published on the web site edSurge from February – titled How We Taught Computer Science to 225,000 Students in Saudi Arabia.

From the article, it appears that in the case of AppStudio, they were contacted directly by the Saudi Ministry of Education. The company sent at least one person to Saudi Arabia to train teachers and help develop the curriculum. Over the period of five months, from January to May 2014, a 150-page programming curriculum was developed, and thousands of teachers were trained. One line gave me pause in the article:

“The simple, top down organization of the Ministry means they have the ability to quickly accomplish what would take years in western school systems.”

Top-down is one way to describe Saudi Arabia. Perhaps the top-down nature is what also allowed the Israeli-developed program PythonTurtle to be used in its curricula, when Saudi Arabia has no diplomatic relations with Israel and doesn’t allow anyone with an Israeli stamp in their passport to visit the country (let alone someone with an Israeli passport). It seems clear Ram Rachum was not invited to train teachers on the use of PythonTurtle, but at least it’s being used, right?

The article also explains that there are two semesters of computer programming in the Saudi curriculum, both in tenth grade, the first covering basic programming skills, and the second covering mobile development. It would seem likely that PythonTurtle is being used in the first semester and AppStudio is being used in the second semester.

I think it’s great that Saudi Arabia is integrating computer programming into its nationwide curricula. More countries and school systems should be doing similar things. I would suggest that schools look to integrate it earlier than tenth grade though, as it might not make as great of an impression at that point. I learned to program Logo in third grade, because my public elementary school took part in an experimental program to teach programming to children from MIT. I think third grade is probably a good time to start learning programming. Not just because I learned it then, but because my oldest child is currently in second grade, and I can see her being ready to learn programming next year. At the very least, however, I think children should learn to program while still in elementary school (primary school for those who use that term).

Not everyone will be a computer programmer (nor should they be) but early recognition of those who have natural skills for programming would be useful in encouraging those children to take more advanced courses in high school and beyond. Computer programming is an important skill in a whole slew of fields beyond high-tech, from science and mathematics, to finance and engineering. Even for those student who never program anything again, it teaches important skills like logic and analytical thinking.

Congratulations to Saudi Arabia for having the foresight to teach computer programming to all of its students. I hope Saudi Arabia will be tracking the influence of this new policy and publishing analysis of this new program, so other countries and school systems can learn from their experience.

Leave a Reply