Προγραμματίζοντας ένα Ρομπότ ανιχνευτή

 

Ταυτότητα Σεναρίου

 

·         Τίτλος: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή

 

·         Γνωστικό Αντικείμενο: Πληροφορική

 

·         Διδακτική Ενότητα: Ελέγχω-Προγραμματίζω τον Υπολογιστή

 

·         Τάξη: Γ’ Γυμνασίου

 

·         Εκτιμώμενη Διάρκεια: 5 ώρες

 

Σύντομη ανασκόπηση σεναρίου

 

 

Η παρούσα δραστηριότητα αποτελεί συνέχεια της δραστηριότητας Προγραμματίζοντας ένα Ρομπότ. Οι μαθητές, αφού έχουν εξοικειωθεί με το περιβάλλον προγραμματισμού και τα βασικά δομικά στοιχεία της γλώσσας καλούνται να εφοδιάσουν το Ρομπότ με νέες δυνατότητες κίνησης, καταγραφής και υπολογισμών. Το Ρομπότ θα πρέπει να κινείται σε μια οροθετημένη περιοχή με τρία διαφορετικά είδη καλλιεργειών, χωροθετημένα σε τυχαία και μη κανονικά σχήματα. Σκοπός της αποστολής του Ρομπότ είναι να σαρώσει όλη την οροθετημένη περιοχή και να υπολογίσει το σύνολο της έκτασης που καταλαμβάνει η κάθε καλλιέργεια (Εικόνα 14-1).

 

Εικόνα 14‑1

 

 

AgentSheets, Internet Explorer, Ζωγραφική.

 

 

Οι προσομοιώσεις προσφέρονται σε δύο διαφορετικές εκδόσεις: Η μία έκδοση, η οποία περιέχει και τον πηγαίο κώδικα, αποτελεί έργο του AgentSheets και λειτουργεί μόνο στο περιβάλλον της εφαρμογής AgentSheets. Η δεύτερη έκδοση είναι σε μορφή applet και λειτουργεί μέσω ενός οποιουδήποτε φυλλομετρητή (Internet Browser), όπως ο Internet Explorer ή ο Mozilla Firefox.

 

Στα σενάρια επισημαίνεται κάθε φορά αναλυτικά, ποια έκδοση θα πρέπει να χρησιμοποιήσει ο εκπαιδευτικός και πού ακριβώς θα τη βρει.

 

