Κατερίνα Χατζηφωτεινού Αλγοριθμικά παιχνίδια & Kodu
Αλγοριθμικά παιχνίδια Η μαγική σφαίρα http://users.uom.gr/~p2/sde/divers/psychic.swf
Η μαγική σφαίρα http://users.uom.gr/~p2/sde/divers/psychic.swf Λύση: έστω ότι ο διψήφιος αριθμός είναι ο ab (δηλαδή η τιμή του είναι 10a+b). Αλγόριθμος: 10a+b-(a+b)=9a Άρα ο αριθμός που προκύπτει είναι πάντοτε πολλαπλάσιο του 9!!
Αλγοριθμικά παιχνίδια Nim game http://www.archimedeslab.org/game_nim/play_nim_game.html
Αλγοριθμικά παιχνίδια Nim game http://www.archimedeslab.org/game_nim/play_nim_game.html Η λύση http://www.archimedeslab.org/how_to_solve/win_at_nim.html
Εισαγωγή στον Προγραμματισμό με το
Το Kodu είναι ένα δωρεάν εργαλείο προγραμματισμού της Microsoft το οποίο απευθύνεται σε μαθητές και χρησιμοποιείται για τη δημιουργία 3D εικονικών κόσμων.
Χαρακτηριστικά του Προγραμματισμού με το Kodu Αντικειμενοστρεφής, Γεγονοδηγούμενος (Event-driven), Οπτικός προγραμματισμός Φιλοσοφία Game Based Learning Προσφέρει έτοιμα γραφικά και πλήρες toolkit για τη διακόσμηση του κάθε παιχνιδιού.
Εξοικείωση με τον τρόπο προγραμματισμού Μέσα από τη δημιουργία των παιχνιδιών στο kodu οι μαθητές μπορούν να μάθουν εύκολα και διασκεδαστικά διαφορετικές πτυχές του προγραμματισμού Κατάλληλο για τις τάξεις: Ε Δημοτικού Γ Γυμνασίου
Σενάριο Αρχικά πάντα θέτουμε το σενάριο του παιχνιδιού που πρέπει να δημιουργήσουμε. Έστω ότι έχουμε έναν ήρωα πάνω σ ένα γρασίδι. Ο ήρωας θέλει να φάει 3 μήλα που βρίσκονται διασκορπισμένα στο γρασίδι. Σε κάποιο σημείο υπάρχει ένα κανόνι το οποίο θέλει να σταματήσει τον ήρωα από το να φάει τα μήλα. Ο ήρωας πρέπει να προσπαθήσει να φάει τα μήλα χωρίς να τον πιάσει το κανόνι.
Ανάλυση παιχνιδιού (1/2) Ερωτήσεις κατά την ανάλυση Ποιος είναι ο κόσμος; Ο κόσμος δεν είναι αντικείμενο γιατί δεν αλλάζει συμπεριφορά κατά το παιχνίδι, άρα: Το γρασίδι Ποια είναι τα αντικείμενα; Τα αντικείμενα θα έχουν συμπεριφορές, καθώς θα πρέπει να αντιδρούν σε γεγονότα μέσα στο παιχνίδι, άρα: Ο ήρωας (π.χ. ρομπότ) Το κανόνι Το μήλο
Ανάλυση παιχνιδιού (2/2) Ποιες είναι οι συμπεριφορές ανά αντικείμενο; Ρομπότ ΟΤΑΝ το ρομπότ αισθανθεί ότι στο πληκτρολόγιο πατιέται ένα βέλος (ΓΕΓΟΝΟΣ), ΤΟΤΕ κινείται στην αντίστοιχη κατεύθυνση πάνω στην πίστα (ΕΝΕΡΓΕΙΑ) ΟΤΑΝ το ρομπότ ακουμπήσει ένα μήλο (ΓΕΓΟΝΟΣ), ΤΟΤΕ τρώει το μήλο (ΕΝΕΡΓΕΙΑ) ΟΤΑΝ το ρομπότ δεν βλέπει κανένα μήλο (ΓΕΓΟΝΟΣ), ΤΟΤΕ τερματίζει το παιχνίδι με νίκη για τον παίκτη (ΕΝΕΡΓΕΙΑ) Κανόνι ΟΤΑΝ το κανόνι βλέπει το ρομπότ (ΓΕΓΟΝΟΣ), ΤΟΤΕ το κυνηγάει (ΕΝΕΡΓΕΙΑ) Μήλο ΟΤΑΝ το μήλο ακουμπήσει με το ρομπότ (ΓΕΓΟΝΟΣ), ΤΟΤΕ εξαφανίζεται (ΕΝΕΡΓΕΙΑ)
Κατασκευή κόσμου Πηγαίνουμε στο Main Menu Load World Επιλέγουμε New empty world αφού θέλουμε να δημιουργήσουμε δικό μας κόσμο
Δημιουργία εδάφους Για να προσθέσουμε έδαφος στον κενό κόσμο πατάμε Esc και εμφανίζεται η Παλέτα Εργαλείων (Tool Palette) βρίσκουμε τη Βούρτσα Εδάφους και την πατάμε (Ground Brush) επιλέγουμε το αριστερό από τα δύο εικονίδια που εμφανίζονται πάνω της (επιλογή αλλαγής του υλικού) Βρίσκουμε και επιλέγουμε το γρασίδι Προσθέτουμε έδαφος (Add Ground) αριστερό κλικ σε διάφορα τμήματα στον κενό κόσμο (μπορούμε να μεγαλώσουμε το μέγεθος της βούρτσας για καλύτερα αποτελέσματα)
Δημιουργία αντικειμένων (1/2) Πηγαίνουμε στην Παλέτα Εργαλείων (Tool Palette) και βρίσκουμε το Εργαλείο Αντικειμένων (Object Tool) Αφού το επιλέξουμε, κάνουμε αριστερό κλικ σε κάποιο σημείο της πίστας και εμφανίζεται το μενού με όλα τα αντικείμενα που μπορούμε να εισάγουμε
Δημιουργία αντικειμένων (2/2) Βρίσκουμε το ρομπότ μας και το τοποθετούμε στον κόσμο Με την ίδια διαδικασία τοποθετούμε και τα υπόλοιπα αντικείμενα
Ανάθεση συμπεριφορών Πατάμε Esc και από την Παλέτα Εργαλείων (Tool Palette) επιλέγουμε το Εργαλείο Αντικειμένων (Object Tool) δεξί κλικ πάνω στο αντικείμενο στο οποίο θέλουμε να αποδώσουμε συμπεριφορά Επιλογή ρομπότ Προγραμμάτισε (Program) Η εντολή έχει μορφή ΟΤΑΝ (ΓΕΓΟΝΟΣ) ΚΑΝΕ (ΕΝΕΡΓΕΙΑ)
Συμπεριφορές ρομπότ Συμπεριφορά 1 ΟΤΑΝ το ρομπότ αισθανθεί ότι στο πληκτρολόγιο πατιέται ένα βέλος (ΓΕΓΟΝΟΣ), ΤΟΤΕ κινείται στην αντίστοιχη κατεύθυνση πάνω στην πίστα (ΕΝΕΡΓΕΙΑ) Εντολή 1 ΟΤΑΝ (WHEN) πατηθούν στο πληκτρολόγιο (keyboard) τα Bέλη (Arrows), ΤΟΤΕ κινήσου αντίστοιχα (move)
Συμπεριφορές ρομπότ Συμπεριφορά 2 ΟΤΑΝ το ρομπότ ακουμπήσει ένα μήλο (ΓΕΓΟΝΟΣ), ΤΟΤΕ τρώει το μήλο (ΕΝΕΡΓΕΙΑ) Εντολή 2 ΟΤΑΝ (WHEN) χτυπήσεις σε (bump) μήλο (apple), ΤΟΤΕ φάε (eat) το (it)
Συμπεριφορές ρομπότ Συμπεριφορά 3 ΟΤΑΝ το ρομπότ δεν βλέπει κανένα μήλο (ΓΕΓΟΝΟΣ), ΤΟΤΕ να τερματίζει το παιχνίδι με νίκη για τον παίκτη (ΕΝΕΡΓΕΙΑ Εντολή 3 ΟΤΑΝ (WHEN) χτυπήσεις σε (bump) μήλο (apple), ΤΟΤΕ φάε (eat) το (it)
Συμπεριφορά κανονιού Συμπεριφορά 1 ΟΤΑΝ το κανόνι βλέπει το ρομπότ (ΓΕΓΟΝΟΣ), ΤΟΤΕ να τον κυνηγάει (ΕΝΕΡΓΕΙΑ) Εντολή 1 ΟΤΑΝ (WHEN) δεις (see) το ρομπότ (cycle), ΤΟΤΕ κινήσου (move) προς το μέρος του (toward)
Ερώτηση Πόσο χρήσιμο διδακτικά εκτιμάτε το περιβάλλον για το Δημοτικό; A B C D Ελάχιστα χρήσιμο Μέτρια χρήσιμο Αρκετά χρήσιμο Ιδιαίτερα χρήσιμο
Ερώτηση Πόσο χρήσιμο διδακτικά εκτιμάτε το περιβάλλον για το Γυμνάσιο; A B C D Ελάχιστα χρήσιμο Μέτρια χρήσιμο Αρκετά χρήσιμο Ιδιαίτερα χρήσιμο
Διδακτικό σενάριο χρήσης του Kodu για την εξοικείωση των μαθητών του Γυμνασίου με τον Προγραμματισμό ΔΙΑΡΚΕΙΑ: 3 διδακτικές ώρες. ΟΡΓΑΝΩΣΗ ΤΑΞΗΣ: Απαραίτητη η συνεργατική διδασκαλία σε ομάδες των δύο ατόμων.
Προαπαιτούμενες τεχνολογικές δεξιότητες Καλό είναι να έχει προηγηθεί μία ώρα εξοικείωσης των μαθητών με το περιβάλλον του λογισμικού Kodu (Δραστηριότητα ψυχολογικής και γνωστικής προετοιμασίας: περιήγηση στους έτοιμους κόσμους του Kodu).
Στόχοι του σεναρίου Εξοικείωση με τον αντικειμενοστρεφή και τον γεγονοδηγούμενο προγραμματισμό Εξοικείωση με το χρονισμό και την αλληλεπίδραση των ενεργειών Καλλιέργεια δεξιοτήτων προσαρμογής και χρήσης νέων προγραμματιστικών και γραφικών περιβαλλόντων Καλλιέργεια της ομαδικότητας, της συνεργατικότητας και της φαντασίας
Δραστηριότητες του Φύλλου Εργασίας Δραστηριότητες 1-4: Δραστηριότητες διδασκαλίας του γνωστικού αντικειμένου Δραστηριότητα 1: Δημιουργία του δικού μας κόσμου Kodu. (Με τη βοήθεια των οδηγιών του ΦΕ, οι μαθητές δημιουργούν ένα δικό τους κόσμο Kodu, όπως τον φαντάζονται αυτοί, που έχει στη μέση μία λίμνη ή πισίνα). Δραστηριότητα 2: Εισαγωγή των προγραμματιζόμενων αντικειμένων στον κόσμο. (Δημιουργία μιας βάρκας και τριών ψαριών μέσα στη λίμνη). Δραστηριότητα 3: Προγραμματισμός των κινήσεων των αντικειμένων. (Προγραμματίζουμε τα ψάρια να κινούνται συνεχώς ακολουθώντας προδιαγεγραμμένες διαδρομές και τη βάρκα να κινείται με τα βέλη του πληκτρολογίου).
Δραστηριότητες του Φύλλου Εργασίας Δραστηριότητα 4: Προγραμματισμός των κανόνων του παιχνιδιού: 1. Η βάρκα «τρώει» τα ψάρια όταν πέσει πάνω τους. 2. Κάθε φορά που η βάρκα τρώει ένα ψάρι, το σκορ αυξάνει κατά 1. 3. Αν το σκορ φτάσει το 3, ο παίκτης νίκησε. 4. Αν τελειώσει ο χρόνος (60 ) πριν το σκορ γίνει 3, ο παίκτης έχασε.
Ο οπτικός κώδικας της βάρκας Kodu
Ο οπτικός κώδικας ενός ψαριού Kodu
Περιγραφή της πορείας της διδασκαλίας Δίνουμε στους μαθητές το ΦΕ και τους αφήνουμε να εργαστούν ομαδικά όσο χρόνο χρειαστεί για να ολοκληρώσουν τις δραστηριότητες. Παρακολουθούμε από απόσταση την πορεία της εργασίας τους και επεμβαίνουμε μόνο αν μας ζητήσουν βοήθεια. Οι πιο γρήγοροι αναμένεται να τελειώσουν μέσα σε μία διδακτική ώρα. Από αυτούς ζητούμε να βελτιώσουν το παιχνίδι τους, εκτελώντας και τη δραστηριότητα εμπέδωσης του γνωστικού αντικειμένου.
Δραστηριότητα εμπέδωσης του γνωστικού αντικειμένου Δραστηριότητα 5: Βελτίωση του παιχνιδιού 1. Εισαγωγή πιο πολλών ψαριών 2. Επιπλέον κανόνας μείωσης των πόντων κάθε φορά που η βάρκα προσκρούει στα τοιχώματα της λίμνης 3. Ανάλογη προσαρμογή των κανόνων του χρόνου και του σκορ.
Εργασίες μαθητών
Περιγραφή της πορείας της διδασκαλίας Κατά τη δεύτερη ώρα αναμένουμε να ολοκληρώσουν όλες οι ομάδες τις δραστηριότητες διδασκαλίας 1-4 και οι καλύτερες ομάδες να ολοκληρώσουν και τη δραστηριότητα 5. Τέλος, στην τρίτη ώρα εκπονείται η μεταγνωστική δραστηριότητα:
Μεταγνωστική δραστηριότητα Δραστηριότητα 6: Ένα δικό μας παιχνίδι Διαγωνισμός καλύτερου παιχνιδιού Η κάθε ομάδα δημιουργεί ένα παιχνίδι δικού της σχεδιασμού και κανόνων και στο τέλος οι υπόλοιπες ομάδες ψηφίζουν το πιο συναρπαστικό παιχνίδι, αφού έχουν παίξει όλα τα παιχνίδια των άλλων ομάδων. Εναλλακτικά, η δραστηριότητα 6 μπορεί να ανατεθεί και ως ομαδική εργασία για το σπίτι.
Εργασίες μαθητών
Kodu PacMan
Συζήτηση Πώς κρίνετε το παραπάνω σενάριο;
Παιδαγωγική αξία του σεναρίου Αυξημένη κινητοποίηση του ενδιαφέροντος των μαθητών. Η μάθηση συντελείται μέσα από τη βίωση μίας ιδιαίτερα ευχάριστης εμπειρίας από τους μαθητές (Game-based learning). Το προγραμματιστικό περιβάλλον του Kodu παρακινεί για δράση. Oπτικοποιείται η εκτέλεση των εντολών του προγράμματος κι έτσι επιτυγχάνεται η πληρέστερη κατανόησή τους.
Παιδαγωγική αξία του σεναρίου Ο οπτικός προγραμματισμός δεν επιτρέπει τη δημιουργία συντακτικών λαθών. Έτσι ο μαθητής μπορεί να επικεντρώσει την προσπάθειά του στον αλγόριθμο της επίλυσης του προβλήματος Ενισχύονται ικανότητες επίλυσης προβλημάτων. Καλλιεργούνται σχέσεις ομαδικότητας και συνεργατικότητας ανάμεσα στους μαθητές.
Ευχαριστώ για την προσοχή σας!