You are here

At Liberty to Program

A new Israeli MOOC is a fun way of learning about programming and how it connects to our lives

What caused a Weizmann Institute of Science professor and a researcher at HIT (Holon Institute of Technology) to produce an online programming course in English? “Programs are present in every part of our lives,” says HIT’s Dr. Michal Gordon, who gives the course together with the Weizmann Institute’s Prof. David Harel. “They are ubiquitous in our daily experience and will become more so in the future, so we wanted to give people a basic understanding of the everyday programming in our lives.” The course, called “Liberating Programming − System Development for Everyone,” will not turn its students into proficient programmers in the common textual languages of Java or C++, but it will give amateur programmers a basic grounding in the ways that programming shapes our modern experience, as well as an introduction to visual programming, specifically the languages developed in Harel’s group at the Weizmann Institute for the past 35 years. Professional programmers taking the course can gain a better understanding of what visual languages are and where they can be useful, and it may provide them with a stepping stone to further study of this type of language. “We wanted the course to be a fun way to learn about the programs we use subconsciously every day, so the course is really meant for anyone who uses a cell phone or an ATM,” says Harel. “Our research is all about how visual languages provide a more natural alternative to textual ones, and so we would like to tell more people about them. For example, recent research we did with high school students showed that there is an advantage to understanding more than one programming paradigm when learning to program; the visual languages constitute a very different programming paradigm to the ones they are normally taught, not just a different medium."

 Visual languages provide a more natural alternative to textual ones

Liberating Programming is offered through a new collaboration between IsraelX and MIT’s edX, one of the largest MOOC (massive open online course) sites. The course is free, though students who successfully complete the work can, for a small fee, get a certificate. Each lesson is broken up into segments in which Harel and Gordon explain programming concepts, using stories and metaphors. For example, recipes and kneading bread are used to demonstrate what a program is and to introduce such concepts as abstraction. Students are even encouraged to skip some of the more technical sections if these are too daunting. Short exercises between the segments enable students to test themselves and see if they have understood, for example, what types of algorithms are reactive in nature and which are merely transformative. (Hint: an ATM is reactive, while a Google search is transformative.) In addition, students may participate in a forum in which they are invited to reflect on the lessons, find examples from their everyday lives, and raised questions that are then addressed by the lecturers.

Clear explanations and simple language

Gordon is an alumnus of the Weizmann Institute of Science, having completed her PhD under Harel’s supervision in 2012; she has been working both in front of the camera and behind the scenes to script the lectures and set up the filming and production of the course. She and Harel take turns explaining the concepts and ideas behind the programs, starting with the metaphors and stories but leading within a few minutes to clear explanations in simple language. During the eight-week course, which officially started at the end of December but can still be joined (or, the when the course will be offered again in March), students are introduced to visual programming and to two actual languages. One of these languages is Statecharts – a computer language designed for complex, reactive systems; the other is live sequence charts (LSC). Statecharts was revolutionary when Harel initially developed the language in the 1980s; today it can be found in numerous applications ranging from aircraft design in industry to many areas of research in which visual languages have become more central. Live sequence charts is a more recent language, one based on scenarios rather than states. Gordon developed a controlled natural language interface LSC. These ideas, say the scientists, may ultimately revolutionize programming.

Prof. David Harel explains programming using kneading dough as an example

Statecharts was revolutionary when Harel initially developed the language in the 1980s

The recently formed IsraelX is a consortium of higher education institutions in Israel, led by the country’s Council for Higher Education and the Ministry for Social Equality. It is a part of Campus - the Israeli National Project for Digital Learning. In addition to promoting academic excellence for all within the county, IsraelX means to share the unique knowledge of the “start-up nation” with the rest of the world.

The course can be found on the edX site:

Prof. David Harel's research is supported by the Willner Family Leadership Institute for the Weizmann Institute of Science; and the European Research Council. Prof. Harel is the incumbent of the William Sussman Professorial Chair of Mathematics.



Please share if you found this interesting: