Wenn du einer ganzen Klasse Programmieren unterrichtest, werden deine Schüler bei dir nach Unterstützung fragen. Du kannst die Fragen unten dazu verwenden, die Fragen deiner Schüler zu besprechen (du bist sozusagen ihre "Gummiente"). Dies funktioniert sogar wenn du selbst nicht wirklich gut Programmieren kannst.
Das grundlegende Ziel ist es, deine Schüler zu lehren, selbst besser Debugger zu werden, damit sie sich selbst zu helfen wissen, wenn sie nicht im Klassenzimmer sind. Hinter jedem guten Programmierer steckt auch ein guter Debugger. :-)
Wenn sie einen Schritt in einer Challenge nicht verstehen:
  • Bitte die Schüler den Schritt der Challenge laut vorzulesen.
  • Bitte die Schüler den Hinweis-Code genau anzuschauen und mit seinem Code zu vergleichen.
  • Bitte sie zu erklären, was ihr Code genau macht.
  • Ermutige sie etwas am Code zu verändern und zu beobachten was passiert.
  • Wenn sie sich verlieren, erinnere sie daran, dass sie mit “Neustart” von vorne beginnen können. Stelle sicher, dass sie beim zweiten Versuch für jeden Schritt die Instruktion genau lesen.
  • Ermuntere die Schüler das vorhergehende Talk-trough nochmals ganz oder einfach den Code am Schluss anzuschauen. Er ist oft sehr ähnlich wie in der Challenge. Bitte sie diesen Code laut vorzulesen und zu erklären was er macht. Bitte sie darum ihn zu modifizieren, wenn es beim Verständnis hilft.
Wenn sie die Beschreibung eines Projektes nicht verstehen:
  • Bitte sie jeden Schritt laut vorzulesen und an den Stellen die sie nicht verstehen anzuhalten.
  • Bitte sie den Anfangs-Code, Linie für Linie vorzulesen und jede Linie zu erklären. Wenn sie etwas nicht verstehen, bitte sie in der Dokumentation nachzuschauen oder das entsprechende Talk-trough nochmals anzuschauen.
  • Wenn du ihnen nicht helfen kannst, weise sie darauf hin, dass sie immer “Hilfe anfordern” können. Bitte sie aber die Frage genau zu beschreiben.
Wenn sie eine Fehlermeldung von (“Oh noes”) nicht verstehen:
  • Bitte den Schüler sie laut vorzulesen und zu erklären was er sich dabei denkt.
  • Weise sie darauf hin “Zeig mir wo” anzuklicken, da dies sehr oft die Zeile des Fehlers anzeigt. Manchmal ist dies auch falsch, dann liegt der Fehler oft in der Zeile davor (eigentlich nie danach).
  • Wenn die Fehlermeldung keinen Sinn macht und es mehrer Fehlermeldungen gibt, klick dich durch sie durch und schau ob eine andere mehr Sinn macht.
  • Ermutige Sie die Einrückung und Formatierung ihres Codes zu verbessern (schaut euch Lesbaren Code für eine Erklärung dazu an). Vor allem wenn sie mit Funktion, for-Schleife und Bedingungen arbeiten, ist die Formatierung und Einrückung im Code sehr wichtig, da sie das Finden von Fehlern mit nicht übereinstimmenden Klammern und logischen Fehlern stark vereinfacht.
Wenn sie nicht verstehen was ihr Code oder der Ausgangscode macht:
  • Bitte sie den Code Zeile für Zeile durchzugehen und die Funktion jeder Zeile zu erklären.
  • Ermuntere sie für jedes Keyword/Funktion/Globale Variable die sie nicht kennen, zuerst in der Dokumentation nachzuschauen. Schaut euch die Beispiele gemeinsam an und bitte sie dir ihre Funktionsweise zu erklären. Sie können versuchen das Beispielprogramm zu modifizieren.
  • Ermuntere sie println() zu verwenden um den Wert von Variablen auszugeben. Sind diese wie erwartet? Wesshalb nicht? Vieleicht müssen sie sich alles auf Papier durchdenken, oder println() mit anderen Variablen verwenden um den Grund zu verstehen.
Wenn sie denken, dass sie den Schritt einer Challenge richtig gemacht haben, aber nicht weiterkommen:
  • Es kann sein, dass ihr Code eine korrekte Lösung ist, aber das die automatische Bewertung dies nicht erkennt. In diesem Fall klicke bitte auf “Einen Fehler melden” und bitte den Schüler fortzufahren.
Welche anderen Techniken verwendest du für das Debuggen in der Klasse? Sage es uns unten!
<div class="callout">Wenn du unsere Programmierkurse im im Klassenzimmer verwendest, empfehlen wir sehr unseren Blog zu abonnieren um die aktuellsten Neuerungen mitzubekommen und sende uns eine Mail mit deinen Erfahrungen und Feedback an comspci-feedback at khanacademy.org. Vielen Dank!</div>