Διδασκαλία του Δομημένου Προγραμματισμού με το Ρομπότ Karel

Σχετικά έγγραφα
Συνοπτική παρουσίαση του σεναρίου. Εναλλακτικά περιβάλλοντα προγραμματισμού (2/5) Διδακτικές δραστηριότητες. Διδακτικό υλικό

Πρόταση για τη Διδασκαλία του Προγραμματισμού στο Γυμνάσιο με Χρήση του Ρομπότ Karel

Δραστηριότητα 1 αξιολόγηση της λύσης για το πρόβλημα των μεγάλων αποστάσεων

Η Διδασκαλία της Έννοιας της Διαδικασίας με Χρήση του Ρομπότ Karel σε Μαθητές Γυμνασίου: μια μελέτη περίπτωσης

Δραστηριότητα 1 γνωριμία με το περιβάλλον Karel

Ο ρόλος των εκπαιδευτικών παιχνιδιών στη διδασκαλία και εκμάθηση του προγραμματισμού

ΣΕΝΑΡΙΑ ΔΙΔΑΣΚΑΛΙΑΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΔΕΥΤΕΡΟΒΑΘΜΙΑ ΕΚΠΑΙΔΕΥΣΗ

Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

Διδακτική Προγραμματισμού. Χαρίκλεια Τσαλαπάτα 20/2/2012

ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ: Προγραμματιστικό Περιβάλλον, Αλγοριθμικές Δομές, Ψευδοκώδικας, Πρόγραμμα

Μια Εναλλακτική Προσέγγιση Διδασκαλίας του Προγραμματισμού στη Δευτεροβάθμια Εκπαίδευση

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

ΚΑΤΑΣΚΕΥΗ ΠΑΡΑΛΛΗΛΟΓΡΑΜΜΩΝ ΜΕ ΧΡΗΣΗ LOGO

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

«Το Λογισμικό Αράχνη Επικουρικό Εργαλείο στην Διδασκαλία του Προγραμματισμού»

H ιδασκαλία της Κληρονοµικότητας στον Προγραµµατιστικό Μικρόκοσµο objectkarel *

Διδακτική της Πληροφορικής ΙΙ

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

Σενάριο 13: Προγραμματίζοντας ένα Ρομπότ

Σχεδίαση Εκπαιδευτικού Λογισμικού. Εργασία 2 - Α' φάση. Σενάριο/Σχέδιο μαθήματος. Σταματία Κορρέ Μ1430

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗ, Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Βασικές εντολές σχεδίασης στη γλώσσα προγραμματισμού Logo Εντολή επανάληψης

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου

ΣΥΝΕΔΡΙΟ ΕΛ/ΛΑΚ 2010

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ

Μέρος B: Εισαγωγή στις έννοιες παιδαγωγικής αξιοποίησης των ΤΠΕ με εφαρμογή στη διδακτική της Πληροφορικής Οργάνωση και Σχεδίαση Μαθήματος

Εισαγωγή στην έννοια του Αλγορίθμου

Σχέδια μαθημάτων για την δημιουργία συναρτήσεων υπολογισμού του ΜΚΔ και του ΕΚΠ στην MSWLogo

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΠΡΟΓΡΑΜΜΑ ΕΠΙΜΟΡΦΩΣΗΣ Β ΕΠΙΠΕΔΟΥ ΠΕ19 20 ΑΠΡΙΛΙΟΣ 2013

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

Βαγγέλης Τσιλιγωνέας. Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήματα M.Sc. In Information Systems

Εισαγωγή στον προγραμματισμό

Η διάρκεια πραγματοποίησης της ανοιχτής εκπαιδευτικής πρακτικής ήταν 2 διδακτικές ώρες

«Εισαγωγή στις βασικές έννοιες του αντικειμενοστραφούς προγραμματισμού με τη βοήθεια του ObjectKarel»

Μάθημα: Διδακτική της Πληροφορικής. Περιγραφή μαθήματος. Διδάσκων: Παλαιγεωργίου Γ. Διαλέξεις: Παρασκευή 17:00-20:00

Πληροφορική Γυμνασίου. Δρ. Κοτίνη Ισαβέλλα Σχ. Σύμβουλος Πληροφορικής Πέλλας, Ημαθίας και Πιερίας

Ενότητα 12: Θέματα Διδακτικής Προγραμματισμού: Διδασκαλία αλγοριθμικής προσέγγισης

Αριστείδης Παλιούρας Εισαγωγή στη δομή επανάληψης

3 βήματα για την ένταξη των ΤΠΕ: 1. Εμπλουτισμός 2. Δραστηριότητα 3. Σενάριο Πέτρος Κλιάπης-Όλγα Κασσώτη Επιμόρφωση εκπαιδευτικών

Αξιοποίηση του Scratch στο πλαίσιο εκπόνησης ομαδικών εργασιών στο μάθημα της Πληροφορικής της Γ' Γυμνασίου

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

Διδακτική Πληροφορικής

Διδακτική Προσέγγιση για τον Αντικειμενοστρεφή Προγραμματισμό: εφαρμογή στο BlueJ

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Διδακτικές Τεχνικές (Στρατηγικές)

Εργαστηριακή εισήγηση. «Φύλλα Εργασίας για την διδασκαλία του μαθήματος Πληροφορικής Γυμνασίου Η Γλώσσα Προγραμματισμού LOGO»

ΔΗΜΙΟΥΡΓΙΑ ΓΕΩΜΕΤΡΙΚΩΝ ΣΧΗΜΑΤΩΝ ΣΕ LOGO

Εκσφαλμάτωση προγράμματος

ΔΙΔΑΣΚΑΛΙΑ ΤΗΣ ΕΝΝΟΙΑΣ ΤΟΥ ΟΡΙΟΥ ΣΥΝΑΡΤΗΣΗΣ

Προσομοιώσεις και οπτικοποιήσεις στη. μαθησιακή διαδικασία

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

Παιδαγωγική προσέγγιση: Πρόταση για την διδασκαλία της έννοιας αλγόριθµός στο περιβάλλον MicroWorlds Pro

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

ΔΗΜΙΟΥΡΓΙΑ ΓΕΩΜΕΤΡΙΚΩΝ ΣΧΗΜΑΤΩΝ ΣΕ LOGO

