• Length:
    6 Weeks
  • Effort:
    4–6 hours per week
  • Price:

    FREE
    Add a Verified Certificate for $50 USD

  • Institution
  • Subject:
  • Level:
    Advanced
  • Language:
    English
  • Video Transcript:
    English
  • Course Type:
    Instructor-led on a course schedule

Prerequisites

The course Louv1.1x, or equivalent. 

About this course

Skip About this course

Louv1.2x and its predecessor Louv1.1x together give an introduction to all major programming concepts, techniques, and paradigms in a unified framework. We cover the three main programming paradigms: functional, object-oriented, and declarative dataflow.

The two courses are targeted toward people with a basic knowledge of programming. It will be most useful to beginning programming students, but the unconventional approach should be insightful even to seasoned professionals.

Louv1.1x (Fundamentals) covers functional programming, its techniques and its data structures. You’ll use simple formal semantics for all concepts, and see those concepts illustrated with practical code that runs on the accompanying open-source platform, the Mozart Programming System.

Louv1.2x (Abstraction and Concurrency) covers data abstraction, state, and concurrency. You’ll learn the four ways to do data abstraction and discuss the trade-offs between objects and abstract data types. You’ll be exposed to deterministic dataflow, the most useful paradigm for concurrent programming, and learn how it avoids race conditions.

To learn more about the practical organization of the two courses, watch the introductory video.

What you'll learn

Skip What you'll learn
  • How to specify problems, break them down into their basic steps, and design algorithms and abstractions to solve them
  • How to choose the right programming paradigm and write a program in this paradigm to solve a problem
  • How to use formal semantics to reason about program correctness
  • How to write small concurrent programs in the deterministic dataflow paradigm

Meet your instructors

Peter Van Roy
Professor of Computing Science and Engineering
Université catholique de Louvain

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

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

"Hard to express how insightful this class is. It provides a taxonomy of programming paradigms --one I have not seen elsewhere-- that will benefit any programmer. With the thousands of programming languages out there, it is great to have a framework that helps understand how they relate. The approach is not 'this is the best paradigm' but rather 'this paradigm is best for'. " (a learner on CourseTalk)