Advanced Python Programming – Detailed Course Outline

Copyright © 2014 - 2017, Anderson Software Group, Inc.

Section 1 - Functional Programming

  • Lambdas
  • List Comprehensions
  • Set and Dictionary Comprehensions
  • Closures and Decorators
  • Generators and Coroutines
  • Generator Expressions
  • Declarative Programming   

Section 2 - Systems Programming

  • File Descriptors
  • Reading and Writing Files
  • Files and Directories
  • File Locking
  • Memory Mapped I/O
  • Creating Processes
  • Process Management
  • Pipes and Signals

Section 3 - Classes and Objects

  • New Style Classes
  • Inheritance and Mixins
  • Properties and Slots
  • Static and Class Methods
  • Abstract Base Classes
  • Method Overriding
  • Attributes and Functors
  • Decorators and Factories
  • Descriptors and MetaClasses

Section 4 - Persistence and Databases

  • Shelve and Pickle
  • SQL Relational Databases
  • Connection, Cursor, Row Objects
  • Create, Read, Update, Delete
  • Error Handing
  • Query Results and Metadata
  • Create and Aggregate Functions
  • Exporting and Importing
  • Transactions and Rollbacks
  • Database Objects

Section 5 - Network Programming

  • Sockets and Addresses
  • Establishing Connections
  • TCP Clients and Servers
  • UDP Clients and Servers
  • UDS Clients and Servers
  • Network Objects
  • SocketServers
  • Secure Sockets Layer

Section 6 - Web Programming

  • JSON and XML
  • Using XML-RPC
  • Rest Interfaces
  • WSGI and HTML
  • Flask Framework
  • Controller Functions
  • Templates and Forms
  • Database ORMs

Section 7 - Threads and Concurrency

  • Creating and Joining Threads
  • Daemon Threads
  • Thread Objects
  • Timer Threads
  • Locks and Semaphores
  • Events and Conditions
  • Thread Locals
  • Thread Queues
  • Process Queues and Tasks
  • Process Pools

Section 8 - Extending and Embedding Python

  • Calling C/C++ from Python
  • Using ctypes
  • Extension Modules in C/C++
  • Raising Python Exceptions
  • Calling Python from C/C++
  • Embedding Python Interpreter
  • Importing Python Modules from C/C++
  • Converting Python Objects to C/C++
  • Invoking Python Functions from C/C++