LEGO® Education > Σχέδια Μαθήματος > ΣΧΕΔΙΟ ΕΝΟΤΗΤΑΣ:
Παιχνίδια μυαλού
Χρησιμοποιήστε και συγκρίνετε πολλαπλές λίστες
90-120 λεπτά
Τάξεις ΣΤ’ Δημοτικού- Β’ Γυμνασίου
Ενδιάμεσο
Ερωτήσεις προς διερεύνηση
- Πώς μπορεί η ευρετηρίαση να συγκρίνει δύο λίστες για κοινά στοιχεία;
Προετοιμασία ( Prepare )
- Βεβαιωθείτε ότι οι εγκέφαλοι SPIKE Prime είναι φορτισμένοι, ειδικά αν η σύνδεση γίνεται μέσω Bluetooth.
Συμμετοχή ( Engage )
(Ομαδική συζήτηση, 15 λεπτά)
Εντάξτε τους μαθητές σε μια συζήτηση σχετικά με το να τεντώσουν το μυαλό τους για να σκεφτούν πώς διαφορετικές λίστες είναι παρόμοιες.
Ζητήστε από τους μαθητές να αφαιρέσουν και τα 10 από τα χρωματιστά τούβλα 2×4 του σετ τους. Ζητήστε από κάθε μαθητή της ομάδας να πάρει 1 από κάθε χρώμα, συμπεριλαμβανομένου του κόκκινου, του ιώδους, του κίτρινου, του μπλε και του πράσινου.
Ο συνεργάτης 1 θα πρέπει να δημιουργήσει μια στοίβα από τα 5 τούβλα του με οποιαδήποτε σειρά χωρίς να δείξει στον συνεργάτη 2. Ζητήστε από τον Εταίρο 1 να περιγράψει την κατασκευή στον Εταίρο 2 προκειμένου να δημιουργήσει την ίδια στοίβα (π.χ. να δείξει την κατασκευή, να πει τη σειρά χωρίς να την δείξει κ.λπ.). Μόλις το ζευγάρι πιστεύει ότι οι στοίβες είναι ίδιες, έχουν τελειώσει.
Ζητήστε από τους συνεργάτες να αλλάξουν και να ξανακάνουν την άσκηση. Αυτή τη φορά, οι συνεργάτες πρέπει να βρουν έναν νέο τρόπο να επικοινωνήσουν για τη στοίβα (δηλ. διαφορετικό από την πρώτη τους προσέγγιση που μπορεί να είναι η περιγραφή με διαφορετικό τρόπο, η μη χρήση λέξεων κ.λπ.)
Αφού οι ομάδες ολοκληρώσουν αρκετούς γύρους, συζητήστε μαζί ως τάξη τον τρόπο με τον οποίο παίζεται το παιχνίδι και ζητήστε από τους μαθητές να γράψουν ένα πρόγραμμα ψευδοκώδικα για αυτό το παιχνίδι.
Ανακάλυψη ( Explore )
(Μικρές ομάδες, 45 λεπτά)
Οι μαθητές θα διερευνήσουν προγράμματα που περιλαμβάνουν πολλαπλές λίστες και τον τρόπο εντοπισμού μιας δεδομένης θέσης ή τιμής δείκτη στη λίστα.
Κατευθύνετε τους μαθητές στην ενότητα BUILD στην εφαρμογή SPIKE. Εδώ οι μαθητές μπορούν να έχουν πρόσβαση στις οδηγίες κατασκευής για το μοντέλο Game Master. Ζητήστε από τους μαθητές να κατασκευάσουν το μοντέλο. Οι οδηγίες κατασκευής είναι επίσης διαθέσιμες στη διεύθυνση https://education.lego.com/en-us/support/spike-prime/building-instructions.
Καθοδηγήστε τους μαθητές να ανοίξουν ένα νέο έργο στον καμβά προγραμματισμού Python. Ζητήστε από τους μαθητές να διαγράψουν τυχόν κώδικα που βρίσκεται ήδη στον προγραμματιστικό χώρο. Οι μαθητές θα πρέπει να συνδέσουν τον κόμβο τους.
Οι μαθητές θα χρησιμοποιήσουν το μοντέλο του Game Master για να διαβάσουν τα χρώματα των τούβλων με τα καραμελωμένα τούβλα. Δώστε στους μαθητές το παρακάτω παράδειγμα προγράμματος. Επανεξετάστε μαζί το πρόγραμμα για να συζητήσετε τι κάνει το πρόγραμμα. Ζητήστε από τους μαθητές να εκτελέσουν το πρόγραμμα και στη συνέχεια να τροφοδοτήσουν ένα από τα ζαχαρωτά ξυλάκια στο μοντέλο.
Παράδειγμα κώδικα:
from spike import PrimeHub, App, Motor, ColorSensor
from spike.control import wait_for_seconds
hub = PrimeHub()
app = App()
mouth_motor = Motor(‘A’)
color_sensor = ColorSensor(‘B’)
candy1 = [ ]
candy2 = [ ]
while True:
\# Αυτό κάνει τον Game Master να φάει το ραβδί καραμέλας και στη συνέχεια να διαβάσει και να καταγράψει την ακολουθία των χρωμάτων του στη λίστα που ονομάζεται `candy1`.
if hub.left_button.is_pressed():
hub.light_matrix.off()
candy1.clear()
mouth_motor.set_default_speed(-50)
mouth_motor.run_for_seconds(2)
app.play_sound(‘Bite’)
app.play_sound(‘Bite’)
for x in range(5):
candy1.append(color_sensor.get_color())
wait_for_seconds(1)
mouth_motor.set_default_speed(50)
mouth_motor.run_for_degrees(95)
wait_for_seconds(1)
if hub.right_button.is_pressed():
\# Αυτό κάνει τον Game Master να φάει την καραμέλα και στη συνέχεια να διαβάσει και να καταγράψει την ακολουθία των χρωμάτων της στη λίστα που ονομάζεται “candy2”.
candy2.clear()
mouth_motor.set_default_speed(-50)
mouth_motor.run_for_seconds(2)
app.play_sound(‘Bite’)
app.play_sound(‘Bite’)
for x in range(5):
candy2.append(color_sensor.get_color())
wait_for_seconds(1)
mouth_motor.set_default_speed(50)
mouth_motor.run_for_degrees(95)
wait_for_seconds(1)
\# Ανάψτε τη θέση των κόκκινων τούβλων αν βρίσκονται στην ίδια θέση και στα δύο καραμελοκάλαμα.
candy1_red_index = candy1.index(‘red’)
candy2_red_index = candy2.index(‘red’)
for x in range(5):
print(candy1[x])
if candy1_red_index == candy2_red_index:
for x in range(5):
hub.light_matrix.set_pixel(x, candy1_red_index)
app.play_sound(‘Win’)
else:
app.play_sound(‘Oops’)
Δώστε χρόνο στους μαθητές να διερευνήσουν το πρόγραμμα.
Εξηγήστε το ( Explain )
(Ολόκληρη η ομάδα, 15 λεπτά)
Ζητήστε από τους μαθητές να επιδείξουν τη ρουτίνα τους και συζητήστε με τους μαθητές πώς λειτούργησε το πρόγραμμα.
Κάντε στους μαθητές ερωτήσεις όπως:
- Πώς λειτούργησε το πρόγραμμα;
- Πώς το πρόγραμμα αυτό χρησιμοποιεί λίστες;
- Πώς αυτό το πρόγραμμα ευρετηριάζει και συγκρίνει τις δύο λίστες;
Εξελίξτε το ( Elaborate )
(Μικρές ομάδες, 25 λεπτά)
Προκαλέστε τους μαθητές να δημιουργήσουν ένα νέο πρόγραμμα που να ευρετηριάζει και να συγκρίνει όλα τα χρώματα για να ελέγξει για πανομοιότυπες στοίβες μπλοκ.
Συζητήστε με τους μαθητές πώς να τροποποιήσουν το πρόγραμμά τους προκειμένου να ελέγξουν για τα άλλα τέσσερα χρώματα.
- Ανάγκη για την ευρετηρίαση των άλλων χρωμάτων
- Πρέπει να συγκρίνετε τις λίστες για τα άλλα χρώματα
- Χρειάζεται να ορίσουν τα εικονοστοιχεία για τα άλλα χρώματα αν και τα δύο βρίσκονται σε ίδια θέση στη στοίβα.
Παράδειγμα κώδικα:
from spike import PrimeHub, App, Motor, ColorSensor
from spike.control import wait_for_seconds
hub = PrimeHub()
app = App()
mouth_motor = Motor(‘A’)
color_sensor = ColorSensor(‘B’)
candy1 = []
candy2 = []
while True:
\# This makes the Game Master eat the candy stick then read and record its sequence of colors in the list called `candy1`
if hub.left_button.is_pressed():
turns = 5
hub.light_matrix.off()
candy1.clear()
mouth_motor.set_default_speed(-50)
mouth_motor.run_for_seconds(2)
app.play_sound(‘Bite’)
app.play_sound(‘Bite’)
for x in range(5):
candy1.append(color_sensor.get_color())
wait_for_seconds(1)
mouth_motor.set_default_speed(50)
mouth_motor.run_for_degrees(95)
wait_for_seconds(1)
while turns > 0:
if hub.right_button.is_pressed():
turns = turns – 1
hub.light_matrix.off()
\# This makes the Game Master eat the candy stick then read and record its sequence of colors in the list called `candy2`
candy2.clear()
mouth_motor.set_default_speed(-50)
mouth_motor.run_for_seconds(2)
app.play_sound(‘Bite’)
app.play_sound(‘Bite’)
for x in range(5):
candy2.append(color_sensor.get_color())
wait_for_seconds(1)
mouth_motor.set_default_speed(50)
mouth_motor.run_for_degrees(95)
wait_for_seconds(1)
\# Light up the position of the red bricks if it is in the same position in both of the candy sticks.
candy1_red_index = candy1.index(‘red’)
candy2_red_index = candy2.index(‘red’)
candy1_blue_index = candy1.index(‘blue’)
candy2_blue_index = candy2.index(‘blue’)
candy1_green_index = candy1.index(‘green’)
candy2_green_index = candy2.index(‘green’)
candy1_yellow_index = candy1.index(‘yellow’)
candy2_yellow_index = candy2.index(‘yellow’)
candy1_violet_index = candy1.index(‘violet’)
candy2_violet_index = candy2.index(‘violet’)
for x in range(5):
print(candy1[x])
if candy1_red_index == candy2_red_index:
app.play_sound(‘Win’)
for x in range(5):
hub.light_matrix.set_pixel(x,candy1_red_index)
if candy1_blue_index == candy2_blue_index:
app.play_sound(‘Win’)
for x in range(5):
hub.light_matrix.set_pixel(x, candy1_blue_index)
if candy1_green_index == candy2_green_index:
app.play_sound(‘Win’)
for x in range(5):
hub.light_matrix.set_pixel(x, candy1_green_index)
if candy1_yellow_index == candy2_yellow_index:
app.play_sound(‘Win’)
for x in range(5):
hub.light_matrix.set_pixel(x, candy1_yellow_index)
if candy1_violet_index == candy2_violet_index:
app.play_sound(‘Win’)
for x in range(5):
hub.light_matrix.set_pixel(x, candy1_violet_index)
\#This checks to see if all indexes match
if candy1_red_index == candy2_red_index and
candy1_blue_index == candy2_blue_index and
candy1_green_index == candy2_green_index and
candy1_yellow_index == candy2_yellow_index and
candy1_violet_index == candy2_violet_index:
app.play_sound(‘Triumph’)
Αφήστε χρόνο στους μαθητές να διερευνήσουν το πρόγραμμα.
Αξιολόγηση ( Evaluate )
(Ομαδική δραστηριότητα, 15 λεπτά)
Παρατηρήσεις του εκπαιδευτικού:
Συζητήστε το πρόγραμμα με τους μαθητές.
Κάντε στους μαθητές ερωτήσεις όπως:
- Τι συνέβη όταν επεξεργαστήκατε το αρχικό πρόγραμμα;
- Πώς το πρόγραμμα ευρετηρίαζε και συνέκρινε λίστες;
Αυτοαξιολόγηση:
Βάλτε τους μαθητές να απαντήσουν στα ακόλουθα στα ημερολόγιά τους:
- Τι μάθατε σήμερα σχετικά με τη χρήση της ευρετηρίασης για τη σύγκριση λιστών;
- Ποια χαρακτηριστικά ενός καλού συμπαίκτη επέδειξα σήμερα;
- Ζητήστε από τους μαθητές να βαθμολογήσουν τον εαυτό τους σε κλίμακα 1-3, σχετικά με τη διαχείριση του χρόνου τους σήμερα.
- Ζητήστε από τους μαθητές να βαθμολογήσουν τον εαυτό τους σε κλίμακα 1-3, σχετικά με τη διαχείριση των υλικών (εξαρτημάτων) που έκαναν σήμερα.
Υποστήριξη εκπαιδευτικών
Οι μαθητές θα:
- Δημιουργήσουν δύο λίστες σε ένα πρόγραμμα
- Συγκρίνουν δύο λίστες μέσα σε ένα πρόγραμμα
Πράγματα που θα χρειαστείτε
- Σετ SPIKE Prime έτοιμα για χρήση από τους μαθητές
- Συσκευές με εγκατεστημένη την εφαρμογή SPIKE
- Ημερολόγια μαθητών
Εκπαιδευτικά πρότυπα
CSTA
2-CS-02
Σχεδιασμός έργων που συνδυάζουν στοιχεία υλικού και λογισμικού για τη συλλογή και ανταλλαγή δεδομένων.
2-AP-10
Χρήση διαγραμμάτων ροής ή/και ψευδοκώδικα για την αντιμετώπιση σύνθετων προβλημάτων ως αλγόριθμοι
2-AP-13
Να αναλύουν προβλήματα και υποπροβλήματα σε μέρη για να διευκολύνουν το σχεδιασμό, την υλοποίηση και την αναθεώρηση προγραμμάτων.
2-AP-16
Ενσωμάτωση υπάρχοντος κώδικα, μέσων και βιβλιοθηκών σε πρωτότυπα προγράμματα και απόδοση των στοιχείων αυτών.
2-AP-17
Συστηματική δοκιμή και βελτίωση των προγραμμάτων με τη χρήση μιας σειράς περιπτώσεων δοκιμής.
2-AP-19
Τεκμηρίωση προγραμμάτων προκειμένου να διευκολύνεται η παρακολούθηση, ο έλεγχος και η αποσφαλμάτωση.