KAU

Data Plane Programming (KAU)

Data Plane Programming (KAU)

A hybrid mooc on making the network data plane more flexible and programmable. Programmable Networks are of great importance. It is the starting point for making computer networks open for innovation, and enables the rapid introduction of new functionalities that make our networks more scalable, reliable and effective. Especially the data plane is important because it determines the speed, capacity and latency that distributed applications and services will experience.

At Karlstad University, we have developed advanced level academic courses on how to make the network data plane more flexible and programmable.

Traditionally, network equipment has been seen as a closed box with little opportunity to invent. With the recent support of new programming languages such as P4, compiler and runtime support, the next generation of network equipment will be programmable, enabling new use cases. The course is divided into three modules. In the first module, we will introduce the concept of programmable data planes, including P4. In the second part, we will look into how we can use programmable data planes for data-center loadbalancing. Finally, part three covers techniques that enable network monitoring, in-network caching and facilitate simple computing operations with programmable data planes.

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

Related Courses

Uso de bases de datos con Python (Coursera) Coursera
University of Michigan

Uso de bases de datos con Python (Coursera)

Este curso presentará a los estudiantes los conceptos básicos del lenguaje de consulta estructurado (Structured Query Language, SQL), así como el diseño básico de bases de datos para almacenar datos como parte de una iniciativa de varios pasos para recopilar, analizar y procesar datos. El curso utilizará SQLite3 como base de datos. También crearemos rastreadores web y procesos de visualización y recopilación de datos de varios pasos. Utilizaremos la biblioteca D3.js para realizar la visualización básica de datos.

Oct 12th 2026
5-12 Weeks
Internet of Things: Communication Technologies (Coursera) Coursera
University of California, San Diego

Internet of Things: Communication Technologies (Coursera)

Have you wondered how “Things” talk to each other and the cloud? Do you understand the alternatives for conveying latency-sensitive real time data versus reliable signaling data? Building on the skills from the Sensing and Actuation course, we will explore protocols to exchange information between processors.

Oct 5th 2026
4 Weeks
Computational Neuroscience (Coursera) Coursera
University of Washington

Computational Neuroscience (Coursera)

This course provides an introduction to basic computational methods for understanding what nervous systems do and for determining how they function. We will explore the computational principles governing various aspects of vision, sensory-motor control, learning, and memory. Specific topics that will be covered include representation of information by spiking neurons, processing of information in neural networks, and algorithms for adaptation and learning.

Oct 12th 2026
5-12 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Oct 5th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Oct 5th 2026
4 Weeks
Programming Fundamentals (Coursera) Coursera
Duke University

Programming Fundamentals (Coursera)

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

Oct 5th 2026
4 Weeks
Learn Imba (Coursera) Coursera
Scrimba

Learn Imba (Coursera)

In this class, you'll dive into Imba, the programming language used to build scrimba.com. Imba, a compile-to-JavaScript language, packs a punch with nifty features for whipping up web apps, including built-in tags and styles. We'll cover the ABCs of Imba syntax and work on creating a Dopamine Box app. By the finish line, you'll be armed with the skills to construct your very own web app UI using Imba.

Oct 12th 2026
1 Week
An Introduction to Interactive Programming in Python (Part 1) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 1) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Oct 5th 2026
5-12 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Oct 12th 2026
5-12 Weeks