Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Python and Network Programmability

Delivery Plan Oct 2021 for AWS bridging training


Teacher: Paul Madden
Email: paul.madden9@tafensw.edu.au
Head Teacher: Ashraf Salem
Phone: 02-99423750
Email: ashraf.salem@tafensw.edu.au
Education Support Officer: Mary Begley
Email: mary.begley1@tafensw.edu.au
Teams Meeting Link: TBA
Moodle Link: TBA

Mon 11 Oct Version Control. Centralised/decentralised models. Git. GitHub & friends. Git
operations (tagging, branching, fetching versions). Regular expression matching.
Practical: work through tutorial for command-line git. Collaborate using GitHub.
Quiz: regular expression matching.
Tue 12 Oct Introduction to Python, install Python and editor, Python REPL, variables,
conditionals, loops, collections, functions.
Practical: REPL, Python as a calculator, interacting with the user, write simple
functions, refactor code, write basic programs.
Wed 13 Oct Objects: structs and encapsulation, brief mention of inheritance (not examinable),
constructors, instance verses object variables, dictionaries, "Pythonic" and PEPs.
Practical: simple classes, object instances in collections, add instance counter to
previous, write programs.
Thu 14 Oct Modules and importing, writing your own modules, PIP and security implications,
exceptions, command-line arguments, file I/O
Practical: the Math module, convert between JSON and dictionaries, implement
Unix 'cat' utility
Exam: syntax, identify/correct errors.
Fri 15 Oct String formatting, etc and missing knowledge, Closures and Decorators (not
examinable)
Mon 18 Oct "Pythonic Python".
Practical: ad hoc exercises to build comfort and familiarity.
Tue 19 Oct Networking in Python. Python networking modules.
Practical: write simple TCP client/server. Simple web server using http.server.
Make web-server interactive.
Wed 20 Oct What is an API?, purpose of network API, discussion of alternate design and
architectural styles. Webhooks.
Practical: write a web-API exposing something interesting from your system (eg
uptime, CPU temperature).
Quiz: API terminology.
Thu 21 Oct Forking and threading. Python regular expressions, matching and substitution.
Using loopback interface for single-host IPC.
Practical: write forking server. Write threaded client, updating shared collection.
Write web-bot using rexexp to parse.
Fri 22 Oct Network Programability: YANG, NETCONF, RESTCONF, instructor-led walk-
through.
Mon 25 Oct Collaborative project: Write a web-based application with a component that
displays information via a web page, and a component that scrapes the web.
Components communicate via webhook APIs. Application is developed using git.
Tue 26 Oct Unit testing. Continuous integration/Continuous deployment.
Practical: apply unit tests to previously written code.
Wed 27 Oct Hardening. Security implications, code injection, defence-in-depth, salting,
cryptography, SSL, public-keys.
Practical: ssh authorized_keys, GPG.
Thu 28 Oct Data-centrism: Text, JSON, XML, Python, serialization. Data extraction: XPath.
YANG.
Practical: convert between formats. Extract data via XPath.
Quiz: identify various data formats, explain best-practice extraction methods,
defend rationale, identify pitfalls and suggest mitigation methods.
Fri 29 Oct Automated deployment and provisioning.
Two days, including examinable component where students deploy applications
via (Anisible Pupppet Chef)
Mon 1 Nov Automated deployment and provisioning.
Tue 2 Nov Programming Project and Incident Management. (Appropriate projects to be
negotiated with students, based on applicability and student interest.) Tools and
techniques for finding, debugging and dealing with failures.
Wed 3 Nov Programming Project and Incident Management.
Thu 4 Nov Programming Project and Incident Management.
Fri 5 Nov Programming Project and Incident Management.

You might also like