PCPP1: Übungsplan, Selbsttest-Methode, Syllabus-Checkliste, Prüfungsstrategie

Track Python · PCPP1 Abschluss · ca. 40 Min.

Worum es geht

Für die PCPP1 (Exam PCPP-32-101) gibt es laut Glossar keinen offiziellen Übungstest. Du musst dir die Übung selbst bauen. Diese Lektion schließt den PCPP1-Teil ab (Lektionen 11 bis 18): Sie gibt dir den Lernplan, eine Methode für Selbsttests, eine Syllabus-Checkliste mit Verweisen auf die Lektionen und eine Zeitstrategie für die Prüfung. Ganz am Ende steht ein kurzer Ausblick auf PCPP2.

Du baust in den Übungen vier kleine Werkzeuge: einen Zeitplaner, eine Fehlerprotokoll-Auswertung, eine Lücken-Suche für die Checkliste und eine Entscheidung zur Selbsttest-Methode. Alle vier trainieren nebenbei Python, das in der PCPP1 vorkommt (Dictionaries, Datum, Listen sortieren).

Von JS/TS her gedacht

Du kennst Testen und Coverage. Die Selbsttest-Methode ist dasselbe Prinzip für dein Wissen:

Entwicklungsalltag Selbsttest für die Prüfung
Test zuerst schreiben, der rot ist (red/green) Ausgabe vorhersagen, bevor du den Code ausführst
Test ausführen, Abweichung lesen Code ausführen und mit der Vorhersage vergleichen
Bug-Ticket mit Ursache Eintrag in die Fehlerliste mit einem Satz Erklärung
Regressionstest nach einer Woche Fehlerliste nach einer Woche erneut durchgehen
Coverage-Report pro Modul Syllabus-Checkliste: jedes Prüfungsziel abhaken
Sprint-Planung nach Aufwand Zeitbudget pro Block nach Fragenzahl (und Gewicht)

Konzept in kleinen Schritten

Schritt 1: Die Prüfung in Zahlen

Alle Angaben stammen laut Glossar von den offiziellen Seiten (Stand der Quelle: 1. Oktober 2026). Vor dem Buchen auf der Seite des Python Institute gegenprüfen (bitte prüfen).

Punkt PCPP1 (PCPP-32-101)
Fragen 45 in fünf Blöcken
Dauer 65 Minuten (plus 10 Minuten Tutorial)
Bestehen 70 %
Kosten ab 325 USD, nur Einzelvoucher, keine Wiederholungsoption
Wiederholung frühestens nach 15 Tagen
Übungstest laut Seite keiner
Block Thema Fragen Gewicht Lektion
1 Fortgeschrittene OOP 15 35 % 11, 12, 13
2 Coding-Konventionen, Best Practices 7 12 % 14
3 GUI-Programmierung 8 20 % 15
4 Netzwerkprogrammierung 8 18 % 16
5 Dateiverarbeitung und Umgebung 7 15 % 17, 18

Beachte: Fragenanteil und Gewicht sind nicht dasselbe. Block 1 hat 15 von 45 Fragen, das sind 33,3 %, das Gewicht ist aber 35 %. Block 3 hat 8 von 45 Fragen (17,8 %), das Gewicht ist 20 %. Das Glossar nennt beide Zahlen ohne Erklärung. Für die Zeitplanung nimmst du die Fragenzahl, für die Lernplanung das Gewicht. Warum die Zahlen abweichen, steht nicht in der Quelle (bitte prüfen).

Schritt 2: Der Lernplan (acht Wochen)

Annahme laut Glossar: etwa fünf Stunden pro Woche, PCAP-Wissen ist vorhanden.

