52 Weeks of Python
Becoming a complete Python software developer
In "52 Weeks of Python" you will learn to become a software developer, aka programmer, aka coder. You will learn not only the nuts and bolts of writing Python code including data types, looping, and reading and writing data; but also more advanced topics such using databases, communicating with networking devices, multi-threading, RESTful APIs, and even some user interface instruction to go with it.
Expect to evolve your technology skills beyond simple, small Python scripts, into becoming a complete programmer on all aspect of software development, adding to your technological skills, making you that much more valuable to your employer, and even more desirable to potential employers in your future.
Your Instructor
Chuck Black has been writing software for networking applications for 39 years. He holds Bachelors and Masters degrees in Computer Science, and has worked in research and development labs for his entire tenure in the networking industry, holding positions as software engineer, technical lead, and architect. In addition, he has spent the past eight years also training students in developing SDN software, teaching courses for major customers around the world.
Chuck is currently developing this course on Python programming, in addition to developing this 'Quokka' project, which as a network monitoring tool is used alongside this training, to provide real-world examples of Python code in action.
Course Curriculum
-
StartWeek 1 - Introduction (39:18)
-
StartMake a choice
-
StartWeek 2 - Python Basics (24:58)
-
StartWeek 3 - A Device in Python (32:52)
-
StartWeek 4 - Multiple Devices in Python (42:22)
-
StartWeek 5 - Functions in Python (42:04)
-
StartWeek 6 - Modules & Packages in Python (38:50)
-
StartWeek 7 - Strings in Python (67:45)
-
StartWeek 8 - Printing in Python (32:42)
-
StartWeek 9 - Comparisons in Python (47:01)
-
StartWeek 10 - Nested Data (46:36)
-
StartWeek 11 - Constants, Enums, and Avoiding Literals (34:08)
-
StartWeek 12 - Lists vs Dictionaries (41:24)
-
StartWeek 13 - Debugging (50:15)
-
StartWeek 14 - Everything is an Object (45:40)
-
StartWeek 15 - Comprehensions (50:18)
-
StartWeek 16 - Generators (45:54)
-
StartWeek 17 - Data Normalization (41:47)
-
StartWeek 18 - Tuples (45:27)
-
StartWeek 19 - Named Tuples (40:25)
-
StartWeek 20 - Sets (45:48)
-
StartWeek 21 - JSON (47:46)
-
StartWeek 22 - YAML (34:52)
-
StartWeek 23 - XML (47:34)
-
StartWeek 24 - Regular expressions (37:50)
-
StartWeek 25 - CSV (47:37)
-
StartWeek 26 - Netmiko (54:01)
-
StartWeek 27 - git (43:02)
-
StartWeek 28 - NAPALM (49:37)
-
StartWeek 29 - napalm compare config (30:35)
-
StartWeek 30a - Review: Basics (50:35)
-
StartWeek 30b - Review: Intermediate (43:35)
-
StartWeek 30c - Review: Files and Formats (35:00)
-
StartWeek 31 - scapy (48:07)
-
StartWeek 32 - nmap (41:05)
-
Startweek 33 ncclient (netconf) (48:08)
-
StartWeek 34 - pyshark (32:20)
-
StartWeek 35 - object-oriented programming: overview (51:50)
-
StartWeek 36 - object-oriented programming: device (53:36)
-
StartWeek 37 - object oriented programming: inheritance (47:32)
-
StartWeek 38 - flask overview, host discovery and monitoring (45:15)
-
StartWeek 39 - flask monitor, display, scan, inventory, counters (49:41)
-
StartWeek 40 - flask with host, device, and service monitoring (41:57)
-
StartWeek 41 - flask usage in quokka (38:05)
-
StartWeek 42 - databases: overview (59:21)
-
StartWeek 43 - SQL alchemy for mini-quokka (45:32)
-
StartWeek 44 - mongo (52:29)
-
StartWeek 45 - concurrency: overview (44:15)
-
Startpythonpath (6:33)
-
StartWeek 46 - threads and threadpools (47:18)
-
StartWeek 47 - asyncio concurrent quokka (51:32)
-
StartWeek 48 UI - setup and initialization (58:21)
-
StartWeek 49 - UI code walkthrough (61:57)
-
StartWeek 50 - messaging overview and endpoints (57:42)
-
StartWeek 51 - message consumers (40:42)
-
StartWeek 52 - messaging: traceroute and portscan UI (35:54)
-
StartZero to Quokka: Full installation
-
StartQFS-01 (21:08)
-
StartQFS-02 (8:56)
-
StartQFS-03 (27:06)
-
StartQFS-04 (34:56)
-
Start52 Weeks in 52 minutes (56:21)
-
StartWeek 53 - auto-generated REST API documentation (35:51)
-
StartWeek 54 - recursion (41:09)
-
StartWeek 55 - unit testing (53:07)
-
StartWeek 56 - adding packet capture (45:46)
-
StartWeek 57 - distributed quokka-prime (37:08)
-
StartWeek 58 - find password (54:45)
-
StartWeek - 59 brute force password (including multiprocessing and queues) (61:30)
-
StartWeek 60 - denial of service (45:44)
-
StartWeek 61 - status over time (41:17)
-
StartWeek 62: status summaries and DB trimming old entries (49:33)
-
StartWeek 63: UI overview and status graphs (69:04)
-
StartWeek 64 Java: Introduction (35:37)
-
StartWeek 65 Java: host monitor (69:17)
-
StartWeek 66 Go: introduction (37:24)
-
StartWeek 67 Go: host monitoring (49:03)