Python for SDN Fundamentals

4 Day Course
Code PSD180

Book Now - 2 Delivery Methods Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


This highly practical course is designed for engineers who need to gain an understanding of the Python programming language and how it cn be effectively used with Mininet to emulate SDN systems.


  • Understand the principles of programming in Python
  • Use the Python interpreter to write and run Python programs
  • Understand Python elements
  • Exploit the rich collection of Python libraries and modules
  • Recognise variable types
  • Use Python operators and built-in functions
  • Understand procedure control in Python
  • Program file input/output, including persistent data objects
  • Create well organised and efficient code using functions and modules
  • Use object-oriented programming techniques in Python
  • Build robust applications with error trapping and reporting
  • Describe the concept of SDN
  • Understand the concepts and basic structure of an SDN controller
  • Appreciate the functionality and use of the Mininet network emulator
  • Examine a small part of an SDN Controller on Mininet to demonstrate network configuration using Python

Target Audience

This course is intended for network engineers, IT infrastructure specialists and pre-sales engineers who need to gain a basic understanding of the Python programming language, and how it can be effectively used to emulate SDN configurations.


Hide all

Course Introduction (3 topics)

  • Administration and course materials
  • Course structure and agenda
  • Delegate and Trainer introductions

Python: INTRODUCTION (7 topics)

  • Features and use
  • Installation
  • The IDLE editor
  • First Program
  • Execution
  • Documentation
  • Object concept

Python: FUNDAMENTALS (7 topics)

  • Program structure
  • Identifiers
  • Reserved words
  • Lines and indentation
  • Multi-line and multiples statements lines
  • Quotes
  • Comments

Python: VARIABLES AND DATA TYPES (11 topics)

  • Variables
  • Assigning values to variables
  • Reading keyboard input
  • Printing to the screen
  • Standard data types
  • Numbers
  • Strings
  • Lists
  • Tuples
  • Dictionaries
  • Type conversion

Python: OPERATORS (7 topics)

  • Arithmetic Operators
  • Relational Operators
  • Assignment Operators
  • Logical Operators
  • Bitwise Operators
  • Membership Operators
  • Identity Operators


  • Conditional statements
  • if ... else
  • if ... elif
  • Nested if
  • Loop statements
  • while
  • for
  • Nested loops
  • Loop Control Statements
  • break
  • continue
  • pass

Python: FUNCTIONS (5 topics)

  • Creating functions
  • Def statement
  • Calling functions
  • Scoping variables
  • Passing arguments

Python: MODULES (5 topics)

  • Modules explained
  • Standard modules
  • Coding a module
  • Importing a module
  • Passing arguments

Python: FILE I/O (6 topics)

  • File manipulation concepts
  • Opening and closing files
  • File object attributes
  • Reading from files
  • Writing to files
  • File positioning

Python: PATTERN MATCHING (7 topics)

  • Pattern Matching Principles
  • re module
  • Pattern matching with re
  • re patterns
  • re modifiers
  • match function
  • search function

Python: OO (9 topics)

  • OO Concepts
  • OO Terminology
  • Garbage Collection
  • Creating classes
  • Creating instance objects
  • Accessing attributes
  • Class inheritance
  • Overriding and overloading
  • Data hiding

Python: EXCEPTIONS (6 topics)

  • Exception concepts
  • Default handler
  • Predefined exceptions
  • Handling an exception
  • Raising an exception
  • user-defined exceptions

SDN: Overview (7 topics)

  • SDN Background
  • Cloud computing
  • Fundamental SDN characteristics
  • SDN operation
  • SDN devices
  • SDN controller
  • SDN applications

MININET: Overview (5 topics)

  • Mininet background
  • Architecture
  • Use
  • Mininet CLI commands
  • Mininet walkthrough

SDN: Controller emulation (5 topics)

  • Example SDN controller configuration
  • Mininet setup
  • Mininet Configuration
  • Building Python Code
  • Running an application


This course assumes that delegates have a basic understanding of programming and SDN.  Experience pf other programming languages woud be beneficial.

Additional Learning

The courses below may help you meet the knowledge level required to take this course.

Scheduled Dates

Please select from the dates below to make an enquiry or booking.


Different pricing structures are available including special offers. These include early bird, late availability, multi-place, corporate volume and self-funding rates. Please arrange a discussion with a training advisor to discover your most cost effective option.

Code Location Duration Price Apr May Jun Jul Aug Sep
Virtual Classroom (London)
4 Days $3,445

Course PDF


Share this Course


Recommend this Course