Woche Fokus Lektion Übung zum Selbermachen
1 Block 1, Teil A: Spezialmethoden, MRO, Dekoratoren, Klassen- und statische Methoden 11, 12 Klasse Money mit Vergleich, Rechnen, Hash und __repr__. Dekorator mit Argumenten und Klassendekorator
2 Block 1, Teil B: abstrakte Klassen, Properties, Kopieren, Serialisierung, Exceptions, Metaklassen 12, 13 Abstrakte Basisklasse mit zwei Implementierungen. Exception-Kette mit from. Metaklasse, die Klassen registriert
3 Block 2: PEP 1, 8, 20, 257, 484 14 Eigenen Code mit flake8 oder pycodestyle prüfen, mit black formatieren, Docstrings ergänzen
4 Block 3: tkinter 15 Mini-App mit Entry, Button, Listbox, Eingabeprüfung, Dialogen, bind und after
5 Block 4: Sockets, HTTP, JSON, requests 16 Echo-Server und Client, danach CRUD-Client gegen eine Test-API
6 Block 5, Teil A: sqlite3, csv, xml 17 Daten aus CSV in SQLite laden, abfragen, als XML exportieren
7 Block 5, Teil B: logging, configparser, os, datetime, io 18 Projekt aus Woche 6 um Konfigurationsdatei, Logging mit zwei Handlern und Datumsfilter erweitern
8 Wiederholung alle Fehlerliste durchgehen, Checkliste abhaken, Code-Vorhersage-Drills aus allen Blöcken

Die Lektionsnummern in der dritten Spalte sind der Bezug zu dieser Plattform, nicht Teil der Quelle.

Die beste Vorbereitung laut Glossar ist ein einziges Abschlussprojekt, das alle Blöcke berührt: eine kleine tkinter-Anwendung, die über requests Daten holt (Block 4), in SQLite speichert (Block 5), Einstellungen aus einer .ini-Datei liest, Ereignisse loggt, eine saubere OOP-Struktur mit abstrakter Basisklasse und Dekoratoren hat (Block 1) und PEP 8 einhält (Block 2). Für dich: Das passt zu einem Portfolio-Projekt, nicht nur zur Prüfung.

Schritt 3: Die Selbsttest-Methode

Vier Schritte laut Glossar:

  1. Nimm einen Codeausschnitt, verdecke die Kommentare mit der Ausgabe und sage die Ausgabe vorher.
  2. Führe den Code aus und vergleiche.
  3. Jede falsche Vorhersage kommt mit einer Erklärung in einem Satz in eine Fehlerliste. Nach einer Woche gehst du die Liste erneut durch.
  4. Schreibe zu jedem Prüfungsziel des Syllabus ein kurzes Skript, das es zeigt.

Eine Fehlerliste ist nur eine Liste von Einträgen. Als Python-Datenstruktur sieht ein Eintrag so aus:

Der Satz ist der wichtigste Teil. Wenn du ihn nicht in einem Satz formulieren kannst, hast du das Konzept noch nicht verstanden. Dann hilft Schritt 4: ein eigenes kleines Skript zum Prüfungsziel schreiben (z. B. eine absichtlich widersprüchliche Klassenhierarchie, die einen TypeError bei der MRO auslöst).

Welche Maßnahme zu welchem Fehlertyp passt, ergibt sich aus den vier Schritten. Das Glossar gibt keine Tabelle dafür vor, die folgende Zuordnung ist eine eigene Ableitung:

Fehlertyp Maßnahme
Falsche Vorhersage, Konzept unklar Ein Satz Erklärung in die Fehlerliste, nach einer Woche wiederholen
Prüfungsziel nie praktisch gesehen Kurzes Skript zum Ziel aus dem Syllabus schreiben
Falsch gelesen (z. B. Anzahl der Antworten) Vor dem Antworten die Fragestellung lesen, siehe Schritt 5
Zu langsam Zeitbudget pro Block festlegen und üben (Übung 1)

Schritt 4: Die Syllabus-Checkliste mit Verweisen

Die 14 Punkte der Checkliste aus dem Glossar, jeweils mit der Lektion, in der du sie übst. Hake nur ab, was du ohne Nachsehen kannst.

