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

Intel® Network Academy - Network Transformation 102 (Coursera) Coursera
Intel Corporation

Intel® Network Academy - Network Transformation 102 (Coursera)

Welcome to the Intel® Network Academy – a comprehensive training program on network transformation. In this program, we will be covering the topic areas of software defined infrastructure (SDI) network functions virtualization (NFV), software-defined networking (SDN) and beyond. Network Transformation 102 covers topics such as VNF Operations & Development, Cryptography, and Hyperscan technology, students will dive into the benefits of Intel hardware and software and explore how to accelerate compute-intensive operations with Intel® QuickAssist Technology (Intel® QAT).

Sep 28th 2026
4 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Sep 21st 2026
5-12 Weeks
Learn TypeScript (Coursera) Coursera
Scrimba

Learn TypeScript (Coursera)

Are you a proficient developer in HTML, CSS, and JavaScript, looking to elevate your technical skillset? Have you observed an increasing demand for TypeScript in the professional job market and are keen to explore its significance? Are you in search of a programming language that offers ease in readability and debugging? If the answer to any of these questions is affirmative, then you have arrived at the optimal course to advance your career.

Sep 28th 2026
4 Weeks
Network Dynamics of Social Behavior (Coursera) Coursera
University of Pennsylvania

Network Dynamics of Social Behavior (Coursera)

How do revolutions emerge without anyone expecting them? How did social norms about same sex marriage change more rapidly than anyone anticipated? Why do some social innovations take off with relative ease, while others struggle for years without spreading? More generally, what are the forces that control the process of social evolution –from the fashions that we wear, to our beliefs about religious tolerance, to our ideas about the process of scientific discovery and the best ways to manage complex research organizations?

Sep 28th 2026
5-12 Weeks
Programming Mobile Applications for Android Handheld Systems: Part 1 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 1 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will develop an app from scratch, assuming a basic knowledge of Java, and learn how to set up Android Studio, work with various Activities and create simple user interfaces to make your apps run smoothly.

Sep 28th 2026
5-12 Weeks
Introduction and Programming with IoT Boards (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Introduction and Programming with IoT Boards (Coursera)

Internet of Things (IoT) is an emerging area of information and communications technology (ICT) involving many disciplines of computer science and engineering including sensors/actuators, communications networking, server platforms, data analytics and smart applications. IoT is considered to be an essential part of the 4th Industrial Revolution along with AI and Big Data. This course will be very useful to senior undergraduate and graduate students as well as engineers who are working in the industry.

Sep 28th 2026
5-12 Weeks
Programación en Python (Coursera) Coursera
Universidad de los Andes

Programación en Python (Coursera)

¡Te damos la bienvenida al curso de Programación en Python de la Universidad de los Andes! El propósito de este curso es ofrecerte un ambiente interactivo para que desarrolles tus habilidades de pensamiento computacional, aprendas a programar en el lenguaje Python y te entrenes en la resolución de problemas utilizando un computador. La estrategia pedagógica empleada es el aprendizaje activo basado en casos.

Sep 28th 2026
4 Weeks
Introducción a UML (Coursera) Coursera
Universidad de los Andes

Introducción a UML (Coursera)

Bienvenidos a este curso de introducción al Lenguaje de Modelado Unificado, o UML por su sigla en inglés. Este curso surge como respuesta a la necesidad de los ingenieros de software de desarrollar la habilidad de abstraer y representar en un modelo problemas o soluciones. Esta habilidad es especialmente importante en el mundo del software donde las tecnologías son tan cambiantes. Un modelo te provee una forma de comunicar y validar un entendimiento, independiente de la tecnología en la que construirás una solución.

Sep 28th 2026
4 Weeks
5G Network Fundamentals (Coursera) Coursera
Institut Mines-Telecom

5G Network Fundamentals (Coursera)

This MOOC presents the services and the architecture of 5G networks, the main principles of the new radio interface (NR), data flow management, security and the new Service-Based Architecture (SBA). In recent years, operators have been deploying 5G technology on commercial mobile networks. The latter is announced as a major technological breakthrough with speeds beyond Gbit/s, very low latencies and above all a distribution in many sectors of activity (industry, transport, medicine, etc.).

Sep 28th 2026
5-12 Weeks
Java程序设计 (Coursera) Coursera
Peking University

Java程序设计 (Coursera)

《Java程序设计》课程是使用Java语言进行应用程序设计的课程,针对各专业的大学本科生开设。课程的主要目标有三: 一、掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯,会使用重构、设计模式、单元测试、日志、质量管理工具提高代码的质量。 对于学过“计算机基础、计算概论或C语言的学生”尤为适用。

Sep 21st 2026
5-12 Weeks
Blockchain Scalability and its Foundations in Distributed Systems (Coursera) Coursera
The University of Sydney

Blockchain Scalability and its Foundations in Distributed Systems (Coursera)

Blockchain promises to disrupt industries once it will be efficient at large scale. In this course, you will learn how to make blockchain scale. You will learn about the foundational problem of distributed computing, consensus, that is key to create blocks securely. By illustrating limitations of mainstream blockchains, this course will indicate how to improve the technology in terms of security and efficiency. In particular, this course will help you: understand security vulnerabilities of mainstream blockchains; design consensus algorithms that tolerate attacks, and; design scalable blockchain systems.

Sep 28th 2026
5-12 Weeks