ιδασκαλία Βασικών Προγραµµατιστικών Εννοιών στο Περιβάλλον Οπτικού Προγραµµατισµού ROBOLAB

Σχετικά έγγραφα
Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Εισαγωγή στη Ρομποτική και τον Προγραμματισμό με τη χρήση του ρομπότ Thymio & του λογισμικού Aseba

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

ΠΑΡΑΡΤΗΜΑ IV. ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΡΑΡΤΗΜΑ IV Ασκήσεις για το Robolab

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

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

ΡΟΜΠΟΤΙΚΗ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ LEGO MINDSTORMS NXT. ΚΕΦΑΛΑΙΟ 7ο. Δραστηριότητες για το ΝΧΤ-G και το Robolab

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

Games: Εξοικείωση με το περιβάλλον του Game Maker μέσα από την κατασκευή ενός παιχνιδιού

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

Παίζουμε μπάσκετ; Εκπαιδευτική δραστηριότητα ρομποτικής στο προγραμματιστικό περιβάλλον Lego Mindstorms

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

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις

ΤΟ ΡΟΜΠΟΤ ΚΑΙ Η ΧΕΛΩΝΑ

Τα ηλεκτρονικά μέρη του ρομπότ Επιλογή των μονάδων εισόδου εξόδου ανάλογα το μοντέλο που θέλουμε να κατασκευάσουμε

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

ΑΕΠΠ Ερωτήσεις θεωρίας

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

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

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

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

«Προγραµµατισµός του LEGO Mindstorm NXT για το διαγωνισµό "Move the Ball!"»

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 4 TΟ ΡΟΜΠΟΤΙΚΟ ΟΧΗΜΑ ROGUE BLUE

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

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

Ταυτότητα εκπαιδευτικού σεναρίου. Γνώσεις και πρότερες ιδέες των μαθητών. Σκοπός και στόχοι

«Η ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ BarCode» ( Μια πρόταση για ένα μαθητικό project )


Προγραμματισμός ρομποτικών κατασκευών: μελέτη περίπτωσης με μαθητές δημοτικού

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

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

Τι ακριβώς είναι η Java η C++, η PASCAL και η PYTHON;

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Σχολιασµός της Συνεδρίας «Σχεδίαση Περιβαλλόντων για ιδασκαλία Προγραµµατισµού» Αγορίτσα Γόγουλου

Σχεδίαση και ανάπτυξη δραστηριοτήτων στο προγραμματιστικό περιβάλλον MicroWorlds Pro

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

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

Πρώτο Κεφάλαιο Φάσεις & Μοντέλα ένταξης των ΤΠΕ στην Εκπαίδευση Εκπαιδευτική Τεχνολογία: η προϊστορία της πληροφορικής στην εκπαίδευση 14

1. ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΑΝΑΛΥΣΗ ΦΥΛΛΩΝ ΕΡΓΑΣΙΑΣ (Ή ΚΑΙ ΑΛΛΟΥ ΔΙΔΑΚΤΙΚΟΥ ΥΛΙΚΟΥ) ΑΞΙΟΛΟΓΗΣΗ ΤΩΝ ΜΑΘΗΤΩΝ

Μια στατιστική έρευνα των παραµέτρων διδασκαλίας του µαθήµατος "Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον"

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

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

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

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

ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

Φύλλο Εργασίας 4 Συνθετική εργασία

ΠΑΡΑΡΤΗΜΑ ΙII Παρουσίαση των εντολών του Robolab

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

Εισαγωγή στην Αριθμητική Ανάλυση

7 ο Γυμνάσιο Καβάλας Καλλιόπη Παρσέλια Σχολ. έτος: Το περιβάλλον προγραμματισμού MicroWorlds Pro

Άκουσµα. ιαδικτυακό λογισµικό για την εξάσκηση στη δεξιότητα της κατανόησης προφορικού λόγου. Εγχειρίδιο χρήσης

Πειραματιζόμενοι με αριθμούς στο περιβάλλον του Microworlds Pro: διαθεματική προσέγγιση περί «πολλαπλασίων και διαιρετών»

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

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

Κατερίνα Χατζηφωτεινού. Αλγοριθμικά παιχνίδια & Kodu

ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Διδακτική της Πληροφορικής με εφαρμογές Εκπαιδευτικής Ρομποτικής βασισμένης στην Εποικοδομιστική Θεωρία

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Μια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Παράλληλη πιλοτική κατηγορία για αρχάριες ομάδες Γυμνασίου: Πρωτέας

Εξοικείωση με το NXT-G

