Programming for Network Engineers - PRNE Course Outline

(4 Days)


Programming for Network Engineers (PRNE) is designed to be of immediate value to Network Engineers looking to use Network Programming to simplify or automate their tasks. It covers the fundamentals of Python programming within the context of performing functions relevant to network engineers. This course is designed with interactivity in mind — through hands-on labs, review questions, and summary challenges. This renders the learning experience more real-world and helps increase retention. Additionally, gamification features such as badges and leaderboard provide social visibility and motivation to perform better.


Audience Profile

The primary audience for this course is as follows:

  • Network Engineers


The knowledge and skills that the learner should have before attending this course are as follows:

  • Experience with network management (CCNA-level recommended)

At Course Completion

Upon completing this course, the learner will be able to meet these overall objectives:   

  • Describe use cases and examples of the value of network programmability
  • Acquire a full complement of Python programming skills — basics, data structures, control structures, comparison operators, input and output, structured programming, object-oriented programming, etc.
  • Use Python to communicate to individual network devices, using examples of real networking communication and operations
  • Use Python to communicate to multiple devices
  • Use Object-Oriented Programming within Python to abstract network devices
  • Use databases within a network-based application to store information about the network
  • Use test methodologies to create quality applications
  • Leverage software available via open source and existing libraries e.g. Cisco GitHub, Cisco DevNet, Python general-purpose and Cisco-specific libraries, NX-API


Course Outline

·      Introducing Programmability and Python for Network Engineers

·      Scripting with Python

·      Examining Python Data Types

·      Manipulating Strings

·      Describing Conditionals, Loops, and Operators

·      Exploring Classes, Methods, Functions, Namespaces, and Scopes

·      Exploring Data Storage Options

·      Exploring Python Modules and Packages

·      Gathering and Validating User Input

·      Analyzing Exceptions and Error Management

·      Examining Debugging Methods

·      Course Summary

Lab outline

·      Execute Your First Python Program

·      Use the Python Interactive Shell

·      Explore Foundation Python Data Types

·      Explore Complex Python Data Types

·      Use Standard String Operations

·      Use Basic Pattern Matching

·      Reformat MAC Addresses

·      Use the if-else Construct

·      Use for Loops

· Use while Loops

· Create and Use Functions

· Create and Use Classes

· Use the Python main() Construct

· Traverse the File Structure

· Read Data in Comma-Separated Values (CSV) Format

· Read, Store, and Retrieve Data in XML Format

· Read, Store, and Retrieve Date in JavaScript Object Notation (JSON) Format

· Read, Store, and Retrieve Data in a Raw or Unstructured Format