Build 10 Network Applications with Python Course Syllabus
Full curriculum breakdown — modules, lessons, estimated time, and outcomes.
Overview: This project-based course takes approximately 15 hours to complete and guides learners through building 10 practical network automation tools using Python. Each module combines foundational Python programming with real-world networking tasks, reinforced by hands-on coding exercises, quizzes, and downloadable resources. You'll develop tools in realistic network emulation environments using GNS3 and VirtualBox, applying skills directly to network monitoring, configuration management, and security detection. The curriculum is structured around incremental project development, ensuring you gain confidence in automating common engineering tasks.
Module 1: Python Fundamentals for Networking
Estimated time: 3 hours
- Variables, data types, and basic operators
- Control structures: loops and conditionals
- Functions and exception handling
- File operations and regular expressions
- Introduction to classes and object-oriented basics
Module 2: Building Network Configuration Tools with SSH
Estimated time: 2.5 hours
- Understanding SSH and secure connections
- Using Paramiko for remote device access
- Creating an SSH configuration reader
- Automating command execution across devices
Module 3: IP Subnetting and Network Discovery Applications
Estimated time: 2 hours
- IP addressing and subnet calculation logic
- Building a subnet calculator tool
- Implementing OSPF neighbor discovery
- Device discovery using LLDP parsing
Module 4: Monitoring and Detection Scripts
Estimated time: 3 hours
- Reading SNMPv3 data with Python
- Building an SNMP network monitor
- Detecting rogue DHCP servers
- Creating an LLDP topology monitor
Module 5: Network Scanning and Packet Analysis Tools
Estimated time: 3 hours
- Integrating NMAP into Python scripts
- Developing a custom NMAP scanner tool
- Parsing and analyzing network packets
- Building a packet sniffer with Scapy
- Sending email alerts from detection tools
Module 6: Final Project
Estimated time: 1.5 hours
- Combine learned tools into a network health checker
- Integrate subnet calculator, SNMP monitor, and DHCP detector
- Test the integrated tool in a GNS3/VirtualBox network emulation environment
Prerequisites
- Basic understanding of networking concepts (IP addressing, routing, switching)
- Familiarity with command-line interfaces
- Basic experience with any programming language (helpful but not required)
What You'll Be Able to Do After
- Build and deploy practical Python-based network automation scripts
- Automate configuration backups and device monitoring using SSH
- Calculate subnets and discover network topology programmatically
- Detect rogue devices and monitor network services using custom tools
- Apply Python to real network environments using emulators like GNS3