PCPP1 study materials
PCPP1 study resources

PCPP1 study guide

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

PCPP1™ – Certified Professional Python Programmer 1 is the Professional-level credential in the Python Institute's General-Purpose Programming track, listed on the certification roadmap as exam code PCPP-32-10x and marked Active. It sits above PCEP™ (Entry) and PCAP™ (Associate) and below PCPP2™, which the roadmap lists as "Work in progress". The exam is delivered through Pearson VUE/OnVUE Online Proctoring, is offered in English, and costs USD 295. It is aimed at programmers who already write Python comfortably and want to prove depth in professional practice rather than syntax basics - candidates typically preparing for roles where design quality, tooling discipline, and integration work matter. The PCPP1 study guide has 4 sections and about 1,557 words.

01

Advanced Object-Oriented Programming

Advanced OOP is the heaviest PCPP1 domain and almost entirely code-reading: you get a short snippet - a diamond hierarchy, a property with no setter, a class defining eq - and must state what Python does at runtime. Marks go to candidates who know the object model's real rules, not the textbook UML version.

386 words, about 2 min
02

Best Practices and Standardization

This domain is policy, not puzzles: PEP 8 layout and naming, PEP 257 docstrings, the logging hierarchy, unittest structure, type hints and packaging. Questions usually ask which line violates the standard or what a logger actually emits, so precision about constants such as the 79-character limit is what earns marks.

406 words, about 2 min
03

GUI Programming

GUI questions target Tkinter's structure: which geometry manager takes which options, how callbacks receive arguments, and what Entry.get() actually returns. Most stems show a small window built from a few lines and ask for the output or the exception, so trace the widget tree and the event loop rather than guessing.

371 words, about 2 min
04

Working with RESTful APIs

This domain tests HTTP semantics plus the requests , json and xml.etree modules. You must know which methods are idempotent, what each status class means, and - most often - what a short client snippet returns or raises.

394 words, about 2 min