PCAP case studies
PCAP · Put your knowledge to work in context.
PCAP™ – Certified Associate in Python Programming is an associate-level, general-purpose Python credential offered through the Python Institute's certification track, delivered via Edube Interactive (OpenEDG Testing Service) and priced at USD 295. It is aimed at candidates who already write Python and want to demonstrate that they can design, develop, and improve multi-module applications rather than single-file scripts. The exam is divided into five weighted sections: Object-Oriented Programming carries the most weight at 34% (12 items), followed by Miscellaneous topics - list comprehensions, lambdas, closures, and I/O - at 22% (9 items), Strings at 18% (8 items), Exceptions at 14% (5 items), and Modules and Packages at 12% (6 items), for 40 items in total. Items are single-select, multiple-select, coding, scenario-based, and interactive, and each is worth a maximum of 40 points, with the raw score normalized to a percentage afterwards. The PCAP case studies are 5 cases and about 3,075 words.
1The Vanishing Module
You are maintaining a Python 3.11 project with this structure: utils/helpers.py contains: utils/ init .py is empty. main.py contains: Running python main.py from the project directory prints Hello, World .
869 words, about 4 min2The Silent Exception
Consider this code: A developer expects the first call to print Error , then Done , then None , and the second call to print Done then 5.0 . However, when run, the output is: This matches the expectation.
588 words, about 3 min3The Mutable Default
You are reviewing a class for a shopping cart: A test script runs: The output is: The developer is surprised that both carts contain the same items. They argue that each Cart() call should create a new empty list.
420 words, about 2 min4The String Format Fiasco
You are debugging a function that formats a report line: When called with format line("Alice", 95) , it returns ' Alice 095' . When called with format line("Bob", 7) , it returns ' Bob 007' .
809 words, about 4 min5The Lazy Closure
You are writing a function that creates a list of multiplier functions: The developer expects the output to be 0 , 10 , 20 . Instead, it prints 20 , 20 , 20 .
389 words, about 2 min