Η Πληροφορική στη ευτεροβάθµια Εκπαίδευση: Προγράµµατα Σπουδών, ιδακτικές Προσεγγίσεις, Επιµόρφωση Εκπαιδευτικών

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

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

Tank Rescue Computer Game σε Scratch

ΑΠΑΝΤΗΣΕΙΣ. 1. Να αναφέρετε ονοµαστικά τις λειτουργίες µε τις οποίες ο υπολογιστής µπορεί να επιτελέσει µε επιτυχία οποιαδήποτε επεξεργασία.

1. Να αναφέρετε ονοµαστικά τις λειτουργίες µε τις οποίες ο υπολογιστής µπορεί να επιτελέσει µε επιτυχία οποιαδήποτε επεξεργασία. Ï.Å.Ö.Å.

ΒΑΣΙΚΕΣ ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΧΡΗΣΗ ΤΟΥ ΧΕΛΩΝΟΚΟΣΜΟΥ ΣΤΟ ΑΒΑΚΙΟ E-SLATE ΠΟΙΕΣ ΨΗΦΙΔΕΣ ΠΡΕΠΕΙ ΝΑ ΕΜΦΑΝΙΣΟΥΜΕ

Προγραμματισμός με Logo στο MicroWorlds Pro

Θέµατα αξιολόγησης εκπαιδευτικού λογισµικού

ΕΚΠΑΙ ΕΥΤΙΚΕΣ ΡΑΣΤΗΡΙΟΤΗΤΕΣ ΜΕ ΤΟ ΑΒΑΚΙΟ/E-SLATE

Προγραµµατισµός Ι (ΗΥ120)

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ LOGO

STEM Education via Educational Robotics

Παράρτημα Φύλλο εργασίας 1: Δραστηριότητα 1 : Να αναβοσβήνει η φωτοδίοδος ανά ένα δευτερόλεπτο. Μέλη της ομάδας :

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014

Προγραμματισμός ΙI (Θ)

ΜΕΤΡΗΣΗ ΤΟΥ «ΧΡΟΝΟΥ ΑΝΤΙΔΡΑΣΗΣ» ΜΕ ΤΗ ΧΡΗΣΗ ΑΠΛΩΝ ΥΛΙΚΩΝ ΚΑΙ ΤΟΥ MultiLog. (Μια πρόταση για Διαθεματική Ερευνητική Εργασία project)

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

ΕΝΟΤΗΤΑ 2 ΠΡΟΣΘΕΣΗ ΚΑΙ ΑΦΑΙΡΕΣΗ ΜΕΧΡΙ ΤΟ 100 ΔΕΙΚΤΕΣ ΕΠΙΤΥΧΙΑΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

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

Διδασκαλία των δομών επιλογής και επανάληψης με εργαλείο την εκπαιδευτική ρομποτική: μια μελέτη περίπτωσης

Transcript:

