Back

Advanced Python

This course will take you deeper into the Python programming language and its ecosystem.
This course provides a solid overview of the Python language including some low level details essential to working confidently and fluidly with Python.
The focus is on practical programming and the skills learned here can be applied in any field where Python is used.
Become an expert on the Python language and ecosystem.

This event has expired

Event Information

  • Location Virtual
  • Start Time 9:30 am 28/07/2025
  • Finish Time 5:30 pm 31/07/2025

Course Overview and Course Description

  • This course will take you deeper into the Python programming language and its ecosystem.
  • This course provides a solid overview of the Python language including some low level details essential to working confidently and fluidly with Python.
  • The focus is on practical programming and the skills learned here can be applied in any field where Python is used.
  • Become an expert on the Python language and ecosystem.

Pre-Requisite

  • Python Basics
  • Recent Version of Python Installed
  • Any IDE (like visual studio code)

Duration

  • 32 hours

Course Outline

Day 1 (4 hours)

Module 1 – Python Numbers, Strings, Lists, Dictionaries, Tuples, Sets

  • Introduction to Python
  • Mathematical Functions
  • Built-in string methods
  • List Operations
  • Tuple Slices
  • Dictionary methods

Hands-on – Hands-on with Python basics, data manipulation, and Mathematical Problems

Expected Learning Outcome – Build foundational Python skills

Sample Use Case/ Project Description – Practical: Polished notation conversions

Lab / Software / Tool Requirement – Python, VS code

Assessment Checkpoint Type – Practical exercise submission

Remarks – Focus on fundamentals

Day 1 (4 hours)

Module 2 – Advanced Object Orientation

  • Classes
  • Inheritance
  • Mixins
  • Metaprogramming

Hands-on – Hands-on with Oops (Inheritance and Composition)

Expected Learning Outcome – Understand Oops in python

Sample Use Case/ Project Description – Practical: A simple Abstract factory and Builder Design

Lab / Software / Tool Requirement – Vs Code and Jupiter notebook extension on vscode

Assessment Checkpoint Type – Practical exercise submission

Remarks – Focus on Oops Design Skills

Day 2 (4 hours)

Module 3 – Functional Programming

  • Higher order functions Closures
  • Lambdas
  • Partial application
  • Map-reduce

Hands-on – Hands-on with nested function and local resource capture

Expected Learning Outcome – Learn to write closures and lambda

Sample Use Case/ Project Description – Practical : Data manipulation of collections

Lab / Software / Tool Requirement – Python, VS code

Assessment Checkpoint Type – Practical exercise submission

Remarks – Strong data foundation

Day 2 (4 hours)

Module 4 – Advanced Language Features

  • Decorators
  • Iterators
  • Comprehensions
  • Generators
  • Coroutine
  • References and mutable objects

Hands-on – Hands-on with Comprehension, generators and Coroutine

Expected Learning Outcome – Understand collection memory use and yield operations

Sample Use Case/ Project Description – Practical : dictionary, list and set comprehension and generators

Lab / Software / Tool Requirement – Jupyter notebook extension for vscode

Assessment Checkpoint Type – Data Conversion between files

Remarks – Data  Conversions

Day 3 (4 hours)

Module 5 – Threads and Concurrency

  • Synchronization amongst threads
  • Using Lock and RLock for mutual exclusion.
  • Using Condition and Event for wait/notify patterns.
  • Using Semaphore and BoundedSemaphore for bandwidth management.
  • Implementing Producer/Consumer patterns using Queue.
  • Implementing thread pool

Hands-on – Hands-on with Async Operation and Data Exchange Between Threads

Expected Learning Outcome – Use of Async Operations and locking mechanism

Sample Use Case/ Project Description – Practical : Threading and Concurrency

Lab / Software / Tool Requirement – Python, VS code

Assessment Checkpoint Type – Synchronization to handle resources

Remarks – Resource Acquisition and release

Day 3 (4 hours)

Module 6 – Multiprocessing using Python

  • Pipe and Queue
  • Value and Array
  • Using Manager for shared list and dictionaries
  • Memory-Mapped Files (mmap module)

Hands-on – Implementing RPC using multiprocessing.manager module

Expected Learning Outcome – Understanding Process Vs Thread: performance and design implications.

Sample Use Case/ Project Description – Practical : Using multiprocessing.Pool for parallel map algorithms

Lab / Software / Tool Requirement – VS code

Assessment Checkpoint Type – A Simple Communication between processes

Remarks – Interprocess Communication

Day 4 (4 hours)

Module 7 – Marshalling and Data Persistence

  • Marshalling and Unmarshalling objects using pickle
  • cPickle and json modules

Hands-on – Parsing, processing and storing with standard file formats

Expected Learning Outcome – Understand Data Persistence

Sample Use Case/ Project Description – CSV using csv module, XML using ElementTree, JSON using json module, YAML using PyYAML module, INI/CFG parsing using configparser module

Lab / Software / Tool Requirement – Jupyter notebook extension for vscode

Assessment Checkpoint Type – Data persistence using shelve module

Remarks – Object and Collection Momento

Day 4 (4 hours)

Module 8 – Networking

  • Making requests
  • REST APIs and the requests library
  • An overview of the socket module

Hands-on – Creating network servers and clients using socket module

Expected Learning Outcome – Understanding http request-response cycle

Sample Use Case/ Project Description – Creating asynchronous Socket server and clients using asyncore module

Lab / Software / Tool Requirement – VS code

Assessment Checkpoint Type – Client Server Communication

Remarks – Types of Listeners

Register Here