PYTHONPNPP - PNPP - Practical Network Programming in Python (PNPP)

This course is designed for network architects and network engineers that have experience designing, building and maintaining enterprise and/or service provider networks. It is expected that student has a strong network engineering background but may have limited programming or scripting experience.

Instructor did a great job, from experience this subject can be a bit dry to teach but he was able to keep it very engaging and made it much easier to focus. Student
Excellent presentation skills, subject matter knowledge, and command of the environment. Student
Instructor was outstanding. Knowledgeable, presented well, and class timing was perfect. Student

Click here to print this page »


Ideally, students should be experienced Route/Switch or Data Center professionals that are working with these technologies daily. Recommended prerequisite certifications or equivalent knowledge and skills include Cisco CCNP or Juniper JNCIP level professionals. Our course developer’s most important quote, ’You can’t automate what you don’t understand’.

Detailed Class Syllabus

Module 1 – Intro to Python

Lesson 1
Introduction to Python:
In this lesson students will review programming basics, learn the fundamentals of Python and examine its code structure and program flows. They will also learn how libraries are used to communicate with networking equipment.
Lesson 2
Exploring Network Device Data Formats:
This lesson focuses on communicating with network devices and the various formats of data produced through interactions with those pieces of networking equipment. Through this exploration students will become comfortable with working with network programming libraries.

Module 2 – Network Operations Automation

Lesson 1
Network Device Orchestration
In this lesson students will leverage their strong understanding of the network from an architectural view and how to use a services-model approach to plan, automate and validate network functionality. Students will learn how to think like a programmer when addressing network configuration challenges; this insight will also help improve communications in environments where their developers and network engineers exist in separate teams.
Lesson 2
Configuration, Validation and Auditing:
In this lesson students will create/modify live device configurations. Topics covered include non-destructive configuration modifications, configuration management, sequential vs. parallel execution and other best practices. Students will apply what they learned in the previous model to validate and audit their automated network configuration changes.
Lesson 3
Network Automation Ecosystems:
In this lesson students will explore the principles of Continuous Integration/Continuous Development (CICD) for the purposes of version control and pipeline execution. Additionally, students will learn to use the RobotFramework to drive their custom automation solutions and to call 3rd party Python libraries, import their own custom libraries, and leverage its powerful validation, auditing and reporting functionality.