FA-0033Software Development

Advanced Python Programming

5-day course outline

Introduction

Why this course

This course offers an in-depth exploration of advanced Python programming, delving into the latest features, best practices, and real-world applications. Aimed at experienced Python programmers, it covers a broad spectrum of topics from advanced language constructs to application development and security considerations.

The course is meticulously crafted to bridge the gap between intermediate knowledge and advanced expertise in Python. It stands out for being led by a team of industry experts who bring a wealth of practical experience and innovative insights to the classroom. Our trainers are not just educators; they are seasoned professionals with over 30 years of hands-on development experience and multiple industry innovations to their credit. They bring real-world problems to the classroom, offering insights that go beyond textbook learning.

This course is an amalgamation of their practical wisdom and the latest advancements in Python, ensuring that you learn from the best and apply your knowledge in real-world scenarios.

Learning outcomes

Learning outcomes

Upon completion, participants will be able to:

  1. Utilize advanced Python features, including those introduced in Python 3.10.
  2. Implement complex algorithms and data structures effectively.
  3. Develop robust, efficient, and secure web and desktop applications.
  4. Apply best practices in code optimization and error handling.
  5. Understand and implement various design patterns.
Prerequisites

Prerequisites

  1. Solid understanding of Python programming
    1. data types,
    2. control structures,
    3. functions
  2. Experience with Python OOP (classes and objects).
  3. Basic knowledge of web development (HTML, CSS) for web-related modules.
  4. Familiarity with a version control system, preferably Git.
Training outline

12 modules

·
01Advanced Language Features:5 topics
  1. Python 3.10 Features: Pattern Matching (match-case), Structural Pattern Matching.
  2. Decorators: Advanced uses, creating custom decorators.
  3. Metaclasses and Metaprogramming.
  4. Generators and Coroutines: Deep dive and use cases.
  5. Type Hints and Annotations: Advanced usage and best practices.
02Data Structures and Algorithms:4 topics
  1. Advanced Data Structures: Trees, Graphs, Heaps.
  2. Algorithm Optimization Techniques.
  3. In-depth Recursion and Memoization Strategies.
  4. Implementing and Understanding Complex Algorithms.
03Functional Programming:3 topics
  1. Functional Programming Constructs in Python.
  2. Lambdas, Map, Reduce, and Filter.
  3. Immutability and Side-effect Management.
04Concurrency and Parallelism:3 topics
  1. Threading vs Multiprocessing.
  2. Asyncio and Asynchronous Programming.
  3. Advanced Event Loops and Coroutine Patterns.
05Web Development with Python:4 topics
  1. Flask and Django: Advanced Features and Best Practices.
  2. RESTful API Development and Documentation.
  3. Authentication and Authorization in Web Applications.
  4. Async Web Frameworks (e.g., FastAPI).
06Desktop Application Development:3 topics
  1. PyQt/PySide/tKinter for GUI Development.
  2. Packaging and Distributing Python Applications.
  3. Cross-platform Considerations.
07Database Interaction:3 topics
  1. Advanced SQL and ORM Techniques (SQLAlchemy).
  2. NoSQL Databases and Python: MongoDB, Redis.
  3. Database Optimization and Caching Strategies.
08Testing and Debugging:3 topics
  1. Unit Testing, Integration Testing, and Test-Driven Development.
  2. Advanced Debugging Techniques.
  3. Profiling and Performance Tuning.
09Security in Python:3 topics
  1. Understanding Common Security Vulnerabilities.
  2. Secure Coding Practices in Python.
  3. Encryption and Secure Data Handling.
10Best Practices and Design Patterns:3 topics
  1. Code Readability and Documentation.
  2. Refactoring and Code Smells.
  3. Design Patterns: Singleton, Factory, Strategy, etc.
11DevOps and Deployment:3 topics
  1. Containerization with Docker.
  2. Continuous Integration and Continuous Deployment (CI/CD).
  3. Cloud Deployment..
12Project Work:3 topics
  1. Real-world Project Development.
  2. Code Reviews and Collaborative Development.
  3. Application of Learned Concepts in a Comprehensive Project.

The course concludes with project presentations, where participants demonstrate their mastery of advanced Python concepts in real-world applications. This also includes a feedback session for future improvements and advanced learning pathways.

A programme built around your team.

Share your training goals and requirements.

Advanced Python Programming
FA-0033

Share your requirements for this programme.

Training enquiry