Skip to main content

Python Course Overview

Welcome to the Python Programming Course. This track mirrors your Java course structure and is built from official Python documentation.

Official Source Policy

All topics in this section are based on official Python documentation from docs.python.org and related official Python references (such as PEPs hosted on peps.python.org).

Course Objectives

By the end of this course, you will be able to:

  1. Understand Python’s execution model, syntax, and runtime basics.
  2. Work confidently with Python built-in types and core data structures.
  3. Use control flow tools (if, loops, match, comprehensions) effectively.
  4. Write reusable functions and organize code using modules and packages.
  5. Build classes using Pythonic OOP patterns, including inheritance and iterators.
  6. Handle exceptions properly with try/except/else/finally and context managers.
  7. Use dataclasses, type hints, and virtual environments in practical workflows.
  8. Apply important standard library modules for real-world development tasks.
  9. Build and reason about Django applications using secure, maintainable patterns.
  10. Use Python effectively for cyber security automation and secure coding.
  11. Apply Python to networking tasks including sockets, async I/O, and IP tooling.
  12. Understand a Python data science workflow and foundational scientific tooling.

Course Outline

1. Python Basics

  • Python language overview
  • Running Python code and scripts
  • Virtual environments with venv

2. Built-in Data Types

  • Numeric, sequence, mapping, set, and text types
  • Truthiness and common operations
  • String formatting patterns

3. Control Flow

  • if, for, while, break, continue, and loop else
  • range() and iteration patterns
  • Structural pattern matching (match/case)

4. Functions, Modules, and Packages

  • Function parameters and call patterns
  • Docstrings and annotations
  • Import system, modules, package layout, and script entry points

5. Object-Oriented Python

  • Class syntax, instances, methods, and attribute lookup
  • Inheritance, MRO, and iterator/generator patterns
  • Dataclasses and practical type hints

6. Errors, Exceptions, and Cleanup

  • Syntax errors vs runtime exceptions
  • Exception handling and chaining
  • Cleanup using finally and with

7. Standard Library and Tooling

  • Core modules for OS/files, regex, math, datetime, and testing
  • CLI parsing and quality tooling
  • Environment management and reproducibility

8. Python with Django

  • Django architecture, request lifecycle, models, views, and URL routing
  • Secure defaults and production hardening basics
  • Practical project organization patterns

9. Python for Cyber Security

  • Security-oriented Python modules (secrets, hashlib, ssl, socket)
  • Secure coding practices and threat-aware design basics
  • Automation and defensive scripting patterns

10. Python for Networking

  • TCP/UDP fundamentals with socket
  • Async networking with asyncio
  • IP and network operations with ipaddress

11. Python for Data Science

  • Data workflow: ingestion, cleaning, analysis, and evaluation
  • Python standard modules for analysis support
  • Core ecosystem orientation (NumPy, pandas, Matplotlib, scikit-learn)

Primary Official References

Getting Started

Install a current Python 3 release from python.org, create a virtual environment, and run examples locally as you progress.