Προσανατολισμός μαθήματος 9-10 λεπτά: [σύντομη εισήγηση στις δομές ελεγχου ] Στη συγκεκριμένη φάση της διδασκαλίας μέσω μιας σύντομης εισαγωγής θα προσπαθήσουμε να αποδείξουμε στους μαθητές ότι η θεμελιώδης αξία των Η/Υ βρίσκεται στη δυνατότητά τους να αντιδρούν με διαφορετικούς τρόπους σε διαφορετικές συνθήκες και εισόδους του χρήστη. Θα παρουσιάσουμε στους μαθητές 2 απλά παιχνίδια (ναρκαλιευτή και ράλι) και στη συνέχεια θα παρουσιάσουμε εποπτικά σε διαφάνειες τις συνθήκες ελέγχου που διαφοροποιούν την εξέλιξη των παιχνιδιών. Οι συνθήκες θα παρουσιαστούν με τη μορφή προτύπου «εάν τότε αλλιώς» ώστε οι μαθητές να αρχίσουν να εξοικειώνονται με τις εντολές που θα χρησιμοποιήσουν αργότερα. Έμφαση θα δοθεί σε δυο διαφάνειες που θα συνοψίζουν τους κανόνες των δυο παιχνιδιών με τη μορφή «συνθήκη», «τιμή», «ενέργειες». Με τη χρήση των διαφανειών αυτών θα χρησιμοποιήσουμε τις έννοιες «αληθής» και «ψευδής» συνθήκη χωρίς όμως να τις παραθέσουμε ως λέξεις κλειδιά θέλουμε οι μαθητές να τις χρησιμοποιούν αργότερα χωρίς όμως να τις έχουμε παρουσιάσει ως «ιδιαίτερους όρους». [σύντομη εισήγηση στις επαναληπτικές δομές] Επίσης θα κάνουμε μια σύντομη εισαγωγή στις επαναληπτικές δομές λέγοντας στους μαθητές πως όσο σημαντική είναι η επανάληψη στη ζωή μας τόσο είναι και στους H/Y.Θα τονίσουμε ότι είναι σημαντικό κάποιες φορές να κάνουμε το ίδιο πράγμα όσες φορές χρειαστεί ή μέχρις ότου κάτι συμβεί. Στα παραδείγματα που θα αναφέρουμε θα χρησιμοποιούμε τα πρότυπα «για πάντα», «επανάλαβε» και «επανάλαβε ώσπου» ώστε οι μαθητές να αρχίσουν να εξοικειώνονται με τις εντολές που θα χρησιμοποιήσουν αργότερα. [Τεχνική μαύρου κουτιού 2 παραδείγματα 16-17 λεπτά]: Οι μαθητές θα κληθούν να τρέξουν δυο παραδείγματα και να συμπληρώσουν το επόμενο φύλλο εργασίας. Στόχος των δυο δραστηριοτήτων είναι οι μαθητές να εξοικειωθούν με τη λογική των συνθηκών ελέγχου και με τις εντολές επανάληψης και να αναγνωρίζουν τα διαφορετικά μπλοκ με τα οποία μπορούν να δημιουργούν εντολές ελέγχου και επανάληψης. Επιπλέον οι μαθητές θα πρέπει να διαχωρίσουν εντολές ελέγχου που ενσωματώνονται στη ροή ελέγχου και αυτές που μπορούν να λειτουργούν ως αυτόνομα νήματα. Θα προσπαθήσουμε να βοηθήσουμε τους μαθητές να αναγνωρίζουν σε ποιο sprite πρέπει να εισάγονται οι συνθήκες ελέγχου και εντολές επανάληψης καθώς αυτό αποτελεί σημαντικό μαθησιακό πρόβλημα στον παράλληλο αντικειμενοστραφή προγραμματισμό του scratch. Θέλουμε μετά από αυτά τα παραδείγματα, ο μαθητής να έχει καταλάβει πάνω-κάτω τι κάνουν οι εντολές και να μπορεί να τις αξιοποιήσει. ----------------------------------------------------------------------------------------------------------------------------------- Φύλλο εργασίας 1 Δραστηριότητα 1 η
Α. Τρέξτε την εφαρμογή MAZE που βρίσκεται στον κατάλογο Games και χρησιμοποιείστε τα βελάκια για να εξετάσετε τις δυνατότητές της πράσινης τελίτσας και να συμπληρώσετε τον παρακάτω πίνακα: Εάν τότε η πράσινη τελίτσα κινείται προς τα αριστερά Εάν τότε η πράσινη τελίτσα κινείται προς τα δεξιά Εάν τότε η πράσινη τελίτσα κινείται προς τα πάνω Εάν τότε η πράσινη τελίτσα κινείται προς τα κάτω Εάν τότε κινείται προς τα πίσω Εάν τότε λέει «Win!» Εκφράσεις: η πράσινη τελίτσα ακουμπήσει το μαύρο τοίχο, πατήσω το αριστερό βέλος, πατήσω το δεξί βέλος, πατήσω το πάνω βέλος, η πράσινη τελίτσα ακουμπήσει το κόκκινο τετράγωνο, πατήσω το κάτω βέλος. Β. Μελετήστε τον παρακάτω κώδικα του προγράμματος που αφορά την πράσινη τελίτσα και σημειώστε τα block που σχετίζονται με τις παραπάνω εκφράσεις:
1. Ποια είναι η δομή των μπλοκ ελέγχου που χρησιμοποιούνται; 2. Ποια είναι η δομή των μπλοκ επανάληψης που χρησιμοποιούνται; 3. Τι θα έπρεπε να κάνατε για να αλλάξετε τα πλήκτρα κίνησης της τελίτσας; 4.Ποιος ο ρόλος της εντολής ελέγχου εάν..αλλίως; 5.Εάν η συνθήκη «αγγίζει το μαύρο χρώμα», σε οποιοδήποτε μπλοκ από τα παραπάνω, ισχύει, θα εκτελεστεί το αλλιώς; 6.Ποιος ο ρόλος της εντολής επανάληψης «για πάντα» και της «περίμενε ώσπου»; Δραστηριότητα 2 η Α. Τρέξτε την εφαρμογή Cat and mouse που βρίσκεται στο φάκελο games, χρησιμοποιείστε τα βελάκια του πληκτρολογίου για να κινήσετε τη γάτα(μπλε μπάλα) στην πίστα και να την οδηγήσετε στο ποντίκι(γαλάζια μπάλα). Επίσης χρησιμοποιήστε τα πλήκτρα a,d,w,s για να κινήσετε το ποντίκι. Αμέσως μετά συμπληρώστε τις επόμενες προτάσεις από τις εκφράσεις που ακολουθούν: Εάν τότε η γάτα κινείται προς τα αριστερά Εάν τότε η γάτα κινείται προς τα δεξιά Εάν τότε η γάτα κινείται προς τα πάνω Εάν τότε η γάτα κινείται προς τα κάτω Εάν τότε το ποντίκι κινείται προς τα αριστερά Εάν τότε το ποντίκι κινείται προς τα δεξιά Εάν τότε το ποντίκι κινείται προς τα πάνω Εάν τότε το ποντίκι κινείται προς τα κάτω Εάν τότε μετακινείται σε κάποιο τυχαίο σημείο της πίστας Εάν τότε το score αυξάνεται κατά ένα Εάν τότε η γάτα λέει «I win»
Εκφράσεις: η γάτα ακουμπήσει το μαύρο χρώμα, πατήσω το αριστερό βέλος, πατήσω το δεξί βέλος, πατήσω το πάνω βέλος, πατήσω το κάτω βέλος, το score φτάσει στο 5, η γάτα ακουμπήσει το ποντίκι, πατήσω το πλήκτρο a, πατήσω το πλήκτρο d, πατήσω το πλήκτρο w, πατήσω το πλήκτρο s. Β. Μελετήστε τον παρακάτω κώδικα που αφορά το αντικείμενο γάτα και σημειώστε τα block που νομίζετε ότι σχετίζονται με τις παραπάνω εκφράσεις: 1.Ποια είναι η δομή των μπλοκ ελέγχου που χρησιμοποιούνται;
2.Ποια είναι η δομή των μπλοκ επανάληψης που χρησιμοποιούνται; 3.Τι θα έπρεπε να κάνατε για να αλλάξετε τα πλήκτρα κίνησης της γάτας; 4.Γράψτε το τμήμα κώδικα που απαιτείται για την κίνηση του ποντικιού προς τα πάνω με το πλήκτρο w (Μελετήστε το κώδικα κίνησης της γάτας προς τα πάνω). 5.Ποιά εντολή που χρησιμοποιείται παραπάνω είναι και εντολή ελέγχου και επανάληψης; 6.Ποιός ο ρόλος της εντολής «για πάντα εάν»; Δραστηριότητα 3 η Αντιστοιχίστε τις παρακάτω εντολές της πρώτης στήλης με τις κατηγορίες της δεύτερης στήλης. Κάποια κατηγορία θα αντιστοιχηθεί δύο φορές. α 1. Εντολή ελέγχου β 2. Εντολή επανάληψης γ 3. Εντολή επανάληψης και ελέγχου ελέγχου 4.Εντολή επανάληψης και ελέγχου μέσα σε εντολή
ε Β)Αντιστοιχήστε τις πέντε παρακάτω προτάσεις, με τους πέντε παραπάνω κώδικες. 1) Αν το αντικείμενο αγγίζει το δείκτη του ποντικιού στρίβει 15 μοίρες δεξιά _, _ 2)Το αντικείμενο θα στρίψει 150 μοίρες δεξιά _ 3)Συνεχής έλεγχος για το αν το αντικείμενο αγγίζει το δείκτη του ποντικιού _ 4)Το αντικείμενο στρίβει συνεχώς 15 μοίρες αριστερά μέχρι να πάμε το δείκτη του ποντικιού πάνω του _ Τέλος φύλλου εργασίας 1 ----------------------------------------------------------------------------------------------------------------------------------- Φάση 1 η : Καθοδηγούμενη πρακτική 20-25 λεπτά [Σύντομα παραδείγματα]: Μέσω της διερεύνησης σύντομων παραδειγμάτων, ο εκπαιδευτικός θα προετοιμάσει τους μαθητευόμενους για να αναπτύξουν στη συνέχεια από μόνοι τους εφαρμογές που περιέχουν συνθήκες ελέγχου και εντολές επανάληψης. Ταυτόχρονα θα προσπαθήσει να αντιμετωπίσει τυπικές μαθησιακές δυσκολίες. Ζητείται από το μαθητή να μελετήσει τα παραδείγματα που βρίσκονται στο επόμενο φύλλο εργασίας. Με την προσέγγιση των πολλαπλών παραδειγμάτων οι μαθητές θα αποκτήσουν την απαιτούμενη γνωστική ευελιξία για την εφαρμογή των εντολών ελέγχου και επανάληψης στην δημιουργία νέων προγραμμάτων. ----------------------------------------------------------------------------------------------------------------------------------- Φύλλο εργασίας μαθητή 2 Δραστηριότητα 1 η Μελετήστε το παρακάτω πρόγραμμα και απαντήστε στις ερωτήσεις που ακολουθούν:
1. Πως συμπεριφέρεται ένα αντικείμενο που περιέχει το πρώτο κώδικα; 2. Πως συμπεριφέρεται ένα αντικείμενο που περιέχει το δεύτερο κώδικα; 3. Σε τι διαφέρουν οι δύο κώδικες; 4. Ποια η σημασία του τελεστή όχι του δεύτερου κώδικα; 5. Τι θα συνέβαινε αν απομακρύναμε το block «για πάντα»; Δραστηριότητα 2 η Μελετήστε και κατανοήστε το παρακάτω παράδειγμα και απαντήστε στις ερωτήσεις που ακολουθούν: 1.Περιγράψτε τη λειτουργία του συγκεκριμένου κώδικα; Πως συμπεριφέρεται το αντικείμενο που περιέχει αυτόν το κώδικα; 1. Ποια εντολή ελέγχου διακρίνετε; 3.Ποια εντολή επανάληψης διακρίνετε; 4.Εάν η φιγούρα εμφανίσει το μήνυμα «Δεν με ακουμπάς» σημαίνει ότι ο δείκτης του ποντικιού δεν την άγγιζε. Αν πάμε το δείκτη του ποντικιού πάνω στη φιγούρα(χωρίς να ξαναπατήσουμε το 0) θα εμφανίσει «με ακουμπάς»; Αν όχι γιατί; Ποια εντολή επανάληψης θα έπρεπε να προσθέταμε για να το εμφανίζει; Δραστηριότητα 3 η Μελετήστε το παρακάτω πρόγραμμα και απαντήστε στις ερωτήσεις που ακολουθούν:
1.Περιγράψτε τη λειτουργία του συγκεκριμένου κώδικα; Πως συμπεριφέρεται το αντικείμενο που περιέχει αυτόν το κώδικα; 2.Τι κάνει η εντολή επανάληψης «επανάλαβε ώσπου»; 3.Ξανάγράψτε το παραπάνω πρόγραμμα χωρίς την εντολή «επανάλαβε ώσπου» με την χρήση μιας άλλης εντολής. Δραστηριότητα 4 η Μελετήστε το παρακάτω πρόγραμμα και απαντήστε στις ερωτήσεις που ακολουθούν: 1.Περιγράψτε τη λειτουργία του συγκεκριμένου κώδικα; Πως συμπεριφέρεται το αντικείμενο που περιέχει αυτόν το κώδικα; 2.Τι κάνει ο τελεστής «και»; 3.Τι θα άλλαζε αν στη θέση του «και» είχαμε «ή»; 4.Τι θα άλλαζε αν στη θέση της «επανάλαβε ώσπου» βάζαμε την «για πάντα εάν»; ----------------------------------------------------------------------------------------------------------------------------------- Φύλλο εργασίας 3 ο Φάση 2-[Μελέτη περίπτωσης- 16-17 λεπτά] Εργάζεστε σε μια εταιρία λογισμικού που αναπτύσσει παιχνίδια για παιδιά ηλικίας 8-12. Σας αναθέτουν να αναπτύξετε ένα παιχνίδι στο οποίο ένα ιππότης προσπαθεί να ελευθερώσει μία πριγκίπισσα η οποία φυλάσσεται από δύο φρουρούς. Ο ιππότης πρέπει να ελευθερώσει την πριγκίπισσα χωρίς να πέσει πάνω στους φρουρούς. Το παιχνίδι τελειώνει όταν ο ιππότης ελευθερώσει την πριγκίπισσα (ο παίκτης κερδίζει) ή όταν ο ιππότης πέσει πάνω σε κάποιον από τους φρουρούς (ο παίκτης χάνει). Ανάλυση προβλήματος
Στο συγκεκριμένο πρόβλημα αναφέρονται 4 αντικείμενα: Α) ο ιππότης, ο οποίος κινείται προς τις τέσσερις κατευθύνσεις. Β) η πριγκίπισσα, η οποία μένει στάσιμη. Γ) ο φρουρός Α, ο οποίος κινείται προς τα κάτω αργά και μόλις φτάνει τέρμα κάτω επανέρχεται πάνω πάνω και ξανά-κινείται προς τα κάτω. Δ) ο φρουρός Β, ο οποίος κινείται προς τα κάτω γρήγορα και μόλις φτάνει τέρμα κάτω επανέρχεται πάνω πάνω και ξανά-κινείται προς τα κάτω. Ανάπτυξη προγράμματος Άρα θα εισάγουμε τέσσερα αντικείμενα. Φιγούρα1)Τον ιππότη. Θα ζωγραφίσουμε έναν άνθρωπο με κόκκινο χρώμα. Το αντικείμενο θα ξεκινά από προκαθορισμένη θέση και θα κινείται με τα βελάκια. Θα έχουμε εντολές ελέγχου για την ενεργοποίηση των συγκεκριμένων πλήκτρων και τις εντολές «άλλαξε x/y» για την μετακίνηση του αντικειμένου.
Φιγούρα2)Την πριγκίπισσα. Θα ζωγραφίσουμε μία γυναίκα με ροζ χρώμα. Το αντικείμενο θα είναι στάσιμο σε προκαθορισμένη θέση. Φιγούρα3)Τον φρουρό Α. Θα ζωγραφίσουμε έναν άνθρωπο με μαύρο χρώμα. Το αντικείμενο θα ξεκινά από προκαθορισμένη θέση και θα κινείται αυτόματα από πάνω προς τα κάτω. Θα έχουμε για την κίνηση εντολές επανάληψης και ελέγχου και τις εντολές «άλλαξε x/y» για την μετακίνηση του αντικειμένου. Θα κινείται πιο αργά από τον Β, συνεπώς οι τιμές στις αντίστοιχες εντολές «άλλαξε x/y» θα είναι λίγο μικρότερες (π.χ. -3) Φιγούρα4)Τον φρουρό Β. Θα ζωγραφίσουμε έναν άνθρωπο με μαύρο χρώμα. Το αντικείμενο θα ξεκινά από προκαθορισμένη θέση και θα κινείται αυτόματα από πάνω προς τα κάτω. Θα έχουμε για την κίνηση εντολές επανάληψης και ελέγχου και τις εντολές «άλλαξε x/y» για την μετακίνηση του αντικειμένου. Θα κινείται πιο γρήγορα, συνεπώς οι τιμές στις αντίστοιχες εντολές «άλλαξε x/y» θα είναι λίγο μεγαλύτερες (π.χ. -7)
Ερωτήματα 1.Πως πιστεύετε ότι λειτουργεί ο τελεστής «ή»; Σε τι διαφέρει από τους τελεστές «και» και «όχι»; 2.Έστω ότι ο παίκτης έχανε όταν ο ιππότης ακουμπούσε και τους δύο φρουρούς. Τι αλλαγές θα έπρεπε να γίνουν στο κώδικα του ιππότη; 3.Εξηγήστε επακριβώς τι κάνει το μπλοκ των εντολών που αφορά την κίνηση του ιππότη προς τα πάνω. 4. Ποιες άλλες εντολές θα μπορούσαμε να χρησιμοποιήσουμε για την μετακίνηση του ιππότη; 5.Έστω ότι θέλουμε το παιχνίδι να μην τελειώνει αν ο ιππότης ακουμπήσει κάποιο φρουρό, αλλά να συνεχίζεται με τον ιππότη πάλι από το αρχικό σημείο. Τι πρέπει να αλλάξετε; 6. Πως θα αλλάζαμε τον κώδικα του προγράμματος για να παράγει ο ιππότης μια προειδοποίηση στους φρουρούς όταν τους πλησιάζει αρκετά; 7. Εξηγήστε επακριβώς τι κάνει το μπλοκ των εντολών που αφορά τους φρουρούς. Ποιος ο ρόλος της «επανάλαβε ώσπου»; 8.Τι θα άλλαζε αν στην θέση της «επανάλαβε ώσπου» είχαμε «για πάντα εάν»; 9.Φτιάξτε έναν φρουρό με την ίδια λειτουργία που όμως να πηγαίνει προς τα πάνω. 10.Τι συμβαίνει όταν μικραίνουμε τις τιμές τις αλλαγής του y στους κώδικες των φρουρών; Γιατί συμβαίνει αυτό; Φαση 3 η : Συνεργατική επίλυση προβλήματος 10 Οι μαθητές έχοντας μελετήσει αρκετά παραδείγματα και έχοντας ξεπεράσει τις τυπικές μαθησιακές δυσκολίες καλούνται να αναπτύξουν δεξιότητες σε επίπεδο εφαρμογής της γνώσης. Τα προηγούμενα φύλλα εργασίας θα λειτουργήσουν ως οδηγοί-υποστηρικτικό υλικό για την επίλυση του παρακάτω προβλήματος: ----------------------------------------------------------------------------------------------------------------------------------- Φύλλο εργασίας 4 ο Το πρόβλημα: Σχεδιάστε ένα παιχνίδι στο οποίο ο χρήστης θα ελέγχει ένα άνθρωπο που θέλει να φτάσει
σπίτι του(το σπίτι θα είναι ένα στάσιμο αντικείμενο). Στην πίστα μέσα θα υπάρχουν τρία εμπόδια. Τα δύο θα είναι στάσιμα και το άλλο θα κινείται από κάτω προς τα πάνω συνεχώς και μόλις φτάνει το πάνω όρια θα επανέρχεται στα κάτω όρια της πίστας. Όταν ο άνθρωπος ακουμπήσει κάποιο εμπόδιο θα χάνει εμφανίζοντας το μήνυμα «έχασα». Όταν φτάσει(ακουμπήσει) το σπίτι του θα κερδίζει εμφανίζοντας το μήνυμα «επιτέλους έφτασα». Οι αρχικές θέσεις των αντικειμένων θα είναι οι εξής προκαθορισμένες: για τον άνθρωπο (-201,133), για τα στάσιμα εμπόδια (-62,-96) και (33,103) και για το κινητό (114,-120), για το σπίτι (200,-126). Η εργασία θα υλοποιηθεί σε ομάδες των 2 ατόμων δημιουργώντας τους ρόλους του «οδηγού» και του «παρατηρητή». Ο «οδηγός» έχει τον έλεγχο στη σχεδίαση της λύ σης ενώ ο «παρατηρητής» υποβάλλει ερωτήσεις στον «οδηγό» σχετικά με τη σχεδίαση της λύσης του προβλήματος, προτείνει εναλλακτικές λύσεις, επισημαίνει ελλείψεις, και καταγράφει τόσο τα σχόλιά του όσο τις απαντήσεις του οδηγού, τις σχεδιαστικές αποφάσεις κτλ. Στα πρώτα λεπτά και τα δυο άτομα μελετούν μόνοι τους το πρόβλημα. Αφού μελετήσετε και σκεφτείτε σε βάθος το πρόβλημα ανταλλάξτε σκέψεις για την υλοποίηση με τους συμμαθητές σας και προχωρήστε στην επίλυση του. ----------------- Φάση 4 η : Επανάληψη-Κλείσιμο μαθήματος 5 [τεχνική ερωταποκρίσεων] Στο τέλος, μέσω ερωταποκρίσεων ο εκπαιδευτικός θα προσπαθήσει να εξάγει με τη βοήθεια των μαθητών εντολές ελέγχου που υπάρχουν σε εφαρμογές που χρησιμοποιούν καθημερινά και δεν αναφέρθηκαν παραπάνω.«τι εντολές ελέγχου μπορεί να χρησιμοποιούνται στην πασιέντζα (σε σχέση με την καταλληλότητα μετακίνηση των χαρτιών;» «Τι εντολές ελέγχου μπορεί να χρησιμοποιούνται σε μια ιστοσελίδα (αλλαγή χρώματος υπερσυνδέσμων ανάλογα με τη θέση του ποντικιού;». Επίσης ερωταποκρίσεις θα χρησιμοποιηθούν για την κατανόηση των εντολών επανάληψης. Θα τους υπενθυμίσουμε την αξία των επαναλήψεων και με έμμεσο τρόπο θα τους κάνουμε να καταλάβουν το τι πρέπει να προσέχουν και τι όχι, και που πρέπει να επικεντρώνονται. Τέλος, είναι ένας εύκολος τρόπος να αντιληφτεί ο εκπαιδευτικός αν οι μαθητές όντος κατάλαβαν το περιεχόμενο του μαθήματος. 11 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας