Programming for Network Engineers (PRNE)

The Programming for Network Engineers (PRNE) training is designed to equip you with fundamental skills in Python programming. Through a combination of lectures and lab experience in simulated network environments, you will learn to use Python basics to create useful and practical scripts with Netmiko to retrieve data and configure network devices. Upon completion of this training, you should have a basic understanding of Python, including the knowledge to create, apply, and troubleshoot simple network automation scripts.


What you need to know

Continuing Education

Earn 24 CE credits towards recertification

Ways to get this training

Cisco U. Learning Path

Follow a guided Learning Path designed for your certification success. Pre- and post-assessments help you skip what you know and focus on what you need to learn.

Instructor-led training

Join lively classroom-style learning and discussions, online or in person, that are led by Cisco and our Learning Partners.

E-learning

Access a rich library of technology and certification training, study bundles, practice exams, simulators, and more.

How you'll benefit

This training will help you:

  • Explain the need for network engineers to learn how to program
  • Explain how programming relates to the journey into network automation and programmability
  • Create useful and practical scripts to retrieve data and configure network devices
  • Create, apply, and troubleshoot simple network automation scripts
  • Gain hands-on experience with Python programming

Who should enroll

  • Network administrators
  • Network engineers with little or no programming or python experience
  • Network managers
  • Systems engineers

Technology areas

  • Network programming
  • Python
  • Network engineering

Objectives

After taking this training, you should be able to:

  • Create a Python script
  • Describe data types commonly used in Python coding
  • Describe Python strings and their use cases
  • Describe Python loops, conditionals, operators, and their purposes and use cases
  • Describe Python classes, methods, functions, namespaces, and scopes
  • Describe the options for Python data manipulation and storage
  • Describe Python modules and packages, their uses, and their benefits
  • Explain how to manipulate user input in Python
  • Describe error and exception management in Python
  • Describe Python code debugging methods

Prerequisites

There are no prerequisites for this training. However, the knowledge and skills you are recommended to have before attending this training are:

  • Familiarity with Cisco IOS®-XE software or other Cisco network device configuration and operation skills
  • Basic network management knowledge
  • Cisco CCNA® certification or equivalent knowledge

These skills can be found in the following Cisco Learning Offerings:


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

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
  • Import Modules from the Python Standard Library
  • Import External Libraries
  • Create a Python Module
  • Prompt the User for Input
  • Use Command-Line Arguments
  • Manage Exceptions with the try-except Structure
  • Manage Exceptions with the try-except-finally Structure
  • Use Assertions
  • Use Simple Debugging Methods
  • Use the Python Debugger
  • Code a Practical Debugging Script