Evalueren en uitleggen
Teacher Toolbox
-
Introductie van code-efficiëntie
Nu studenten hebben geoefend met het schrijven van code-sequenties om een specifieke taak uit te voeren, wordt hen gevraagd om die vaardigheden toe te passen op het lezen van code-sequenties en deze te evalueren. In deze activiteit krijgen studenten een kaart die vergelijkbaar is met die in het gedeelte Afspelen en wordt gevraagd om naar 3 codesequenties te kijken om de gewenste oplossing te kiezen. Voor elke reeks zullen studenten 3 vragen beantwoorden:
-
Bereikt deze code de taak?
-
Als het werkt, wat zijn dan de voordelen van deze code ten opzichte van de andere?
-
Wat zijn de nadelen van deze code ten opzichte van de andere?
Vervolgens zullen de studenten, kijkend naar alle sequenties, kennis maken met het idee van code-efficiëntie en gevraagd worden wat hun voorkeursoplossing is op basis van efficiëntie en hun eigen voorkeuren - en om uit te leggen waarom. Dit kan een springplank zijn voor een hele klasdiscussie over efficiëntie en nauwkeurigheid in codering.
Code-reeksen lezen om een voorkeursoplossing te kiezen
Terwijl je klas aan de Play-sectie werkte, merkte je waarschijnlijk dat er veel verschillende oplossingen waren voor hetzelfde probleem dat werd gepresenteerd. Dat gebeurt vaak in de wereld van programmeren. Hoewel er verschillende manieren kunnen zijn om iets te doen, zal iedereen een voorkeursmethode of -oplossing hebben, en dat kan op een aantal factoren gebaseerd zijn. In deze activiteit zal je groep 3 mogelijke codeblokoplossingen voor een probleem bekijken, uitzoeken of ze op de beoogde manier werken, vervolgens een voorkeursoplossing uit de groep kiezen en uitleggen waarom je ervoor hebt gekozen.
Het probleem: maak een reeks die, wanneer de robot bij de start begint, in en uit alle 3 de klaslokalen zal reizen (in willekeurige volgorde) en terug zal keren naar het eindpunt. De robot moet rond de trap navigeren en kan door de deuropeningen gaan die zijn gemarkeerd door de kleine rechthoeken op de kaartafbeelding.

- Beantwoord voor elke onderstaande oplossing deze 3 vragen in je technische notitieblok:
- Bereikt deze code de taak? Waarom wel of niet?
- Als het werkt, wat zijn dan de voordelen van deze code ten opzichte van de andere?
- Wat zijn de nadelen van deze code ten opzichte van de andere?
- Meestal wordt programmeren geëvalueerd op efficiëntie en de voorkeursoplossing is er een die het doel op de meest efficiënte manier mogelijk bereikt.
Klik op de onderstaande oplossingen voor een grotere afbeelding.
Wat is code-efficiëntie?
Als je 3 dingen uit je keuken moest halen, zou je waarschijnlijk alle 3 dingen in één reis halen, in plaats van 3 afzonderlijke reizen te maken. Waarom? Omdat het efficiënter zou zijn. Efficiënt betekent "maximale productiviteit bereiken met minimale verspilde moeite of kosten." Dus hoe sluit dat aan op programmeren?
Code-efficiëntie betekent dat een programma is geschreven om goed en snel te werken, met de minste hoeveelheid werk, of stappen, goed, terwijl het nog steeds zijn werk doet. Het is belangrijk omdat het de kans verkleint dat een programma niet goed functioneert en op zijn beurt problemen veroorzaakt voor andere delen van een programma die eromheen draaien. De efficiëntie van een code kan een maatstaf zijn voor kwaliteit, en wanneer we projecten in VEXcode IQ block schrijven, zijn we vaak op zoek naar het meest 'efficiënte' project als voorkeursoplossing.
Kortom, code-efficiëntie is een principe dat betekent dat je een code wilt schrijven die je doel bereikt met zo min mogelijk opdrachten of blokken. Beantwoord
in je Engineering Notebook de volgende vragen:
- Met het oog op code-efficiëntie, wat is uw voorkeursoplossing en waarom?
- Denk je dat dat de beste oplossing is, waarom of waarom niet?
Teacher Toolbox
-
Antwoorden
Antwoorden kunnen variëren, omdat de bovenstaande geen specifieke afmetingen zijn gegeven voor het maken van een reeks om door drie kamers te navigeren.
Klik hier voor een mogelijke voorbeeldoplossing.
Motiveer discussie
Hoewel efficiëntie nuttig is, hebben we vaak andere overwegingen over hoe of waarom we dingen op een bepaalde manier doen. Laat leerlingen hun antwoorden delen in hun Engineering Notebook en/of gebruik deze vraag om een discussie te kaderen over de balans tussen efficiëntie en acties.
Vraag: Bij het programmeren is efficiëntie meestal de voorkeursmethode; kunt u een reden bedenken waarom dit het geval is?
A: Antwoorden variëren, maar sommige zijn:
-
Het bewerken van projecten zodat ze efficiënter zijn, helpt degenen in de toekomst die mogelijk met hetzelfde project werken. Als je bijvoorbeeld aan een project werkt en een paar dagen later je vriend vraagt om het project bij te werken en nog een paar items toe te voegen om de functionaliteit te vergroten, zal het voor je vriend gemakkelijker zijn om te lezen en mee te werken als het project efficiënt wordt geschreven.
-
Projecten zijn altijd foutgevoelig. Hoe efficiënter een project wordt geschreven, hoe kleiner de kans op een fout.
-
Personen die programmeren gebruiken om industriële robots te manoeuvreren, vertrouwen erop dat die projecten efficiënt zijn om het bedrijf tijd, energie en middelen te besparen.