«Η Πόλη Δικτυώνεται – Μαθαίνει να λέει ΝΑΙ στο συνάνθρωπο και στη ζωή»
σενάριο Scratch δομή_επανάληψης
1. Βασίλης Σωτηρούδας, Καθηγητής Πληροφορικής ΠΕ19
[1]
ΧΡΗΣΗ ΚΑΙ ΣΥΝΤΑΞΗ ΤΗΣ ΔΟΜΗΣ ΕΠΑΝΑΛΗΨΗΣ
1. ΤΙΤΛΟΣ ΔΙΔΑΚΤΙΚΟΥ ΣΕΝΑΡΙΟΥ:
Χρήση και σύνταξη της δομής επανάληψης στην ανάπτυξη ενός προγράμματος
2. ΕΚΤΙΜΩΜΕΝΗ ΔΙΑΡΚΕΙΑ ΔΙΔΑΚΤΙΚΟΥ ΣΕΝΑΡΙΟΥ:
2 Διδακτικές ώρες
3. ΟΜΑΔΑ ΣΤΟΧΟΣ:
Οι μαθητές της ΣΤ’ τάξης του Δημοτικού Σχολείου
4. ΕΝΤΑΞΗ ΤΟΥ ΣΕΝΑΡΙΟΥ ΣΤΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ:
Το διδακτικό σενάριο σχετίζεται άμεσα τόσο με το Διαθεματικό Ενιαίο Πλαίσιο
προγράμματος Σπουδών (Δ.Ε.Π.Π.Σ.) για την Πληροφορική όσο και με την διδασκαλία −
πρόγραμμα σπουδών των νέων διδακτικών αντικειμένων που έχουν εισαχθεί στα ολοήμερα
δημοτικά σχολεία που λειτουργήσουν με Ενιαίο Αναμορφωμένο Εκπαιδευτικό
Πρόγραμμα (ΕΑΕΠ) (ΦΕΚ 1139/ 28‐8‐2010). Ειδικότερα, στη θεματική ενότητα
«Προγραμματίζω τον Υπολογιστή» για την οποία συνιστώνται συνολικά 12 ώρες
διδασκαλίας, αναμένονται μεταξύ άλλων ως προσδοκώμενα αποτελέσματα να
αντιλαμβάνονται οι μαθητές την αναγκαιότητα και χρησιμότητα της δομής
επανάληψης, να χρησιμοποιούν τη δομή επανάληψης στα προγράμματα που
αναπτύσσουν, αλλά και να μπορούν να συνθέτουν ένα έργο προγραμματισμού από τα
επιμέρους στοιχεία της ανάλυσης.
5. ΠΡΟΑΠΑΙΤΟΥΜΕΝΕΣ ΓΝΩΣΕΙΣ:
Οι μαθητές θεωρείται, πάντοτε μέσα στο πλαίσιο του Δ.Ε.Π.Π.Σ., ότι έχουν ήδη εξοικειωθεί
με τη χρήση μιας απλής γλώσσας προγραμματισμού (Logo like) για τον έλεγχο και
προγραμματισμό του υπολογιστή και συγκεκριμένα με το Scratch στην Ε’ δημοτικού.
Ειδικότερα, θεωρείται ότι γνωρίζουν τόσο το περιβάλλον προγραμματισμού της εφαρμογής,
όσο και τη σύνταξη βασικών εντολών. Επιπλέον, έχουν ήδη διδαχθεί τη δομή επιλογής και τη
χρήση μετρητών σε ένα πρόγραμμα. Η σημασία και η χρήση της δομής επανάληψης ως
θεωρία, αλλά και η σύνταξη της δομής επανάληψης στο Scratch, έχουν προηγηθεί ως
διδακτικά αντικείμενα τις προηγούμενες ώρες διδασκαλίας.
6. ΥΛΙΚΟΤΕΧΝΙΚΗ ΥΠΟΔΟΜΗ/ΟΡΓΑΝΩΣΗ ΤΑΞΗΣ:
Η εκτέλεση του σεναρίου προϋποθέτει την ύπαρξη σχολικού εργαστηρίου πληροφορικής με
10 τουλάχιστον σταθμούς εργασίας προκειμένου οι μαθητές να μπορούν να εργαστούν σε
ομάδες των 2 ή/και 3 εάν κριθεί αναγκαίο, εγκατεστημένο το περιβάλλον προγραμματισμού
Scratch και σύνδεση στο διαδίκτυο ή εναλλακτικά εγκατεστημένη την εφαρμογή NetOp
προκειμένου ο εκπαιδευτικός να μπορεί να διαμοιράσει το εκπαιδευτικό υλικό στους
υπολογιστές των ομάδων.
7. ΣΚΟΠΟΣ ΚΑΙ ΣΤΟΧΟΙ ΤΟΥ ΣΕΝΑΡΙΟΥ:
Σκοπός του σεναρίου που αναπτύσσεται είναι η αναγνώριση της σημασίας της δομής
επανάληψης και η ορθή σύνταξη και χρήση αυτής σε ένα πρόγραμμα. Ο σκοπός του
διδακτικού σεναρίου μπορεί να αναλυθεί περαιτέρω σε επιμέρους στόχους:
1. σε επίπεδο γνώσεων: να διακρίνουν οι μαθητές την αναγκαιότητα χρήσης της δομής
επανάληψης μέσω παραδείγματος και να εντοπίζουν τη δομή επανάληψης στον
κώδικα ενός προγράμματος
2. σε επίπεδο δεξιοτήτων: να συντάσσουν σωστά μία δομή επανάληψης
3. σε επίπεδο στάσεων: να χειρίζονται τη δομή επανάληψης αποτελεσματικά κατά την
ανάπτυξη ενός προγράμματος.
Για την επίτευξη του σκοπού και των στόχων του σεναρίου θα χρησιμοποιηθεί ως εργαλείο
για τα παραδείγματα και τον προγραμματισμό, το περιβάλλον προγραμματισμού του Scratch.
2. Βασίλης Σωτηρούδας, Καθηγητής Πληροφορικής ΠΕ19
[2]
8. ΠΕΡΙΓΡΑΦΗ ΔΙΔΑΚΤΙΚΟΥ ΣΕΝΑΡΙΟΥ:
Οι μαθητές σε ομάδες των 2 ή τριών ατόμων καλούνται να επισκεφθούν τη
διεύθυνση http://scratch.mit.edu/projects/1332920/ και αφού διαβάσουν την περιγραφή
που δίνεται, να παίξουν το παιχνίδι που υπάρχει (εικόνα, 1)
Εικόνα 1: Το παιχνίδι «μάντεψε τον αριθμό»
Οι μαθητές προτρέπονται να δώσουν και αριθμούς μικρότερους από το 1 και
μεγαλύτερους από το 10 προκειμένου να παρατηρήσουν την ανάδραση από το
πρόγραμμα/παιχνίδι. Επιπλέον, καλούνται να παρατηρήσουν τι συμβαίνει μόλις βρουν το
ζητούμενο αριθμό είτε με την πρώτη, είτε σε επόμενες προσπάθειες. Εφόσον το παιχνίδι
εκτελεστεί αρκετές φορές, έτσι ώστε οι μαθητές να έχουν μία όσο γίνεται πιο πλήρη εικόνα
για τη συμπεριφορά του, ο εκπαιδευτικός μέσα από συζήτηση με τις ομάδες, αναλαμβάνει
να αποτυπώσει κωδικοποιημένα (σύντομα), τη λειτουργία του παιχνιδιού στον πίνακα.
Στη συνέχεια, μαθητές καλούνται να διακρίνουν σε ποιο σημείο του παιχνιδιού
χρειάζεται η δομή επανάληψης ενώ τους μοιράζεται το 1ο
Φύλλο Εργασίας στο οποίο
καλούνται να διακρίνουν σε ποιο σημείο του κώδικα του παιχνιδιού υπάρχει η δομή
επανάληψης. Παράλληλα, ο εκπαιδευτικός ζητάει από τους μαθητές να ανοίξουν το αρχείο
με τον κώδικα του προγράμματος που υπάρχει στον Η/Υ τους, προκειμένου να τον έχουν
και μπροστά τους, καθώς οι φωτοτυπίες δεν αποδίδουν αποτελεσματικά τις χρωματικές
διαφοροποιήσεις στο Scratch που υποδηλώνουν και διαφορετικά block του προγράμματος.
Ο εκπαιδευτικός θα πρέπει να έχει φροντίσει, ώστε ο κώδικας του παιχνιδιού που
υπάρχει στο 1ο
Φύλλο Εργασίας, να υπάρχει ως αρχείο και στους Η/Υ των μαθητών. Ο
συγκεκριμένος κώδικας εσκεμμένα δεν είναι ο ίδιος με τον κώδικα του παιχνιδιού που
έπαιξαν οι μαθητές στο διαδίκτυο, προκειμένου σε επόμενο στάδιο μέσω δοκιμής και
πλάνης να γίνει επέμβαση και αλλαγή του. Θα πρέπει επίσης να έχει φροντίσει ώστε το
απόσπασμα του κώδικα που θα χρειαστεί στο 2ο
φύλλο εργασίας να είναι επίσης
αποθηκευμένο ως αρχείο Scratch στον Η/Υ των μαθητών.
Ακολούθως, οι μαθητές καλούνται αφού «τρέξουν» τον κώδικα ενός παρόμοιου
προγράμματος στο Scratch που υπάρχει στον Η/Υ τους να διαπιστώσουν αν υπάρχουν
διαφορές σε σχέση με το παιχνίδι που έπαιξαν στο διαδίκτυο.
Όλη η παραπάνω εκπαιδευτική δραστηριότητα που στοχεύει στην ικανοποίηση του
πρώτου στόχου του εκπαιδευτικού σεναρίου εκτιμάται ότι θα διαρκέσει μία (1) διδακτική
ώρα, δεδομένων των συνθηκών στο σχολικό εργαστήριο πληροφορικής του δημοτικού
σχολείου.
3. Βασίλης Σωτηρούδας, Καθηγητής Πληροφορικής ΠΕ19
[3]
Τη 2η
διδακτική ώρα που προβλέπεται για το παρόν εκπαιδευτικό σενάριο οι
μαθητές μέσα από τη χρήση κατάλληλων Φύλλων Εργασίας και πιο συγκεκριμένα του 2ου
και 3ου
Φύλλου Εργασίας, καλούνται να συντάξουν σωστά μία δομή επανάληψης σε ένα
πρόγραμμα αλλά και να τροποποιήσουν ένα δοσμένο κώδικα προγράμματος προκειμένου
να ικανοποιεί συγκεκριμένες απαιτήσεις. Τα συγκεκριμένα φύλλα εργασίας (2ο
και 3ο
)
αποσκοπούν στην ικανοποίηση του 2ου
και 3ου
στόχου του εκπαιδευτικού σεναρίου, όπως
αυτοί διατυπώθηκαν παραπάνω.
9. ΕΠΙΣΤΗΜΟΛΟΓΙΚΗ ΠΡΟΣΕΓΓΙΣΗ ΚΑΙ ΕΝΝΟΙΟΛΟΓΙΚΗ ΑΝΑΛΥΣΗ:
Οι δομές επανάληψης αποτελούν από τα πλέον διερευνημένα αντικείμενα στη
διδακτική της πληροφορικής σε όλες τις εκπαιδευτικές βαθμίδες. Στο δομημένο
προγραμματισμό έχουν επικρατήσει οι γνωστές 3 επαναληπτικές δομές (while, repeat, for),
μολονότι σύμφωνα με το θεώρημα των Boehm & Jacopini (1966) η επαναληπτική δομή
while είναι ικανή να καλύψει όλες τις δυνατές περιπτώσεις που μπορούν να
παρουσιαστούν. Είναι επίσης γνωστό ότι στα τέλη της δεκαετίας του 1960 ο Dijkstra με ένα
κείμενο μόλις δύο σελίδων έθεσε τις βάσεις για το δομημένο προγραμματισμό, θέτοντας
τέλος στην αλόγιστη χρήση της εντολής goto από τους προγραμματιστές, που είχε ως
αποτέλεσμα τη δημιουργία προγραμμάτων με διαγράμματα ροής που έμοιαζαν με
«σπαγγέτι». Στον οπτικό προγραμματισμό είναι προφανές ότι οι δομές επανάληψης
εξακολουθούν να αποτελούν εγγενές στοιχείο σε όλα τα περιβάλλοντα προγραμματισμού,
μολονότι η σύνταξή τους μπορεί να ποικίλει κατά περίπτωση.
Η κατανόηση των δομών επανάληψης από τους μαθητές, συνιστά ένα από τα
δυσχερέστερα σημεία στη διδασκαλία του προγραμματισμού. Έχει διαπιστωθεί ότι οι
δυσχέρειες που εντοπίζονται στη χρήση των δομών επανάληψης είναι ανεξάρτητες από την
ηλικία του προγραμματιστή αλλά είναι άμεσα συνυφασμένες με το γνωστικό του επίπεδο
στον προγραμματισμό. Με άλλα λόγια, όσο πιο αρχάριος είναι ο προγραμματιστής, τόσο
πιο δυσχερής είναι η κατανόηση και η χρήση των δομών επανάληψης.
Προκειμένου να αμβλυνθούν οι δεδομένες δυσκολίες, εκτιμάται ότι η χρήση της
δομής επανάληψης μέσω ενός παραδείγματος (παιχνιδιού) οπτικού προγραμματισμού και
η εφαρμογή της μεθοδολογίας της δοκιμής και πλάνης, θα επιτρέψει στους μαθητές να
κατανοήσουν καλύτερα τη χρήση της δομής επανάληψης αλλά και θα τους βοηθήσει να τη
χρησιμοποιούν σωστά στην ανάπτυξη ενός προγράμματος.
10. ΔΙΔΑΚΤΙΚΕΣ ΠΡΟΣΕΓΓΙΣΕΙΣ ΚΑΙ ΣΤΡΑΤΗΓΙΚΕΣ/ΘΕΩΡΙΕΣ ΜΑΘΗΣΗΣ:
Οι προτεινόμενες δραστηριότητες είναι διερευνητικού τύπου που στοχεύει στην
ανάδειξη των παρανοήσεων και στη διαμόρφωση συνθηκών γνωστικής σύγκρουσης.
Βασίζεται στο σχήμα (Πρόβλεψη – Έλεγχος ιδεών – Γνωστική σύγκρουση – Ερμηνεία –
Αναδιατύπωση – Συμπέρασμα). Η διδακτική προσέγγιση στηρίζεται στον πειραματισμό με
το προγραμματιστικό περιβάλλον και στην ενεργητική συμμετοχή των μαθητών ενώ
αξιοποιεί πολλαπλές αναπαραστάσεις.
11. Ο ΡΟΛΟΣ ΤΟΥ ΔΙΔΑΣΚΟΝΤΑ/ΠΕΡΙΓΡΑΦΗ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ ΣΕΝΑΡΙΟΥ:
Οι δραστηριότητες ψυχολογικής και γνωστικής προετοιμασίας γίνονται σε επίπεδο
τάξης, ενώ οι δραστηριότητες διδασκαλίας και εμπέδωσης του αντικειμένου καθώς και η
αξιολόγηση γίνονται με την ομάδα του κάθε μαθητή να δουλεύει στον υπολογιστή της.
Ο ρόλος του εκπαιδευτικού είναι καθοδηγητικός, διαμεσολαβητικός,
διευκολυντικός. Αξιοποιεί τις δυνατότητες των ΤΠΕ για να σχεδιάσει, να οργανώσει, να
επεξεργαστεί και να αναλύσει τα δεδομένα του εξεταζόμενου θέματος μαζί με τους
μαθητές του, στο πλαίσιο μιας ενεργητικής και διδακτικής διαδικασίας με στόχο την
κατανόηση της εξεταζόμενης κατάστασης. Η επικοινωνία εκπαιδευτικού ‐ μαθητών δεν
εξυπηρετεί τη «μεταφορά» γνώσεων μέσω της τεχνολογίας από τον εκπαιδευτικό στον
4. Βασίλης Σωτηρούδας, Καθηγητής Πληροφορικής ΠΕ19
[4]
μαθητή, αλλά επιτρέπει τη γνωστική επεξεργασία μέσω των δυνατοτήτων που η ίδια η
τεχνολογία παρέχει στην ανάλυση και την κατασκευή νέων εννοιών. Ο υπολογιστής γίνεται
εργαλείο έκφρασης και διερεύνησης στα χέρια και στον έλεγχο των μαθητών.
12. ΑΝΑΜΕΝΩΜΕΝΕΣ ΔΥΣΚΟΛΙΕΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΤΟΥ ΣΕΝΑΡΙΟΥ:
Λόγω της ηλικίας των μαθητών αναμένεται ότι πρώτες εκτελέσεις του παιχνιδιού
στο διαδίκτυο θα αναλωθούν στην «εκτέλεση του παιχνιδιού» και όχι στον εντοπισμό των
ζητουμένων στοιχείων. Είναι αναμενόμενο οι μαθητές να θεωρήσουν αρχικά την όλη
διαδικασία ως παιχνίδι στο οποίο «πρέπει να κερδίσουν» και κατόπιν να επικεντρωθούν
στα ζητούμενα της εφαρμογής.
13. ΒΙΒΛΙΟΓΡΑΦΙΑ
14. ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΦΥΛΛΩΝ ΕΡΓΑΣΙΑΣ:
Στο 1ο
Φύλλο Εργασίας οι μαθητές καλούνται να διακρίνουν σε ποιο σημείο του
κώδικα που περιέχεται, υπάρχει η δομή επανάληψης. Επιπλέον, καλούνται να εκτελέσουν
στον H/Y τους ένα παρόμοιο πρόγραμμα στο Scratch προκειμένου να συγκρίνουν το
αποτέλεσμά του σε σχέση με το παιχνίδι που έπαιξαν στο διαδίκτυο. Στόχος είναι
διαπιστώσουν και εν συνεχεία να καταγράψουν εάν υπάρχουν διαφορές και ποιες είναι
αυτές. Με το 1ο Φύλλο Εργασίας επιδιώκεται η ικανοποίηση του 1ου στόχου του
εκπαιδευτικού σεναρίου που είναι σε επίπεδο γνώσεων να διακρίνουν οι μαθητές την
αναγκαιότητα χρήσης της δομής επανάληψης μέσω παραδείγματος και να εντοπίζουν τη
δομή επανάληψης στον κώδικα ενός προγράμματος. Επισημαίνεται ότι ο κώδικας του
προγράμματος που υπάρχει στον Η/Υ των μαθητών δεν κάνει έλεγχο για την ορθότητα των
αριθμών που δίνονται ως είσοδος. Δεν ελέγχει δηλαδή εάν οι αριθμοί είναι >= 1 και <=10.
Στο 2ο Φύλλο Εργασίας οι μαθητές καλούνται να συντάξουν σωστά μία δομή
επανάληψης στο σημείο του προγράμματος που τους επισημαίνεται, προκειμένου το
παιχνίδι να λειτουργήσει όπως αυτό που έχουν στον Η/Υ τους. Σημειώνεται ότι ο κώδικας
του προγράμματος τον οποίο πρέπει να συμπληρώσουν οι μαθητές, υπάρχει ως αρχείο
στον Η/Υ τους. Μέσω του 2ου Φύλλου Εργασίας επιδιώκεται η ικανοποίηση του 2ου
στόχου του εκπαιδευτικού σεναρίου, που είναι σε επίπεδο δεξιοτήτων οι μαθητές να
συντάσσουν σωστά μία δομή επανάληψης.
Στο 3ο
Φύλλο Εργασίας οι μαθητές καλούνται να επέμβουν στον κώδικα του
προγράμματος του παιχνιδιού που υπάρχει στον Η/Υ τους και τον οποίο εκτέλεσαν σε
προηγούμενο στάδιο, προκειμένου να ικανοποιεί τις νέες απαιτήσεις που τίθενται.
Επισημαίνεται ότι το στάδιο αυτό θεωρείται δύσκολο καθώς περιλαμβάνει στην ουσία
εμφωλευμένη δομή επανάληψης. Στόχος δεν είναι η εκμάθηση της εμφωλευμένης δομής
επανάληψης, αλλά σε επίπεδο στάσεων να χειρίζονται τη δομή επανάληψης αποτελεσματικά
κατά την ανάπτυξη ενός προγράμματος.
5. Βασίλης Σωτηρούδας, Καθηγητής Πληροφορικής ΠΕ19
[5]
1
Ο
Φύλλο Εργασίας
1. Μελετήστε τον κώδικα του προγράμματος παρακάτω και εντοπίστε σε ποιο σημείο του
κώδικα υπάρχουν Δομές Επανάληψης (μπορεί να υπάρχει μία ή περισσότερες). Ο ίδιος
κώδικας υπάρχει εάν ανοίξετε και το αρχείο game1 που υπάρχει στο φάκελο του
τμήματός σας.
Δομή Επανάληψης βρίσκεται στη γραμμή που λέει:
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
2. Για ποιο λόγο χρησιμοποιούμε τη δομή επανάληψης στο συγκεκριμένο πρόγραμμα;
Περιγράψτε σύντομα τη χρήση της.
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
6. Βασίλης Σωτηρούδας, Καθηγητής Πληροφορικής ΠΕ19
[6]
3. Ανοίξτε το αρχείο (αν δε το έχετε ήδη ανοίξει) game1 που υπάρχει στο φάκελο του
τμήματός σας και παίξτε το παιχνίδι. Υπάρχει κάποια διαφορά σε σχέση με το παιχνίδι
που παίξατε στο διαδίκτυο και αν ναι ποια είναι αυτή;
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
7. Βασίλης Σωτηρούδας, Καθηγητής Πληροφορικής ΠΕ19
[7]
2
Ο
Φύλλο Εργασίας
1. Ανοίξτε το αρχείο game2 που υπάρχει στο φάκελο του τμήματός σας. Τον κώδικα του
προγράμματος τον βλέπετε και παρακάτω
2. Στον παραπάνω κώδικα βάλτε στο σωστό σημείο την κατάλληλη δομή επανάληψης
ώστε το παιχνίδι να λειτουργεί όπως ακριβώς αυτό που παίξατε προηγουμένως από
τον Η/Υ σας. Μη ξεχνάτε να δοκιμάζετε κάθε φορά το αποτέλεσμα, ώστε να είστε
σίγουροι ότι λειτουργεί σωστά. Αν δυσκολεύεστε μπορείτε να δείτε των κώδικα του
προγράμματος που υπάρχει στο αρχείο game1.
8. Βασίλης Σωτηρούδας, Καθηγητής Πληροφορικής ΠΕ19
[8]
3
Ο
Φύλλο Εργασίας
1. Ανοίξτε το αρχείο game1 που υπάρχει στο φάκελο του τμήματός σας. Τον κώδικα του
προγράμματος τον βλέπετε και παρακάτω.
2. Στον παραπάνω κώδικα κάντε την κατάλληλη προσθήκη Δομής Επανάληψης ώστε να
το παιχνίδι να ελέγχει εάν ο αριθμός που δίνει ο παίκτης είναι >= 1 και <=10.
3. Εάν ο αριθμός που δίνει ο παίκτης δεν είναι >=1 και <=10 τότε το παιχνίδι θα πρέπει να
εμφανίζει κάποιο σχετικό μήνυμα, προκειμένου ο παίκτης να δώσει αποδεκτό αριθμό.