Για να λειτουργήσουν ορθά τα applets θα πρέπει ο υπολογιστής να έχει εγκατεστημένο το Java Runtime Environment (JRE) και ο φυλλομετρητής να είναι ενεργοποιημένος ως προς την εκτέλεση εντολών Java (Java enabled). To JRE μπορείτε να το κατεβάσετε από το Internet (http://www.java.com), αλλά για ευκολία εγκαθίσταται αυτόματα και κατά την εγκατάσταση του AgentSheets.

 

Συσχέτιση γνωστικού αντικειμένου και Σεναρίου

 

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

 

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

 

Η παρούσα δραστηριότητα αναγκάζει τους μαθητές να ανακαλέσουν τη γνώση και την εμπειρία που απέκτησαν στην προηγούμενη δραστηριότητα προγραμματισμού του Ρομπότ με τα εμπόδια, αλλά και να ανακαλύψουν νέες δυνατότητες για αριθμητικούς υπολογισμούς, καθώς και για την οργάνωση των αλγορίθμων σε διαδικασίες (μεθόδους), όταν αυξάνει η πολυπλοκότητα του προβλήματος. Η ανάγκη για την υλοποίηση της «μνήμης» του Ρομπότ, προκειμένου να καταγράψει αριθμητικά μεγέθη, βοηθάει στην πρώτη προσέγγιση της έννοιας της Μεταβλητής.  

 

Εκπαιδευτικές Δραστηριότητες

 

Δραστηριότητα 1: «Προγραμματίζοντας ένα Ρομπότ ανιχνευτή»

 

Γενικοί διδακτικοί στόχοι

 

 

Ειδικοί διδακτικοί στόχοι:

 

 

Προαπαιτούμενα

 

Θα πρέπει να έχουν διδαχθεί τα κεφάλαια 1 (Η έννοια του Αλγορίθμου) και 2 (Ο κύκλος ανάπτυξης προγραμμάτων) της ενότητας Ελέγχω-Προγραμματίζω τον υπολογιστή. Επίσης, πρέπει να αφιερωθεί μία διδακτική ώρα για την εξοικείωση των μαθητών με το περιβάλλον AgentSheets μέσα από το εισαγωγικό παράδειγμα Virus Attack. Τέλος, θα πρέπει να έχουν υλοποιήσει το προηγούμενο σενάριο Προγραμματίζοντας ένα Ρομπότ, του οποίου το παρόν σενάριο αποτελεί επέκταση.

 

 

Χρονισμός εφαρμογής

 

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

 

Προετοιμασία

 

Για την υλοποίηση της δραστηριότητας θα πρέπει να υπάρχει στο σχολικό εργαστήριο εγκατεστημένο το AgentSheets. Επίσης, η χρήση του βιντεοπροβολέα για την επίδειξη της υλοποιημένης λύσης του προβλήματος από τον εκπαιδευτικό, θα βοηθούσε στην αποτελεσματικότερη ροή της δραστηριότητας. Ανάλογα με το δυναμικό της τάξης, ο εκπαιδευτικός μπορεί να αποφασίσει εάν οι μαθητές θα δουλέψουν στο AgentSheets με ήδη δημιουργημένες τις οντότητες (πράκτορες), ή αν θα τις δημιουργήσουν μόνοι τους, χρησιμοποιώντας τα εργαλεία του περιβάλλοντος.

 

Ροή της δραστηριότητας
Βήμα 1ο (Διάρκεια 1 διδακτική ώρα)

 

Αρχικά, θα πρέπει να γίνει η διατύπωση του προβλήματος στην τάξη και η επίδειξη (ekpaideutikos.zip) με τη βοήθεια του βιντεοπροβολέα της τελικής λύσης (Εικόνες 14-2,14-3). Για να εμφανίζονται ορθά τα applets των προσομοιώσεων, η ανάλυση της οθόνης θα πρέπει να είναι τουλάχιστον 1024Χ768. Επίσης, το παράθυρο του φυλλομετρητή θα ήταν καλό να μεγιστοποιηθεί με τη χρήση του πλήκτρου F11.

 

Εικόνα 14‑2

 

Το Ρομπότ, ξεκινώντας από την επάνω αριστερή γωνία της οροθετημένης περιοχής θα πρέπει να σαρώσει όλη την έκταση, καταλήγοντας στην κάτω αριστερή γωνία και να εκτυπώσει στο τέλος στη γραμμή μηνυμάτων, τα αποτελέσματα των μετρήσεων του, δηλαδή την έκταση που καταλαμβάνει η κάθε καλλιέργεια.

 

Εικόνα 14‑3

Η πορεία που θα ακολουθήσει το Ρομπότ θα πρέπει να είναι της ακόλουθης μορφής (Εικόνα 14-4).

 

Εικόνα 14‑4

 

Εικόνα 14‑5

 

Αρχικά, οι μαθητές καλούνται να αναπτύξουν μόνο τον αλγόριθμο της κίνησης του Ρομπότ στο ακόλουθο πεδίο εργασίας (Εικόνα 14-5).

 

Σε αυτήν τη φάση, οι μαθητές θα χρησιμοποιήσουν μόνο δράσεις και συνθήκες που έμαθαν στην προηγούμενη δραστηριότητα με νέο όμως αλγόριθμο (Εικόνα 14-6).

 

Εικόνα 14‑6

 

Η Δράση Αναπαράγω Ήχο χρησιμοποιείται για να παραπέμψει τα παιδιά σε μια διαδικασία που μοιάζει με κατασκευή παιχνιδιού.

 

Βήμα 2ο (Διάρκεια 2 διδακτικές ώρες)

 

Αφού έχει εξασφαλιστεί η ομαλή κίνηση του Ρομπότ, δίνεται στους μαθητές το νέο Πεδίο Εργασίας με τις χρωματισμένες εκτάσεις, για να υλοποιήσουν τη νέα δυνατότητα του Ρομπότ να μετράει την έκταση της κάθε περιοχής.

 

Εικόνα 14‑7

 

Αρχικά, τους τίθεται το ερώτημα σε ποιόν από τους κανόνες που έχει μέχρι τώρα το Ρομπότ θα πρέπει να γίνεται η μέτρηση και ύστερα από συζήτηση για την κάθε ενδεχόμενη απάντηση, συμπεραίνουν ότι οποιονδήποτε κανόνα κι αν εκτελεί θα πρέπει πάντα να μετράει. Έτσι, ζητάμε από τους μαθητές, αφού προσθέσουν τη Δράση Κάνω και γράψουν ως παράμετρο τη λέξη Μέτρηση σε κάθε κανόνα, να πατήσουν το RUN για να δουν το αποτέλεσμα (Εικόνα 14-7).

 

Οι μαθητές, μέσα από αυτόν τον πειραματισμό, θα έρθουν αντιμέτωποι για πρώτη φορά με ένα μήνυμα λάθους από το περιβάλλον: «Λυπάμαι, είμαι ένας απλός Πράκτορας τύπου 'Ρομπότ'. Δεν ξέρω πώς να αντιδράσω στο μήνυμα: 'μέτρηση'» (Εικόνα 14-8).

 

Εικόνα 14‑8

 

Σε αυτό το σημείο, θα πρέπει να γίνει αναφορά στην αιτία που προκάλεσε αυτό το μήνυμα, στο ότι δηλαδή χρησιμοποίησαν τη φράση Μέτρηση, η οποία είναι όμως άγνωστη για το Ρομπότ. Θα πρέπει λοιπόν να οριστεί μια νέα μέθοδος (πατώντας το κουμπί Νέα Μέθοδος) και να της δοθεί το όνομα «Στο άκουσμα Μέτρηση» (Εικόνα 14-9).

Εικόνα 14‑9

 

Ζητάμε από τους μαθητές να πατήσουν πάλι το RUN και να δουν το αποτέλεσμα μετά από τη μεταβολή που έκαναν. Βέβαια, δεν παίρνουν πλέον κανένα μήνυμα λάθους, αλλά δεν κάνει και καμία μέτρηση το Ρομπότ γιατί η μέθοδος Μέτρηση θέλει κανόνες.

 

Αρχικά, οι μαθητές θα πρέπει να σκεφτούν πόσους διαφορετικούς κανόνες θα πρέπει να έχει η μέτρηση και στη συνέχεια να τους αναλύσουμε τη λειτουργία των νέων συνθηκών και δράσεων που θα χρειαστούν (Εικόνα 14-10).

 

Εικόνα 14‑10

Ανάλογα με το αποτέλεσμα της Συνθήκης Είμαι στοιβαγμένο ακριβώς πάνω από, το Ρομπότ αθροίζει σε μια διαφορετική θέση μνήμης (μεταβλητή) τον τύπο του εδάφους που ανίχνευσε. Καλούμε τους μαθητές να τρέξουν πάλι την εφαρμογή μετά την υλοποίηση της μεθόδου, για να διαπιστώσουν ότι δεν αλλάζει και πάλι κάτι οπτικά. Αυτό βέβαια δε σημαίνει ότι το Ρομπότ δεν έχει κάνει τις αθροίσεις, αλλά ότι δεν έχει περιγραφεί πουθενά στον αλγόριθμο ότι θα πρέπει να εμφανίσει το αποτέλεσμα της άθροισης.

 

Προσθέτουν λοιπόν, τη δράση Ηχώ (Πράσινη περιοχή:~GreenArea Κόκκινη περιοχή:~RedArea Κίτρινη περιοχή:~YellowArea)  στον κανόνα που είναι υπεύθυνος για το τέλος του προγράμματος και μια μικρή αναμονή Περιμένω (5 δευτερόλεπτα)  για να προλάβουν να δουν το μήνυμα (Εικόνα 14-11).

 

Εικόνα 14‑11

 

Βήμα 3ο (Διάρκεια 2 διδακτικές ώρες)

 

Στις επόμενες δύο ώρες θα δοθεί βάρος στην έννοια της μεταβλητής και των αριθμητικών πράξεων. Προτείνεται αρχικά, οι μαθητές να παρακολουθούν μέσω του παραθύρου Ιδιότητες Πράκτορα (αφού προηγουμένως έχουν επιλέξει με το βέλος το Ρομπότ από το Πεδίο εργασίας), τις τιμές των μεταβλητών, όπως αυτές μεταβάλλονται κατά τη διάρκεια εκτέλεσης του προγράμματος (Εικόνα 14-12).

 

Εικόνα 14‑12

 

Στη συνέχεια μπορεί να ελεγχθεί η γενικότητα του αλγορίθμου που κατασκεύασαν, τροποποιώντας το Πεδίο Εργασίας (προσθέτοντας και αφαιρώντας περιοχές διαφορετικού χρώματος) και καταγράφοντας τα αποτελέσματα.

Τέλος, επεκτείνοντας τη μέθοδο Μέτρηση, θα πρέπει να προσθέσουν εκείνες τις Δράσεις που θα επιτρέψουν στο Ρομπότ να υπολογίζει και τα ποσοστά (%) κάλυψης της κάθε έκτασης.

 

Προτάσεις για επεκτάσεις ή διαφοροποιήσεις

 

Μετά την υλοποίηση του σεναρίου οι μαθητές θα έχουν αποκτήσει σε μεγάλο βαθμό εξοικείωση με τις βασικές λειτουργίες του περιβάλλοντος προγραμματισμού AgentSheets. Ο εκπαιδευτικός μπορεί να επεκτείνει το συγκεκριμένο σενάριο με σκοπό τη διδασκαλία και νέων προγραμματιστικών δομών και εννοιών. Έτσι, για παράδειγμα, μπορεί να δώσει έμφαση σε πιο σύνθετους αριθμητικούς υπολογισμούς, όπως ο υπολογισμός του πλήθους των αγροτεμαχίων της κάθε καλλιέργειας, ή την αντικατάσταση κάποιας καλλιέργειας με μία νέα, σε ολόκληρη την περιοχή.  

 

Βιβλιογραφία και Διευθύνσεις στο Διαδίκτυο

 

Δαγδιλέλης, Βασίλειος Ε., Διδακτική : Μέθοδοι και εφαρμογές / Βασίλειος Ε. Δαγδιλέλης, Καλλιόπη Π. Παυλοπούλου, Παναγιώτα Κ. Τρίγγα, Αθήνα: Ευγ. Μπένου, 1998

 

Κόμης Β., Εισαγωγή στη Διδακτική της Πληροφορικής, Εκδόσεις Κλειδάριθμος. Αθήνα, 2005