The Course Name: APFEN-Advanced Programming For Enterprise Networks with Python v3.0
The Duration:5 Days
The Overview:
This course is designed for non-programmers who already are familiar with networking solutions at professional level and above for teaching them programming knowledge for using at Network Solutions. The technology we teach in this course suits many vendors including Cisco as well.
What You Will Learn:
In the first two days we teach our participants python programming and then they get to know basics of network programming and best practical scenarios for how to interact with different Layer 4 protocols, TCP and UDP as well as major layer 7 protocols like HTTP and SSH. With our new development; we mostly focus on API programming and how to use these skills to develop applications to interact with cisco APIs on NX9k and APIC-EM as well.
The Course Index:
Day 1
- Programming Introduction
- Comparing different programming languages
- Why Python?
- Python2 vs. Python3
- Installing Python
- Interactive Python Interpreter
- Python Script
- Reserved Words
- Basic Syntax
- Lines
- Comments
- Errors (syntax, exceptions)
- Numeric Types
- Mutable vs. Immutable Objects
- Naming Objects (Identifiers)
Day 2
- Strings
- String Methods
- Formatting strings
- Reading From Input
- Boolean
- Built-in Functions
- Type Conversion
- Statements
- Operators
- Operators Precedence
- Flow Control and Decision Making
- Code Blocks and Indentation
- While Loop
- Loop Control Statements (break, continue, pass)
- Lists and Tuples
- Iteration
- List Operations and Methods
- Nested lists
- Packing and Unpacking
Day 3
- Dictionaries
- Dictionary Operations and Methods
- Nested dictionaries
- Bytes and Bytearray
- Unicode in python3
- User Defined Functions
- Function Positional Arguments
- Function Keyword Arguments
- Function Arguments Default Value
- Variable Length Arguments
- Scope of Variables
- Modules
- What is a module?
- import Statement
- Locating Modules dir( ) Function
- Installing modules with pip
- Some usefull modules (sys, os, math, ipaddress,…)
- Working with files
- STDIN and STDOUT
- Exceptions
- Regular Expressions
- Data formats (XML, JSON)
Day 4
- Sockets programming
- Automating Device Operations with SSH
- HTTP
- HTTP Methods (GET, POST, PUT, DELETE)
- HTTP Request
- HTTP Response
- Basic Authentication
- Cookies
- Requests Module
- HTTPS
Day 5
- REST APIs
- Postman
- Working with simple RESTful APIs
- Nexus 9k API
- APIC-EN API
- Multi threading