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.
01Testing 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 min02Design 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 min03Interprocess 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 min04Network 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 min05Python-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