Nr. Ich kann … Lektion
1 __eq__, __hash__, __lt__, __add__, __getitem__, __call__ implementieren und erklären, wann NotImplemented zurückgegeben wird 11
2 eine MRO vorhersagen und inkonsistente Hierarchien erkennen 11
3 Dekoratoren mit Argumenten, mit functools.wraps, als Klasse und für Klassen schreiben 12
4 @classmethod, @staticmethod und Instanzmethoden sicher unterscheiden 12
5 abstrakte Klassen und Properties (Getter, Setter, Deleter) anwenden 12
6 sagen, wann Unterklassen von list und dict überraschen 12
7 __cause__, __context__ und raise ... from None erklären 13
8 flache und tiefe Kopien unterscheiden und pickle und shelve korrekt nutzen 13
9 type(name, bases, dict) und eine Metaklasse schreiben 13
10 PEP 1, 8, 20, 257 und 484 und die Namenskonventionen 14
11 eine tkinter-App mit grid, place, bind, Variablen und Dialogen bauen 15
12 einen einfachen Socket-Client und -Server schreiben, HTTP-Methoden und Statuscodes zuordnen 16
13 json, xml.etree.ElementTree und requests für einen CRUD-Client nutzen 16 (XML auch 17)
14 sicher mit sqlite3 (Platzhalter, Transaktionen, Cursor), csv, logging und configparser arbeiten 17 und 18

Punkt 14 ist im Glossar ein einziger Punkt. Die Lektion 17 deckt sqlite3 und csv ab, Lektion 18 logging und configparser. Das ist die Aufteilung dieser Plattform.

Die Checkliste lässt sich als Dictionary abbilden und auswerten. Das tust du in Übung 3.

Schritt 5: Die Prüfungsstrategie

Laut Glossar:

  • Zeit: 45 Fragen in 65 Minuten sind im Schnitt rund 1,4 Minuten je Frage. Bei Codeaufgaben zuerst die schnellen Fragen beantworten und markierte Fragen am Ende nachholen, sofern die Prüfungssoftware das erlaubt (ob sie es erlaubt, steht nicht in der Quelle, bitte prüfen).
  • Mehrfachauswahl: Lies, wie viele Antworten verlangt werden, bevor du auswählst.
  • Syllabus-Abgleich: Jedes Prüfungsziel im Syllabus entspricht einem Abschnitt im Glossar. Gewichte nach Prozent: OOP zuerst, danach GUI, Netzwerk, Dateien, Konventionen.
  • Buchung: Voucher ab 325 USD, nur Einzelversuch, danach 15 Tage Wartezeit bis zur Wiederholung. Plane daher einen ernsthaften Probelauf ein, bevor du buchst.

Die Zeit rechnest du am besten nach Fragenzahl pro Block. Rechne zusätzlich eine Reserve ein (Puffer), in der du zu markierten Fragen zurückkehrst. Beispiel mit 10 Minuten Puffer: 55 Minuten bleiben für 45 Fragen, im Schnitt rund 1,2 Minuten pro Frage.

Diese Rechnung (Zeit proportional zur Fragenzahl, 10 Minuten Puffer) ist ein Vorschlag, keine Vorgabe der Quelle.

Schritt 6: Ausblick PCPP2 (nur Überblick)

PCPP2 (Exam PCPP-32-201) ist die zweite Profi-Stufe. Laut Glossar war sie am 1. Oktober 2026 noch in Entwicklung, der Syllabus nicht veröffentlicht, und es gibt keine passenden kostenlosen Kurse. Empfohlen wird vorher PCAP und PCPP1. Geplant: 45 Fragen in 65 Minuten, 70 % zum Bestehen, ab 295 USD, Gültigkeit 5 Jahre. Das ist ein Planungsstand, vor dem Einplanen erneut prüfen (bitte prüfen).

Die Themenfelder laut Seite (Beispielwerkzeuge sind nur Beispiele und nicht verbindlich):

