PCAP study plan
PCAP · Give each week a clear focus.
8 weeks · About 7 hours per week
Object-Oriented Programming
Write a class hierarchy with inheritance and method overriding from scratch without references
Implement dunder methods (init, repr, str, eq) on two custom classes
Trace and predict instance vs class attribute lookup outcomes for 15 code snippets
Explain MRO resolution order for a diamond inheritance example
Your checkpoint
A 10-question self-written quiz on class/instance attributes and inheritance, with answer key and explanations
Object-Oriented Programming
Implement properties with getters/setters and validate input
Apply encapsulation conventions and name mangling correctly in code
Write and use static and class methods in a small utility class
Compare composition vs inheritance and refactor one example each way
Your checkpoint
A working mini-library (3+ classes) demonstrating properties, class methods, and composition, with a written design note
Object-Oriented Programming & Miscellaneous (List Comprehensions, Lambdas, Closures, I/O)
Implement operator overloading for a value-type class (add, eq, lt, len)
Write lambdas and closures and predict their captured-variable behavior
Build a class using call and iter and verify with test snippets
Predict output of scope/closure snippets under the LEGB rule
Your checkpoint
A closure-and-operator-overloading exercise set of 12 snippets with predicted vs actual outputs documented
Strings & Miscellaneous (List Comprehensions, Lambdas, Closures, I/O)
Slice, reverse, and split strings and predict results for edge cases
Use format specs, f-strings, and %-formatting to produce exact target output
Apply str methods (join, strip, replace, find, count) to transform sample text
Write list and dict comprehensions including nested and conditional forms
Your checkpoint
A string-transformation script that reads text and outputs a formatted report, plus 15 predicted-output snippets
Exceptions & Strings
Classify built-in exceptions and choose correct handlers for given scenarios
Write try/except/else/finally blocks and predict which branch executes
Create custom exception classes and chain exceptions with raise from
Handle and format string-encoding errors (UnicodeEncodeError/DecodeError) correctly
Your checkpoint
An exception-handling lab of 20 snippets where you predict the exact output or traceback line, then verify by running
Exceptions & Modules and Packages
Import modules via absolute and relative imports and explain sys.path effects
Use import, from-import, and aliasing and predict namespace contents
Explain and demonstrate name == 'main' behavior across two files
Handle exceptions raised inside imported modules and across function boundaries
Your checkpoint
A small multi-file package (3 modules) with a CLI entry point, plus a written explanation of its import behavior
Miscellaneous (List Comprehensions, Lambdas, Closures, I/O) & Modules and Packages
Read and write text files with context managers and correct modes
Process file content line-by-line and handle missing-file errors
Use init.py, packages, and module-level code execution order correctly
Combine lambdas, comprehensions, and file I/O in one pipeline
Your checkpoint
A file-processing utility (read, transform, write) packaged as an importable module with error handling
Object-Oriented Programming & Exceptions & Strings & Miscellaneous (List Comprehensions, Lambdas, Closures, I/O) & Modules and Packages
Take two full timed practice exams and log every miss by domain
Re-derive the correct answer for each miss without looking at notes first
Re-run weak-domain drills until each reaches 85%+ accuracy
Review all deliverables and fix any unresolved gaps
Your checkpoint
A scored error log across both practice exams with per-domain accuracy and a remediation checklist marked complete
Milestones
Week 2: Score 80%+ on a self-made 20-question OOP quiz covering inheritance, properties, and methods
Week 4: Correctly predict output for 12 of 15 closure and comprehension snippets before running them
Week 6: Correctly predict output or traceback for 16 of 20 exception and import snippets
Week 8: Achieve 85%+ on each domain in the final practice exam and close every item on the remediation checklist