PRNE: Programming for Network Engineers

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

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

Target audience

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

Course 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





Modules:

  • 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

Labs

  • 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

 



There is currently no exam aligned to this course.




  • Hvem passer dette kurset for?
    Kurset er for nettverksingeniører, nettverksadministratorer og andre med ansvar for nettverksdrift som ønsker å ta i bruk programmering/automatisering i sitt arbeid – spesielt Python + nettverksenheter (f.eks. Cisco IOS-XE).

  • Hvilke forkunnskaper bør jeg ha?

    • Grunnleggende kunnskap om nettverksadministrasjon og nettverksenheter (konfigurasjon, drift). 

    • Kjennskap til Cisco IOS-XE eller lignende for nettverksenheter. 

    • Anbefalt: CCNA eller tilsvarende som gir et godt grunnlag.

  • Hva lærer jeg i kurset?
    Etter kurset vil du kunne:

    • Lage enkle Python-skript som henter data og endrer konfigurasjon på nettverksenheter med verktøy som Netmiko. 

    • Forstå datatyper, strenger, løkker, betingelser (if/else), operatorer, funksjoner, klasser, moduler og pakker. 

    • Jobbe med brukerinput, feilhåndtering (exceptions), debugging. 

    • Håndtere ulike datalagrings- og formateringsoppgaver (CSV, XML, JSON osv.). 

  • Hvordan foregår kurset?

    • Kombinasjon av forelesninger og lab-øvelser i simulerte nettverksmiljøer. 

    • Varighet: 5 dager

    • Kursmaterial er på engelsk, instruktør snakker engelsk.

  • Hva slags materiell og verktøy får jeg tilgang til?

    • Offisielt Cisco-kursdokumentasjon + lab-oppgaver. 

    • Praktiske øvelser med Python, moduler/pakker, import/importering av eksterne biblioteker, debugging, håndtering av filer og dataformat osv. 

  • Er dette kurset praktisk / hands-on?
    Ja – det er mye lab-arbeid, praktiske oppgaver hvor du skriver skript og tester mot nettverksenheter, feilsøker og håndterer virkelighetsnære scenarioer. 

  • Kan jeg ta kurset når jeg selv vil?
    Ja, dette kurset finnes som e-læring (selvstudium), pris 8 000 NOK + MVA.

  • Gir kurset sertifisering?
    Nei – det er ingen offisiell eksamen knyttet til kurset.

  • Kan jeg få kurset spesialtilpasset?
    Ja – vi tilbyr at kurs kan skreddersys for bedrifter (bedriftsinternt), med tilpasninger etter organisasjonens behov. 

  • Kan jeg bestille kurset for min organisasjon?
    Ja – kursene tilbys både som åpne kurs og bedriftsinterne kurs.


Hva er neste steg etter dette kurset?
Etter dette kurset er det naturlige neste steget:

Andre kurs som kan være verdt å ta en titt på:
CCNA: Implementing and Administering Cisco Solutions