Themenfeld Inhalte Beispielwerkzeuge
Testen Prinzipien und Techniken, Unit- und Funktionstests unittest, pytest, unittest.mock
Entwurfsmuster Singleton, Factory, Facade, Proxy, Observer, Command, Template Method, State reines Python, abc
Parallelität Threads, Prozesse, Subprozesse, Synchronisation threading, multiprocessing, subprocess, queue
Netzwerk Sockets, Automatisierung, Software-Defined Networking, Sicherheit socket, ssl
Datenbanken relational und nicht-relational, CRUD, ORM sqlite3, z. B. SQLAlchemy
Clean Code und Optimierung Wartbarkeit, Refactoring, Optimierung timeit, cProfile

Für dich als Senior Developer sind Testen, Entwurfsmuster und Clean Code vermutlich vertraut, Parallelität knüpft an die Lücken im Python-Laufzeitmodell an (GIL, Threads gegen Prozesse). Tiefer wird PCPP2 hier erst behandelt, wenn der Syllabus erscheint.

Falle: Üben ohne Rückkopplung

Die typische Falle beim Selbstlernen ohne Übungstest: Lesen fühlt sich wie Können an. Wer Code nur durchliest und nickt, merkt erst in der Prüfung, was fehlt. Zwei Gegenmittel aus der Methode: erst vorhersagen, dann ausführen (die Abweichung zeigt die Lücke), und jede Abweichung als Satz festhalten.

Eine zweite Falle: zu spät buchen oder zu früh buchen. Es gibt nur einen Einzelvoucher ohne Wiederholungsoption und 15 Tage Wartezeit. Plane also einen echten Probelauf mit Zeitlimit, bevor du buchst. Eine Bestehensgrenze für die Selbsttests, ab der du buchst, nennt das PCPP1-Glossar nicht (das PCAP-Glossar nennt 85 % in Probetests, übertragbar auf PCPP1 ist das nur eine Annahme, bitte prüfen).

Übungen

Übung 1: Zeitplan nach Fragenzahl

Schreibe zeitplan(bloecke, minuten, puffer=0). bloecke ist ein Dictionary {Blockname: Fragenzahl}. Von den minuten wird zuerst der puffer abgezogen. Die restlichen Minuten verteilst du proportional zur Fragenzahl auf die Blöcke. Rückgabe: ein neues Dictionary {Blockname: Minuten}, jeder Wert auf eine Nachkommastelle gerundet. Das übergebene Dictionary darf nicht verändert werden.

Wie viele Fragen gibt es insgesamt, und wie viele Minuten stehen nach dem Puffer wirklich zur Verfügung? Der Anteil eines Blocks ist seine Fragenzahl geteilt durch die Gesamtzahl. Eine Dictionary-Comprehension baut dir direkt ein neues Dictionary.

def zeitplan(bloecke, minuten, puffer=0):
    gesamt = sum(bloecke.values())
    verfuegbar = minuten - puffer
    return {name: round(fragen / gesamt * verfuegbar, 1) for name, fragen in bloecke.items()}

zeitplan

Übung 2: Fehlerprotokoll auswerten

Die Methode sagt: Nach einer Woche gehst du die Fehlerliste erneut durch. Schreibe faellig(eintraege, heute, tage=7). Jeder Eintrag ist ein Dictionary mit den Schlüsseln "thema" (String), "datum" (datetime.date), "richtig" (bool, war die Vorhersage richtig?) und "wiederholt" (bool, wurde der Eintrag schon wiederholt?).

Zurückgegeben wird eine alphabetisch sortierte Liste der Themen ohne Doppelte, die jetzt wiederholt werden sollen: Eintrag war falsch, wurde noch nicht wiederholt, und seit dem datum sind mindestens tage Tage vergangen (genau tage Tage zählt schon).

Drei Bedingungen gleichzeitig: Was sagt richtig, was sagt wiederholt, und wie rechnest du mit timedelta? Achte auf die Grenze: genau sieben Tage her ist schon fällig. Ein Thema kann mehrfach vorkommen, ein Set hilft gegen Doppelte.

from datetime import date, timedelta