ιδασκαλία Βασικών Προγραµµατιστικών Εννοιών στο Περιβάλλον Οπτικού Προγραµµατισµού ROBOLAB Σπύρος Τσοβόλας, Βασίλης Κόµης ΤΕΕΑΠΗ, Πανεπιστήµιο Πατρών stsovol@upatras.gr, komis@upatras.gr ΠΕΡΙΛΗΨΗ Στην εργασία αυτή παρουσιάζονται και µελετώνται διδακτικά οι βασικές προγραµµατιστικές δοµές όπως υλοποιούνται στο περιβάλλον οπτικού προγραµµατισµού Robolab. Το περιβάλλον αυτό χρησιµοποιείται τα τελευταία χρόνια στο πλαίσιο µιας εποικοδοµιστικής προσέγγισης για τη διδασκαλία των εννοιών του προγραµµατισµού σε συνδυασµό µε βασικές έννοιες από την τεχνολογία ελέγχου και το χειρισµό ροµποτικών συσκευών. Η εκπαιδευτική έρευνα στην εν λόγω περιοχή δεν έχει ακόµα απαντήσει σε µια σειρά από γενικότερα ερωτήµατα όπως για ποιες ηλικίες είναι κατάλληλο και για το εάν µπορεί να χρησιµοποιηθεί αποτελεσµατικά στην πρωτοβάθµια και τη δευτεροβάθµια εκπαίδευση για τη διδασκαλία του προγραµµατισµού και µια σειρά από ειδικότερα ερωτήµατα σχετικά µε τη χρήση οπτικών εντολών (και γενικότερα της προσέγγισης που βασίζεται στον οπτικό προγραµµατισµό) στην κατανόηση των προγραµµατιστικών δοµών και πως αυτή η κατανόηση υποστηρίζεται από τον κατάλληλο χειρισµό προγραµµατιζόµενων συσκευών. ΛΕΞΕΙΣ ΚΛΕΙ ΙΑ: ιδασκαλία Πληροφορικής, Robolab, Οπτικός προγραµµατισµός ΕΙΣΑΓΩΓΗ Τα τελευταία χρόνια, η τεχνολογία ελέγχου συνδέθηκε σε µεγάλο βαθµό µε τον οπτικό προγραµµατισµό και έδωσε ευκαιρία στους ερευνητές και στους εκπαιδευτικούς να εµπλέξουν τους µαθητές σε διαδικασίες επίλυσης ανοιχτών προβληµάτων (Jarvinen 1998, Lavonen 2001). Στην πλειοψηφία τους δηλαδή οι προσπάθειες αυτές δεν αποµόνωσαν τον οπτικό προγραµµατισµό µε σκοπό, δια µέσω αυτού, να διδαχθούν προγραµµατιστικές δοµές αλλά τον συνέδεσαν µε έλεγχο συσκευών, µε πλοήγηση στο επίπεδο, µε εξερεύνηση του χώρου χωρίς τη διαµεσολάβηση του ανθρώπινου σώµατος και των αισθήσεων κλπ. Οι διάφορες εκδοχές του οπτικού προγραµµατισµού που εστίασαν στην τεχνολογία ελέγχου έχουν περιορισµένο «λεξιλόγιο», αυτό που χρειάζεται για τον έλεγχο αυτών των συσκευών: λήψη τιµών αισθητήρων (ερέθισµα) και κατάλληλη αντίδραση στα ερεθίσµατα δηλαδή ρύθµιση της ισχύος των εξόδων (µοτέρ ή λαµπάκια). Συνολικά αυτός ο προγραµµατισµός µιας συσκευής δίνει την επιθυµητή συµπεριφορά στη συσκευή. Στην εργασία αυτή παρουσιάζονται και µελετώνται Πρακτικά Εργασιών 3 ου Πανελλήνιου Συνεδρίου «ιδακτική της Πληροφορικής» Α. Τζιµογιάννης (επιµ.) Πανεπιστήµιο Πελοποννήσου Κόρινθος, 7-9 Οκτωβρίου 2005

3 ο Πανελλήνιο Συνέδριο διδακτικά οι βασικές προγραµµατιστικές δοµές όπως υλοποιούνται στο περιβάλλον οπτικού προγραµµατισµού Robolab. Το Robolab έλκει την καταγωγή του αφενός από το επιστηµονικό λογισµικό LabView για την καθοδήγηση ροµπότ και αφετέρου από τη δηµιουργία και τον προγραµµατισµό κατασκευών τύπου Lego. ΤΟ ΠΕΡΙΒΑΛΛΟΝ ROBOLAB Ένα πρόγραµµα διαβάζεται από αριστερά προς τα δεξιά και είναι µια ακολουθία εικονιδίων. Κάθε εικονίδιο έχει νήµατα µε τα οποία ενώνεται µε το προηγούµενο και το επόµενο. Μερικά εικονίδια έχουν πλέον των δύο νηµάτων σύνδεσης. Στο πάνω µέρος κάθε εικονιδίου, αριστερή και δεξιά γωνία αντίστοιχα υπάρχουν οι θέσεις Begin και End που βοηθούν τη συναρµολόγηση ένωση µε προηγούµενα και επόµενα εικονίδια. Τα υπόλοιπα νήµατα χρειάζονται για δηλώσεις παραµέτρων όπως θύρα σύνδεσης, ισχύς λειτουργίας, είδος δεδοµένων, τιµή θύρας. Το εικονίδιο χωρίζεται σε περιοχές ανάλογα µε τα νήµατα που διαθέτει. Το επόµενο εικονίδιο που περιγράφει ένα λαµπάκι έχει τέσσερα νήµατα γι αυτό χωρίζεται σε τέσσερις περιοχές. Από κάθε περιοχή ξεκινά ένα νήµα.

