Get started with custom lists to organize and share courses.

Sign up

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

Software Defined Networking

Princeton University via Coursera

6 Reviews 678 students interested
Found in Computer Science
  • Provider Coursera
  • Cost Free Online Course (Audit)
  • Session Upcoming
  • Language English
  • Certificate Paid Certificate Available
  • Effort 7-10 hours a week
  • Start Date
  • Duration 8 weeks long
  • Learn more about MOOCs

Taken this course? Share your experience with other students. Write review


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


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

Week Two
-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 Three
-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 Four
-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 Five
-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 Six
-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 Seven
-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 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.

Taught by

Dr. Nick Feamster


Help Center

Most commonly asked questions about Coursera Coursera

Reviews for Coursera's Software Defined Networking
4.0 Based on 6 reviews

  • 5 star 17%
  • 4 stars 67%
  • 3 star 17%
  • 2 star 0%
  • 1 star 0%

Did you take this course? Share your experience with other students.

Write a review
  • 1
3.0 4 years ago
Anonymous completed this course.
Heavy in OpenFlow washing of SDN. Really should be called OpenFlow use in SDN. Also, very light on the real world limitations of OpenFlow.

Misses the target on other alternative designs and use cases possible without the need of OpenFlow to accomplish an SDN solution.
2 people found
this review helpful
Was this review helpful to you? Yes
Wee L
4.0 5 years ago
Wee completed this course, spending 3 hours a week on it and found the course difficulty to be hard.
It is hard for network beginners. Almost impossible for someone without networking background at all.

But if you know some networking and basic Python, this might be an interesting course for you.
3 people found
this review helpful
Was this review helpful to you? Yes
4.0 5 years ago
Anonymous completed this course.
It was good. but I expected little more information about the northbound and southbound.
Was this review helpful to you? Yes
Kuronosuke K
5.0 4 years ago
Kuronosuke is taking this course right now.
0 person found
this review helpful
Was this review helpful to you? Yes
Gontse C
4.0 3 years ago
by Gontse completed this course.
Was this review helpful to you? Yes
Maiass M
4.0 4 years ago
by Maiass completed this course.
0 person found
this review helpful
Was this review helpful to you? Yes
  • 1

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.