| A – Probleme erfassen und Lösungsansätze entwickeln | 1 | A1G: Ich kann eine vorgegebene Aufgabenstellung lesen, die wesentlichen Anforderungen beschreiben und die Lösung in logische Schritte gliedern | A1F: Ich kann eine grob beschriebene Aufgabenstellung durch Rückfragen an Stakeholder detaillieren und in logische Schritte gliedern | A1E: Ich kann ein Problem unter Berücksichtigung unterschiedlicher Stakeholder-Anforderungen in eine Aufgabenstellung überführen und einen begründeten Lösungsansatz ableiten |
| B – Anforderungen visuell darstellen | 2 | B1G: Ich kann einen grafisch dargestellten Ablauf nachvollziehen (z.B. Activity-Diagramm, Sequenz-Diagramm) | B1F: Ich kann einen vorgegebenen Programmablauf grafisch darstellen (z.B. Activity-Diagramm, Sequenz-Diagramm) | B1E: Ich kann einen textuell beschriebenen Ablauf in einen Programmablauf überführen und grafisch darstellen (z.B. Activity-Diagramm, Sequenz-Diagramm) |
| C – Daten, Datentypen und Variablen ableiten und einsetzen | 3 | C1G: Ich kann die Unterschiede zwischen den elementaren Datentypen identifizieren und erklären, für welche Art von Daten welcher Datentyp geeignet ist | C1F: Ich kann den passenden elementaren Datentyp für eine Variable aufgrund der Aufgabenstellung ermitteln, diesen deklarieren, initialisieren und Zuweisungen vornehmen | C1E: Ich kann den Zweck von Containern erläutern und diese deklarieren, initialisieren und Zuweisungen vornehmen (z.B. Array, List) |
| 3 | C2G: Ich kann eine einfache Modellklasse bestehend aus mehreren Attributen definieren, deklarieren und initialisieren | C2F: Ich kann das Prinzip der Kapselung unter Verwendung von Zugriffsmodifikatoren, Gettern, Settern und Konstruktoren umsetzen | C2E: Ich kann Klassen durch Funktionen ergänzen und diese innerhalb und ausserhalb der Klasse verwenden |
| D – Programm ausführen und überprüfen | 4,6 | D1G: Ich kann ein von mir erstelltes Programm in einer Entwicklungsumgebung ausführen | D1F: Ich kann die vom Compiler/Interpreter angezeigten Fehler- und Warnmeldungen interpretieren und deren Ursachen beheben | D1E: Ich kann einen Debugger zur Programmausführung anwenden und diesen gezielt zur Fehleranalyse einsetzen (z.B. Breakpoints setzen, Variablenleiste nutzen) |
| E – Applikation implementieren | 2,3,4 | E1G: Ich kann den Aufbau, die Syntax und die Kontrollstrukturen eines einfachen Programms erklären und ein solches umsetzen | E1F: Ich kann einen detailliert vorgegebenen Ablauf mit einer Programmiersprache umsetzen | E1E: Ich kann einen grob beschriebenen Ablauf detaillieren und mit einer Programmiersprache umsetzen |
| 2,3,4 | E2G: Ich kann den Aufbau und den Aufruf einer Funktion erklären (z.B. Parameter, lokale Variablen, Rückgabewerte) | E2F: Ich kann eine Funktion korrekt deklarieren, implementieren und aufrufen (z.B. mit Parametern, lokalen Variablen, Rückgabewerten) | E2E: Ich kann Programmteile identifizieren, die sinnvollerweise in eine eigene Funktion ausgelagert werden, und diese entsprechend refaktorisieren |
| F – Konventionen einhalten | 5 | F1G: Ich kann mein Programm mit ein- und mehrzeiligen Kommentaren ergänzen | F1F: Ich kann Kommentare mit gängigen Annotationen versehen und formatieren (z.B. FIXME, TODO) | F1E: Ich kann Konventionen für sauberen Sourcecode anwenden (z.B. Namenskonventionen, Coding-Guidelines) |