ιδακτική της Πληροφορικής Έτσι στο παραπάνω εικονίδιο, που δηλώνει τη λειτουργία σε ένα λαµπάκι, φαίνονται χωρισµένες και γεµισµένες µε κίτρινο χρώµα οι τέσσερις περιοχές που αντιστοιχούν: Begin για ένωση µε το επόµενο εικονίδιο End για ένωση µε το προηγούµενο εικονίδιο Ports για δήλωση σε ποια θύρα είναι συνδεδεµένο Power Level για δήλωση της ισχύος λειτουργίας Το επόµενο εικονίδιο περιγράφει τον αισθητήρα θερµοκρασίας: είναι συνδεδεµένος στην είσοδο 3 και ελέγχει αν η θερµοκρασία του ξεπεράσει τους 30 ο Κελσίου (δίνει τιµή 0 και 1, το 1 αντιστοιχεί σε θερµοκρασίες µεγαλύτερες των 30 ο Κελσίου και 0 αντιστοιχεί σε τιµές µικρότερες ή ίσες των 30 ο Κελσίου). Όπως φαίνεται, ακόµα και οι παράµετροι εντολών αντιστοιχίζονται µε εικονίδια. ΒΑΣΙΚΑ ΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΟ ROBOLAB 1. Ακολουθία: υλοποιείται µε µια σειρά εικονιδίων που ενώνονται και διαβάζονται από αριστερά προς τα δεξιά. Το επόµενο πρόγραµµα σε µορφή ψευδοκώδικα: Αρχή, µοτέρ Α εµπρός, αναµονή 1S, κλείσιµο εξόδου Α, τέλος 2. όµηση σε υπορουτίνες (µέχρι 8): Όταν η ακολουθία µεγαλώσει γίνεται δυσανάγνωστη και για αυτό υπάρχει δυνατότητα να γραφτούν υπορουτίνες (κοµµάτια

3 ο Πανελλήνιο Συνέδριο κώδικα που µπορούν να λειτουργούν και αυτόνοµα) που καλούνται σε κατάλληλη θέση στο τρέχον πρόγραµµα. Στο παρακάτω πρόγραµµα ανοίγει το µοτέρ στη θέση Α, λειτουργεί 4 sec, στη συνέχεια (κλήση υπορουτίνας) αναπαράγονται οι νότες C, D, E και κλείνει το µοτέρ στη θέση Α. Ισοδύναµα ο κώδικας χωρίς κλήση υπορουτίνας 3. Περίµενε ώσπου συνθήκη (wait for ): Πρόκειται για χρονική καθυστέρηση έως ότου ικανοποιηθεί κάποια συνθήκη. Η συνθήκη αυτή µπορεί να περιέχει τιµές αισθητήρων, τυχαία καθυστέρηση, καθυστέρηση για ορισµένο χρόνο ή ώσπου να ληφθούν συγκεκριµένο πλήθος τιµών των αισθητήρων. Στο παράδειγµα που ακολουθεί το µοτέρ στην έξοδο Α θα κινηθεί για 1s αφού δηλώνεται η λειτουργία του, µετά αναµονή για 1s (wait for 1s), µετά διακοπή λειτουργίας της εξόδου Α και τέλος προγράµµατος. 4. Μεταβλητή (container): Οι µεταβλητές ονοµάζονται containers και οι τρεις τυπικές µεταβλητές γενικής χρήσεως διακρίνονται µε τα χρώµατά τους (κόκκινη, κίτρινη, µπλε). Υπάρχουν επίσης µεταβλητές για κάθε αισθητήρα και κάθε µαθηµατική πράξη που αλλάζει την τιµή της µεταβλητής αντιστοιχίζεται κατάλληλο εικονίδιο.

ιδακτική της Πληροφορικής Έχουν επίσης προβλεφτεί και εικονίδια για άλλους αισθητήρες που δεν υπάρχουν στο κανονικό πακέτο όπως ΡΗ, ήχος, πίεση, υγρασία, τάση κλπ. Το παρακάτω πρόγραµµα: έχει την εξής ακολουθία εικονιδίων: Αρχή, µηδενισµός της µεταβλητής (εννοείται η κόκκινη αφού δεν ονοµάζεται), επανάλαβε εφόσον η τιµή της µεταβλητής είναι µικρότερη από 5, παίξιµο της νότας C, αύξηση κατά 1 της µεταβλητής, τέλος Για κάθε ενέργεια διαχείρισης της µεταβλητής χρειάστηκε και το αντίστοιχο εικονίδιο: µηδενισµός τιµής σύγκριση τιµής µεταβλητής ανάθεση τιµής (αύξηση κατά 1) 5. Λήψη απόφασης (if then) 5.α Έλεγχος ανισότητας (µεγαλύτερο/ µικρότερο ή ίσο): Καλύπτει τις τιµές των αισθητήρων και των µεταβλητών.