Δημιουργία Γεωμετρικών σχημάτων στη γλώσσα προγραμματισμού logo με χρήση της Δομής Επανάληψης.

Συντάχθηκε απο τον/την Administrator Δευτέρα, 22 Φεβρουάριος :11 - Τελευταία Ενημέρωση Παρασκευή, 26 Φεβρουάριος :52

ΠΡΟΣ: Τηλέφωνο: Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.:

Διδακτικές Προσεγγίσεις και Εργαλεία για τη Διδασκαλία της Πληροφορικής

Άλκης Γεωργόπουλος Εκπαιδευτικός ΠΕ19 Το µάθηµα «Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον» δεν έχει ως

Άθροισµα γωνιών τριγώνου, γωνίες ισοπλεύρου, ισοσκελούς τριγώνου και εξωτερική γωνία τριγώνου στην Α Γυµνασίου

... Τεχνολογία Επικοινωνιών Τεχνολογικής Κατεύθυνσης

ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΟΣΟ ΣΥΝΘΗΚΗ ΕΠΑΝΑΛΑΒΕ.ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ. Κοκκαλάρα Μαρία ΠΕ19

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

Περιγραφή του εκπαιδευτικού/ μαθησιακού υλικού (Teaching plan)

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Εργαστηριακή Εισήγηση. «Οι μεταβλητές στη γλώσσα προγραμματισμού Scratch»

με συνθήκη όπως Countif και IF-ΤΗΕΝ-ELSE στο

Βοηθήστε τη ΕΗ. Ένα µικρό νησί απέχει 4 χιλιόµετρα από την ακτή και πρόκειται να συνδεθεί µε τον υποσταθµό της ΕΗ που βλέπετε στην παρακάτω εικόνα.

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

Μαθηματικά και Πληροφορική. Διδακτική Αξιοποίηση του Διαδικτύου για τη Μελέτη και την Αυτο-αξιολόγηση των Μαθητών.

Τεχνολογία Επικοινωνιών Τεχνολογικής Κατεύθυνσης (Β Ημερησίου και Γ Εσπερινού Γενικού Λυκείου)

Η ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΔΗΜΟΤΙΚΟ ΣΧΟΛΕΙΟ

Η Δομή Επανάληψης. Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες

ΣΕΝΑΡΙΟ ΤΠΕ ΓΕΝΙΚΕΥΜΕΝΟ ΠΥΘΑΓΟΡΕΙΟ ΘΕΩΡΗΜΑ - ΝΟΜΟΣ ΣΥΝΗΜΙΤΟΝΩΝ

Τι ώρα είναι; 1. Τίτλος διδακτικού σεναρίου. 2. Εκτιμώμενη διάρκεια διδακτικού σεναρίου

Γνωριμία με το Διαδίκτυο και τις υπηρεσίες του

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

Πειραματική Μελετη της Ατμοσφαίρας στο Μικρόκοσμο Torricelli του Λογισμικού ΓΑΙΑ ΙΙ

ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ 1. ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦ.

1 ΕΙΣΑΓΩΓΗ 2 ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ «ΠΕΙΡΑΜΑΤΙΚΗ ΜΕΛΕΤΗ ΤΗΣ ΑΤΜΟΣΦΑΙΡΑΣ» ΜΕ ΤΟ ΜΙΚΡΟΚΟΣΜΟ «TORRICELLI» ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΓΑΙΑ ΙΙ

Ανάπτυξη Βασικών Προγραµµατιστικών Τεχνικών από Μαθητές Γ Γυµνασίου µε Χρήση του MicroWorlds Pro

ΤΡΟΠΟΙ ΑΞΙΟΠΟΙΗΣΗΣ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΨΗΦΙΑΚΩΝ ΚΟΜΙΚΣ ΣΤΗΝ ΤΑΞΗ «οι μύθοι του Αισώπου»

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ Να διατηρηθεί μέχρι... Βαθμός Ασφαλείας...

Διδακτική Παρέμβαση Τάξη Σχολείο Δημοτικό ΠΑΛΑΙΟΥ ΑΓΙΟΝΕΡΙΟΥ Ονοματεπώνυμο Ημερομηνία: Τίτλος Δραστηριότητας: Διάρκεια: 1 διδακτική ώρα

Εκπαιδευτικό Σενάριο 2

ΘΕΜΑ : Μια βιωματική διδακτική πρόταση στην Πληροφορική Γ Γυμνασίου με θέμα: «Από τον Αλγόριθμο στον Προγραμματισμό σε περιβάλλον MicroWorlds Pro»

Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών

Η χρήση της Logo για τη διδασκαλία της δομής επανάληψης σε σύγκριση με τη χρήση των LEGO Mindstorms : μελέτη περίπτωσης με μαθητές Γυμνασίου

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΧΗΜΕΙΑΣ

ΘΕΜΑ : «Από την ΜicroWorlds Pro στην Python. Μια Βιωματική Διδακτική Πρόταση.»

1. Ποιους μαθησιακούς στόχους θα προσδιορίζατε στα πλαίσια της διδακτικής δραστηριότητας;

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Μία διδακτική πρόταση για τη χρήση της Δομής Επιλογής στο Περιβάλλον Προγραμματισμού MicroWorlds Pro της Logo

Transcript:

Διδασκαλία του Δομημένου Προγραμματισμού με το Ρομπότ Karel Ξυνόγαλος Στέλιος Επίκουρος Καθηγητής, Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας stelios@uom.edu.gr

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

Εισαγωγή Η διδασκαλία και εκμάθηση του προγραμματισμού είναι γνωστό ότι παρουσιάζει αρκετές δυσκολίες. Μια από τις σημαντικότερες πηγές δυσκολιών έγκειται στο γεγονός ότι η διδασκαλία του προγραμματισμού πραγματοποιείται με τον τρόπο που υπαγορεύει η κλασική προσέγγιση διδασκαλίας που συνίσταται: στη χρήση μιας γλώσσας προγραμματισμού γενικού σκοπού (π.χ. Pascal) ενός επαγγελματικού περιβάλλοντος προγραμματισμού και την επίλυση ενός συνόλου προβλημάτων επεξεργασίας αριθμών και συμβόλων Ο μικρόκοσμος του ρομπότ Karel 3

