• Length:
    8 Weeks
  • Effort:
    2–3 hours per week
  • Price:

    FREE
    Add a Verified Certificate for $49 USD

  • Institution
  • Subject:
  • Level:
    Introductory
  • Language:
    English
  • Video Transcripts:
    English, עברית

Prerequisites

None, introduction to CS a plus.

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

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.

Meet your instructors

Michal Gordon
PhD
IsraelX
David Harel
Prof.
IsraelX

Pursue a Verified Certificate to highlight the knowledge and skills you gain $49.00

View a PDF of a sample edX certificate
  • Official and Verified

    Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects

  • Easily Shareable

    Add the certificate to your CV or resume, or post it directly on LinkedIn

  • Proven Motivator

    Give yourself an additional incentive to complete the course

  • Support our Mission

    EdX, a non-profit, relies on verified certificates to help fund free education for everyone globally

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