Paradigms of Computer Programming – Abstraction and Concurrency - Université catholique de Louvain



Informazione importanti

  • Corso
  • Online
  • Quando:

This course covers data abstraction, state, and deterministic dataflow in a unified framework with practical code exercises.With this course you earn while you learn, you gain recognized qualifications, job specific skills and knowledge and this helps you stand out in the job market.

Informazione importanti

Requisiti: The course Louv1.1x, or equivalent. 


Dove e quando

Inizio Luogo

Cosa impari in questo corso?

Computer Programming
Computer Science


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.

Ulteriori informazioni

Peter Van Roy Peter Van Roy is full professor of Computing Science and Engineering at the Université catholique de Louvain (UCL) in Louvain-la-Neuve, Belgium.  He is well-known for the textbook « Concepts, Techniques, and Models of Computer Programming » that explains many difficult programming concepts in a simple and insightful way.   For more than ten years he has been teaching two popular programming courses at UCL based on this approach.  His research is focused on the general theme of increasing the expressive power of programming languages, with a special focus on large-scale distributed computing.  He uses a combination of theory and practical system building to understand how to simplify programming and bring it to a higher level.