Μικρόκοσμοι Προγραμματισμού Η γλώσσα προγραμματισμού αποτελείται από ένα περιορισμένο ρεπερτόριο εντολών με απλή σύνταξη και σημασιολογία. Ωστόσο, περιλαμβάνει όλες τις βασικές δομές ελέγχου και ένα μηχανισμό δημιουργίας νέων εντολών και υποπρογραμμάτων. Ενσωμάτωση ενός ανοιχτού περιβάλλοντος στο οποίο ο χρήστης ελέγχει ένα πρωταγωνιστή που «ζει» στο περιβάλλον αυτό. Το αποτέλεσμα της (βήμα προς βήμα) εκτέλεσης των εντολών είναι ορατό στην οθόνη. Υπάρχει δυνατότητα επίλυσης τόσο απλών όσο και πολύπλοκων προβλημάτων. Ο μικρόκοσμος του ρομπότ Karel 4

Πεδία εφαρμογής Εισαγωγή στον προγραμματισμό, η οποία μπορεί να επικεντρωθεί αποκλειστικά στη διδασκαλία εννοιών ή να προετοιμάσει παράλληλα τους σπουδαστές για την ευκολότερη μετάβαση σε μια γλώσσα προγραμματισμού γενικού σκοπού. Στήριξη των σπουδαστών στην κατανόηση δύσκολων εννοιών. Ανάπτυξη δεξιοτήτων επίλυσης προβλημάτων και αλγοριθμικού τρόπου σκέψης. Απόκτηση βασικών γνώσεων του προγραμματισμού αλλά και της επιστήμης των υπολογιστών γενικότερα. Ο μικρόκοσμος του ρομπότ Karel 5

Διδακτικά Προβλήματα Κλασική Προσέγγιση Η γλώσσα προγραμματισμού διαθέτει, κατά κανόνα, ένα μεγάλο ρεπερτόριο εντολών και είναι πολύπλοκη. Επικέντρωση της προσοχής των μαθητών στην εκμάθηση της σύνταξης της γλώσσας. Μικρόκοσμοι προγραμματισμού Η γλώσσα προγραμματισμού αποτελείται από ένα περιορισμένο ρεπερτόριο εντολών με απλή σύνταξη και σημασιολογία. Επικέντρωση στις έννοιες και στην ανάπτυξη δεξιοτήτων για την αλγοριθμική επίλυση των προβλημάτων και όχι στις συντακτικές ιδιατερότητες μιας γλώσσας προγραμματισμού. Ο μικρόκοσμος του ρομπότ Karel 6

Διδακτικά Προβλήματα (συνέχεια ) Κλασική Προσέγγιση Στα επαγγελματικά περιβάλλοντα δεν υπάρχει (κατά κανόνα) επαρκής στήριξη του σπουδαστή στην κατανόηση των βασικών ενεργειών/δομών ελέγχου. Οι εμπορικοί μεταγλωττιστές δεν ικανοποιούν τις ανάγκες των αρχάριων προγραμματιστών. Μικρόκοσμοι προγραμματισμού Η δυναμική προσομοίωση της εκτέλεσης των προγραμμάτων αποκαλύπτει τη σημασία των διδασκόμενων εννοιών. Τα συντακτικά λάθη είναι λιγότερα λόγω της απλότητας της γλώσσας, ενώ τα λογικά λάθη εντοπίζονται εύκολα κατά τη δυναμική προσομοίωση της εκτέλεσης ενός προγράμματος. Ο μικρόκοσμος του ρομπότ Karel 7

Διδακτικά Προβλήματα (συνέχεια ) Κλασική Προσέγγιση Η διανοητική πολυπλοκότητα που απαιτεί η εκφορά ενός αλγορίθμου σε μια γλώσσα προγραμματισμού γενικού σκοπού είναι μεγάλη. Η επίλυση προβλημάτων που παρουσιάζουν ενδιαφέρον απαιτεί την εκμάθηση ενός μεγάλου υποσυνόλου της γλώσσας και την ανάπτυξη αρκετά μεγάλων προγραμμάτων. Μικρόκοσμοι προγραμματισμού Η διανοητική πολυπλοκότητα μειώνεται δραματικά γιατί οι μικρόκοσμοι βασίζονται σε υπαρκτά μοντέλα που είναι ήδη γνωστά στο σπουδαστή. Τα προβλήματα που καλούνται να λύσουν οι σπουδαστές (ακόμα και από τα πρώτα μαθήματα) παρουσιάζουν ιδιαίτερο ενδιαφέρον, μιας και πρόκειται για προβλήματα της καθημερινής ζωής. Ο μικρόκοσμος του ρομπότ Karel 8

Εκπαιδευτικά εργαλεία Logo Η Logo με τα γνωστά γραφικά της χελώνας είναι το πιο γνωστό παράδειγμα μικρόκοσμου. Αν και δεν σχεδιάστηκε ειδικά για τη διδασκαλία του προγραμματισμού αποτέλεσε ένα χρήσιμο εργαλείο για τη στήριξή της, με αποτέλεσμα να θεωρείται το πρώτο παράδειγμα μικρόκοσμου. Η ευρεία χρήση της για ποικίλους εκπαιδευτικούς σκοπούς είχε ως αποτέλεσμα τη δημιουργία αρκετών παραλλαγών και συστημάτων βασισμένων σε αυτή, με πιο γνωστά τα παρακάτω: MultiLogo Lego-Logo StarLogo Ο μικρόκοσμος του ρομπότ Karel 9

Εκπαιδευτικά εργαλεία Ο μικρόκοσμος Karel the Robot σχεδιάστηκε από τον Richard E. Pattis. Πρωταγωνιστής του μικρόκοσμου είναι το ρομπότ Karel, το οποίο εκτελεί διάφορες αποστολές (προγράμματα) σε ένα κόσμο που αποτελείται από οριζόντιους δρόμους και κάθετες λεωφόρους, τμήματα τοίχου και beepers (μικροί πλαστικοί κώνοι που παράγουν ένα ήχο). Τοίχος που εκτείνεται προς τα βόρεια Δρόμοι 5 4 3 2 1 Karel 1 2 3 4 5 Λεωφόροι beeper Τμήμα τοίχου Τοίχος που εκτείνεται προς τα ανατολικά Ο μικρόκοσμος του ρομπότ Karel 10

