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

Université catholique de Louvain

Paradigms of Computer Programming

Université catholique de Louvain via edX

This course may be unavailable.


*Note - This is an Archived course*

This is a past/archived course. At this time, you can only explore this course in a self-paced fashion. Certain features of this course may not be active, but many people enjoy watching the videos and working with the materials. Make sure to check for reruns of this course.

This course gives 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. We explain the four ways to do data abstraction and discuss the trade-offs between objects and abstract data types. We present declarative dataflow, the most useful paradigm for concurrent programming, and show how it avoids race conditions. We give a simple formal semantics for all concepts and illustrate them with practical code that runs on the accompanying open-source platform, the Mozart Programming System. This course is 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.

To learn more about the practical organization of the course, watch our second introductory video:

All required readings are available within the courseware, courtesy of The MIT Press. A print version of the course textbook, Concepts, Techniques, and Models of Computer Programming, is also available for purchase. The MIT Press is offering enrolled students a special 30% discount on books ordered directly through the publisher’s website. To take advantage of this offer, please use promotion code CTMCP30 at The MIT Press site.

Before, during, and after the course, check out the course's official Facebook page for announcements and discussions.

At the end of this course, the successful participant will be able to :

  1. Specify problems, break them down into their basic steps, and design algorithms and abstractions to solve them
  2. Choose the right programming paradigm and write a program in this paradigm to solve a problem
  3. Use formal semantics to reason about program correctness
  4. Write small concurrent programs in the deterministic dataflow paradigm

Taught by

Peter Van Roy


4.0 rating, based on 1 Class Central review

Start your review of Paradigms of Computer Programming

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.