PCPP-32-2: Certified Professional in Python Programming 2 Certification | Exam Syllabus

Exam block #1: Creating and Distributing Packages (20%)

Objectives covered by the block (8 exam items)

  • Using pip
  • Basic directory structure
  • The setup.py file
  • Sharing, storing, and installing packages
  • Documentation
  • License
  • Testing principles and techniques
    • unittest – Unit testing framework
    • Pytest – framework to write tests

Exam block #2: Design Patterns (20%)

Objectives covered by the block (8 exam items)

  • Object-oriented design principles and the concept of design patterns
  • The Singleton Design Pattern
  • The Factory Pattern
  • The Façade Pattern
  • The Proxy Pattern
  • The Observer Pattern
  • The Command Pattern
  • The Template Method Pattern
  • Model-View-Controller
  • The State Design Pattern

Exam block #3: Interprocess Communication (20%)

Objectives covered by the block (8 exam items)

  • multiprocessing — Process-based parallelism
  • threading — Thread-based parallelism
  • subprocess — Subprocess management
  • Multiprocess synchronisation
    • queue — A synchronized queue class
    • socket — Low-level networking interface
    • mmap — Memory-mapped file support

Exam block #4: Python Network Programming (20%)

Objectives covered by the block (8 exam items)

  • Python Socket Module
    • Introduction to sockets
    • Server Socket Methods
    • Client socket methods
    • General socket methods
    • Client-Server vs. Peer-to-peer
    • Other Internet nodules

Exam block #5: Python-MySQL Database Access (20%)

Objectives covered by the block (8 exam items)

  • Relational databases – fundamental principles and how to work with them
  • MySQL vs. rest of the world
  • CRUD Application
    • db connection
    • db create
    • db insert
    • db read
    • db update
    • db delete

Last updated: March 11, 2019
Aligned with PCPP-32-201