Course Syllabus

Class1: Why Python, the REPL, Strings

  • Why Python?
  • Characteristics of Python.
  • The Python Interpreter Shell.
  • Printing to stdout and Reading from stdin.
  • Dir, Help, and Variables
  • Comments
  • Strings

Class2: Numbers, Booleans, Files, Lists, Tuples

  • Numbers
  • Booleans and None
  • Files
  • Lists
  • Mutable and Immutable Objects
  • Tuples

Class3: Conditionals, Loops, and List Comprehensions

  • Conditionals
  • For Loops
  • While Loops
  • List Comprehensions
  • Generator Expressions

Class4: Sets, Dictionaries, and Exceptions

  • Sets
  • Set Comprehensions
  • Dictionaries
  • Dictionary Comprehensions
  • Exceptions

Class5: Regular Expressions

  • Special Characters
  • Capture Groups
  • Anchors and re.MULTILINE
  • re.DOTALL
  • re.escape()
  • Named Capture Groups

Class6: Functions

  • Functions
  • Lambda Expressions

Class7: Classes and Objects (Part1)

  • Dunder-Init
  • Attributes
  • Creating Objects
  • Methods
  • Properties

Class8: Classes and Objects (Part2)

  • Data Classes
  • Class Attributes
  • Class Hierarchy and Inheritance
  • Composition

Class9: Libraries, sys.path, Virtual Environments, and pip

  • Using Libraries
  • sys.path
  • $PYTHONPATH
  • Virtual Environments
  • pip

Class10: Modules and Packages

  • Dunder-name
  • main() function
  • Modules
  • Packages

Student Success

  • I decided to take Kirk's courses on Ansible and Nornir during the stay-at-home-orders in 2020 when COVID-19 hit the world. After the first few lessons I was able to write my first script to check for and add VLANs to our NX-OS environment.

    Stian Liebenberg
    Senior Wireless Engineer
  • I highly recommend both courses (Ansible and Netmiko) for those looking to learn more about network automation. Kirk Byers does a great job at explaining the content, provides the lab resources required to perform the course material, and is good at responding to questions on his Slack Channel.

    Andrew Turner
  • I am on the material for the 3rd week and I just wanted to compliment you on the way that you explained how to unwrap the data structures. Best step by step explanation I have seen so far to help me understand and work with the data. Thank you very much!

    Ray deGuzman
    Senior Network Engineer

FAQ

What is the format of the course?

This course is a ten week email-course. Each week you will receive a lesson that contains a set of videos, some additional content, and some exercises. I will post solutions to the exercises online. The course is largely self-paced except for the weekly email cadence.

Is there a lab environment?

No, since this is a free course, there is no lab environment. For all of the lessons you should be able to accomplish the lessons without having any access to network devices.

What are the prerequisites for the course?

This course is intended for network engineers that have some basic familiarity with programming (for example, Perl, shell scripting, other language) and who would like to learn Python. The course covers Python fundamentals, but using examples and exercises that are more relevant to network engineers.

Why Python?

Python facilitates writing clean, readable code and is natively present on Linux and MacOS. Python has gained widespread support in the networking community both from engineers and from vendors. Python has a large, active community and, consequently, numerous resources are available to you (libraries, documentation, books, tutorials, etc.).

What if I am unsatisfied with the course after I sign-up?

The course is free so unsubscribe from the email-list if you aren't happy with the lessons or our other content.

About Us

Kirk

Kirk Byers is the founder of Twin Bridges Technology–a business specializing in network automation training. He is the creator of the Netmiko Python library and also one of the maintainers of the NAPALM project. He teaches Python, Ansible, and Nornir courses for Network Engineers and writes about network automation. He is a long-time network engineer (CCIE #6243 emeritus), has extensive experience with *nix system administration, and is a Python programmer. He is interested in programming and networking and how to improve network engineering practices through automation.

Zack

Zack is a programmer extraordinaire. His language of choice is Python. He loves programming and is very big into games including: Magic the Gathering, Brawl Stars, Scythe, and Terraforming Mars.

Jupiter

Jupiter is all dog. She loves to be near her people and loves her food (not necessarily in that order). She likes the water, the beach, chasing birds, and meeting new people. She is categorized as "an aggressive chew breed" and is living up to that category.