Ο μικρόκοσμος Karel Αποτελεί επέκταση του μικρόκοσμου objectkarel, ο οποίος αποσκοπεί στη στήριξη της διδασκαλίας του αντικειμενοστρεφούς προγραμματισμού. Αποσκοπεί στη στήριξη της διδασκαλίας του διαδικαστικού προγραμματισμού, ο οποίος διδάσκεται τις τελευταίες δεκαετίες στα Ελληνικά Γυμνάσια. Αναπτύχθηκε στα πλαίσια του έργου ΕΠΕΑΕΚ με τίτλο «ΠΥΘΑΓΟΡΑΣ ΙΙ». Ο μικρόκοσμος του ρομπότ Karel 11

Ο μικρόκοσμος Karel https://sites.google.com/a/uom.edu.gr/stelios-xinogalos/ Ο μικρόκοσμος του ρομπότ Karel 12

Διδακτική Προσέγγιση Επιπλέον, το περιβάλλον ενσωματώνει διάφορες μορφές Εκπαιδευτικής Τεχνολογίας: ένα συντάκτη δομής που επιτρέπει την ανάπτυξη ενός προγράμματος μέσω ενός μενού εντολών και πλαισίων διαλόγου επικέντρωση στις έννοιες και όχι στις συντακτικές λεπτομέρειες της γλώσσας προγραμματισμού καθοδήγηση στην ανάπτυξη των προγραμμάτων επεξηγηματική οπτικοποίηση, εμφάνιση δηλαδή επεξηγήσεων σε φυσική γλώσσα για τη σημασία της τρέχουσας εντολής παρέχει ένα εναλλακτικό μέσο στήριξης των μαθητών στην κατανόηση της σημασίας των προγραμματιστικών δομών και της ροής εκτέλεσης ενός προγράμματος Ο μικρόκοσμος του ρομπότ Karel 13

Διδακτική Προσέγγιση Η σημαντικότερη διαφορά του συγκεκριμένου περιβάλλοντος σε σχέση με αντίστοιχα εκπαιδευτικά προγραμματιστικά περιβάλλοντα έγκειται στο γεγονός ότι αποτελεί ένα μαθησιακό και όχι απλά ένα προγραμματιστικό περιβάλλον. στο περιβάλλον ενσωματώνεται ένα τμήμα που περιλαμβάνει όλο το απαραίτητο διδακτικό υλικό: θεωρία: χρησιμοποιείται για την παρουσίαση των διαφόρων προγραμματιστικών δομών/εννοιών δραστηριότητες: χρησιμοποιούνται για την εξοικείωση των μαθητών με τις διδασκόμενες έννοιες πριν να κληθούν να τις χρησιμοποιήσουν για την ανάπτυξη προγραμμάτων Ο μικρόκοσμος του ρομπότ Karel 14

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

Διδακτική Προσέγγιση Ενσωματωμένες στο περιβάλλον δραστηριότητες έχουν ως στόχο την εξοικείωση των μαθητών με τις νέες προγραμματιστικές δομές πριν να κληθούν να τις εφαρμόσουν για την επίλυση προβλημάτων Οι δραστηριότητες αυτές περιλαμβάνουν, ενδεικτικά: την εκτέλεση εντολών με το πάτημα κουμπιών και ταυτόχρονη εμφάνιση της σύνταξης και του αποτελέσματος τους τη μελέτη και βηματική εκτέλεση έτοιμων προγραμμάτων Ο μικρόκοσμος του ρομπότ Karel 16

Τα παιδαγωγικά οφέλη του Karel Χαρακτηριστικό Χρήση της προσέγγισης των μικρόκοσμων Ενσωμάτωση τμήματος με μαθήματα (θεωρία, δραστηριότητες) Συντάκτης δομής Φιλικά προς το χρήστη μηνύματα λάθους Βηματική εκτέλεση και επεξηγηματική οπτικοποίηση Καταγραφή των ενεργειών των μαθητών Παιδαγωγικά οφέλη εξαλείφει το πρόβλημα του εκτεταμένου ρεπερτορίου εντολών και την πολυπλοκότητα των γλωσσών προγραμματισμού γενικού σκοπού μειώνει τη διανοητική απόσταση ανάμεσα στα νοητικά μοντέλα ή τις περιγραφές των αλγορίθμων σε φυσική γλώσσα και την περιγραφή τους στη γλώσσα προγραμματισμού επιλύονται προβλήματα που προκαλούν το ενδιαφέρον των μαθητών όλο το απαραίτητο υλικό για το μαθητή συμπεριλαμβάνεται στο περιβάλλον οι δραστηριότητες βοηθάνε τους μαθητές να εξοικειωθούν με τις έννοιες πριν να τους ζητηθεί να τις υλοποιήσουν δεν χρειάζεται να απομνημονευθούν οι συντακτικές λεπτομέρειες της γλώσσας προγραμματισμού και δίνεται η δυνατότητα επικέντρωσης στις έννοιες αποφεύγεται η χρονοβόρα διαδικασία εντοπισμού και διόρθωσης των λαθών, η οποία συνήθως προκαλεί την απογοήτευση των μαθητών οι λανθασμένες αντιλήψεις, στις οποίες συνήθως οφείλονται τα λάθη, αποκαλύπτονται στους μαθητές αποκαλύπτει τη δυναμική φύση της εκτέλεσης προγραμμάτων στηρίζει τους μαθητές στην κατανόηση της σημασιολογίας των δομών ελέγχου και της ροής εκτέλεσης υποστηρίζει τους μαθητές στον εντοπισμό λογικών λαθών δίνει τη δυνατότητα στο διδάσκοντα να καλύψει περισσότερη ύλη σε μικρότερο χρονικό διάστημα στηρίζει τους διδάσκοντες στη μελέτη των δυσκολιών και των λανθασμένων αντιλήψεων, καθώς και των τεχνικών επίλυσης προβλημάτων που χρησιμοποιούν οι μαθητές Ο μικρόκοσμος του ρομπότ Karel 17

