www.mjhall.org

IT training resources & rants

View My GitHub Profile

Teaching Python programming

Python is a widely used general purpose programming language. It is a great first language for teaching purposes, and also a language that is in high demand in industry. Even better, it is free and open source, installed by default on most Linux and Mac OSX systems, and easily installed on Windows.

Several important administration tools in the RedHat/CentOS Enterprise Linux ecosystem are substantially written in Python, including the Anaconda system installer and the Yum package manager.

Networking-related software written in Python includes SDN networking tools (Ryu, Mininet and POX), network configuration tools (Salt and Ansible), and substantial parts of the OpenStack cloud platform.

Many Cisco devices support Python, and Cisco’s developer website features a prominent Python Network Automation section which describes the language as follows:

Python is not the only language being used for network automation but the combination of being an easy to learn language, and many code samples and utilities has made it a go-to language for network engineers.

General Python teaching & learning resources

The following links contain plenty of good introductory material to get started with Python or to kick off an introductory eLearning unit on Python programming:

Python for system administration

These links deal with using Python to replace Bash as a shell scripting language:

Python for network administration

These (mainly Cisco) links deal with the use of Python in network management and automation: