Advanced Python Development

This course aims to extend and solidify your Python experience by exploring structural techniques and common Python APIs. You'll learn how to write OO and functional code, implement GUIs, create Web sites backed up by relational databases, implement multithreaded code, and more.

The course assumes you are happy with core Python concepts and syntax.

What you'll learn:

  • Functional Python programming
  • GUI development using Python
  • Logging
  • Regular expressions
  • XML manipulation
  • Multithreading
  • Networking
  • Web and database development using Django
  • Integrating with the C programming language


  • Approx. 6 months Python experience

Course outline:


Recap Essential Python Features

  • Modules and packages
  • Built-in functions
  • Algorithms and data structures
  • Object-oriented Python

Functional Development

  • Overview of functional programming
  • Iterators
  • Generator expressions
  • List comprehensions
  • Built-in functions
  • Using the itertools module

Curses Programming

  • Overview of the curses module
  • Starting and ending a curses app
  • Windows and pads
  • Displaying text
  • User input

GUI Programming

  • Overview of GUI APIs
  • Creating GUIs using Tkinter
  • Creating GUIs using JPython

Effective Logging

  • Logging essentials
  • Handlers and formatters
  • Configuration
  • Blocking handlers
  • Adapters
  • Filters
  • File rotation
  • Additional techniques

Regular Expressions

  • Overview
  • Using the match function
  • Using the search function
  • Search and replace
  • Regular expression modifiers
  • Regular expression patterns
  • Special characters
  • Multiplicity
  • Greedy vs. non-greedy repetition

XML Processing

  • Overview of SAX
  • Processing XML data using SAX
  • Overview of DOM
  • Processing XML data using DOM


  • Threading essentials
  • Starting a new thread
  • Using the threading module
  • Synchronizing threads
  • Specifying thread priorities


  • Socket concepts
  • Creating sockets
  • Sending data over a socket
  • Listening for connections
  • Receiving data over a socket
  • Non-blocking sockets
  • Sending emails

Getting Started with Django

  • Overview of Django
  • Installing Django
  • Writing a simple Django app
  • Defining a simple model
  • QuerySets
  • Implementing simple views
  • Using simple templates

Going Further with Django

  • Migrations
  • Raw SQL
  • Transactions
  • Aggregations
  • Generating CSV and PDF content
  • Security

Python Extension Programming in C

  • Overview of the Python extension module
  • C functions
  • Method mapping table
  • Initialization
  • Building and installing extensions
  • Importing extensions
  • Passing parameters to functions
  • Receiving return values

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Other relevant courses

7. September
4 days
Classroom Connect2Classroom
30. September
3 days
Classroom Connect2Classroom
21. October
3 days
23. September
3 days