Οργάνωση των μαθημάτων Στη συνέχεια, παρουσιάζεται μια ενδεικτική οργάνωση των μαθημάτων, η οποία εφαρμόστηκε πιλοτικά για τη διδασκαλία του προγραμματισμού στη Γ τάξη του 2 ου Πειραματικού Γυμνασίου Θεσσαλονίκης το σχολ. έτος 2008-2009. Διδακτική ώρα Τίτλος μαθήματος 1 η 2 η Βασικές εντολές 3 η 4 η Δημιουργία νέων εντολών 5 η 6 η Δομή επιλογής 7 η 8 η Δομές επανάλ. Περιεχόμενο Περιγραφή του μικρόκοσμου, πρόγραμμα, βασικές εντολές, μπλοκ εντολών, κυρίως πρόγραμμα Ορισμός νέας εντολής, τα πλεονεκτήματα της δημιουργίας νέων εντολών Συνθήκη, λογικές τιμές, χρησιμότητα των εντολών υπό συνθήκη, if, if/else while, loop Ο μικρόκοσμος του ρομπότ Karel 18

1 η διδακτική ώρα: θεωρία Παρουσιάζεται στους μαθητές: ο μικρόκοσμος του ρομπότ Karel οι βασικές εντολές που μπορεί να εκτελέσει: move() turnleft() pickbeeper() putbeeper() Το σχετικό υλικό παρουσιάζεται χρησιμοποιώντας τις ενότητες «Εισαγωγή» και «Βασικές Εντολές» που ενσωματώνονται στο τμήμα των μαθημάτων του περιβάλλοντος. Ο μικρόκοσμος του ρομπότ Karel 19

1 η διδακτική ώρα: δραστηριότητα Οι μαθητές κατευθύνουν τον Karel να φέρει εις πέρας την πρώτη του αποστολή πατώντας κουμπιά που έχουν ως ετικέτες τις 4 βασικές εντολές. Οι μαθητές μπορούν να δουν: ποιο είναι το αποτέλεσμα εκτέλεσης της κάθε εντολής από τον Karel πώς μεταβάλλονται οι τιμές των τεσσάρων μεταβλητών που ενημερώνονται με τις μεταβολές της κατάστασης του Karel τη σύνταξη των εντολών στη γλώσσα προγραμματισμού Ο μικρόκοσμος του ρομπότ Karel 20

2 η διδακτική ώρα: ασκήσεις Ενδεικτική άσκηση Τα τμήματα τοίχου στην παρακάτω Εικόνα αναπαριστάνουν ένα βουνό. Προγραμμάτισε τον Karel ώστε να ανέβει στην κορυφή του βουνού και να τοποθετήσει μια σημαία, που αναπαριστάνεται με ένα beeper. Στη συνέχεια ο Karel πρέπει να κατέβει από την άλλη μεριά του βουνού. Υπέθεσε ότι ο Karel ξεκινάει με μια σημαία-beeper στην τσάντα του και ακολουθεί τη διαδρομή που φαίνεται στην τελική κατάσταση της Εικόνας. Αρχική κατάσταση Τελική κατάσταση Η αποστολή αναρρίχησης στο βουνό και τοποθέτησης της σημαίας. Ο μικρόκοσμος του ρομπότ Karel 21

3 η διδακτική ώρα: θεωρία Παρουσιάζεται στους μαθητές η δυνατότητα δημιουργίας νέων εντολών. Προκειμένου να κατανοήσουν οι μαθητές την αξία της δυνατότητας δημιουργίας νέων εντολών χρησιμοποιείται ένα απλό πρόβλημα για το οποίο, όμως, απαιτείται η ανάπτυξη ενός προγράμματος μεγάλης έκτασης (περισσότερες από 120 εντολές) που είναι δύσκολο να αποσφαλματωθεί ή να τροποποιηθεί για την επίλυση ενός παρόμοιου προβλήματος. Στα πλαίσια του προβλήματος αυτού ο Karel πρέπει να μετακινείται κατά χιλιόμετρα (1 χιλιόμετρο = 8 μπλοκ). Εξηγείται ότι το πρόβλημα έγκειται στο γεγονός ότι οι λύσεις μας πρέπει να μεταφράζονται στις στοιχειώδεις, βασικές εντολές του ρομπότ Karel. Προκειμένου να λυθεί το πρόβλημα αυτό, η γλώσσα προγραμματισμού του ρομπότ Karel μας δίνει τη δυνατότητα να δημιουργούμε νέες εντολές που προσθέτουν νέες δυνατότητες στο ρομπότ Karel. Για το παράδειγμά μας μπορούμε να ορίσουμε μια εντολή moveklm() η οποία θα καλεί 8 φορές την εντολή move(). Ο μικρόκοσμος του ρομπότ Karel 22

3 η διδακτική ώρα: δραστηριότητα Παρουσιάζεται στους μαθητές το πρόβλημα σκουπίσματος της σκάλας που παρατίθεται στη συνέχεια (δραστηριότητα του μαθήματος «Συναρτήσεις» ενσωματωμένη στο περιβάλλον). Στον κόσμο του Karel υπάρχει η σκάλα που φαίνεται δίπλα. Ο Karel ξεκινώντας από τη διασταύρωση (1,1) με κατεύθυνση προς τα ανατολικά πρέπει να ανέβει τη σκάλα συγκεντρώνοντας τα αντικείμενα (beeper) που βρίσκονται σε κάθε σκαλοπάτι. Σύγκρινε τα δύο προγράμματα - «Λύση χωρίς τη Δημιουργία Νέας Εντολής» και «Λύση με τη Δημιουργία Νέας Εντολής» - τα οποία λύνουν το ίδιο πρόβλημα σωστά. Ποιο από τα δύο θεωρείς «καλύτερο» και γιατί; Αν η σκάλα είχε δέκα σκαλοπάτια ποιόν από τους δύο τρόπους λύσης θα επέλεγες; Αρχικά, οι μαθητές εκτελούν βηματικά ένα πρόγραμμα που χρησιμοποιεί μόνο τις τέσσερις βασικές εντολές («Λύση χωρίς τη Δημιουργία Νέας Εντολής») και στη συνέχεια ένα πρόγραμμα όπου δηλώνονται δύο νέες εντολές «Λύση με τη Δημιουργία Νέας Εντολής» : η turnright() για τη στροφή κατά 90 μοίρες δεξιά και η climbstair() για το ανέβασμα στο επόμενο σκαλοπάτι και το σκούπισμά του. Ο μικρόκοσμος του ρομπότ Karel 23

