PCPP2 study materials
PCPP2 study resources

PCPP2 study guide

PCPP2 · Work through your exam, one topic at a time.

PCPP2™ – Certified Professional Python Programming Level 2 is the second of the two professional credentials on the OpenEDG Python Institute's General-Purpose Programming track, which the Institute describes as its highest level within that path. The Institute positions it for experienced developers, IT specialists, engineers, software and system architects, and working professionals who want an industry credential documenting advanced, specialised skills in Python and related technologies. The PCPP2 study guide has 5 sections and about 1,621 words.

01

Testing principles and techniques: unittest and pytest

This domain checks that you can isolate units of code with both xUnit-style unittest and fixture-driven pytest , and that you know where a mocking boundary belongs. setUp / tearDown run around every test method; setUpClass / tearDownClass are @classmethod s run once per class.

336 words, about 2 min
02

Design patterns and OOP design principles

The exam asks you to recognise a pattern from a structural description and implement its Pythonic form while respecting SOLID and composition-over-inheritance. Singleton guarantees one instance; Pythonic forms are a module-level instance, a new override, or a metaclass.

319 words, about 2 min
03

Interprocess communication: threading, multiprocessing, subprocess

This domain covers threading , multiprocessing , and subprocess , and expects you to pick the right concurrency model and synchronise shared state correctly. The GIL lets only one thread execute Python bytecode at a time, so threads help I/O-bound work while multiprocessing is required for CPU-bound parallelism.

305 words, about 2 min
04

Network programming: sockets, SDN, and security

The exam tests the socket module at the syscall level, plus awareness of software-defined networking (control plane vs data plane, OpenFlow-style controllers) and secure-by-default configuration. socket.socket(AF INET, SOCK STREAM) is TCP, SOCK DGRAM is UDP.

325 words, about 2 min
05

Python-SQL and Python-NoSQL database access

The exam expects DB-API 2.0 fluency, safe parameter binding, awareness of ORMs (SQLAlchemy-style sessions), and basic document and key-value access. conn = sqlite3.connect(path) ; cur = conn.cursor() ; cur.execute(sql, params) ; cur.fetchone()/fetchmany(n)/fetchall() ; conn.commit() or conn.rollback() ; conn.close() .

336 words, about 2 min