TrueschoTruescho
All Courses
Paradigms of Computer Programming – Abstraction and Concurrency
edX
Course
Advanced
Free to Audit
Certificate

Paradigms of Computer Programming – Abstraction and Concurrency

Université catholique de Louvain

This course covers data abstraction, state, and deterministic dataflow in a unified framework with practical code exercises.

5 hrs/week6 weeksEnglish16,333 enrolled
Free to Audit

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

  • 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

Prerequisites

  • The course Louv1.1x, or equivalent. 

Instructors

P

Peter Van Roy

Professor of Computing Science and Engineering

Topics

Concurrent Computing
Programming Concepts
Computer Programming
Data Structures
Abstract Data Types
Object-Oriented Programming (OOP)
Deterministic Methods
Data Abstraction
Functional Programming

Course Info

PlatformedX
LevelAdvanced
PacingUnknown
CertificateAvailable
PriceFree to Audit

Skills

الحوسبة المتزامنة
مفاهيم البرمجة
برمجة الحاسوب
هياكل البيانات
أنواع البيانات المجرّدة
Object-Oriented Programming (OOP)
Deterministic Methods
Data Abstraction
Functional Programming

Start Learning Now