Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Programming for Everyone – An Introduction to Visual Programming Languages

Weizmann Institute of Science and Holon Institute of Technology via edX


The world around us becomes immersed in technology, which is ultimately driven by programming and governed by its laws. We believe that high-level knowledge of means for programming ‒ past, present, and most importantly, future ‒ is of crucial interest to many.

This course is designed to teach almost anyone about the essence of programming, about the diverse types of existing programming paradigms, about how programming has evolved over the years, and, significantly, about what it will entail in the future.

In the main part of the course, we will present some visual, diagrammatic programming languages, and some of the more recent playful and intuitive approaches to programming. We hope to help people interested in technology, as well as computer science students, to better understand the various approaches to programming, which are becoming increasingly important in our lives. This course is meant to “Liberate Programming” - to provide more people with the understanding of what programming is and how it works.s


  1. Introduction to programming, the development of programming langauges, reactive systems and the definition of programming.
  2. Visual programming languages and visual formalisms. The challenges of visual languages, and overview of possible languages.
  3. Introduction to the executable programming language of Statecharts. Concepts of hierarchy and orthogonality.
  4. Advanced statecharts and the semantics of statecharts. Can be skipped by less technical students.
  5. Programming with stories. The paradigm of behavioral programming. The executable language of live sequence charts (LSCs).
  6. Playful programming and programming by demonstration. Controlled natural language and interfaces to programming, show & tell, drag & drop.
  7. Advanced concepts in LSCs. Choice, forbidden scenarios and more. Can be skipped by less technical students.
  8. Survey of fun programming languages and learning robots. Discussion on the future of programming, and summary.

Taught by

David Harel and Dr. Michal Gordon


3.8 rating, based on 5 Class Central reviews

Start your review of Programming for Everyone – An Introduction to Visual Programming Languages

  • Anonymous
    I'm really glad to attend this course. Although it's delivered in the fun way, but it's still insightful.
    Frankly speaking, this one is my first course, which I've registered myself as the verified one.
    I'd like to express my gratitude to the lecturers, Prof. David Harel and Dr. Michal Gordon.

    Please keep it up. Honestly, I still hope that this course will be continued.

  • Anonymous
    Nice course and full of new information, I hope we can see another in-depth course for learning the logic of programming
  • Anonymous

    It was a very funny course. It was easy to follow. But at the same time I learned some very powerful tools. With these tools you can even simulate the behavior of a living being.

    Further more, the teacher Michal was always there to respond to the questions.

    An inspiring course.

  • Anonymous
    The course did not usually contribute to me.
    I have programming knowledge, but there is nothing to do with programming really.
    The videos are long and tiring and I would not usually recommend choosing the course.
  • Anonymous
    The course is well written, interesting and just overall good.
    The lecturers explain everything very good and in a manner that is really understandable, which is great.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.