3 ο Πανελλήνιο Συνέδριο 5.β Έλεγχος ισότητας (ίσο / διάφορο) που καλύπτει επίσης τιµές αισθητήρων ή µεταβλητών Ο έλεγχος ισότητας και ανισότητας πρέπει να κλείνει µε το εικονίδιο επανένωσης της διακλάδωσης Για παράδειγµα, στο παρακάτω πρόγραµµα αν η θερµοκρασία ανεβεί πάνω από ένα ορισµένο όριο τότε λειτουργεί ο ανεµιστήρας. Εδώ ο αισθητήρας θερµοκρασίας τοποθετήθηκε στην είσοδο 2 και ο ανεµιστήρας στην έξοδο Α θα λειτουργήσει για δύο δευτερόλεπτα όταν η θερµοκρασία ξεπεράσει τους 30 ο C. Σε πραγµατικές συνθήκες, στα ψυγεία των αυτοκινήτων, αυτή η θερµοκρασία πλησιάζει τους 90 ο C. Το παρακάτω πρόγραµµα υποστηρίζει τη λειτουργία του δηµόσιου φωτισµού που ανάβει αυτόµατα όταν σκοτεινιάσει. Αν ο φωτισµός πέσει κάτω από ένα όριο (55) τότε θα ανάψει το λαµπάκι στην έξοδο Α. Παρότι υποστηρίζονται εµφωλιασµένα if, το Robolab τα αποφεύγει και δεν δίνει ούτε ένα παράδειγµα προγραµµατισµού µε αυτό το στυλ. Αντιθέτως χρησιµοποιεί πολύ το στυλ άλµατος (goto / jump) το οποίο σε εκφραστικό επίπεδο, συναρτήσει των γλωσσολογικών γνώσεων, φαίνεται ευκολότερο από τα εµφωλιασµένα if αλλά ο έλεγχος είναι πιο δύσκολος (Κόµης 2001). Το παρακάτω παράδειγµα είναι πρόγραµµα ελέγχου αυτόνοµης συσκευής (όχηµα- µπουλντόζα) που σαν πιλοτήριο έχει τρεις αισθητήρες αφής:

ιδακτική της Πληροφορικής Αν κανένας αισθητήρας δεν είναι πατηµένος όχηµα θα κινείται εµπρός. Όσο είναι πατηµένος ο αισθητήρας αφής 2 το όχηµα θα κινείται προς τα πίσω Όσο είναι πατηµένος ο αισθητήρας αφής 1 το όχηµα θα στρίβει αριστερά Όσο είναι πατηµένος ο αισθητήρας αφής 3 το όχηµα θα στρίβει δεξιά Αν κρατιούνται πατηµένοι ταυτόχρονα οι αισθητήρες αφής 1 και 3 το όχηµα θα ακινητοποιείται. Στο παραπάνω παράδειγµα καθίσταται ολοφάνερη η διαφορετική δυσκολία ανάγνωσης ενός έτοιµου προγράµµατος στις δύο προσεγγίσεις, την οπτική και τη λεκτική που παρατίθεται στη συνέχεια, σε περιβάλλον Microworlds EX Robotics. to auto1 loop [auto2] end to auto3 ifelse switch2 [athatway cthatway aon con wait 2] [ifelse and switch1 switch3 [aoff coff] [if switch1 [athatway cthisway aon con wait 2] if switch3 [cthatway athisway aon con wait 2]]] end 6. Επανάληψη (loop while): Και εδώ η επανάληψη ελέγχεται από τις τιµές αισθητήρων ή των τριών µεταβλητών γενικής χρήσης. Για κάθε αισθητήρα υπάρχει το αντίστοιχο εικονίδιο ελέγχου ανισότητας α) µεγαλύτερο /µικρότερο ίσο β) ίσο / διάφορο

3 ο Πανελλήνιο Συνέδριο Επίσης υπάρχει επανάληψη αριθµητική «επανάλαβε ν φορές» αρκεί το ν να µην ξεπερνά τον αριθµό 15. Για παράδειγµα, το παρακάτω πρόγραµµα κινεί το µοτέρ στη θέση Α, αρχικά εµπρός. Στη συνέχεια και για όσο χρονικό διάστηµα η τιµή του αισθητήρα θερµοκρασίας (στη θέση 1 αφού δεν δηλώνεται η θύρα) είναι µικρότερη από 30 ο C (αφού δεν δηλώνεται η τιµή θα είναι η προεπιλεγµένη δηλαδή 30 ο C) το µοτέρ θα εναλλάσσει µπρος πίσω την κίνησή του κάθε 1s. Αν η θερµοκρασία ξεπεράσει τους 30 ο C τότε το µοτέρ θα σταµατήσει. 7. οµή ελέγχου - Αλλαγή ροής (go to / jump): Η robolab υποστηρίζει τη δοµή άλµατος και κάθε άλµα παριστάνεται µε το χρώµα του. Μπορούµε να έχουµε µέχρι έξι άλµατα στον κώδικα του προγράµµατος. Στο παρακάτω παράδειγµα τα δύο εικονίδια red land και red jump δηµιουργούν µια ατέρµονα επανάληψη του κώδικα που περικλείουν δηλαδή όταν η θερµοκρασία ξεπερνά τους 30 ο C το µοτέρ να λειτουργεί για 2s. 8. Παράλληλες διαδικασίες παράλληλος προγραµµατισµός (task split): Στην πραγµατικότητα πρόκειται για ψευδοπαράλληλο προγραµµατισµό µιας και ο ένας