4 η διδακτική ώρα: ασκήσεις Αρχικά, οι μαθητές καλούνται να μελετήσουν το πρόγραμμα που αναπτύχθηκε τη 2η διδακτική ώρα για το πρόβλημα της αναρρίχησης στο βουνό και τοποθέτησης της σημαίας. Οι μαθητές συζητάνε και προτείνουν τρόπους βελτίωσης του υπάρχοντος προγράμματος ορίζοντας νέες εντολές. Συμπερασματικά, προτείνεται ο ορισμός τριών νέων εντολών τις οποίες υλοποιούν οι μαθητές: στροφή δεξιά κατά 90 μοίρες, ανέβασμα στο επόμενο επίπεδο του βουνού και κατέβασμα στο επόμενο επίπεδο του βουνού. Οι μαθητές σχολιάζουν τα πλεονεκτήματα και μειονεκτήματα των δύο προγραμμάτων που αναπτύχθηκαν για το ίδιο πρόβλημα. Στη συνέχεια, ανατίθενται στους μαθητές ασκήσεις για το σπίτι, η επίλυση των οποίων ξεκινάει στο εργαστήριο. Παρουσιάζεται ενδεικτικά μία από αυτές. Ο μικρόκοσμος του ρομπότ Karel 24

4 η διδακτική ώρα: ασκήσεις Ενδεικτική άσκηση Ο Karel πρέπει να θερίσει το χωράφι με τα beepers που φαίνεται στην Εικόνα. Σε κάθε διασταύρωση υπάρχει ένα beeper. Προγραμμάτισε τον Karel να φέρει εις πέρας την αποστολή του θερίσματος. Επειδή το χωράφι αποτελείται από οριζόντιες γραμμές beeper ίδιου μήκους και το ρομπότ χρειάζεται να εκτελέσει τις ίδιες ενέργειες για το θέρισμα της κάθε γραμμής μπορείς να ορίσεις μια νέα εντολή, έστω harvestonerow(). Την εντολή αυτή θα την καλέσεις στη συνέχεια τρεις φορές από το κυρίως πρόγραμμα (task) για το θέρισμα όλου του χωραφιού. Η αποστολή θερίσματος του χωραφιού. Ο μικρόκοσμος του ρομπότ Karel 25

5 η διδακτική ώρα: θεωρία-δραστηριότητα Παρουσιάζονται στους μαθητές οι δομές επιλογής. Χρησιμοποιείται η δραστηριότητα της ενότητας «Δομές Επιλογής», στην οποία παρουσιάζεται μια γενικότερη μορφή του γνωστού προβλήματος του σκουπίσματος της σκάλας. Σε αυτή την περίπτωση σε κάθε σκαλοπάτι μπορεί να υπάρχει ένα ή κανένα σκουπίδι (beeper). Μετά από συζήτηση με τους μαθητές προκύπτει η ανάγκη ύπαρξης της δυνατότητας ελέγχου από το ρομπότ της κατάστασης του και του κόσμου όπου κινείται. Αρχικά, παρουσιάζονται στους μαθητές οι συνθήκες που μπορεί να ελέγξει ο Karel και η δομή επιλογής if. Ο μικρόκοσμος του ρομπότ Karel 26

5 η διδακτική ώρα: θεωρία-δραστηριότητα Οι μαθητές έχουν τη δυνατότητα πατώντας τα κουμπιά των τεσσάρων βασικών εντολών να παρακολουθήσουν το ρομπότ να εκτελεί τις εντολές, καθώς επίσης και να δουν ποιες συνθήκες αληθεύουν και ποιες όχι κάθε χρονική στιγμή. Τέλος, οι μαθητές μελετούν τη νέα έκδοση του προγράμματος και το εκτελούν βηματικά για διάφορες περιπτώσεις (σκάλα χωρίς κανένα σκουπίδι, σκάλα με ένα σκουπίδι σε κάθε σκαλοπάτι, σκάλα με σκουπίδι σε τυχαίες θέσεις) προκειμένου να κατανοήσουν τη σημασία της εκτέλεσης υπό συνθήκη. Ο μικρόκοσμος του ρομπότ Karel 27

6 η διδακτική ώρα: ασκήσεις Οι μαθητές τροποποιούν υπάρχοντα και αναπτύσσουν νέα προγράμματα χρησιμοποιώντας τις δομές επιλογής if και if/else. Για παράδειγμα, τροποποιούν το πρόγραμμα θερίσματος του χωραφιού, έτσι ώστε να δίνει σωστό αποτέλεσμα και στην περίπτωση που σε κάποιες θέσεις του χωραφιού δεν υπάρχει beeper (αν ο Karel εκτελέσει την εντολή pickbeeper() χωρίς να υπάρχει beeper στη διασταύρωση του η εκτέλεση του προγράμματος τερματίζεται λάθος εκτέλεσης). Ο μικρόκοσμος του ρομπότ Karel 28

7 η διδακτική ώρα: θεωρία-δραστηριότητα Παρουσιάζονται στους μαθητές οι δομές επανάληψης. Οι δομές επανάληψης παρουσιάζονται χρησιμοποιώντας τη δραστηριότητα της ενότητας «Δομές Επανάληψης». Στα πλαίσια της δραστηριότητας αυτής παρουσιάζεται η πιο γενική μορφή του γνωστού προβλήματος του σκουπίσματος της σκάλας των δύο προηγούμενων ενοτήτων: σε κάθε σκαλοπάτι υπάρχει άγνωστος αριθμός σκουπιδιών (beeper). Γίνεται συζήτηση με τους μαθητές και προκύπτει η ανάγκη ύπαρξης της δυνατότητας ελέγχου από το ρομπότ της κατάστασης του και του κόσμου όπου κινείται κατ επανάληψη. Οι μαθητές καταλήγουν εύκολα στο συμπέρασμα ότι ο Karel θα πρέπει να έχει τη δυνατότητα να ελέγχει αν υπάρχει κάποιο beeper στη διασταύρωση του και στη συνέχεια να το σηκώνει, όχι όμως μία μόνο φορά όπως με τη δομή επιλογής if, αλλά επαναλαμβανόμενα μέχρι να σηκώσει όλα τα beeper. Ο μικρόκοσμος του ρομπότ Karel 29

