Python Programming 2 (PYP2) – Outline

Detailed Course Outline

Day 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: ADVANCED OBJECT ORIENTATION

  • The self Keyword
  • Constructors and Destructors
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Abstract Classes
  • Multiple Inheritance and Mixins
  • Composition and Aggregation
  • Static Members

Session 2: ITERATORS & GENERATORS

  • Iterables
  • Iterators
  • Custom Iterators
  • Generators
  • Yield vs. Return

Session 3: COMPREHENSIONS

  • List Comprehension
  • Set Comprehension
  • The zip Function
  • Dictionary Comprehension

Day 2

Session 4: FUNCTIONAL PROGRAMMING

  • Functional Programming
  • Lambdas
  • Immutability
  • Mapping
  • Filtering
  • Reducing

Session 5: DECORATORS

  • Decorators
  • Decorator Functions
  • Decorator Annotations
  • Decorator Use Cases
  • Labs

Session 6: MULTITHREADING

  • Threads
  • Multithreading
  • Thread Construction
  • Thread Execution
  • Thread Sleep
  • Joins
  • Data Sharing
  • Synchronisation
  • Multithreading vs. Multiprocessing

Day 3

Session 7: WEB SERVICES

  • RESTful Web Services
  • JSON Data
  • CRUD and HTTP
  • RESTful Clients
  • RESTful APIs

Session 8: UNIT TESTING

  • Unit Testing Terminology
  • Test Classes
  • Test Fixtures
  • Test Cases
  • Assertions
  • Test Runners