ιδακτική της Πληροφορικής επεξεργαστής ασχολείται τµηµατικά µε τουλάχιστον δύο διαδικασίες αλλά η µεγάλη ταχύτητά του δίνει την αίσθηση της ταυτόχρονης παράλληλης επεξεργασίας. Στο παρακάτω παράδειγµα εκτελούνται δύο εργασίες: α) Το µοτέρ στη θέση Α ξεκινά και εργάζεται κατά τη θετική φορά. Αν πατηθεί ο αισθητήρας αφής (στη θέση 1) τότε σταµατούν τα πάντα (διαδικασίες και συσκευές). β) Το λαµπάκι στη θέση Β ανάβει για 6s, στη συνέχεια σβήνει και ακούγεται ένας ήχος. Στη συνέχεια και οι δύο διαδικασίες ξεκινούν από την αρχή (από το σηµείο task split). Επειδή υπάρχει περίπτωση µια συσκευή (ένα µοτέρ) να ελέγχεται από δύο διαδικασίες, υπάρχει πρόβλεψη να οριστεί προτεραιότητα (task priority) σε κάθε διαδικασία. ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΚΑΙ ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΤΟΥ ΟΠΤΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Η αντιστοίχηση φυσικών οντοτήτων στο περιβάλλον διευκολύνει το µαθητή. Απεικονίζονται όχι µόνο οι φυσικές οντότητες αλλά και οι ιδιότητές τους και οι λειτουργίες τους. Ο µαθητής µπορεί σε σύντοµο χρονικό διάστηµα να γράψει κώδικα που να λειτουργεί. εν χρειάζεται «να µάθει πολλά για να κάνει λίγα» αλλά µε µια απλή επίδειξη του περιβάλλοντος, µπορεί να κατασκευάσει πρόγραµµα ελέγχου ροµποτικής συσκευής όπως για παράδειγµα ένα όχηµα που κινείται στο επίπεδο. Ειδικά τα εικονίδια λειτουργίας των εξόδων είναι προφανή. Στο περιβάλλον συγγραφής του κώδικα γίνεται ταυτόχρονα και συντακτικός έλεγχος, έτσι απαλλάσσεται ο προγραµµατιστής (µαθητής) από συντακτικά λάθη. Φυσικά παραµένουν τα λογικά λάθη που θα πρέπει να αναζητηθούν στον έλεγχο (δοκιµή). Όσο για τα λάθη χρόνου εκτέλεσης σπανίζουν µιας και το πρόγραµµα συνήθως κατασκευάζεται για να δίνει συµπεριφορές σε ροµποτικές συσκευές, δηλαδή ανάλογα µε τις τιµές των τριών αισθητήρων παρέχεται ισχύς στις τρεις εξόδους. Μια διαίρεση µε το µηδέν, για παράδειγµα, είναι πολύ σπάνιο έως απίθανο γεγονός. Ως µειονεκτήµατα µπορούµε να αναφέρουµε έξι κύριες κατηγορίες που προέκυψαν από έρευνα µε µαθητές πρωτοβάθµιας εκπαίδευσης. Τα εικονίδια είναι πολλά και ίσως µερικά να είναι περιττά. Για παράδειγµα, τα τρία εικονίδια που θέτουν σε λειτουργία ένα λαµπάκι στις εξόδους Α, Β, C υπάρχουν µόνο για λόγους πλήρους αντιστοίχισης συσκευών / εικονιδίων και άρα καλύτερης κατανόησης του κώδικα.

