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, define and consume REST services and web sockets, implement multithreaded code, use popular Python data science libraries, implement Big Data solutions, and more.

«Andy was great, got a lot out of the course. Had no experience with Python and after 3 courses I am now writing and running code!» Olaug Lerstøl, NBIM - Norges Bank Investment Management


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

What you'll learn:

  • Object-oriented Python programming
  • Functional Python programming
  • REST services and web sockets
  • Defining and using decorators
  • Asynchronous programming
  • Python data science techniques
  • Python Big Data and PySpark


  • Approx. 6 months Python experience

Course outline:

  • Recap Essential Python Features: Language Fundamentals; Functions; Data Structures; Defining and Using Packages; Additional Techniques
  • Object-Oriented Programming: Essential Concepts; Defining and Using a Class; Class-Wide Members
  • Additional Object-Oriented Techniques: A Closer Look at Attributes; Implementing Special Methods; Inheritance
  • XML Processing: XML Essentials; Reading XML Data in Python; Locating Content using XPath; Updating XML Data in Python; Using the Lxml Library
  • Functional Programming: Functional Programming in Python; Higher Order Functions; Additional Techniques
  • Web Processing: Python Web Servers; Python Rest Services; Python Web Sockets
  • Decorators: Getting Started with Decorators; Additional Decorator Techniques; Parameterized Decorators
  • Asynchronous Processing in Python: Getting Started with Asynchrony in Python; Creating Tasks to Run in Different Threads; Additional Task Techniques
  • Getting Started with Python Data Science and NumPy: Introduction to Python Data Science; NumPy Arrays ; Manipulating Array Elements; Manipulating Array Shape
  • NumPy Techniques: NumPy Universal Functions; Aggregations; Broadcasting; Manipulating Arrays using Boolean Logic; Additional Techniques
  • Getting Started with Pandas: Introduction to Pandas; Creating a Series; Using a Series; Creating a DataFrame; Using a DataFrame
  • Pandas Techniques: Universal Functions; Merging and Joining Datasets; A Closer Look at Joins
  • Working with Time Series Data: Introduction to Time Series Data; Indexing and Plotting Time Series Data; Testing Data for Stationarity; Making Data Stationary; Forecasting Time Series Data; Scaling Back the ARIMA Results
  • Introduction to Big Data: Setting the Scene; Introduction to Hadoop; Hadoop Components
  • Getting Started with PySpark: Introduction to Spark; Spark Architecture; Application Execution; Using the Python Spark Shell
  • Using the PySpark API: Essential Concepts; Creating an RDD; Working with RDDs
  • RDD Operations: RDD Transformations; RDD Transformations on Key-Value Pairs; Actions; Caching; Spark Jobs - The Big Picture

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

1. October
4 days
Classroom Virtual
25. September
3 days
Classroom Virtual
22. October
3 days
22. October
3 days
Classroom Virtual