| A – Probleme erfassen und Lösungsansätze entwickeln | 1 | A1B: Ich kann eine vorgegebene Aufgabenstellung lesen, die wesentlichen Anforderungen beschreiben und die Lösung in logische Schritte gliedern | A1I: Ich kann eine grob beschriebene Aufgabenstellung durch Rückfragen an Stakeholder detaillieren und in logische Schritte gliedern | A1A: 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 | B1B: Ich kann einen grafisch dargestellten Ablauf nachvollziehen (z.B. Activity-Diagramm, Sequenz-Diagramm) | B1I: Ich kann einen vorgegebenen Programmablauf grafisch darstellen (z.B. Activity-Diagramm, Sequenz-Diagramm) | B1A: 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 | C1B: Ich kann die Unterschiede zwischen den elementaren Datentypen identifizieren und erklären, für welche Art von Daten welcher Datentyp geeignet ist | C1I: Ich kann den passenden elementaren Datentyp für eine Variable aufgrund der Aufgabenstellung ermitteln, diesen deklarieren, initialisieren und Zuweisungen vornehmen | C1A: Ich kann den Zweck von Containern erläutern und diese deklarieren, initialisieren und Zuweisungen vornehmen (z.B. Array, List) |
| 3 | C2B: Ich kann eine einfache Modellklasse bestehend aus mehreren Attributen definieren, deklarieren und initialisieren | C2I: Ich kann das Prinzip der Kapselung unter Verwendung von Zugriffsmodifikatoren, Gettern, Settern und Konstruktoren umsetzen | C2A: Ich kann Klassen durch Funktionen ergänzen und diese innerhalb und ausserhalb der Klasse verwenden |
| D – Programm ausführen und überprüfen | 4,6 | D1B: Ich kann ein von mir erstelltes Programm in einer Entwicklungsumgebung ausführen | D1I: Ich kann die vom Compiler/Interpreter angezeigten Fehler- und Warnmeldungen interpretieren und deren Ursachen beheben | D1A: 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 | E1B: Ich kann den Aufbau, die Syntax und die Kontrollstrukturen eines einfachen Programms erklären und ein solches umsetzen | E1I: Ich kann einen detailliert vorgegebenen Ablauf mit einer Programmiersprache umsetzen | E1A: Ich kann einen grob beschriebenen Ablauf detaillieren und mit einer Programmiersprache umsetzen |
| 2,3,4 | E2B: Ich kann den Aufbau und den Aufruf einer Funktion erklären (z.B. Parameter, lokale Variablen, Rückgabewerte) | E2I: Ich kann eine Funktion korrekt deklarieren, implementieren und aufrufen (z.B. mit Parametern, lokalen Variablen, Rückgabewerten) | E2A: Ich kann Programmteile identifizieren, die sinnvollerweise in eine eigene Funktion ausgelagert werden, und diese entsprechend refaktorisieren |
| F – Konventionen einhalten | 5 | F1B: Ich kann mein Programm mit ein- und mehrzeiligen Kommentaren ergänzen | F1I: Ich kann Kommentare mit gängigen Annotationen versehen und formatieren (z.B. FIXME, TODO) | F1A: Ich kann Konventionen für sauberen Sourcecode anwenden (z.B. Namenskonventionen, Coding-Guidelines) |