3 ο Πανελλήνιο Συνέδριο. Αυτό γιατί αν αντί για το εικονίδιο λαµπάκι θέσουµε το εικονίδιο του µοτέρ το αποτέλεσµα είναι το ίδιο και το λαµπάκι θα δουλεύει κανονικά. Τα εικονίδια είναι πολλά και τίθεται θέµα διακριτότητας. Για παράδειγµα, για τον αισθητήρα θερµοκρασίας υπάρχουν πολλά διακριτά εικονίδια: wait for Περίµενε ώσπου η τιµή του αισθητήρα.. loop while - Επανάλαβε όσο η τιµή του αισθητήρα if then έλεγχος ροής ανάλογα µε την τιµή του αισθητήρα. Η Robolab προτείνει το παραπάνω πρόγραµµα ως κατάλληλο για µικρά παιδιά ακόµη και του ηµοτικού. εν είναι εύκολο για µικρούς µαθητές να διακρίνουν όλα αυτά τα εικονίδια και τη λειτουργία τους, η χρήση τους γίνεται κυρίως µε µηχανικό τρόπο. Η αντιστοιχία εικονιδίων και οντοτήτων/ λειτουργιών δεν είναι πάντα αυτονόητη Έστω το παραπάνω δείγµα κώδικα: το µοτέρ στην έξοδο Α να κινηθεί, στη συνέχεια αναµονή για ένα δευτερόλεπτο κλπ., εννοείται στην αναµονή 1s να συµβαίνουν τα προηγούµενα για 1s δηλαδή το µοτέρ Α θα κινείται, όταν τελειώσει το 1s τότε θα διαβαστεί και θα ληφθεί υπόψη η νέα οδηγία που θα ακολουθεί το εικονίδιο 1s. Ένας µαθητής το µεταφράζει ως εξής «να κινηθεί το µοτέρ Α και µετά να σταµατήσουν τα πάντα για ένα δευτερόλεπτο». Μεταφέρει προφανώς τη φράση της καθηµερινής ζωής «περίµενε / wait» και τη µεταφράζει «στάσου µην κάνεις τίποτα για ένα δευτερόλεπτο, µετά συνέχισε αυτό που έκανες» ηλαδή ο µαθητής αυτός προτείνει λειτουργία του µοτέρ συνεχή και διακοπή λειτουργίας για 1s. Άλλος µαθητής πρότεινε πως η εντολή περίµενε 1s πρέπει να τοποθετηθεί µπροστά από την κίνηση του µοτέρ µιας και φαίνεται πιο λογικό να δίνουµε πρώτα χρόνο και µετά δράση δηλαδή «για ένα δευτερόλεπτο θέλω να κινηθεί το µοτέρ Α».

ιδακτική της Πληροφορικής Η αναζήτηση του λάθους δεν είναι τόσο εύκολη υπόθεση Στο επόµενο πρόγραµµα το όχηµα κινείται µπρος µέχρι να πατηθεί ο αισθητήρας αφής. Τότε αντιστρέφει την κίνησή του για 2s και σταµατάει. Όµως οι µαθητές ξέχασαν να τοποθετήσουν το εικονίδιο που σταµατά το µοτέρ µε αποτέλεσµα ενώ τελειώνει το πρόγραµµα το όχηµα να κινείται όπισθεν συνεχώς χωρίς να σταµατάει. Ένας µαθητής προσπαθώντας να βρει το λάθος, το εντοπίζει στο στράβωµα του νήµατος που ενώνει τα εικονίδια! Η αναζήτηση του λάθους δεν είναι τόσο εύκολη υπόθεση, ειδικά όταν ο κώδικας µεγαλώσει. Το πρόβληµα της αναζήτησης εικονιδίου Στα συστήµατα βοήθειας και υποστήριξης του προγραµµατιστή υπάρχουν ταχύτατες µέθοδοι (όπως η δυαδική αναζήτηση) εύρεσης της κατάλληλης εντολής. Σε κείµενα (λέξεις) υπάρχει για παράδειγµα η ταξινόµηση κατά τύπο, κατά λειτουργία, κατά ονοµασία κλπ. και βοηθείται έτσι πολύ ο προγραµµατιστής στην εύρεση της επιθυµητής εντολής και των συναφών µε αυτή εντολών. Στα εικονίδια δεν είναι δυνατό να υπάρχει αυτή η εξυπηρέτηση. Ο µαθητής-προγραµµατιστής πρέπει να θυµάται το µοναδικό δροµολόγιο ανάκτησής του από την παλέτα εικονιδίων. ΣΥΖΗΤΗΣΗ - ΣΥΜΠΕΡΑΣΜΑΤΑ Στο ερώτηµα ποια προγραµµατιστικά µοντέλα και ποιες γλώσσες προγραµµατισµού πρέπει να χρησιµοποιούµε στο σχολείο, η απάντηση δεν είναι καθόλου προφανής. Οι (Hirst et al. 2002) προτείνουν τη logo για την πρωτοβάθµια εκπαίδευση. Για τη δευτεροβάθµια εκπαίδευση προτείνουν τον οπτικό προγραµµατισµό (π.χ. µε Robolab) και σε µεγαλύτερες ηλικίες προτείνουν τις κλασσικές γλώσσες. Οι γλώσσες αυτές (Pascal, C, java.) είναι κατασκευασµένες να ελευθερώνουν τις ικανότητες του προγραµµατιστή. Το περιβάλλον του Robolab, αναγνωρίζοντας τις γνωστικές δυσκολίες στις µικρές ηλικίες και στους αρχάριους προγραµµατιστές, προτείνει οκτώ επίπεδα εµπλοκής του µαθητή, αυξανόµενης δυσκολίας. Τα επίπεδα αυτά δεν είναι επαρκή σε σχέση µε τις ικανότητες των µαθητών της πρωτοβάθµιας εκπαίδευσης. Σύµφωνα µε τη δική µας εµπειρία από µελέτες περίπτωσης στο ηµοτικό προκύπτουν τα ακόλουθα: στην Πέµπτη τάξη οι µαθητές εργαζόµενοι µε το Robolab µπορούν να σχηµατίζουν ακολουθία

