Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με την βοήθεια παιχνιδιών: Η περίπτωση του Greenfoot Σιακαβάρας Ιωάννης 1, Ιωάννου Μαρία 2 jsiakav@gmail.com, ioannmar@sch.gr 1 Εκπαιδευτικός Πληροφορικής, 1 ο Επαγγελματικό Λύκειο Καλαμπάκας 2 Εκπαιδευτικός Πληροφορικής, 2 ο Ολοήμερο Δημοτικό Σχολείο Καλαμπάκας με Ε.Α.Ε.Π Περίληψη Η εισαγωγή στην διδασκαλίας προγραμματισμού με αντικειμενοστραφείς γλώσσες προγραμματισμού μεταφέρεται προς τα κάτω στο αναλυτικό πρόγραμμα σπουδών με αποτέλεσμα να διδάσκεται σε όλες τις βαθμίδες της εκπαίδευσης. Η διδασκαλία των βασικών εννοιών αντικειμενοστραφούς προγραμματισμού όταν γίνεται αποκλειστικά με την χρήση κώδικα καθιστά την κατανόηση των εννοιών αυτών ιδιαίτερα δύσκολη για τους μαθητές. Το περιβάλλον του Greenfoot παρέχει εργαλεία που βοηθούν στην κατανόηση των βασικών εννοιών και κινητοποιεί σε υψηλό βαθμό τους μαθητές λόγω της παιγνιώδης φύσης του και της άμεση γραφικής ανατροφοδότησης. Το γραφικό του περιβάλλον κάνει τον προγραμματισμό ευκολότερο, περισσότερο ενδιαφέρον και διαδραστικό για τους μαθητές. Στην παρούσα εργασία παρουσιάζεται μια διδακτική προσέγγιση για την διδασκαλία των βασικών εννοιών του αντικειμενοστραφούς προγραμματισμού και την βοήθεια του Greenfoot. Λέξεις κλειδιά: Greenfoot, αντικειμενοστραφής προγραμματισμός, γραφικό περιβάλλον, κλάση, αντικείμενα. Εισαγωγή Η διδασκαλία του αντικειμενοστραφούς προγραμματισμού συνοδεύεται από ποικίλες δυσκολίες και παρανοήσεις και για αρκετά χρόνια θεωρούνταν ιδιαίτερα δύσκολη. Ωστόσο, αρκετά εκπαιδευτικά εργαλεία και περιβάλλοντα δημιουργήθηκαν, ενώ πληθώρα μελετών διεξήχθησαν που ανέδειξαν τις σημαντικότερες δυσκολίες και παρανοήσεις. Η αξιοποίηση των διαθέσιμων εργαλείων σε συνδυασμό με τη συσσωρευμένη εμπειρία μπορεί να συντελέσει σε μια πιο επιτυχημένη διδασκαλία και εκμάθηση του αντικειμενοστρεφούς προγραμματισμού (Ξυνόγαλος, 2012). Στο παρόν διδακτικό σενάριο επιλέξαμε για την διδασκαλία του αντικειμενοστραφούς προγραμματισμού το προγραμματιστικό περιβάλλον του Greenfoot. Το Greenfoot είναι ένα Ολοκληρωμένο Περιβάλλον Ανάπτυξης Εφαρμογών (IDE) που έχει ως σκοπό τη διδασκαλία του αντικειμενοστραφούς προγραμματισμού με τη γλώσσα java. Είναι αρκετά ευέλικτο και απευθύνεται τόσο σε μαθητές δευτεροβάθμιας εκπαίδευσης (κυρίως μαθητές λυκείου) όσο και σε μεγαλύτερους μαθητές. Το περιβάλλον είναι ειδικά σχεδιασμένο για να μεταφέρει τις έννοιες και αρχές του αντικειμενοστραφούς προγραμματισμού με ένα καθαρό και εύκολο τρόπο. Με το Greenfoot μπορεί να δημιουργηθεί ένας κόσμος μέσα στον οποίο αλληλεπιδρούν μορφές (actors) με τις οποίες μπορούν να προγραμματιστούν παιχνίδια, προσομοιώσεις και άλλα προγράμματα με γραφικά και η ανατροφοδότηση είναι άμεση. Το περιβάλλον έχει σχεδιαστεί με τέτοιο τρόπο ώστε οι μαθητές να συμμετέχουν ενεργά χωρίς να έχουν καμία προηγούμενη εμπειρία ή ενδιαφέρον στον προγραμματισμό. Η πρακτική εφαρμογή του προγραμματιστικού περιβάλλοντος Greenfoot στη διδασκαλία του αντικειμενοστραφούς προγραμματισμού στους μαθητές της δευτεροβάθμιας εκπαίδευσης, μπορεί να συντελέσει ώστε οι μαθητές να αναπτύξουν αλγοριθμικό τρόπο σκέψης, αλλά και να έχουν μία πρώτη επαφή με βασικές αρχές του προγραμματισμού, μέσα από ένα περιβάλλον φιλικό με έντονα παιγνιώδη χαρακτηριστικά. (Σωτηρουδας κ.α. 2014) Σύντομη περιγραφή του εκπαιδευτικού σεναρίου. Το παρών σενάριο με τίτλο «Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με την βοήθεια παιχνιδιών: Η περίπτωση του Greenfoot», υλοποιήθηκε στην Γ Τάξη του 1ου Επαγγελματικού Λυκείου Καλαμπάκας και η διάρκεια του ήταν τέσσερις διδακτικές ώρες. Στόχος του σεναρίου είναι η εισαγωγή στις βασικές έννοιες του αντικειμενοστραφούς προγραμματισμού: κλάση, αντικείμενο, ιδιότητες, μέθοδος, κληρονομικότητα μέσα από ένα οπτικό περιβάλλον με παιγνιώδη χαρακτηριστικά. Ως προς την οργάνωση της τάξης το σενάριο έχει σχεδιαστεί έτσι ώστε να μπορεί να πραγματοποιηθεί στο σχολικό εργαστήριο πληροφορικής. Οι μαθητές αρχικά χωρίζονται σε ομάδες των δυο ατόμων και εργάζονται ομαδοσυνεργατικά χρησιμοποιώντας ένα υπολογιστικό σύστημα η κάθε ομάδα. Απαραίτητη προϋπόθεση πραγματοποίησης του σεναρίου είναι σε κάθε υπολογιστή να είναι εγκατεστημένο το λογισμικό Greenfoot και να υπάρχει σύνδεση στο διαδίκτυο. Τα ψηφιακά μέσα που χρησιμοποιήθηκαν ήταν οι υπολογιστές του εργαστηρίου πληροφορικής του σχολείου, ο βιντεοπροβολέας, η σύνδεση με το Διαδίκτυο, το λογισμικό Greenfoot και η υπηρεσία google forms. Πριν γίνει κάποια αναφορά στο εκπαιδευτικό περιβάλλον αναφέρεται ότι οι περισσότεροι μαθητές σήμερα παίζουν παιχνίδια είτε στον κινητό τους είτε στον υπολογιστή. Έπειτα για να τους κερδίσουμε περισσότερο το ενδιαφέρον τους αναφέρουμε πως θα τους φαινόταν να φτιάξουν σε ένα από τα επόμενα μαθήματα το δικό τους παιχνίδι. Στη συνέχεια παρουσιάζεται ένα μικρό βίντεο στο οποίο εμφανίζεται ένας έφηβος ο οποίος έχει δημιουργήσει δίκες του εφαρμογές και παιχνίδια προγραμματίζοντας σε παρόμοια περιβάλλοντα. Κατόπιν παρουσιάζονται τα βασικά χαρακτηριστικά και το περιβάλλον εργασίας του Greenfoot. Στην δεύτερη διδακτική ώρα αναφέρονται παραδείγματα από την καθημερινή ζωή προκείμενου να αποσαφηνίσει την έννοια της κλάσης (π.χ υπάρχουν χιλιάδες βατράχια στον κόσμο, τα οποία μοιράζονται μερικά κοινά χαρακτηριστικά: δύο μάτια, τέσσερα πόδια, λεπτό δέρμα και την ικανότητα να βγάζουν ένα συγκεκριμένο ήχο). Έπειτα με ένα άλλο παράδειγμα προσπαθούμε να Πρακτικά Εργασιών 9 ου Πανελλήνιου Συνεδρίου Καθηγητών Πληροφορικής, Καστοριά, 24-26 Απριλίου 2015
2 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές αποσαφηνίσουμε την έννοια του αντικειμένου. Για παράδειγμα η τουλίπα αποτελεί μια κλάση, με κοινά χαρακτηριστικά όπως το σχήμα του πέταλου, το χρώμα και το μέγεθος. Μια μοναδική τουλίπα που φυτρώνει στο έδαφος, η είναι σε ένα βάζο είναι ένα αντικείμενο της κλάσης τουλίπας. Έχει όλα τα χαρακτηριστικά της κλάσης τουλίπας αλλά είναι ένα μοναδικό αντικείμενο που μπορεί να μεταχειριστεί και να αλλάξει. Έπειτα οι μαθητές αφού συζητήσουν με το εκπαιδευτικό τυχόν απορίες παρακολουθούν δυο σύντομα βίντεο τα οποία περιγράφουν το πώς δημιουργούμε κλάσεις και το πώς εισάγουμε αντικείμενα μέσα σε ένα σενάριο του Greenfoot. Την επόμενη ώρα αναφέρονται παραδείγματα στους μαθητές προκειμένου να κατανοήσουν την έννοια της μεθόδου (method). Στη συνέχεια εξηγείται το πώς συντάσσονται οι μέθοδοι βλέποντας το βίντεο 1 το οποίο αναλύει τις μεθόδους τύπου void και το βίντεο 2 το οποίο εξηγεί τις μεθόδους τύπου int. Τέλος, αναφέρεται στο πως χρησιμοποιούνται οι παράμετροι σε μια μέθοδο. Την τελευταία διδακτική ώρα οι μαθητές έρχονται σε επαφή για πρώτη φορά με τον πηγαίο κώδικα, ο οποίος καθορίζει την συμπεριφορά μιας κλάσης. Εξηγείται η λειτουργία του συντάκτη εντολών (Editor) του Greenfoot. Ο κώδικας δείχνει κάπως περίπλοκος αλλά στο σημείο αυτό οι μαθητές είναι σημαντικό να καταλάβουν ότι μπορούμε να αλλάξουμε την συμπεριφορά των αντικειμένων αλλάζοντας τον πηγαίο κώδικα μιας κλάσης. Οι μαθητές έδειξαν μεγάλο ενδιαφέρον για να πραγματοποιήσουν τις δραστηριότητες. Μια μικρή μερίδα μαθητών (περίπου 2-3 μαθητές) «καλύφθηκε» πίσω από την ομάδα και προσπάθησε να αποφύγει να δουλέψει και να συμμετάσχει σ αυτήν. Κάποιοι μαθητές ρωτούσαν που βρίσκεται ο κώδικας που είναι υπεύθυνος για την λειτουργιά του παιχνιδιού καθώς το σενάριο-παιχνίδι που τους δόθηκε ήταν έτοιμο. Η σαφή διάρθρωση της διδασκαλίας βοήθησε στην βέλτιστη ικανοποίηση των στόχων της και στην καλύτερη συνεργασία μαθητών και εκπαιδευτικού. Συμπεράσματα Η διδασκαλία του προγραμματισμού παρουσιάζει αρκετές δυσκολίες και απαιτεί χρόνο και μέθοδο. Η χρήση του προγραμματιστικού περιβάλλοντος Greenfoot μέσα από τα παιγνιώδη χαρακτηριστικά που διαθέτει, την οπτικοποίηση και τη αλληλεπίδραση ενεργοποίησε από την πρώτη στιγμή τους μαθητές και τους κέντρισε το ενδιαφέρον για να ασχοληθούν με το σύστημα και έμμεσα με τον προγραμματισμό. Η δυνατότητα του πειραματισμού με τα στιγμιότυπα των κλάσεων και των αντικειμένων μέσω άμεσης οπτικής διάδρασης και απεικόνισης βοήθησε τους μαθητές να κατανοήσουν τις έννοιες αυτές ευκολότερα. Τα αντικείμενα, οι κλάσεις, οι μέθοδοι, η κληρονομικότητα κ.α αποτελούν θεμελιώδη στοιχεία του αντικειμενοστραφούς προγραμματισμού και η μη κατανόηση τους μπορεί να απογοητεύσει τον μαθητή απομακρύνοντας τον από τον προγραμματισμό. Το σενάριο εφαρμόστηκε στην Γ τάξη του Επαγγελματικού Λυκείου Καλαμπάκας Οι περισσότεροι μαθητές υλοποίησαν τα φύλλα εργασίας, άλλοι με λιγότερα και άλλοι με περισσότερα λάθη. Ωστόσο, το σημαντικό είναι ότι όλες οι ομάδες κατέβαλαν προσπάθεια ώστε να παραδώσουν ένα τελικό προϊόν που θα ήταν όσο το δυνατό εγγύτερα στα απαιτούμενα των φύλλων εργασίας. Η προστιθέμενη γνώση στους μαθητές μετά την εφαρμογή του συγκεκριμένου σεναρίου, φάνηκε από τις θετικές απαντήσεις τους στα ηλεκτρονικά φύλλα αξιολόγησης, τα οποία αποτέλεσαν συγχρόνως και μέθοδο αξιολόγησης του σεναρίου αλλά και των παιδιών. Συμπερασματικά, το παρόν σενάριο αποτελεί έναν διαφορετικό τρόπο εισαγωγής στον προγραμματισμό ο οποίος θέτει στο επίκεντρο το μαθητή, που ανακαλύπτει και κτίζει μόνος του τη γνώση με την απλή καθοδήγηση του εκπαιδευτικού, και συγχρόνως αποτελεί τη βάση ώστε οι μαθητές να είναι προετοιμασμένοι να εργαστούν σε επόμενα σενάρια που θα περιλαμβάνουν σύνθετες αλγοριθμικές δομές προκειμένου να είναι ικανοί στο τέλος να δημιουργούν από μόνοι τους παιχνίδια και ενδιαφέροντα σενάρια στο Greenfoot.
3 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές ΠΑΡΑΡΤΗΜΑ Σενάριο: «Εισαγωγή στον αντικειμενοστραφή προγραμματισμό» 1. Τίτλος εκπαιδευτικού σεναρίου: «Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με την βοήθεια παιχνιδιών: Η περίπτωση του Greenfoot» 2. Εκτιμώμενη διάρκεια εκπαιδευτικού σεναρίου Ο αρχικός σχεδιασμός του σεναρίου σύμφωνα με το αναλυτικό πρόγραμμα σπουδών προβλέπει την ολοκλήρωση του σε 4 διδακτικές ώρες και σε γενικές γραμμές κρίνεται επαρκής. 3. Ένταξη του διδακτικού σεναρίου στο πρόγραμμα σπουδών/προαπαιτούμενες γνώσεις Το νέο Π.Σ. παρέχει την ελευθερία στον καθηγητή να σχεδιάσει τη διδασκαλία του, ανάλογα με τις γνώσεις και τις ιδιαιτερότητες των μαθητών του και την υλικοτεχνική υποδομή που έχει στη διάθεσή του. Καλείται δηλαδή να μετατραπεί σε παραγωγό εκπαιδευτικού περιεχομένου που θα ικανοποιεί τις εκάστοτε ιδιαίτερες συνθήκες εφαρμογής του περιεχομένου αυτού. Αναφορικά με τα προγράμματα σπουδών του Γενικού και του Τεχνολογικού Λυκείου για τη διδασκαλία της πληροφορικής ένας από τους στόχους που τίθεται είναι να επεκτείνουν οι μαθητές τη γενική πληροφορική παιδεία τους με έμφαση στην ανάπτυξη ικανοτήτων και δεξιοτήτων στη χρήση και αξιοποίηση των υπολογιστικών και δικτυακών τεχνολογιών ως εργαλείων μάθησης και σκέψης. Άλλωστε στα πλαίσια αυτά προβλέπονται συνθετικές εργασίες με λογισμικό εφαρμογών γενικής χρήσης, εκπαιδευτικό λογισμικό και προγραμματιστικά περιβάλλοντα. Το λογισμικό Greenfoot παρότι δεν αναφέρεται ούτε στα πλέον πρόσφατα προγράμματα σπουδών (Δημοτικού & Γυμνασίου) κρίνουμε ότι μπορεί να χρησιμοποιηθεί αποτελεσματικά σε μαθητές του Γενικού και Επαγγελματικού λυκείου καθώς πρόκειται για ένα ιδιαίτερα εύχρηστο αλλά και 'ισχυρό' προγραμματιστικό περιβάλλον. Η εκμάθηση προγραμματιστικών εννοιών με την δημιουργία ενός παιχνιδιού μπορεί να είναι διασκεδαστική. Χρησιμοποιώντας το Greenfoot θα μάθουμε βασικές γνώσεις αντικειμενοστραφούς προγραμματισμού μέσα από διασκεδαστικά και αλληλεπιδραστικά παιχνίδια. Σύμφωνα με τα παρόντα ΑΠΣ και Δ.Ε.Π.Π.Σ στην Πληροφορική το παρόν διδακτικό σενάριο μπορεί να αξιοποιηθεί στο πλαίσιο του μαθήματος Εφαρμογές Πληροφορικής Α Γενικού και Επαγγελματικού Λυκείου καθώς επίσης και μάθημα Προγραμματισμού σε γραφικό περιβάλλον της Γ τάξης των ΕΠΑΛ. 4. Σκοποί και στόχοι του εκπαιδευτικού σεναρίου Στόχος του εκπαιδευτικού αυτού σεναρίου είναι η εισαγωγή στις βασικές έννοιες του αντικειμενοστραφούς προγραμματισμού: κλάση, αντικείμενο, ιδιότητες, μέθοδος, κληρονομικότητα, με την βοήθειας παιχνιδιών. Διδακτικοί Στόχοι: Α) Ως προς το γνωστικό αντικείμενο Να περιγράφει τα συστατικά στοιχεία του αλληλεπιδραστικού περιβάλλοντος του Greenfoot. Να αντιμετωπίζει τα διαθέσιμα αντικείμενα και γεγονότα ως δομικό υλικό για την δημιουργία ενός παιχνιδιού Να προσεγγίζει ως προγραμματισμό την επιλογή και σύνθεση έτοιμων αντικειμένων και γεγονότων Να κατανοήσει την έννοια του αντικειμένου και της κλάσης και να μπορεί να δώσει παραδείγματα κλάσεων και των αντίστοιχων αντικειμένων. Να αντιληφτεί την στατική φύση μια κλάσης και την δυναμική ενός αντικειμένου. Να μπορεί να ορίσει ένα νέο αντικείμενο και να το τοποθετήσει στο χώρο εργασίας του. Να δημιουργεί και να διαγράφει κλάσεις Να διαπιστώσει ότι από μία κλάση μπορούν να δημιουργηθούν πολλά αντικείμενα τα οποία θα έχουν τα χαρακτηριστικά και τις μεθόδους της κλάσης αυτής. Να κατανοήσει την έννοια της μεθόδου και πως αυτή συντάσσεται Να εντοπίζει τις μεθόδους των κλάσεων που σχεδιάζει Να εκτελεί μεθόδους αντικειμένων. Να γνωρίζει τον τρόπο με τον οποίον οι βασικές έννοιες τους αντικειμενοστραφούς προγραμματισμού υποστηρίζονται από τη γλώσσα προγραμματισμού Java Να χρησιμοποιεί το συντάκτη κώδικα των κλάσεων του Greenfoot για να διορθώνει τον κώδικα μιας κλάσης. Να μεταγλωττίζει μεμονωμένες κλάσεις. Β) Ως προς τη χρήση νέων τεχνολογιών Να αναπτύξουν θετική διάθεση απέναντι στους Η/Υ ως εργαλείο άντλησης πληροφοριών και περιβάλλον εργασίας. Γ) Ως προς τη μαθησιακή διδασκαλία
4 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές Να αναπτύξει την ομαδικότητα και τη συνεργασία μέσα στα πλαίσια της ομάδας, και την αποτελεσματική επικοινωνία, συνεργασία και αλληλεπίδραση της ομάδας τους με τις αντίστοιχες άλλες ομάδες. 5. Περιγραφή του εκπαιδευτικού σεναρίου Πριν γίνει κάποια αναφορά στο εκπαιδευτικό περιβάλλον σχολιάζουμε ότι οι περισσότεροι μαθητές σήμερα παίζουν παιχνίδια είτε στον κινητό τους είτε στον υπολογιστή. Έπειτα για να τους κερδίσουμε περισσότερο το ενδιαφέρον τους αναφέρουμε πως θα τους φαινόταν να φτιάξουν σε ένα από τα επόμενα μαθήματα το δικό τους παιχνίδι. Για να αποδείξουμε τους ισχυρισμούς μας δείχνουμε ένα μικρό βίντεο http://goo.gl/y7y1a9 στο οποίο εμφανίζεται ένας έφηβος ο οποίος έχει δημιουργήσει δίκες του εφαρμογές και παιχνίδια προγραμματίζοντας σε παρόμοια περιβάλλοντα. Στην συνέχεια παρουσιάζουμε τα βασικά χαρακτηριστικά και το περιβάλλον εργασίας του Greenfoot. Στην δεύτερη διδακτική ώρα αναφέρουμε παραδείγματα από την καθημερινή ζωή προκείμενου να αποσαφηνίσουμε την έννοια της κλάσης (π.χ υπάρχουν χιλιάδες βατράχια στον κόσμο, τα οποία μοι ράζονται μερικά κοινά χαρακτηριστικά: δύο μάτια, τέσσερα πόδια, λεπτό δέρμα και την ικανότητα να βγάζουν ένα συγκεκριμένο ήχο). Έπειτα με ένα άλλο παράδειγμα προσπαθούμε να αποσαφηνίσουμε την έννοια του αντικειμένου. Για παράδειγμα η τουλίπα αποτελεί μια κλάση, με κοινά χαρακτηριστικά όπως το σχήμα του πέταλου, το χρώμα και το μέγεθος. Μια μοναδική τουλίπα που φυτρώνει στο έδαφος, η είναι σε ένα βάζο είναι ένα αντικείμενο της κλάσης τουλίπας. Έχει όλα τα χαρακτηριστικά της κλάσης τουλίπας αλλά είναι ένα μοναδικό αντικείμενο που μπορεί να μεταχειριστεί και να αλλάξει. Έπειτα οι μαθητές αφού συζητήσουν με το εκπαιδευτικό τυχόν απορίες παρακολουθούν δυο σύντομα βίντεο τα οποία περιγράφουν το πώς δημιουργούμε κλάσεις και το πώς εισάγουμε αντικείμενα μέσα σε ένα σενάριο του Greenfoot. Την επόμενη ώρα αναφέρουμε παραδείγματα στου μαθητές προκειμένου να κατανοήσουν την έννοια της μεθόδου (method). Στη συνέχεια εξηγείται το πώς συντάσσονται οι μέθοδοι βλέποντας το βίντεο 1 το οποίο αναλύει τις μεθόδους τύπου void και το βίντεο 2 το οποίο εξηγεί τις μεθόδους τύπου int. Τέλος, αναφέρεται στο πως χρησιμοποιούνται οι παράμετροι σε μια μέθοδο. Την τελευταία διδακτική ώρα υπενθυμίζουμε στους μαθητές ότι δεν έχουμε μιλήσει για τον πηγαίο κώδικα που καθορίζει την συμπεριφορά μιας κλάσης. Εξηγούμε πως λειτουργεί ο κειμενογράφος (Editor) του Greenfoot. Ο κώδικας δείχνει κάπως περίπλοκος αλλά στο σημείο αυτό οι μαθητές είναι σημαντικό να καταλάβουν ότι μπορούμε να αλλάξουμε την συμπεριφορά των αντικειμένων αλλάζοντας τον πηγαίο κώδικα μιας κλάσης 6. Επιστημολογική προσέγγιση και εννοιολογική ανάλυση θέματα θεωρίας του εκπαιδευτικού σεναρίου Η διδασκαλία του αντικειμενοστρεφούς προγραμματισμού συνοδεύεται από ποικίλες δυσκολίες και παρανοήσεις και για αρκετά χρόνια θεωρούνταν ιδιαίτερα δύσκολη. Ωστόσο, αρκετά εκπαιδευτικά εργαλεία και περιβάλλοντα δημιουργήθηκαν, ενώ πληθώρα μελετών διεξήχθησαν που ανέδειξαν τις σημαντικότερες δυσκολίες και παρανοήσεις. Η αξιοποίηση των διαθέσιμων εργαλείων σε συνδυασμό με τη συσσωρευμένη εμπειρία μπορεί να συντελέσει σε μια πιο επιτυχημένη διδασκαλία και εκμάθηση του αντικειμενοστρεφούς προγραμματισμού (Ξυνόγαλος, 2008). Στο παρόν διδακτικό σενάριο επιλέξαμε για την διδασκαλία του αντικειμενοστραφούς προγραμματισμού το προγραμματιστικό περιβάλλον του Greenfoot. Το Greenfoot είναι ένα Ολοκληρωμένο Περιβάλλον Ανάπτυξης Εφαρμογών (IDE) που έχει ως σκοπό τη διδασκαλία του αντικειμενοστραφούς προγραμματισμού με τη γλώσσα java. Είναι αρκετά ευέλικτο και απευθύνεται τόσο σε μαθητές δευτεροβάθμιας εκπαίδευσης (κυρίως μαθητές λυκείου) όσο και σε μεγαλύτερους μαθητές. Το περιβάλλον είναι ειδικά σχεδιασμένο για να μεταφέρει τις έννοιες και αρχές του αντικειμενοστραφούς προγραμματισμού με ένα καθαρό και εύκολο τρόπο. Με το Greenfoot μπορεί να δημιουργηθεί ένας κόσμος μέσα στον οποίο αλληλεπιδρούν μορφές (actors) με τις οποίες μπορούν να προγραμματιστούν παιχνίδια, προσομοιώσεις και άλλα προγράμματα με γραφικά και η ανατροφοδότηση είναι άμεση. Το περιβάλλον έχει σχεδιαστεί με τέτοιο τρόπο ώστε οι μαθητές να συμμετέχουν ενεργά χωρίς να έχουν καμία προηγούμενη εμπειρία ή ενδιαφέρον στον προγραμματισμό. 7. Χρήση Η.Υ. και γενικά ψηφιακών μέσων για το εκπαιδευτικό σενάριο Οι ΤΠΕ εγείρουν το ενδιαφέρον των μαθητών και δίνουν αφ' ενός την ευκαιρία άσκησης της κρίσης και της δημιουργικότητας τους και αφ' ετέρου την ευκαιρία στο δάσκαλο να παρακινήσει τους μαθητές σε μια αμφίδρομη σχέση αλληλεπίδρασης μαθητή - λογισμικού. Για την διδασκαλία του σεναρίου απαιτούνται: Εργαστήριο πληροφορικής, στο οποίο θα πρέπει να έχει εγκατασταθεί το λογισμικό Greenfoot και να υπάρχει πρόσβαση στο διαδίκτυο. Βιντεοπροβολέας, ώστε να μπορεί ο εκπαιδευτικός να προβάλλει το περιβάλλον του προγράμματος, τις ενέργειες που εκτελεί κάθε φορά και να θέτει ερωτήματα στους μαθητές. Τα διδακτικά οφέλη (ή «προστιθέμενη αξία») από τη χρήση του ψηφιακού μέσου μπορεί να αποδειχθούν πολύ σημαντικά, ιδιαίτερα στις περιπτώσεις στις οποίες τα αποτελέσματα είναι αναπάντεχα ή οι μαθητές δεν μπορούν πάντοτε να κατανοήσουν τον τρόπο λειτουργίας του Η.Υ κατά την εκτέλεση ενός προγράμματος. 8. Αναπαραστάσεις των μαθητών/πρόβλεψη δυσκολιών στο εκπαιδευτικό σενάριο Οι μαθητές ενδέχεται να αντιμετωπίσουν την διδασκαλία σαν κάποιο κλασσικό μάθημα προγραμματισμού πράγμα που πιθανόν να τους αποθαρρύνει να συμμετέχουν ενεργά. Επίσης είναι πιθανό να δυσκολευτούν να διαχωρίσουν τις έννοιες κλάση και αντικείμενο οι οποίες είναι θεμελιώδεις έννοιες του αντικειμενοστραφούς προγραμματισμού. 9. Διδακτικό συμβόλαιο
5 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές Το διδακτικό συμβόλαιο περιλαμβάνει τις προσδοκίες του εκπαιδευτικού και των μαθητών από την διδακτική διαδικασία. Ο καθηγητής αναμένει από το σύνολο των μαθητών του τη λήψη πρωτοβουλιών, το έντονο ενδιαφέρον, τον ενεργό και ουσιαστικό διάλογο, την δημιουργική συμμετοχή τους και τέλος την έντονη δραστηριοποίησή τους στα πλαίσια του σεναρίου. Οι μαθητές προσδοκούν από τον καθηγητή τους να δημιουργήσει ιδανικό και ευχάριστο κλίμα, να διακατέχεται από αντικειμενικότητα, δικαιοσύνη και αμεροληψία, να προσθέσει στη μέθοδο διδασκαλίας πρωτότυπες ιδέες και να μεταμορφώσει την βαρετή διδακτική ώρα σε ώρα δημιουργικότητας και απόλαυσης. Ο καθηγητής παίζει τον ρόλο του διακριτικού καθοδηγητή. Με έντεχνο τρόπο επιτρέπει στους μαθητές να ανακαλύψουν τους επιδιωκόμενους στόχους και σκοπούς του μαθήματος. Παρατηρεί τους μαθητές από απόσταση και επεμβαίνει μόνον αν του ζητηθεί βοήθεια. 10. Υποκείμενη θεωρία μάθησης Στο παρόν σενάριο αναμένεται να υπάρξει ζωηρή συμμετοχή των μαθητών σε όλες τις δραστηριότητες. Επιπλέον, είναι ενδεχόμενο, πολύ γρήγορα οι μαθητές να θελήσουν να δοκιμάσουν τροποποιήσεις του περιβάλλοντος και των αρχικών σεναρίων-παιχνιδιών, επιθυμώντας να τροποποιήσουν τα χαρακτηριστικά του σύμφωνα με τι επιθυμίες τους. Θα πραγματοποιηθεί πειραματισμός με τα στοιχεία του προγραμματιστικού περιβάλλοντος με ενεργητική συμμετοχή. Βασική ιδέα του σεναρίου είναι η εκμάθηση των βασικών εννοιών του αντικειμενοστραφούς προγραμματισμού μέσα από έτοιμα παιχνίδια τα όποια διαθέτουν ήδη τον βασικό κώδικα. Έπειτα οι μαθητές μπορούν να προσθέσουν και να αλλάξουν ότι επιθυμούν. Με τον τρόπο αυτό όταν κάνουν ένα λάθος μαθαίνουν την σωστή σύνταξη του κώδικα. Εφόσον ο κώδικας υπάρχει έτοιμος μπορούν να τον διαβάσουν και να καταλάβουν τι κάνει, έπειτα μπορούν να τον αντιγράψουν να τον αλλάξουν και να τον κάνουν πιο λειτουργικό. Το σενάριο είναι θεμελιωμένο στην θεωρία μάθησης του εποικοδομητισμού διότι ο μαθητής χτίζει την γνώση το ανιχνεύοντας, διερευνώντας και αλληλεπιδρώντας οπτικά με τις βασικές εντολές της γλώσσας προγραμματισμού του Greenfoot πειραματιζόμενος με απλά προγράμματα και παιχνίδια. Όπως χαρακτηριστικά αναφἐρουν οι Kafai & Resnick (1996), "O Κουνστροκτιβισμός προτείνει ότι οι μαθητευόμενοι κατασκευάζουν νέες ιδέες όταν ενεργά ασχολούνται με τη δημιουργία εξωτερικής κατασκευής -μπορεί ένα ρομπότ, ένα ποίημα, ένα κάστρο στην άμμο, ένα πρόγραμμα στον υπολογιστή- πάνω στις οποίες αναστοχάζονται και μοιράζονται με άλλους. Η γνώση ανακαλύπτεται σταδιακά από τα παιδιά (Ανακαλυπτική Μάθηση, Bruner 1966) και μέσω της ενεργητικής της διάστασης γίνεται κτήμα τους (Ενεργητική Μάθηση, Vygotsky, 1978). Ο εκπαιδευτικός παίζει το ρόλο του καθοδηγητή (καθοδ ηγούμενη ανακάλυψη). Οι μαθητές, ανά δυάδες (ομαδοσυνεργατική μάθηση), καλούνται να επιλύσουν προβλήματα. ανιχνεύ οντας, διερευνώντας και αλληλεπιδρώντας οπτικά με τα σενάρια παιχνίδια που υπάρχουν στο Greenfoot 11. Οργάνωση της τάξης εφικτότητα σχεδίασης Το σενάριο έχει σχεδιαστεί έτσι ώστε να μπορεί να πραγματοποιηθεί στο σχολικό εργαστήριο πληροφορικής. Οι μαθητές αρχικά χωρίζονται σε ομάδες των 2 ατόμων και εργάζονται ομαδοσυνεργατικά χρησιμοποιώντας ένα υπολογιστικό σύστημα η κάθε ομάδα. Απαραίτητη προϋπόθεση πραγματοποίησης του σεναρίου είναι σε κάθε υπολογιστή να είναι εγκατεστημένο το λογισμικό Greenfoot και να υπάρχει σύνδεση στο διαδίκτυο. Ο προβλεπόμενος χρόνος κρίνεται ότι θα είναι επαρκής, καθώς δεν αναμένεται σημαντικός διδακτικός θόρυβος. Για να μπορέσει ο εκπαιδευτικός να μην παρεκκλίνει από την αρχικά σχεδιασμένη διάρκεια του σεναρίου θα πρέπει να αξιοποιήσει με ισορροπία και οικονομία τα μέσα και τα εργαλεία μάθησης, να ενισχύσει την κατευθυνόμενη ανακάλυψη και την ενεργό συμμετοχή των μαθητών στη μαθησιακή διαδικασία, να προωθήσει τις συνεργατικές δραστηριότητες, να επιμείνει στο διερευνητικό χαρακτήρα της μάθησης και να διαθέτει ευελιξία και εναλλακτικές πρακτικές. Βέβαια πάντοτε μπορεί να υπάρξουν απρόβλεπτοι παράγοντες, οι οποίοι μερικές φορές, είναι ικανοί να επεκτείνουν τον χρόνο εφαρμογής του σεναρίου. Στις περιπτώσεις αυτές, ο εκπαιδευτικός θα πρέπει να διαθέτει την απαραίτητη ευελιξία ώστε να τροποποιήσει τον αρχικό σχεδιασμό του σεναρίου για να είναι μέσα στα χρονικά περιθώρια που έχει θέσει. 12. Αξιολόγηση Ένας τρόπος αξιολόγησης των μαθητών είναι οι ερωτήσεις που τους γίνονται κατά τη διάρκεια του μαθήματος (διαμορφωτική αξιολόγηση), ώστε να διαπιστωθεί η κατανόηση των εννοιών της διδακτικής διαδικασίας. Επιπλέον κρίνονται και από τον βαθμό ολοκλήρωσης της δραστηριότητας που θα τους δοθεί χρησιμοποιώντας το προγραμματιστικό περιβάλλον του Greenfoot. Τέλος, τους δίνεται σε ηλεκτρονική μορφή ένα φύλλο αξιολόγησης σχεδιασμένο στην εφαρμογή Google forms. Οι ερωτήσεις του φύλλου αξιολόγησης βρίσκονται στους παρακάτω συνδέσμους: Αξιολόγηση1, Αξιολόγηση2, Αξιολόγηση3, Αξιολόγηση4. 13. Το επιμορφωτικό σενάριο 1 η Διδακτική ώρα 15 λεπτά Πριν γίνει κάποια αναφορά στο εκπαιδευτικό περιβάλλον ο εκπαιδευτικός σχολιάζει ότι οι περισσότεροι μαθητές σήμερα παίζουν παιχνίδια είτε στον κινητό τους είτε στον υπολογιστή. Έπειτα για να τους κερδίσει περισσότερο το ενδιαφέρον τους αναφέρει πως θα τους φαινόταν να φτιάξουν σε ένα από τα επόμενα μαθήματα το δικό τους παιχνίδι. Για να αποδείξει τους ισχυρισμούς του δείχνε ένα μικρό βίντεο http://goo.gl/y7y1a9 στο οποίο εμφανίζεται ένας έφηβος ο οποίος έχει δημιουργήσει δίκες του εφαρμογές και παιχνίδια προγραμματίζοντας σε παρόμοια περιβάλλοντα.
6 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές 30 λεπτά Στην συνέχεια ο εκπαιδευτικός γνωρίζει στους μαθητές τα βασικά χαρακτηριστικά και το περιβάλλον εργασίας του Greenfoot. Η εφαρμογή είναι ήδη εγκατεστημένη στους υπολογιστές του εργαστηρίου, οπότε ο εκπαιδευτικός επιδεικνύει στους μαθητές το πώς να την ανοίξουν. (Εικόνα 1) Εικόνα 1 Στην εικόνα 1 βλέπουμε το κεντρικό παράθυρο του Greenfoot με το ανοιχτό σενάριο. Το βασικό παράθυρο αποτελείται από τρείς βασικές περιοχές και μερικά επιπλέον κουμπιά. H μεγάλη περιοχή που καλύπτει σχεδόν όλη την οθόνη του προγράμματος ονομάζεται κόσμος (world). Εκεί εκτελείται το πρόγραμμα και βλέπουμε τι συμβαίνει. Η περιοχή δεξιά με τα μπεζ τετράγωνα και τα βελάκια ονομάζεται διάγραμμα κλάσεων. (class diagram). Τα κουμπιά Act, Run και Reset και ο δείκτης ταχύτητας στο κάτω μέρος ονομάζονται κουμπιά εκτέλεσης Το διάγραμμα κλάσεων μας δείχνει ποιες κλάσεις περιέχονται στο σενάριο. Στην περίπτωση μας αυτές είναι οι: World CrabWorld Actor Animal Crab Στους μαθητές δίνεται το φύλλο εργασίας 1 το οποίο αποσκοπεί στην εξοικείωση τους με το περιβάλλον του Greenfoot. 2 η Διδακτική ώρα Στη 2 η διδακτική ώρα γίνεται χρήση της γλώσσας java. Η java είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού. Οι κλάσεις (classes) και τα αντικείμενα (objects or instances) είναι θεμελιώδης έννοιες στον αντικειμενοστραφή προγραμματισμό. Ο εκπαιδευτικός αναφέρει παραδείγματα από την καθημερινή ζωή προκείμενου να αποσαφηνίσει την έννοια της κλάσης (π.χ υπάρχουν χιλιάδες βατράχια στον κόσμο, τα οποία μοιράζονται μερικά κοινά χαρακτηριστικά: δύο μάτια, τέσσερα πόδια, λεπτό δέρμα και την ικανότητα να βγάζουν ένα συγκεκριμένο ήχο). Στον προγραμματισμό η κλάση μας δίνει γενικές πληροφορίες σχετικά με το πώς ένα αντικείμενο μοιάζει, κινείται και τι μπορεί να κάνει. Εφόσον έχουμε μια κλάση στο Greenfoot μπορούμε να δημιουργήσουμε όσα αντικείμενα επιθυμούμε τα οποία συμμετέχουν στο σενάριο. Τα αντικείμενα συμπεριφέρονται σύμφωνα με τον πηγαίο κώδικα κάθε κλάσης. Τέλος ο εκπαιδευτικός αναφέρει άλλο ένα παράδειγμα από την καθημερινή ζωή ώστε να αποσαφηνίσει την έννοια του αντικειμένου. (π.χ Η τουλίπα αποτελεί μια κλάση, με κοινά χαρακτηριστικά όπως το σχήμα του πέταλου, το χρώμα και το μέγεθος. Μια μοναδική τουλίπα που φυτρώνει στο έδαφος ή είναι σε ένα βάζο, είναι ένα αντικείμενο της κλάσης τουλίπας. Έχει όλα τα χαρακτηριστικά της κλάσης τουλίπας αλλά είναι ένα μοναδικό αντικείμενο που μπορεί να μεταχειριστεί και να αλλάξει.)
7 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές Έπειτα οι μαθητές αφού συζητήσουν με το εκπαιδευτικό τυχόν απορίες παρακολουθούν δυο σύντομα βίντεο. Το πρώτο περιγράφει το πώς δημιουργούμε κλάσεις, ενώ το δεύτερο αναλύει το πώς εισάγουμε αντικείμενα μέσα σε ένα σενάριο. Στη συνέχεια τους δίνεται το φύλλο εργασίας 2 3 η Διδακτική ώρα Ο εκπαιδευτικός δίνει παραδείγματα στου μαθητές προκειμένου να κατανοήσουν την έννοια της μεθόδου (method). Για παράδειγμα για να κάνουμε μια εργασία στα μαθηματικά που μας δίνεται στο σχολείο κάνουμε διάφορες υπο-εργασίες όπως: Ο μαθητής κάνει την εργασία Ο μαθητής επιστρέφει την εργασία στον καθηγητή Ο καθηγητής την βαθμολογεί Ως άνθρωποι είμαστε προγραμματισμένοι να γνωρίζουμε πώς να εκτελούμε αυτές τις εργασίες. Στον προγραμματισμό κάθε αντικείμενο έχει ένα σύνολο από εντολές που μπορεί να εκτελέσει βασισμένο στην κλάση του. Ο προγραμματιστής χρειάζεται να γράψει ένα πρόγραμμα που να λέει στο αντικείμενο πως και πότε να εκτελέσει αυτές τις εργασίες όπως: Να δώσει εντολή σε ένα αντικείμενο να κάνει κάτι Να κάνει μια ερώτηση σε ένα αντικείμενο ώστε να μάθει περισσότερα για το τι κάνει. Συνεπώς οι μέθοδοι είναι ένα σύνολο από λειτουργίες ή εργασίες που τα αντικείμενα μιας κλάσης εκτελούν. Όταν καλείται μια μέθοδος (εικόνα 2) θα εκτελέσει την λειτουργία ή την εργασία που περιγράφεται στον πηγαίο κώδικα. Εικόνα 2 Στη συνέχεια ο εκπαιδευτικός εξηγεί το πώς συντάσσονται οι μέθοδοι βλέποντας το βίντεο 1 το οποίο αναλύει τις μεθόδους τύπου void και το βίντεο 2 το οποίο εξηγεί τις μεθόδους τύπου int. Τέλος, αναφέρεται στο πως χρησιμοποιούνται οι παράμετροι σε μια μέθοδο. Αν η παρένθεση σε μια μέθοδο δεν περιέχει τίποτα, τότε δεν δέχεται παραμέτρους. Αν υπάρχει κάτι στις παρενθέσεις αυτό σημαίνει ότι η μέθοδος αναμένει μια ή περισσότερες παραμέτρους δηλαδή επιπρόσθετες πληροφορίες που θα θέλαμε να δώσουμε. Για παράδειγμα στην μέθοδο void setdirection(int direction). Το int δηλώνει τον τύπο της παραμέτρου και το direction (κατεύθυνση του αντικειμένου) για ποιο λόγο χρησιμοποιείται αυτή η παράμετρος. Στη συνέχεια τους δίνεται το φύλλο εργασίας 3 4 η Διδακτική ώρα Ο εκπαιδευτικός κάνει μια μικρή ανακεφαλαίωση των όσων έχουν διδαχθεί μέχρι εκείνη την στιγμή. Τους θυμίζει ότι μέχρι τώρα δεν έχουν μιλήσει για τον πηγαίο κώδικα που καθορίζει την συμπεριφορά μιας κλάσης. Ο κώδικας γράφεται με στόχο να πει στην κλάση πως τα αντικείμενα θα ενεργούν μέσα στο σενάριο. Για να δούμε τον κώδικα αρκεί να πατήσουμε δεξί κλικ σε μια κλάση και να επιλέξουμε open editor.(εικόνα 3) Εικόνα 3 Ο κώδικας είναι γραμμένος σε γλώσσα java.(εικόνα 4). Εκεί προγραμματίζονται οι εντολές και οδηγίες για κάθε αντικείμενο.
8 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές Εικόνα 4 Ο κώδικας δείχνει κάπως περίπλοκος αλλά στο σημείο αυτό οι μαθητές είναι σημαντικό να καταλάβουν ότι μπορούμε να αλλάξουμε την συμπεριφορά των αντικειμένων αλλάζοντας τον πηγαίο κώδικα μιας κλάσης. Στη συνέχεια τους δίνεται το φύλλο εργασίας 4. 14. Προτάσεις για περαιτέρω δραστηριότητες προτεινόμενες εργασίες Μετά την ολοκλήρωση του παρόντος σεναρίου οι μαθητές θα είναι προετοιμασμένοι να εργαστούν σε επόμενα σενάρια τα οποία θα περιλαμβάνουν σύνθετες αλγοριθμικές δομές προκειμένου να είναι ικανοί στο τέλος να δημιουργούν από μόνοι τους παιχνίδια και ενδιαφέροντα σενάρια στο Greenfoot. 15. Χρήση εξωτερικών πηγών Kοlling Μ. (2010), Introduction to Programming with Greenfoot, Object-Oriented Programming in Java with Games and Simulations, Prentice Hall. Σωτηρούδας Β., Γαρίτσης Ι. & Κούνδουρος Μ. (2014), Διδασκαλία αντικειμενοστραφούς προγραμματισμού στην πρωτοβάθμια εκπαίδευση. Η περίπτωση του προγραμματιστικού περιβάλλοντος Alice, 8ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής Σ. Ξυνόγαλος (2012), Διδακτική Προσέγγιση για τον Αντικειμενοστρεφή Προγραμματισμό: εφαρμογή στο BlueJ, 6ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» Γεωργανοπούλου Μ.& Αναργυρίδου Δ.(2014), Εισαγωγή στις βασικές έννοιες του αντικειμενοστραφους προγραμματισμού με την βοήθεια του ObjectKarel, 3 ο Πανελλήνιο εκπαιδευτικό συνέδριο Ημαθίας. http://www.greenfoot.org http://teachmeprogramming.com/ 16. Φύλλα Εργασίας ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 1 1. Ανοίξτε το Greenfoot και από το μενού scenario ανοίξτε το σενάριο leaves-and-wombats που βρίσκεται στον φάκελο Σενάρια Greenfoot 2. Κάντε δεξί κλικ στην κλάση wombat. Έπειτα επιλέξτε new wombat (Εικόνα 1). Με το ποντίκι τοποθετήστε το wombat στο σενάριο. 3. Έπειτα επιλέξτε την κλάση leaf (φύλλο). Κρατώντας το πλήκτρο shift πατημένο, τοποθετήστε μερικά φύλλα (αντικείμενα) στο σενάριό σας. (Εικόνα 2)
9 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές Εικόνα 1 Εικόνα 2 4. Τώρα που ανοίξαμε το σενάριο πειραματιστείτε με τα κουμπιά εκτέλεσης. 5. Πατήστε το πλήκτρο Act. Όπως θα δείτε το wombat μετακινείτε ένα βήμα μπροστά κάθε φορά που το πατάμε. 6. Πατήστε το κουμπί Run. Τι συμβαίνει τώρα; 7. Ελαττώστε την ταχύτητα με την οποία κινείται το wombat. 8. Πατήστε παύση. 9. Επανεκκίνηστε το σενάριο. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 2 1. Ανοίξτε το σενάριο στο οποίο εργαστήκατε στο φύλλο εργασίας 1 2. Δημιουργήστε μια υποκλάση της κλάσης Actor με όνομα Lizard (σαύρα). Επιλέξτε την εικόνα Lizard.png από τον φάκελο images. Εικόνα 1 3. Θα παρατηρήσατε ότι η κλάση εισάγετε αλλά αποτελείται από ρίγες. Αυτό υποδεικνύει ότι χρειάζεται να γίνει μεταγλώττιση (compile) του προγράμματος. 4. Μεταγλωττίστε την υποκλάση.
10 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές 5. Κάνοντας δεξί κλικ στην κλάση Lizard εμφανίζεται ένα μενού (εικόνα 2). Η πρώτη επιλογή στο μενού είναι new Lizard. Θα δούμε ότι μας εμφανίζει μια μικρή φωτογραφία του αντικείμενου Lizard, το οποίο μπορούμε να το μετακινήσουμε στην οθόνη με το ποντίκι. (εικόνα 3). Τοποθετείστε την σαύρα μέσα κάνοντας κλικ οπουδήποτε μέσα στον κόσμο. Εφόσον έχουμε μια κλάση στον greenfoot μπορούμε να δημιουργήσουμε όσα αντικείμενα επιθυμούμε. Εικόνα 2 Εικόνα 3 ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 3 1. Ανοίξτε το σενάριο στο οποίο εργαστήκατε στο φύλλο εργασίας 2 2. Εφόσον έχουμε τοποθετήσει μερικά αντικείμενα στον κόσμο, μπορούμε να αλληλοεπιδράσουμε με αυτά. Κάνοντας δεξί κλικ πάνω στο αντικείμενο wombat θα εμφανιστεί το μενού του αντικείμενου (εικόνα 1) το οποίο μας δείχνει ποιες ενέργειες μπορεί να εκτελέσει. 3. Καλέστε την μέθοδο canmove() στο αντικείμενο Wombat. Επιστρέφει πάντα την τιμή True ή υπάρχουν περιπτώσεις που επιστρέφει την τιμή False; Εικόνα 1 4. Καλέστε την μέθοδο move() στο αντικέιμενο wombat. Τι κάνει; Δοκιμάστε μερικές φορές. 5. Καλέστε την μέθοδο turnleft(). Τοποθετήστε δυο wombat μέσα στον κόσμο και τοποθετήστε το ένα απέναντι στο άλλο. 6. Δημιουργώντας ένα νέο αντικείμενο wombat, η μέθοδος getleaveseaten πάντα θα επιστρέφει την τιμή 0. Μπορείτε να δημιουργήσετε μια κατάσταση στην οποία η επιστροφή της τιμής δεν θα είναι 0. (δηλαδή το wombat να φάει μερικά φύλλα) 7. Καλέστε την μέθοδο setdirection(int direction) δώστε μια τιμή στην παράμετρο και παρατηρήστε τι συμβαίνει. Ποιος αριθμός ανταποκρίνεται σε κάθε κατεύθυνση.
11 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές Εικόνα 1 8. Τι συμβαίνει όταν πληκτρολογείτε ένα αριθμό μεγαλύτερο του 3. Τι συμβαίνει αν πληκτρολογείτε μια λέξη η έναν δεκαδικό αριθμό; 9. Τοποθετήστε ένα wombat και έναν κάποια φύλλα μέσα στον κόσμο. Έπειτα καλέστε την μέθοδο act() σε ένα wombat μερικές φορές. Τι κάνει αυτή η μέθοδος; Πως διαφέρει από την μέθοδο move. (δοκιμάστε διάφορες καταστάσεις για παράδειγμα, το wombat να στέκεται πάνω σε ένα φύλλο η στην άκρη του κόσμου. 10. Ποια είναι η διαφορά μεταξύ του να πατήσεις το κουμπί act και να καλέσεις την μέθοδο act(); 11. Αποθηκεύστε το σενάριο Δραστηριότητα 1 ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 1. Ανοίξτε το Greenfoot και από το μενού scenario ανοίξτε το σενάριο asteroids1, που βρίσκεται στον φάκελο Σενάρια Greenfoot. Εικόνα 1 2. Τοποθετήστε ένα πύραυλο ( rocket) και δύο αστεροειδή(asteroid) μέσα στο διάστημα ( space). (θυ μηθείτε ότι μπορείτε να δημιουργήσετε αντικείμενα με δεξί κλικ πάνω στην κλάση) 3. Πατήστε το κουμπί Run. Μπορείτε να ελέγχετε το διαστημόπλοιο με τα βελάκια στο πληκτρολόγιο σας και να ρίχνετε μια βολή χρησιμοποιώντας το πλήκτρο space. 4. Προσπαθήστε να καταστρέψετε τους αστεροειδής χωρίς να πέσετε πάνω τους. Όπως παρατηρείτε δεν μπορείτε να πυροβολήσετε πολύ γρήγορα. 5. Τοποθετήστε ένα διαστημόπλοιο μέσα στον διάστημα, έπειτα καλέστε την μέθοδο setgunreloadtime και βάτε την τιμή 5 στον χρόνο επαναφόρτισης. Παίξτε ξανά. Τι παρατηρείτε;
12 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Καινοτόμες Παιδαγωγικές Πρακτικές Εικόνα 2 6. Αφού καταστρέψετε όλους τους αστροειδής ανακαλύψτε πόσες βολές έχετε ρίξει. Μπορείτε να το βρείτε χρησιμοποιώντας μια μέθοδο από το μενού του αντικειμένου διαστημόπλοιο. 7. Ποια είναι η αρχική ταχύτητα του διαστημόπλοιου. 8. Οι αστεροειδής έχουν μια έμφυτη σταθερότητα. Κάθε φορά που θα χτυπηθούν από μια σφαίρα η σταθερότητα μειώνεται. Ποια είναι η αρχική τιμή σταθερότητας; Πόσο μειώνεται με κάθε χτύπημα σφαίρας; 9. Χτυπήστε έναν αστεροειδή και έπειτα ελέγξτε την ταχύτητα. 10. Δημιουργήστε ένα πολύ μεγάλο αστεροειδή Δραστηριότητα 2 11. Είδαμε και παραπάνω ότι η προεπιλεγμένη ταχύτητα που πυροβολεί το διαστημόπλοιο ήταν μικρή. Θα μπορούσαμε να αλλάζουμε σε κάθε διαστημόπλοιο την ταχύτητα χωριστά καλώντας μια μέθοδο για κάθε ένα από αυτά. 12. Αντίθετα μπορούμε να αλλάζουμε τον κώδικα της κλάσης rocket (διαστημόπλοιο) ώστε όλα τα διαστημόπλοια να εκτελούν τις βολές με μεγαλύτερη ταχύτητα 13. Μεταφερθείτε στον κώδικα της κλάσης rocket και αλλάξτε την αρχική τιμή επαναφόρτισης από 20 σε 5.( Εικόνα 1).Βεβαιωθείτε ότι δεν αλλάξατε τίποτα άλλο. Τα προγραμματιστικά συστήματα είναι αρκετά ευαίσθητα. Ένα μικρό λάθος η ένα κόμμα που λείπει μπορεί να μας οδηγήσει σε λάθος. Εικόνα 3 14. Κλειστέ τον παράθυρο του κώδικα. Θα παρατηρήσετε ότι κάποιες κλάσεις εμφανίζονται με ρίγες πράγμα που σημαίνει ότι έχουν υποστεί επεξεργασία και πρέπει να μεταγλωττιστούν (compile). Αυτό σημαίνει ότι ο πηγαίος κώδικας κάθε κλάσης μεταφράζεται σε κώδικα μηχανής που ο υπολογιστής μπορεί να εκτελέσει. 15. Μεταγλωττίστε το πρόγραμμα. Οι ρίγες φεύγουν και τώρα είμαστε σε θέση να δημιουργήσουμε αντικείμενα ξανά 16. Δοκιμάστε να παίξετε το παιχνίδι ξανά. Παρατηρήστε την ταχύτητα των βολών που εκτελεί του διαστημόπλοιο. Φύλλο Αξιολόγησης 1. Απαντήστε στις παρακάτω ερωτήσεις που σας δίνονται σε ηλεκτρονική μορφή: Φύλλο Αξιολόγησης 1 Φύλλο Αξιολόγησης 2 Φύλλο Αξιολόγησης 3 Φύλλο Αξιολόγησης 4