7 η διδακτική ώρα: θεωρία-δραστηριότητα Σε αυτό το σημείο παρουσιάζεται η δομή επανάληψης υπό συνθήκη (while) και η σημασία της. Στη συνέχεια, οι μαθητές καλούνται να σκεφτούν τι θα γίνει σε μια σκάλα με 50 σκαλοπάτια και εύκολα διατυπώνουν την άποψη ότι σίγουρα θα υπάρχει μια εντολή που να «λέει» στον Karel πόσες φορές θέλουμε να εκτελέσει κάποιες ενέργειες! Η εντολή αυτή όντως υπάρχει (loop) και παρουσιάζεται στους μαθητές. Η λύση για το πρόβλημα με το σκούπισμα της σκάλας παρουσιάζεται στους μαθητές, οι οποίοι καλούνται να την ελέγξουν για οποιαδήποτε αρχική κατάσταση. Ο μικρόκοσμος του ρομπότ Karel 30

8 η διδακτική ώρα: ασκήσεις Ενδεικτική άσκηση Ο Karel πρέπει να θερίσει ένα χωράφι με beepers που έχει διάσταση 5 3, όπως φαίνεται στη Εικόνα. Σε κάθε διασταύρωση υπάρχει άγνωστος αριθμός beeper (κανένα, ένα ή περισσότερα). Προγραμμάτισε τον Karel να φέρει εις πέρας την αποστολή του θερίσματος. Στην Εικόνα φαίνεται μία πιθανή αρχική κατάσταση. Επειδή το χωράφι αποτελείται από οριζόντιες γραμμές beeper ίδιου μήκους και το ρομπότ χρειάζεται να εκτελέσει τις ίδιες ενέργειες για το θέρισμα της κάθε γραμμής μπορείς να ορίσεις μια νέα εντολή, έστω harvestonerow(). Την εντολή αυτή θα την καλέσεις στη συνέχεια τρεις φορές από το κυρίως πρόγραμμα (task) για το θέρισμα όλου του χωραφιού. Η αποστολή του θερίσματος σε ένα χωράφι με άγνωστο αριθμό beepers σε κάθε διασταύρωση. Ο μικρόκοσμος του ρομπότ Karel 31

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

Αξιολόγηση πρόβλημα Ο Karel θα δουλέψει σε μια φάρμα με άλογα. Το καθήκον του θα είναι να καθαρίζει τα υπολείμματα τροφής (beepers) από τους στάβλους και να τα εναποθέτει σε μια συγκεκριμένη θέση. Όλοι οι στάβλοι χωράνε 7 άλογα και έχουν μεταξύ δύο διαδοχικών θέσεων χωρίσματα που καθορίζουν τη θέση του κάθε αλόγου. Δημιούργησε: μια διαδικασία, έστω clean, η οποία θα κατευθύνει τον Karel στον καθαρισμό ενός στάβλου 7 θέσεων (σε κάθε θέση μπορεί να υπάρχει 1 ή κανένα beeper). μια διαδικασία, έστω leavetrash, η οποία θα καθοδηγεί τον Karel αφού καθαρίσει όλα τα υπολείμματα τροφής - να τα εναποθέτει στην επάνω δεξιά γωνία του στάβλου, όπως φαίνεται στην «Τελική κατάσταση». Προσοχή! Στην εικόνα φαίνεται μία πιθανή αρχική κατάσταση δεν γνωρίζουμε αν και σε ποιες θέσεις υπάρχουν υπολείμματα τροφής. Πιθανή αρχική κατάσταση Τελική κατάσταση Ο μικρόκοσμος του ρομπότ Karel 33

Αξιολόγηση τυπική λύση 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 void clean() { loop(7) { turnleft(); move(); turnleft(); turnleft(); turnleft(); move(); turnleft(); turnleft(); turnleft(); move(); if (nexttoabeeper()) { pickbeeper(); } turnleft(); } } 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 void leavetrash() { turnleft(); move(); move(); while (anybeepersinbeeperbag()) { putbeeper(); } turnleft(); move(); } task { } clean(); leavetrash(); Ο μικρόκοσμος του ρομπότ Karel 34

Αξιολόγηση - αποτελέσματα Τα αποτελέσματα από την αξιολόγηση των μαθητών ήταν ιδιαίτερα θετικά. Ένας στους δύο μαθητές (51.1%) ανέπτυξε πρόγραμμα που δίνει σωστά αποτελέσματα για κάθε πιθανή αρχική κατάσταση. Ένας στους τρεις ανέπτυξε πρόγραμμα απόλυτα σύμφωνο με τον προσδιορισμό του προβλήματος, δηλαδή όρισε τις απαιτούμενες διαδικασίες και χρησιμοποίησε τις απαραίτητες δομές ελέγχου. Ο μικρόκοσμος του ρομπότ Karel 35

Αξιολόγηση - αποτελέσματα Αποτελέσματα που αφορούν στην έννοια της διαδικασίας: Όλοι σχεδόν οι μαθητές (95.4%) όρισαν μία τουλάχιστον διαδικασία. Η πλειονότητα των μαθητών (62.8%) όρισε και τις δύο διαδικασίες που απαιτούνταν από τον ορισμό του προβλήματος. Ένας στους δύο μαθητές (51.1%) ορίζει διαδικασία μη απαιτούμενη από τον προσδιορισμό του προβλήματος προκειμένου να μην επαναλαμβάνει το ίδιο τμήμα κώδικα και την καλεί μέσα από άλλη διαδικασία που ορίζει (51.1%). Συγκεκριμένα, οι μαθητές όρισαν διαδικασία turnright για να δώσουν στο ρομπότ Karel τη δυνατότητα να στρίβει δεξιά κατά 90 μοίρες και αντικατέστησαν τις γραμμές 7-9 και 11-13 στον κώδικα με μια κλήση αυτής της διαδικασίας. Ο μικρόκοσμος του ρομπότ Karel 36