3 ο Πανελλήνιο Συνέδριο εντολών αρκετά µεγάλη. Μπορούν επίσης να προγραµµατίσουν µία έξοδο δηλαδή ένα µοτέρ είτε απλά είτε χρησιµοποιώντας τη δοµή wait for. <τιµή αισθητήρα>. Όταν δεν υπάρχει γραµµικότητα (όπως στην λήψη απόφασης ifelse) παρουσιάζεται µεγάλη δυσκολία. Οι µαθητές της Έκτης τάξης φαίνεται να µπορούν να προχωρήσουν περισσότερο σε σχέση µε τους µαθητές της Πέµπτης τάξης. Μπορούν να προγραµµατίζουν µε διακλάδωση (ifelse) και να ελέγχουν τη δράση δύο εξόδων που συνήθως είναι µοτέρ. Το σηµαντικότερο είναι πως οι µαθητές του ηµοτικού προτείνουν για τις κατασκευές τους συµπεριφορές πολύπλοκες που απαιτούν προγραµµατιστικές δοµές δύσκολες όπως η επανάληψη ή η προτεραιότητα διαδικασίας (task priority). Προγραµµατιστικά τέτοιες συµπεριφορές ξεπερνούν το επίπεδο των µαθητών και ακόµα και αν ο διδάσκων κατασκευάσει µια τέτοια συµπεριφορά, οι µαθητές δεν είναι ικανοί να οικειοποιηθούν τον κώδικα. Είναι ένα σηµείο που χρειάζεται ιδιαίτερη προσοχή, αφού απαιτείται αρκετή εξάσκηση σε ποικιλία καταστάσεων µε απλούστερες συµπεριφορές και βηµατική οικοδόµηση του προγράµµατος. Η µέθοδος δοκιµή και πλάνη είναι η καταλληλότερη για την τεχνολογία ελέγχου γι αυτό και απαιτείται διάθεση χρόνου στους µαθητές να κάνουν δοκιµές µε τις κατασκευές τους ώστε να επιτύχουν την απαιτούµενη συµπεριφορά. ΒΙΒΛΙΟΓΡΑΦΙΑ Hirst A., Johnson J., Petre M., Price B. & Richards M. (2002), What is the best environment-language for teaching robotics using Lego MindStorms?, Department of Telematics, The Open University, UK Jarvinen E.-M. (1998), The Lego/Logo learning environment in technology education: An Experiment in a Finnish Context, Journal of Technology Education, 9(2) Lavonen J.-M., Meisalo M. & Lattu M., (2001), Problem solving with an icon oriented programming tool: A case study in technology education, Journal of Technology Education, 12(2), 21-34 Cyr M. N., Mindstorms for schools. Using ROBOLAB, Lego System, Denmark Στεργιοπούλου N. (1999), Microworlds Pro βιβλίο µαθητή, Ινστιτούτο Τεχνολογίας Υπολογιστών Βακάλη κ.α, (1999), Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον, Αθήνα: Παιδαγωγικό Ινστιτούτο Κόµης B. (2001), ιδακτική της Πληροφορικής, Πάτρα: Ελληνικό Ανοιχτό Πανεπιστήµιο Τζαβάρας κ.α., (1999), Πληροφορική Γυµνασίου, Αθήνα: Παιδαγωγικό Ινστιτούτο απόντες N. (1989), Η διδασκαλία της Logo στη δευτεροβάθµια εκπαίδευση, Αθήνα: Gutenberg Μικρόπουλος Τ. & Λαδιάς Τ. (2000), Η Logo στην εκπαιδευτική διαδικασία, Ιωάννινα: Πανεπιστήµιο Ιωαννίνων ΦΕΚ1373-18/10/2001, ΕΠΠΣ ΦΕΚ 1374 & 1375-18/10/2001, Προγράµµατα Σπουδών ηµοτικού, Γυµνασίου, Λυκείου