LEGO® Education > Σχέδια Μαθήματος > ΣΧΕΔΙΟ ΕΝΟΤΗΤΑΣ:

Δείκτης καθαρισμού

Διερεύνηση του ρόλου των παραμέτρων στις συναρτήσεις

}

45 λεπτά

Τάξεις Ε’ Δημοτικού- Α’ Γυμνασίου

Ενδιάμεσο Επίπεδο

Ερωτήσεις προς διερεύνηση

  • Πώς μπορείτε να χρησιμοποιήσετε παραμέτρους μέσα στις συναρτήσεις σας;

Προετοιμασία ( Prepare )

    Βεβαιωθείτε ότι οι εγκέφαλοι SPIKE Prime είναι φορτισμένοι, ειδικά αν η σύνδεση γίνεται μέσω Bluetooth.

    Συμμετοχή ( Engage )

        (Ομαδική δραστηριότητα, 5 λεπτά)

        • Εντάξτε τους μαθητές σε μια συζήτηση σχετικά με τη δημιουργία γραφημάτων και τους τρόπους οπτικοποίησης πληροφοριών ή δεδομένων.
        • Ζητήστε από τους μαθητές να σηκωθούν όρθιοι και να είναι έτοιμοι να ψηφίσουν κουνώντας τα πόδια τους. Θέστε στους μαθητές μια ερώτηση που έχει πολλές επιλογές από τις οποίες οι μαθητές μπορούν να επιλέξουν. Οι μαθητές θα υποδείξουν την απάντησή τους μετακινούμενοι στο σημείο που είναι για την επιλογή τους. Αυτό θα μπορούσε να είναι διαφορετικές γωνίες της αίθουσας ή οποιαδήποτε περιοχή ορίσετε. Μόλις οι μαθητές κάνουν την επιλογή τους, βάλτε τους να κινηθούν μαζί σε μια γραμμή για να δημιουργήσουν ένα ανθρώπινο ραβδόγραμμα.

        Κάποιες ενδεικτικές ερωτήσεις θα μπορούσαν να είναι οι εξής:

        • Ποια είναι η αγαπημένη σας γεύση παγωτού; (επιλέξτε 4 γεύσεις για να απαριθμήσετε)
        • Ποιο είναι το αγαπημένο σας είδος βιβλίου; (επιλέξτε 3-4 για να τα απαριθμήσετε)
        • Σε ποιον χαρακτήρα μοιάζετε περισσότερο; (επιλέξτε ένα βιβλίο ή μια ταινία)

        Ανακάλυψη ( Explore )

        (Μικρές ομάδες, 20 λεπτά)

        Οι μαθητές θα διερευνήσουν τη χρήση παραμέτρων στις συναρτήσεις τους.

        • Κατευθύνετε τους μαθητές στην ενότητα BUILD στην εφαρμογή SPIKE. Εδώ οι μαθητές μπορούν να έχουν πρόσβαση στις οδηγίες κατασκευής για το μοντέλο του δείκτη ανέμου. Ζητήστε από τους μαθητές να κατασκευάσουν το μοντέλο. Οι οδηγίες κατασκευής είναι επίσης διαθέσιμες στη διεύθυνση https://education.lego.com/en-us/support/spike-prime/building-instructions. 
        • Ζητήστε από τους μαθητές να κάνουν μια αλλαγή στο σχεδιασμό του μοντέλου. Ζητήστε από τους μαθητές να αλλάξουν τη στοίβα των δύο κίτρινων και δύο μπλε τούβλων στο πλάι θα πρέπει να αντικατασταθεί με κόκκινο στο κάτω μέρος, στη συνέχεια με βιολετί, στη συνέχεια με κίτρινο και πράσινο στην κορυφή.
        • Καθοδηγήστε τους μαθητές να ανοίξουν ένα νέο έργο στον καμβά προγραμματισμού Python. Ζητήστε από τους μαθητές να διαγράψουν τυχόν κώδικα που βρίσκεται ήδη στον προγραμματιστικό χώρο. Οι μαθητές θα πρέπει να συνδέσουν τον κόμβο τους.  
        • Προτρέψτε τους μαθητές να σκεφτούν πώς μπορούν να χρησιμοποιήσουν μια συνάρτηση για τον δείκτη που να δείχνει αν το περιβάλλον είναι καθαρό (στο πράσινο επίπεδο) ή όχι (στο κόκκινο επίπεδο). Ο δείκτης θα πρέπει να μετακινείται στο κατάλληλο χρωματικό τούβλο της στοίβας για να δείχνει το επίπεδο.
        • Ζητήστε από τους μαθητές να γράψουν ένα πρόγραμμα ψευδοκώδικα για το πώς θα μπορούσε να μοιάζει η συνάρτηση στο πρόγραμμα. Ψευδοκώδικας είναι να γράψετε με λέξεις αυτό που θέλετε να κάνει το πρόγραμμα.

        Δείγμα ψευδοκώδικα:

        – Ορισμός συνάρτησης

        – Αισθητήρας χρώματος ανιχνεύει το επίπεδο καθαριότητας

        – Μετακίνηση του κινητήρα στη θέση με βάση την ανάγνωση του χρώματος

        – Εκτύπωση του χρώματος στην κονσόλα

        Συζητήστε μαζί τον ψευδοκώδικα.

        Προσθήκη παραμέτρων

        Προκαλέστε τους μαθητές να προσθέσουν παραμέτρους στο πρόγραμμά τους και να “σαρώσουν” το περιβάλλον τους για να δείξουν πόσο καθαρό είναι.

        Οι μαθητές θα χρειαστούν ένα κόκκινο, ένα βιολετί, ένα κίτρινο και ένα πράσινο τούβλο 2×4 από το σετ τους που θα είναι διάσπαρτα στο τραπέζι ως το περιβάλλον τους για να το σαρώσουν. Επιπλέον, ζητήστε από τους μαθητές να προσθέσουν τον αισθητήρα χρώματος στο μοντέλο τους, συνδέοντάς τον στον κόμβο, αλλά χωρίς να τον συνδέσουν στο μοντέλο.

        Ζητήστε από τους μαθητές να τροποποιήσουν το πρόγραμμά τους ώστε να ορίσουν παραμέτρους στη συνάρτησή τους για τη “σάρωση” του περιβάλλοντος (επιπλέον τούβλα) χρησιμοποιώντας τον αισθητήρα χρώματος. Μια παράμετρος είναι σαν μια μεταβλητή, αλλά μπορεί να χρησιμοποιηθεί μόνο σε μια συνάρτηση. Η παράμετρος είναι δεδομένα που εισάγονται από τον χρήστη. Λειτουργεί ως κάτοχος θέσης για τις νέες πληροφορίες που μπορούν να προστεθούν όταν καλείται η συνάρτηση.

        Δείγμα προγράμματος:

        from spike import PrimeHub, Button, ColorSensor, App, Motor from spike.control import wait_for_seconds, wait_until 

        hub = PrimeHub() 

        app = App() 

        motor = Motor(‘A’) 

        clean_level = Αισθητήρας χρώματος(‘E’) 

        color = clean_level.wait_for_new_color() 

        \# Ορισμός συνάρτησης για την αναφορά του καθαρού επιπέδου 

        def report(height): 

        motor.set_default_speed(25) 

        motor.run_for_degrees(height) 

        print(‘Clean Level’, color) 

        \# Ορισμός αισθητήρα χρώματος για την ανάγνωση της καθαρότητας του περιβάλλοντος 

        hub.left_button.wait_until_pressed() 

        if color == ‘red’: 

        report(-10)

        elif color == ‘violet’: 

        report(-25) 

        elif color == ‘yellow’: 

        report(-50) 

        elif color == ‘green’: 

        report(-75) 

        else: 

        Δεν υπάρχει ανάγνωση’) 

        Αφήστε χρόνο στους μαθητές να εξερευνήσουν το πρόγραμμά τους και να πάρουν πολλαπλές μετρήσεις του περιβάλλοντος.

            Εξηγήστε το ( Explain )

            (Ολόκληρη η ομάδα, 5 λεπτά)

            Συζητήστε με τους μαθητές πώς λειτούργησε το πρόγραμμα.

            Κάντε στους μαθητές ερωτήσεις όπως:

            • Γιατί προσθέσαμε παραμέτρους στη συνάρτησή μας;
            • Ποια είναι η διαφορά μεταξύ μιας παραμέτρου και μιας μεταβλητής;
            • Πώς η χρήση μιας συνάρτησης στο πρόγραμμά σας έκανε το πρόγραμμα πιο αποτελεσματικό;

            Εξελίξτε το ( Elaborate )

            (Μικρές ομάδες, 10 λεπτά)

            • Προκαλέστε τους μαθητές να δοκιμάσουν ένα νέο παιχνίδι όπου δεν ανιχνεύουν χρώματα, αλλά ελέγχουν για σφάλματα.
            • Δείξτε στους μαθητές κάθε πρόγραμμα και το μήνυμα σφάλματος. Ζητήστε από τους μαθητές να συζητήσουν τι πρέπει να αλλάξει σε κάθε κώδικα για να διορθωθεί το σφάλμα ή να προστεθεί ο κώδικας που λείπει. Σκεφτείτε να κάνετε τις αλλαγές ως τάξη και να βεβαιωθείτε ότι το πρόγραμμα εκτελείται σωστά μετά από κάθε αλλαγή.  

            Δραστηριότητα εντοπισμού σφαλμάτων 1:

            από spike import PrimeHub, Button, ColorSensor, App, Motor

            from spike.control import wait_for_seconds, wait_until

            hub = PrimeHub()

            app = App()

            motor = Motor(‘A’)

            clean_level = Αισθητήρας χρώματος(‘E’)

            color = clean_level.wait_for_new_color()

            \# Ορισμός συνάρτησης για την αναφορά του καθαρού επιπέδου

            def report():

                motor.set_default_speed(25)

                motor.run_for_degrees(height)

                print(‘Clean Level’, color)

            \# Ορισμός αισθητήρα χρώματος για την ανάγνωση της καθαρότητας του περιβάλλοντος

            hub.left_button.wait_until_pressed()

            if color == ‘red’:

                report(-10)

            elif color == ‘violet’:

                report(-25)

            elif color == ‘yellow’:

                report(-50)

            elif color == ‘green’:

                report(-75)

            else:

                Δεν υπάρχει ανάγνωση’)

            Αρχείο “programrunner/__init__.py”, γραμμή 1, σε start_program

            Αρχείο “__init__.mpy”, γραμμή 30

            TypeError: Η συνάρτηση παίρνει 0 ορίσματα θέσης αλλά δόθηκαν 1

            Το σφάλμα θα πρέπει να επιστήσει την προσοχή των μαθητών στη γραμμή 30, η οποία δεν φαίνεται να έχει σφάλμα. Το πραγματικό σφάλμα εμφανίζεται στη γραμμή 12, όπου ορίζεται η συνάρτηση. Κατά τον ορισμό της συνάρτησης, οι παράμετροι πρέπει να οριστούν έτσι ώστε κατά την κλήση της συνάρτησης να μπορεί να δοθεί η τιμή της παραμέτρου. Η τιμή για την παράμετρο που παρέχεται τώρα δεν είναι σε θέση να παραπέμψει σε μια παρεχόμενη παράμετρο.

            Δραστηριότητα εντοπισμού σφαλμάτων 2:

            from spike import PrimeHub, Button, ColorSensor, App, Motor

            from spike.control import wait_for_seconds, wait_until

            hub = PrimeHub()

            app = App()

            motor = Motor(‘A’)

            clean_level = Αισθητήρας χρώματος(‘E’)

            color = clean_level.wait_for_new_color()

            \# Ορισμός συνάρτησης για την αναφορά του καθαρού επιπέδου

            def report(height):

                motor.set_default_speed(25)

                motor.run_for_degrees(height)

                print(‘Clean Level’, color)

            \# Ορισμός αισθητήρα χρώματος για την ανάγνωση της καθαρότητας του περιβάλλοντος

            hub.left_button.wait_until_pressed()

            if color == ‘red’:

                report-10

            elif color == ‘violet’:

                report-25

            elif color == ‘yellow’:

                report-50

            elif color == ‘green’:

                report-75

            else:

                Δεν υπάρχει ανάγνωση’)

            Αρχείο “programrunner/__init__.py”, γραμμή 1, σε start_program

            Αρχείο “__init__.mpy”, γραμμή 20

            TypeError: μη υποστηριζόμενοι τύποι για το __sub__: ‘function’, ‘int’

            Σημείωση: η αναφορά γραμμής σε αυτό το μήνυμα σφάλματος εξαρτάται από το χρώμα που σαρώνετε.

            Αυτό το σφάλμα θα πρέπει να υποδεικνύει στους μαθητές να ελέγξουν τη γραμμή 20. Υπάρχουν πολλά σφάλματα σε αυτόν τον κώδικα που είναι όλα παρόμοια με το σφάλμα της γραμμής 20. Οι μαθητές θα πρέπει να αναγνωρίσουν ότι η συνάρτηση καλείται με αναφορά στην παράμετρο. Ωστόσο, η τιμή της παραμέτρου δεν είναι σε παράθεση (), γεγονός που προκαλεί το σφάλμα.

            Ζητήστε από τους μαθητές να σκεφτούν άλλα σφάλματα σχολιασμού που μπορεί να προκύψουν σε αυτόν τον τύπο προγράμματος και ιδέες για την αποσφαλμάτωση όταν εμφανίζονται σφάλματα.

            Αξιολόγηση  ( Evaluate )

            (Ομαδική άσκηση, 5 λεπτά)

            Παρατήρηση από τον εκπαιδευτικό:

            Συζητήστε το πρόγραμμα με τους μαθητές.

            Κάντε στους μαθητές ερωτήσεις όπως:

            • Τι είδους λάθη πρέπει να προσέχετε όταν προγραμματίζετε με συναρτήσεις και παραμέτρους;
            • Ποιοι είναι οι τρόποι με τους οποίους μπορείτε να χρησιμοποιήσετε τις παραμέτρους μέσα στις συναρτήσεις σας;

            Αυτοαξιολόγηση:

            Ζητήστε από τους μαθητές να απαντήσουν στα ακόλουθα στο ημερολόγιό τους:

            • Τι μάθατε σήμερα σχετικά με τη χρήση παραμέτρων σε συναρτήσεις;
            • Ποια χαρακτηριστικά ενός καλού συμπαίκτη επέδειξα σήμερα;
            • Ζητήστε από τους μαθητές να βαθμολογήσουν τον εαυτό τους σε κλίμακα 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 Τεκμηρίωση προγραμμάτων προκειμένου να διευκολύνεται η παρακολούθηση, ο έλεγχος και η αποσφαλμάτωση.