def faellig(eintraege, heute, tage=7):
    ergebnis = set()
    for e in eintraege:
        if not e["richtig"] and not e["wiederholt"] and e["datum"] + timedelta(days=tage) <= heute:
            ergebnis.add(e["thema"])
    return sorted(ergebnis)

faellig

Übung 3: Syllabus-Checkliste auswerten

Hier ist die Checkliste als Dictionary {Prüfungsziel: Lektionsnummer}. Schreibe wiederholen(checkliste, abgehakt): abgehakt ist eine Menge (oder Liste) der Ziele, die du sicher kannst. Rückgabe: die sortierte Liste der Lektionsnummern ohne Doppelte, in denen noch mindestens ein Ziel offen ist. Namen in abgehakt, die nicht in der Checkliste stehen, ignorierst du.

Für jedes Ziel zählt nur, ob es nicht in abgehakt steht. Gefragt sind aber Lektionen, nicht Ziele: Mehrere offene Ziele können zur selben Lektion gehören. Welche Datenstruktur entfernt Doppelte, und wie bekommst du am Ende eine sortierte Liste?

def wiederholen(checkliste, abgehakt):
    abgehakt = set(abgehakt)
    offen = {lektion for ziel, lektion in checkliste.items() if ziel not in abgehakt}
    return sorted(offen)

wiederholen

Übung 4: Welche Maßnahme passt?

Du hast bei einer Code-Vorhersage zur MRO falsch gelegen und kannst nicht erklären, warum. Welches Vorgehen entspricht der Selbsttest-Methode aus dem Glossar? Gib den Buchstaben als String zurück, z. B. "A".

  • A: Die Aufgabe so lange lesen, bis die Lösung vertraut wirkt, und dann zum nächsten Thema gehen.
  • B: Einen Satz Erklärung in die Fehlerliste schreiben und sie nach einer Woche erneut durchgehen.
  • C: Die Prüfung sofort buchen, damit ein fester Termin den nötigen Druck für das Lernen erzeugt.
  • D: Beim Üben die Kommentare mit der Ausgabe stehen lassen, damit man das Ergebnis jederzeit sieht.

Gehe die vier Schritte der Methode durch. Was passiert mit einer falschen Vorhersage, und wann kommt sie wieder dran? Welche Variante lässt dich überhaupt erst vorhersagen?

antwort = "B"
antwort

Merksatz und Prüfstein

Merksatz: Ohne offiziellen Übungstest bist du dein eigener Test: erst vorhersagen, dann ausführen, jede Abweichung als ein Satz in die Fehlerliste, nach einer Woche wiederholen.

Prüfstein (offene Frage): Wähle drei Punkte der Syllabus-Checkliste, bei denen du dir nicht sicher bist. Schreibe zu jedem ein kleines Skript, das das Ziel zeigt, und formuliere in einem Satz, was du dabei gelernt hast. Wie verteilst du deine 65 Minuten auf die fünf Blöcke, und wie viel Reserve für markierte Fragen planst du ein?

Quelle: quellen/python-glossar-pcap-pcpp1.md, Abschnitte “PCPP1 Übungsplan und Prüfungsstrategie” (Lernplan, Selbsttest-Methode, Syllabus-Checkliste, Prüfungsstrategie) und “Ausblick: PCPP2”, dazu die PCPP1-Prüfungsdaten aus dem Überblick der Quelle. Eigene Rechnungen und Ableitungen (nicht aus der Quelle): Zeitverteilung proportional zur Fragenzahl mit 10 Minuten Puffer, Zuordnung Fehlertyp zu Maßnahme, Verweise der Checkliste auf die Lektionen 11 bis 18. Offen (bitte prüfen): ob die Prüfungssoftware das Markieren von Fragen erlaubt, warum Fragenanteil und Gewicht der Blöcke abweichen, ob für PCPP1 eine Buchungsschwelle von Probetests gilt (nur die PCAP-Empfehlung ist bekannt), sowie alle Preise, Versionen und der PCPP2-Status (Stand der Quelle: 1. Oktober 2026).