Zum Inhalt springen

Beurteilung

Zu Zen-Modus wechseln

Wie kommt es zur Beurteilung in SEW - Softwareentwicklung?

Als Basis dient die Leistungsbeurteilungsverordnung (LBVO) des Bundes.

Die Benotung setzt sich aus den folgenden Komponenten zusammen:

  • Mitarbeit: Übungsbeispiele (Abgabe über Git, Qualität und Präsentation der Lösungen) sowie aktive Beteiligung im Unterricht.
  • Praktische Leistungsfeststellungen: angesagte Programmierübungen am Rechner.
  • Projektarbeiten: Umsetzung, Dokumentation und Präsentation der Projekte.

Die genaue Gewichtung wird zu Schuljahresbeginn in der Klasse bekanntgegeben und hier ergänzt.

  1. Jede abgegebene Übung zählt zur Mitarbeit, auch unvollständige Lösungen mit dokumentierten Versuchen.

  2. Programmcode muss selbst erklärt werden können. Nicht erklärbarer Code wird nicht gewertet.

  3. Abgabetermine sind verbindlich. Verspätete Abgaben werden nur nach Absprache berücksichtigt.

Der Kompetenzraster zeigt, welche Leistungen für welche Note erwartet werden. Die Niveaustufen folgen der LBVO:

  • Genügend Die wesentlichen Bereiche sind überwiegend erfüllt.
  • Befriedigend Die wesentlichen Bereiche sind zur Gänze erfüllt.
  • Gut Die Leistungen gehen über das Wesentliche hinaus.
  • Sehr gut Die Aufgaben werden eigenständig gelöst und das Gelernte wird sicher auf neue Aufgaben angewendet.

Jede Stufe schließt die darunterliegenden mit ein.

Rekursion, reguläre Ausdrücke

  • Genügend Der Schüler oder die Schülerin kann Basisfall und Rekursionsschritt einer gegebenen Funktion benennen und einfache Muster wie eine Postleitzahl prüfen.
  • Befriedigend Der Schüler oder die Schülerin kann rekursive Funktionen für bekannte Aufgaben schreiben und Muster für Alltagsformate selbst formulieren.
  • Gut Der Schüler oder die Schülerin kann Rekursion auf verschachtelte Strukturen anwenden, ihre Grenzen erklären und Texte mit Gruppen und Ersetzungen umformen.
  • Sehr gut Der Schüler oder die Schülerin kann für ein neues Problem entscheiden, ob Rekursion oder ein regulärer Ausdruck angemessen ist, und die Lösung sauber begründen.

Vererbung, Polymorphismus, Interfaces

  • Genügend Der Schüler oder die Schülerin kann eine Subklasse von einer gegebenen Basisklasse ableiten und Methoden überschreiben.
  • Befriedigend Der Schüler oder die Schülerin kann eine Klassenhierarchie mit super() umsetzen und eine Liste gemischter Objekte polymorph verarbeiten.
  • Gut Der Schüler oder die Schülerin kann Verträge als abstrakte Basisklassen definieren und Programme so bauen, dass neue Varianten ohne Änderung des Kerns möglich sind.
  • Sehr gut Der Schüler oder die Schülerin kann begründen, wann Vererbung die falsche Wahl ist, Alternativen wie Komposition skizzieren und fremde Bausteine über Schnittstellen integrieren.
  • Genügend Der Schüler oder die Schülerin kann try/except für vorgegebene Fehlerfälle einsetzen.
  • Befriedigend Der Schüler oder die Schülerin kann Exceptions gezielt fangen, eigene Exception-Klassen definieren und Benutzereingaben absichern.
  • Gut Der Schüler oder die Schülerin kann entscheiden, wo Fehler gefangen und wo sie weitergereicht werden, und verständliche Fehlermeldungen formulieren.
  • Sehr gut Der Schüler oder die Schülerin kann ein Programm so gestalten, dass es durch keine Eingabe abstürzt, und die Fehlerstrategie erklären.

Git

  • Genügend Der Schüler oder die Schülerin kann Änderungen committen und die Historie ansehen.
  • Befriedigend Der Schüler oder die Schülerin kann den täglichen Zyklus aus status, add, commit und push sicher anwenden und sinnvolle Commit-Messages schreiben.
  • Gut Der Schüler oder die Schülerin kann mit Branches arbeiten, mergen und einfache Konflikte auflösen.
  • Sehr gut Der Schüler oder die Schülerin kann den Git-Workflow im Team organisieren und anderen bei Konflikten helfen.

pytest

  • Genügend Der Schüler oder die Schülerin kann vorgegebene Tests ausführen und die Ausgabe deuten.
  • Befriedigend Der Schüler oder die Schülerin kann eigene Tests mit assert schreiben und erwartete Exceptions testen.
  • Gut Der Schüler oder die Schülerin kann Tests parametrisieren und Vertragstests für eine Klassenhierarchie definieren.
  • Sehr gut Der Schüler oder die Schülerin kann eine Testreihe so anlegen, dass sie eingeschleuste Fehler in fremdem Code findet, und Lücken in Tests erkennen.

Statik und Dynamik

  • Genügend Der Schüler oder die Schülerin kann Klassen- und Zustandsdiagramme lesen.
  • Befriedigend Der Schüler oder die Schülerin kann zu einer gegebenen Problemstellung ein Klassendiagramm mit Vererbung erstellen.
  • Gut Der Schüler oder die Schülerin kann Abläufe als Sequenz- oder Zustandsdiagramm modellieren und die passende Diagrammart wählen.
  • Sehr gut Der Schüler oder die Schülerin kann Struktur- und Ablaufmodelle gegeneinander auf Widersprüche prüfen und fremde Modelle begründet kritisieren.

GUI, Dateien, Datenformate

  • Genügend Der Schüler oder die Schülerin kann eine einfache Tkinter-Oberfläche nach Vorlage bauen und Dateien lesen und schreiben.
  • Befriedigend Der Schüler oder die Schülerin kann CSV und JSON robust verarbeiten und eine GUI mit getrennter Fachlogik umsetzen.
  • Gut Der Schüler oder die Schülerin kann eine Anwendung mit Datenquelle, Fehlerbehandlung und Tests weitgehend selbstständig entwickeln.
  • Sehr gut Der Schüler oder die Schülerin kann ein umfangreiches Vorhaben wie den Vokabeltrainer eigenständig planen, umsetzen, dokumentieren und präsentieren.
  • Genügend Der Schüler oder die Schülerin kann Übungen über Git termingerecht abgeben.
  • Befriedigend Der Schüler oder die Schülerin kann Aufgaben im Zweierteam koordiniert bearbeiten und Absprachen einhalten.
  • Gut Der Schüler oder die Schülerin kann den eigenen Arbeitsstand nachvollziehbar dokumentieren und im Team Konflikte sachlich lösen.
  • Sehr gut Der Schüler oder die Schülerin kann Verantwortung für ein Teilprojekt übernehmen und das eigene Vorgehen kritisch reflektieren.

Für die Note muss die jeweilige Stufe in allen fachlichen Kompetenzbereichen erreicht sein. Liegen einzelne Bereiche darunter, entscheidet das Gesamtbild nach LBVO.