Skip to main content

Programming for Everyone – An Introduction to Visual Programming Languages

This MOOC will help participants understand what programming is, and how to use programs. It will review programming languages and teach how to program in visual and intuitive languages. It requires no prior knowledge of programming or ofmathematics.

There is one session available:

8,499 already enrolled! After a course session ends, it will be archived.
Starts Dec 3
Estimated 8 weeks
2–3 hours per week
Self-paced
Progress at your own speed
Free
Optional upgrade available

About this course

Skip About this course

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

At a glance

  • Language: English
  • Video Transcripts: English, עברית

What you'll learn

Skip What you'll learn

You will get an overview of existing programming approaches, and learn at an introductory level two visual and natural programming languages: statecharts and live sequence charts.

  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.

Learner testimonials

Skip Learner testimonials

"I'm really glad to attend this course. I love the fresh look and the way this is delivered. Thanks for making this course fun but still insightful" -Previous student Irwan

"I'm really enjoying this course! I don't have programming experience, so at first, I wasn't sure this stuff was for me. But the course is designed in such a way that it walks you through the learning material step by step. I've grown more and more confident that I'm actually good at this!" -Previous student Danit

About the instructors

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX for Business.