EdX

Paradigms of Computer Programming - Abstraction and Concurrency (edX)

Paradigms of Computer Programming - Abstraction and Concurrency (edX)

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

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

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.

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
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Implementation of Data Structures (edX) EdX
IIT Bombay,IITBombayX

Implementation of Data Structures (edX)

Learn how to write correct and efficient data structures manipulation using existing standard template library (STL) of C++. Get introduced to the power of STL and make your code more solid, reusable, and robust. In this Computer Science course, you will learn about implementation of all major abstract data structures using object-oriented programming paradigm of C++.

This course is archived
5-12 Weeks
CS For All: Introduction to Computer Science and Python Programming (edX) EdX
Harvey Mudd College,HarveyMuddX

CS For All: Introduction to Computer Science and Python Programming (edX)

A fun, fast-paced introduction to solving interesting problems with computer science through Python programming. Looking to get started with computer science while learning to program in Python? This computer science course provides an introduction to computer science that’s both challenging and fun.

No sessions available
13-24 Weeks
Introduction to C++ (edX) EdX
Microsoft

Introduction to C++ (edX)

Get a brief introduction to the C++ language from the experts at Microsoft. C++ is a general purpose programming language that supports various computer programming models such as object-oriented programming and generic programming. It was created by Bjarne Stroustrup and, “Its main purpose was to make writing good programs easier and more pleasant for the individual programmer.”*

No sessions available
4 Weeks
Introduction to Apache Spark (edX) EdX
University of California, Berkeley

Introduction to Apache Spark (edX)

Learn the fundamentals and architecture of Apache Spark, the leading cluster-computing framework among professionals. Spark is rapidly becoming the compute engine of choice for big data. Spark programs are more concise and often run 10-100 times faster than Hadoop MapReduce jobs. As companies realize this, Spark developers are becoming increasingly valued.

Not Available
Course Not Available
Mobile Computing with App Inventor - CS Principles (edX) EdX
Trinity College, Hartford

Mobile Computing with App Inventor - CS Principles (edX)

This course introduces basic principles of computer science by designing and building mobile apps in App Inventor for Android. Learn to use the open development tool, App Inventor, to program on Android devices. You will learn how to design and build mobile apps -- apps that are aware of their location, send and receive text messages, and give advice and directions. The only limit on the types of apps you will learn to build is your own imagination!

No sessions available
5-12 Weeks