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

Exam block #1: File Processing and Communicating with a Program’s Environment (20%)

Objectives covered by the block (8 exam items)

  • Processing different kinds of files
    • sqlite3 – interacting with SQLite databases
    • xml – creating and processing XML files
    • csv – CSV file reading and writing
    • logging – basics logging facility for Python
    • configparser – configuration file parser
  • Communicating with a program’s environment:
    • os – interacting with the operating system,
    • datetime – manipulating with dates and time
    • io – working with streams,
    • time – time access and conversions

Exam block #2: Math, Science, and Engineering Tools (20%)

Objectives covered by the block (8 exam items)

  • math – a basic tool for elementary evaluations
  • NumPy – fundamental package for scientific computing
  • SciPy – an ecosystem for mathematics, science, and engineering
  • Matplotlib – 2D plotting library producing publication quality figures
  • Pandas – a library providing high-performance and data analysis tools
  • SciKit-image – a collection of algorithms for image processing

Exam block #3: GUI Programming (20%)

Objectives covered by the block (8 exam items)

  • What is GUI and where it comes from
  • Constructing a GUI – basic blocks and conventions
  • Event-driven programming
  • Currently used GUI environments and toolkits
  • tkinter — Python interface to Tcl/Tk
    • tkinter’s application life cycle
    • Widgets, windows and events
    • Sample applications
  • pygame – a simple way of developing multimedia applications

Exam block #4: Python Enhancement Proposals (15%)

Objectives covered by the block (6 exam items)

  • What is PEP?
  • Coding conventions – not only style and naming
  • PEP 20 – The Zen of Python: a collection of principles that influences the design of Python code
  • PEP 8 – Style Guide for Python Code: coding conventions for code comprising the standard library in the main Python distribution
  • PEP 257 – Docstring Conventions: what is docstring and some semantics as well as conventions associated with them
  • A tour of important PEPs

Exam block #5: Advanced Perspective of Classes and Object-Oriented Programming in Python (25%)

Objectives covered by the block (10 exam items)

  • Classes, Instances, Attributes, Methods
  • Working with class and instance data
  • Copying object data using shallow and deep operations
  • Inheritance and Polymorphism
  • Different faces of Python methods: static and class methods
  • Abstract classes vs. method overloading
  • Composition vs. Inheritance – two ways to the same destination
  • Implementing Core Syntax
  • Subclassing built-ins
  • Attribute Encapsulation
  • Advanced techniques of creating and serving exceptions
  • Serialization of Python objects using the pickle module
  • Making Python object persistent using the shelve module
  • Metaprograming
    • Function decorators
    • Class decorators
    • Metaclasses

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