Paradigms of Computer Programming – Abstraction and Concurrency

Peter Van Roy, LouvainX

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

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 will you 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

Сессии:
  • 6 ноября 2017, 6 недель
Характеристики онлайн курса:
  • Бесплатный:
  • Платный:
  • Сертификат:
  • MOOC:
  • Видеолекции:
  • Аудиолекции:
  • Email-курс:
  • Язык: Английский Gb

Отзывы

Пока никто не написал отзыв по этому курсу. Хотите быть первым?

Зарегистрируйтесь, чтобы оставить отзыв

Входит в подборки курсов:
Csci52 Информатика и программирование
1 курс МИЭМ ВШЭ, 10 кредитов
Ещё курсы на эту тему:
Louvainx1_262x136 Louv1.01x: Paradigms of Computer Programming
This course covers functional, object-oriented, and declarative dataflow programming...
Louvainx1-262x136-verified Louv1.1x: Paradigms of Computer Programming – Fundamentals
This course covers functional, object-oriented, and declarative dataflow programming...
Louvainx1-262x136-verified Louv1.2x: Paradigms of Computer Programming – Abstraction and Concurrency
This course covers data abstraction, state, and deterministic dataflow in a...
B37998ed-d23b-417d-9f20-6674e1964d18-e42b25a4a02a.small Paradigms of Computer Programming – Fundamentals
This course covers functional, object-oriented, and declarative dataflow programming...
Ещё из рубрики «Компьютерные науки»:
91f52ef3-fa3f-4934-9d19-8d5a32635cd4-7215f4e906fb.small Data Science: R Basics
Build a foundation in R and learn how to wrangle, analyze, and visualize data...
6152449b-250c-45ee-8ed7-53d0670f33c6-5c9b91b62a9c.small AWS Developer: Deploying on AWS
Learn from AWS experts how to leverage your developer skills to deploy applications...
Regular_7b541420-e149-42fe-86cd-93e4588aaed5 Why We Post: the Anthropology of Social Media
Discover the varying uses of social media around the world and its consequences...
Regular_727e573b-9197-45d6-b9de-172f76bc6993 Clinical Bioinformatics: Unlocking Genomics in Healthcare
Learn about the role of clinical bioinformaticians in healthcare and how their...
Regular_19c268cf-67da-4887-8989-d52f3cae42b7 Teaching Computing
Enhance your practice and subject knowledge as a primary or secondary school...
Ещё от edX:
961efa62-07b6-4c56-94cb-3524fb1b7021-f2e68ae285a4.small The Civil War and Reconstruction - 1861 - 1865: A New Birth of Freedom
Learn about the political, social, and economic changes in the Union and the...
6513ed9c-112a-4951-82ad-7036cbe52831-60f97dab4575.small Supply Chain Technology and Systems
Learn how technology is used in supply chain systems from fundamental concepts...
E7108e03-64dc-4252-8913-6da3a55e3698-ef64eff80806.small Urban Sewage Treatment
Learn about urban water services, focusing on basic sewage treatment technologies...
91f52ef3-fa3f-4934-9d19-8d5a32635cd4-7215f4e906fb.small Data Science: R Basics
Build a foundation in R and learn how to wrangle, analyze, and visualize data...
6152449b-250c-45ee-8ed7-53d0670f33c6-5c9b91b62a9c.small AWS Developer: Deploying on AWS
Learn from AWS experts how to leverage your developer skills to deploy applications...

© 2013-2017