Software Defined Networking (Coursera)

Offered by University of Chicago,
Software Defined Networking (Coursera)

In this course, you will learn about software defined networking and how it is changing the way communications networks are managed, maintained, and secured.

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

Syllabus

WEEK 1
This week, I'll introduce an overview of the course and then dive into the history and evolution of SDNs.

WEEK 2
In this module, you will learn about the motivation and history behind the separation of the control and data plane, as well as the challenges and opportunities that this architectural paradigm offers.

WEEK 3
In this lesson, you will gain experience with OpenFlow/SDN control, gain some exposure to different SDN controllers, learn about the tradeoffs of using different SDN controllers, and gain some experience of using SDN to customize control-plane behavior.

WEEK 4
By the end of this module, you should have a good understanding of what network virtualization is, what it is used for, and how it relates to software defined networking.

WEEK 5
This module is relatively independent from some of the other modules, as programmable data planes involve new types of technology. Still, you should by now have a very good understanding of SDN-based control and virtualization. OpenFlow's design was somewhat of an accident of the hardware support that was available at the time. More recently, people are exploring how programmable hardware can help us design a control protocol with the benefit of being able to change the data plane.

WEEK 6
In this part of the course, you'll learn about programming languages and controllers that make this programmability possible. We will focus on one language in particular, Pyretic, which is from the Frenetic family of languages. We will also look at a runtime and northbound API called Resonance, which allows network programmers to write policies that respond to changing network conditions (e.g., security events, shifts in peak vs. off-peak time, traffic fluctuations or link failures).

WEEK 7
In this module, we will apply that knowledge to explore how SDN can be used to solve problems in various networking domains. We'll start by looking at data-center networking, where SDN has arguably gained the strongest foothold (to date). We'll then explore applications of SDN to interdomain routing, where new applications and deployments are emerging. Finally, we'll explore the application of SDN in home networks, which has seen some preliminary work, deployments, and ideas.

WEEK 8
Week Eight
In this module, we'll be looking at another control framework built using Pyretic called "Kinetic". Kinetic is a domain-specific language embedded in Pyretic that allows programmers and network operators to automatically verify the correctness properties of the control program. Your previous experience with Pox and Pyretic should provide you with very useful experience and perspective for comparing the three ways of programming a controller. In the assignment, we ask you to compare Kinetic to either Pox or Pyretic, so the experience you gained from those assignments should prove very useful.

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

Related Courses

Cybersecurity Job Search and Interviews: Getting Started (Coursera) Coursera
University System of Georgia

Cybersecurity Job Search and Interviews: Getting Started (Coursera)

Are you planning to have a career in cybersecurity? This course can help you plan your preparation for such a career as well as give some advice on finding positions and landing a position. What you will learn: the process and resources for finding the perfect cybersecurity job; the cybersecurity professional’s role in an organization’s cybersecurity effort; the knowledge preparation for the cybersecurity professional from an education versus training perspective.

Aug 17th 2026
5-12 Weeks
Decentralized Applications (Dapps) (Coursera) Coursera
University at Buffalo,The State University of New York

Decentralized Applications (Dapps) (Coursera)

This third course of the Blockchain specialization prepares you to design and develop end-to-end decentralized applications (Dapps) – which provide anyone with access to the blockchain’s features and services. You will use Truffle IDE, smart contracts, a simple web client and a MetaMask client. You will learn about the architecture of a Dapp: the front-end client interface, backed by the blockchain and smart contracts.

Aug 17th 2026
4 Weeks
Software Defined Networking (SDN) Access Security (edX) EdX
Curtin University,CurtinX

Software Defined Networking (SDN) Access Security (edX)

Discover how Software Defined Networking (SDN) can handle security and privacy issues for modern enterprise and data centre networks. The aim of this course is to equip learners with advanced skills in the fields of security and cybersecurity and make you industry ready. You will learn about SDN Access Security. We will begin with the core security and privacy issues relevant to conventional IP networking, and explain how SDN can handle security and privacy issues for modern enterprise and data centre networks.

