Course Catalog
Programming for Network Engineers (PRNE) v2.0
Code: PRNE v2.0
Duration: 4 Day
$3600 USD

OVERVIEW

The Programming for Network Engineers (PRNE) course 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 course, you should have a basic understanding of Python, including the knowledge to create, apply, and troubleshoot simple network automation scripts.

This course 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
DELIVERY FORMAT

This course is available in the following formats:

Virtual Classroom

Duration: 4 Day

CLASS SCHEDULE

Delivery Format: Virtual Classroom
Date: May 06 2024 - May 09 2024 | 08:30 - 16:30 EDT
Location: Online
Course Length: 4 Day

$ 3600

Delivery Format: Virtual Classroom
Date: May 06 2024 - May 09 2024 | 08:30 - 16:30 EDT
Location: Online
Course Length: 4 Day

$ 3600

Delivery Format: Virtual Classroom
Date: Jul 29 2024 - Aug 01 2024 | 08:30 - 16:30 EDT
Location: Online
Course Length: 4 Day

$ 3600

Delivery Format: Virtual Classroom
Date: Jul 29 2024 - Aug 01 2024 | 08:30 - 16:30 EDT
Location: Online
Course Length: 4 Day

$ 3600

Delivery Format: Virtual Classroom
Date: Sep 16 2024 - Sep 19 2024 | 08:30 - 16:30 EDT
Location: Online
Course Length: 4 Day

$ 3600

Delivery Format: Virtual Classroom
Date: Sep 16 2024 - Sep 19 2024 | 08:30 - 16:30 EDT
Location: Online
Course Length: 4 Day

$ 3600

GOALS

After completing this course, 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
OUTLINE

Will Be Updated Soon!

Introducing Programmability and Python for Network Engineers

  • Programmability
  • Continued Importance of the CLI
  • Need for Python
  • First Python Program

Scripting with Python

  • Running a Python Script
  • Python Interactive Shell
  • Editors and IDEs

Examining Python Data Types

  • String Data Type
  • Integer Data Type
  • Float Data Type
  • Boolean Data Type
  • Type() Function
  • Python Variables
  • List Analysis
  • Tuple Data Analysis
  • Data Set Types
  • Python Dictionary
  • Nested Data Types
  • Navigating Complex Data Structures

Manipulating Strings

  • String Manipulation
  • String Splitting
  • Modifying Strings
  • String Contacenation
  • Whitespace Stripping
  • Formatting and Templating
  • Escape Characters
  • Regular Expressions
  • String Methods

Describing Conditionals, Loops, and Operators

  • Whitespace and PEP 8
  • Conditionals
  • Operators
  • Example of Using Conditionals
  • Loops
  • Loops with Lists, Dicts and Ranges

Exploring Classes, Methods, Functions, Namespaces, and Scopes

  • Practical Reuse of Codes
  • Functions
  • Code Commenting
  • Namespaces and Scopes
  • Classes and Methods
  • Using Inheritance to Extend Functionality
  • Main Construct

Exploring Data Storage Options

  • Data Formats
  • Readng Data from a Simple Text and CSV File
  • Writing Data to a Simple Text and CSV File
  • Reading Data from a JSON Text File
  • Writing Data to a JSON Text File
  • Data Access in a RAW or Unstructured Format

Exploring Python Modules and Packages

  • Python Standard Library Modules
  • Reusable code with Modules and Packages

Gathering and Validating User Input

  • Obtaining User Input
  • Command-Line Arguments

Analyzing Exceptions and Error Management

  • Errors and Exceptions
  • Managing Exceptions
  • Assertions

Examining Debugging Methods

  • Code Debugging Process
  • Python Debugging Functions
  • Debuggers
  • Python Debugger
  • Pdb Commands
LABS

Will Be Updated Soon!
  • 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
WHO SHOULD ATTEND

Networking individuals looking to understand the fundamentals of Python programming which is essential for today’s software defined networks.

PREREQUISITES

Attendees should meet the following prerequisites:

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

Recommended prerequisites:

  • CCNA - Implementing and Administering Cisco Solutions