Αξιολόγηση - αποτελέσματα Παρόλο που το ποσοστό των μαθητών που παρείχε μια υλοποίηση για τη διαδικασία clean (95.4%) ήταν πολύ μεγαλύτερο σε σχέση με το αντίστοιχο ποσοστό των μαθητών που παρείχε υλοποίηση για τη διαδικασία leavetrash (62.8%), το ποσοστό αυτών που παρείχαν μια υλοποίηση σύμφωνα με τον προσδιορισμό του προβλήματος ήταν μεγαλύτερο για τη διαδικασία leavetrash σε σχέση με τη διαδικασία clean (41.8% έναντι 30.2%). Αυτό βέβαια ήταν αναμενόμενο αφού η διαδικασία clean απαιτούσε τη χρήση εμφωλευμένων δομών και συνεπώς παρουσίαζε μεγαλύτερη πολυπλοκότητα. Ένας σημαντικός αριθμός μαθητών υλοποίησε τη διαδικασία clean έτσι ώστε να καθαρίζει μία μόνο θέση του στάβλου αντί και για τις επτά όπως ζητήθηκε και μετάφερε μέρος της λειτουργικότητας της διαδικασίας στο κυρίως πρόγραμμα ως εξής: 23.3% χρησιμοποίησε βρόχο για να καλέσει 7 φορές τη διαδικασία και 7% κάλεσε τη διαδικασία 7 φορές χωρίς τη χρήση βρόχου Ο μικρόκοσμος του ρομπότ Karel 37

Αξιολόγηση - αποτελέσματα Ορισμένοι μαθητές επέλεξαν να μην υλοποιήσουν τη διαδικασία leavetrash και να γράψουν το σχετικό κώδικα απευθείας στο κυρίως πρόγραμμα (14%). Όταν ρωτήθηκαν γι αυτή τους την επιλογή ανέφεραν ότι ο «κώδικας ήταν αρκετά μικρός και δεν επιβάρυνε το κυρίως πρόγραμμα». Ο μικρόκοσμος του ρομπότ Karel 38

Αξιολόγηση - αποτελέσματα Αποτελέσματα που δεν αφορούν στην έννοια της διαδικασίας: Ένας στους δέκα μαθητές φαίνεται να μην αναγνωρίζει την ανάγκη χρήσης δομών ελέγχου για τη σωστή επίλυση του προβλήματος και αναπτύσσει πρόγραμμα για τη συγκεκριμένη αρχική κατάσταση (9.3% - διαδικασία clean & 11.6% διαδικασία leavetrash). Ένας στους τρεις περίπου μαθητές χρησιμοποιεί την επαναληπτική δομή while αντί για τη δομή ελέγχου if (30.2%) προκειμένου να αναπτύξει ένα πρόγραμμα το οποίο θα δίνει σωστά αποτελέσματα και σε μια πιο γενικευμένη μορφή του προβλήματος από αυτή για την οποία αναπτύχθηκε. Η συμπεριφορά αυτή οφείλεται στο γεγονός ότι στα μαθήματα χρησιμοποιήθηκε από την αρχή μέχρι το τέλος ένα πρόβλημα που σε κάθε μάθημα επιλύονταν σε μια όλο και πιο γενικευμένη μορφή αξιοποιώντας τις νέες δομές που παρουσιαζόταν στους μαθητές, και όχι στη γνωστή σύγχυση των δομών if και while. Ο μικρόκοσμος του ρομπότ Karel 39

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

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

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

Συμπεράσματα Η παρουσίαση των βασικών δομών που πραγματοποιήθηκε τις τρεις επόμενες διδακτικές ώρες χρησιμοποιώντας την ψευδογλώσσα που χρησιμοποιούνταν στο παλιό σχολικό βιβλίο έδειξε ότι η εισαγωγή των μαθητών στον προγραμματισμό με το ρομπότ Karel τους βοήθησε να αποκτήσουν ένα ισχυρό υπόβαθρο και να ανακαλέσουν τις σχετικές προγραμματιστικές γνώσεις που απέκτησαν και σε μια άλλη γλώσσα. Τέλος, ένα γενικότερο συμπέρασμα που προέκυψε είναι ότι η χρήση ειδικά σχεδιασμένων περιβαλλόντων και δραστηριοτήτων καθιστούν δυνατή τη διδασκαλία στους μαθητές εννοιών του προγραμματισμού που θεωρούνται δύσκολες (όπως οι διαδικασίες), σε μικρότερο χρονικό διάστημα. Ο μικρόκοσμος του ρομπότ Karel 43

Βιβλιογραφία Pattis, R. E., Roberts, J. & Stehlik, M. (1995) Karel - The Robot, A Gentle Introduction to the Art of Programming. 2nd edn. Wiley, New York. Xinogalos, S. (2011), Teaching Programming to Secondary Education Students with a Learning Environment Based on Karel the Robot : A Pilot Study in a Greek High School, Chapter in Horizons in Computer Science Research, Vol. 2, Thomas S. Clary (Ed.), New York: Nova Science, 67-92. Ξυνόγαλος, Σ. (2010), Η Διδασκαλία της Έννοιας της Διαδικασίας με Χρήση του Ρομπότ Karel σε Μαθητές Γυμνασίου: μια μελέτη περίπτωσης, Πρακτικά 5 ου Πανελλήνιου Συνεδρίου «Διδακτική της Πληροφορικής», Αθήνα 9-11 Απριλίου, 105-114. Xinogalos, S. (2009), Τhe quest for excellence in designing a multiparadigm programming environment for novices, Int. Journal of Teaching and Case Studies, Vol. 2, No. 1, 1-16, Inderscience publications. Ο μικρόκοσμος του ρομπότ Karel 44

Βιβλιογραφία Ξυνόγαλος, Σ. (2009), Πρόταση για τη Διδασκαλία του Προγραμματισμού στο Γυμνάσιο με Χρήση του Ρομπότ Karel, Πρακτικά του 5 ου Πανελλήνιου Συνεδρίου των Εκπαιδευτικών για τις ΤΠΕ «Αξιοποίηση των Τεχνολογιών της Πληροφορίας και της Επικοινωνίας στη Διδακτική Πράξη», Σύρος, 953-963. Ξυνόγαλος, Σ. (2003), Σενάρια Διδασκαλίας του Προγραμματισμού στη Δευτεροβάθμια Εκπαίδευση, Πρακτικά του 2 ου Πανελλήνιου Συνεδρίου των Εκπαιδευτικών για τις ΤΠΕ «Αξιοποίηση των Τεχνολογιών της Πληροφορίας και της Επικοινωνίας στη Διδακτική Πράξη», Σύρος, 9-11 Μαΐου 2003, A' τόμος, 783-795. Ξυνόγαλος, Σ. (2002), «Εκπαιδευτική Τεχνολογία»: Ένας Διδακτικός Μικρόκοσμος για την Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό, Διδακτορική Διατριβή, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο Μακεδονίας. Ο μικρόκοσμος του ρομπότ Karel 45