Self Paced
Self-Paced
Netzwerkvirtualisierung - Von einfach bis zur Cloud (openHPI) OpenHPI
Hasso-Plattner-Institut

Netzwerkvirtualisierung - Von einfach bis zur Cloud (openHPI)

Nach der Virtualisierung der Server wird nun das Netzwerk virtualisiert. Physikalische und virtuelle Netzwerke werden entkoppelt und somit entstehen Netze mit neuen Möglichkeiten. Der Kurs zeigt die Netzwerkvirtualisierung, die schon lange im Netzwerk Verwendung findet, bis hin zu Cloud Netzwerken und Unternehmensvernetzung mit Hilfe von SD-WAN.

Self Paced
Self-Paced
Introduction to Cloud Infrastructure Technologies (edX) EdX
Linux Foundation,LinuxFoundationX

Introduction to Cloud Infrastructure Technologies (edX)

Learn the fundamentals of building and managing cloud technologies directly from The Linux Foundation, the leader in open source. New to the cloud and not sure where to begin? This introductory course, taught by cloud experts from The Linux Foundation, will help you grasp the basics of cloud computing and comprehend the terminology, tools and technologies associated with today’s top cloud platforms.

Self Paced
Self-Paced
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.

Aug 17th 2026
5-12 Weeks
TCP/IP and Advanced Topics (Coursera) Coursera
University of Colorado System

TCP/IP and Advanced Topics (Coursera)

In this course, we give an in-depth study of the TCP/IP protocols. We examine the details of how IP enables communications across a collection of networks. We pay particular attention to the hierarchical structure of IP addresses and explain their role in ensuring scalability of the Internet. The role of address prefixes and the uses of masks are explained in details. We review in details about TCP three-way handshake, flow control, and congestion control. Furthermore, we provide an introduction to some advanced topics, including Multicast, SDN and security

Aug 3rd 2026
5-12 Weeks
Juniper Cloud Concepts and Open Source Technologies (Coursera) Coursera
Juniper Networks

Juniper Cloud Concepts and Open Source Technologies (Coursera)

In this course, you will learn fundamental cloud computing concepts. This course covers key benefits of cloud computing, cloud service models such as SaaS and IaaS; public, private and hybrid cloud deployment models and open-source cloud technologies. You will learn about Linux virtualization techniques, QEMU-KVM, Libvirt and popular cloud instance initialization approach cloud-init.

Jan 13th 2025
1 Week
Cloud Networking (Coursera) Coursera
University of Illinois at Urbana-Champaign

Cloud Networking (Coursera)

In the cloud networking course, we will see what the network needs to do to enable cloud computing. We will explore current practice by talking to leading industry experts, as well as looking into interesting new research that might shape the cloud network’s future. This course will allow us to explore in-depth the challenges for cloud networking—how do we build a network infrastructure that provides the agility to deploy virtual networks on a shared infrastructure, that enables both efficient transfer of big data and low latency communication, and that enables applications to be federated across countries and continents? Examining how these objectives are met will set the stage for the rest of the course.

Aug 3rd 2026
5-12 Weeks
Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning (Coursera) Coursera
DeepLearning.AI

Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning (Coursera)

If you are a software developer who wants to build scalable AI-powered algorithms, you need to understand how to use the tools to build them. This course is part of the upcoming Machine Learning in Tensorflow Specialization and will teach you best practices for using TensorFlow, a popular open-source framework for machine learning.

Aug 17th 2026
4 Weeks
Smart Contracts (Coursera) Coursera
University at Buffalo,The State University of New York

Smart Contracts (Coursera)

This second course of the Blockchain specialization will help you design, code, deploy and execute a smart contract – the computational element of the blockchain technology. Smart contracts allow for implementing user-defined operations of arbitrary complexity that are not possible through plain cryptocurrency protocols. They allow users to implement conditions, rules and policies of the domain applications. Smart contracts are a powerful feature that, when properly designed and coded, can result in autonomous, efficient and transparent systems.

Aug 17th 2026
4 Weeks