Bewerten und erklären
Lehrer-Toolbox
-
Einführung in die Code-Effizienz
Nachdem die Schüler nun geübt haben, Codesequenzen zu schreiben, um eine bestimmte Aufgabe zu erfüllen, werden sie gebeten, diese Fähigkeiten anzuwenden, um Codesequenzen zu lesen und zu bewerten. In dieser Aktivität erhalten die Schüler eine Karte, die der im Abschnitt Spielen ähnelt, und werden gebeten, sich 3 Codesequenzen anzusehen, um die bevorzugte Lösung auszuwählen. Für jede Sequenz beantworten die Schüler 3 Fragen:
-
Erfüllt dieser Code die Aufgabe?
-
Wenn es funktioniert, was sind die Vorteile dieses Codes gegenüber den anderen?
-
Was sind die Nachteile dieses Codes gegenüber den anderen?
Wenn Sie sich dann alle Sequenzen ansehen, werden die Schüler in die Idee der Code-Effizienz eingeführt und gefragt, was ihre bevorzugte Lösung ist - basierend auf Effizienz und ihren eigenen Vorlieben - und warum. Dies kann ein Sprungbrett für eine ganze Klassendiskussion über Effizienz und Genauigkeit in der Codierung sein.
Lesen von Codesequenzen zur Auswahl einer bevorzugten Lösung
Als Ihre Klasse am Abschnitt Spielen arbeitete, haben Sie wahrscheinlich bemerkt, dass es viele verschiedene Lösungen für das gleiche Problem gab, das vorgestellt wurde. Das ist etwas, was in der Welt der Programmierung oft vorkommt. Obwohl es verschiedene Möglichkeiten geben kann, etwas zu tun, hat jeder eine bevorzugte Methode oder Lösung, die auf einer Reihe von Faktoren basieren kann. In dieser Aktivität wird sich Ihre Gruppe 3 mögliche Codeblocklösungen für ein Problem ansehen, herausfinden, ob sie in der beabsichtigten Weise funktionieren, dann eine bevorzugte Lösung aus der Gruppe auswählen und erklären, warum Sie sie ausgewählt haben.
Das Problem: Erstellen Sie eine Sequenz, die, wenn der Roboter beim Start beginnt, in alle 3 Klassenräume ein- und ausfährt (in beliebiger Reihenfolge) und zum Endpunkt zurückkehrt. Der Roboter muss um die Treppe herum navigieren und kann durch die Türen gehen, die durch die kleinen Rechtecke auf dem Kartenbild markiert sind.

- Beantworten Sie für jede der folgenden Lösungen diese 3 Fragen in Ihrem technischen Notizbuch:
- Erfüllt dieser Code die Aufgabe? Warum oder warum nicht?
- Wenn es funktioniert, was sind die Vorteile dieses Codes gegenüber den anderen?
- Was sind die Nachteile dieses Codes gegenüber den anderen?
- Meistens wird die Programmierung auf ihre Effizienz hin bewertet, und die bevorzugte Lösung ist eine, die das Ziel auf möglichst effiziente Weise erreicht.
Klicken Sie auf die Lösungen unten, um ein größeres Bild zu sehen.
Was ist Code-Effizienz?
Wenn du 3 Dinge aus deiner Küche holen müsstest, würdest du wahrscheinlich alle 3 Dinge auf einer Reise bekommen, anstatt 3 separate Reisen zu machen. Warum? Weil es effizienter wäre. Effizient bedeutet „maximale Produktivität mit minimalem verschwendetem Aufwand oder Kosten zu erreichen“. Wie hängt das mit der Programmierung zusammen?
Code-Effizienz bedeutet, dass ein Programm so geschrieben wird, dass es gut und schnell funktioniert, mit dem geringsten Aufwand an Arbeit oder Schritten, während es seine Arbeit noch richtig erledigt. Es ist wichtig, weil es das Risiko reduziert, dass ein Programm nicht gut funktioniert und dadurch Probleme für andere Teile eines Programms verursacht, die um es herum laufen. Die Effizienz eines Codes kann ein Maß für die Qualität sein, und wenn wir Projekte im VEXcode IQ-Block schreiben, suchen wir oft nach dem „effizientesten“ Projekt als bevorzugte Lösung.
Grundsätzlich ist Code-Effizienz ein Prinzip, das bedeutet, dass Sie einen Code schreiben möchten, der Ihr Ziel mit möglichst wenigen Befehlen oder Blöcken erreicht. Beantworten
Sie in Ihrem technischen Notizbuch die folgenden Fragen:
- Was ist Ihre bevorzugte Lösung im Hinblick auf die Code-Effizienz und warum?
- Glauben Sie, dass das die beste Lösung ist, warum oder warum nicht?
Lehrer-Toolbox
-
Antworten
Die Antworten können variieren, da oben keine spezifischen Abmessungen angegeben wurden, um eine Sequenz zum Navigieren in drei Räumen zu erstellen.
Klicken Sie hier für ein mögliches Lösungsbeispiel.
Diskussion motivieren
Während Effizienz nützlich ist, haben wir oft andere Überlegungen darüber, wie oder warum wir Dinge auf eine bestimmte Weise tun. Bitten Sie die Schüler, ihre Antworten in ihrem technischen Notizbuch zu teilen, und/oder verwenden Sie diese Frage, um eine Diskussion über das Gleichgewicht von Effizienz und Maßnahmen zu führen.
F: In der Programmierung ist Effizienz normalerweise die bevorzugte Methodik. Können Sie sich einen Grund vorstellen, warum dies der Fall ist?
A: Die Antworten variieren, aber einige beinhalten:
-
Projekte so zu bearbeiten, dass sie effizienter sind, hilft denjenigen in der Zukunft, die möglicherweise mit demselben Projekt arbeiten. Wenn Sie beispielsweise an einem Projekt arbeiten und dann ein paar Tage später Ihren Freund bitten, das Projekt zu aktualisieren und ein paar weitere Elemente hinzuzufügen, um die Funktionalität zu erweitern, ist es für Ihren Freund einfacher zu lesen und mit ihm zu arbeiten, wenn das Projekt effizient geschrieben wird.
-
Projekte sind immer fehleranfällig. Je effizienter ein Projekt geschrieben wird, desto unwahrscheinlicher ist es, dass ein Fehler gemacht wird.
-
Personen, die Industrieroboter programmieren, verlassen sich darauf, dass diese Projekte effizient sind, um dem Unternehmen Zeit, Energie und Ressourcen zu sparen.