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



Σχετικά έγγραφα
ΣΕΝΑΡΙΑ ΔΙΔΑΣΚΑΛΙΑΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΔΕΥΤΕΡΟΒΑΘΜΙΑ ΕΚΠΑΙΔΕΥΣΗ

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

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

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

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

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

Εργαστηριακή εισήγηση. «ΜΑΘΗΣΙΣ: Μία Ευφυής Διαδικτυακή Τάξη Άλγεβρας»

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

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Moodle

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

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

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

AnimPascal: Ένα Εκπαιδευτικό Περιβάλλον για τη Στήριξη Εισαγωγικών Μαθηµάτων Προγραµµατισµού

Εισαγωγή στη Δομή Επιλογής με το Προγραμματιστικό Περιβάλλον SCRATCH

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

Η χρήση του MOODLE από την οπτική γωνία του ιαχειριστή

Μαρία Κορδάκη Τµήµα Μηχανικών Η/Υ και Πληροφορικής Παν/µίου Πατρών

Ένα ολοκληρωμένο σύστημα για την διδασκαλία του αναθεωρημένου αλγορίθμου simplex A complete training system for teaching revised simplex algorithm

«Give me your PIN! You have three tries!» (Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον, ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ: ΟΣΟ ΕΠΑΝΑΛΑΒΕ)»

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

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

Πληροφορική. Μάθημα Κατεύθυνσης

Εγχειρίδιο Χρήσης για Διαχειριστές. Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο

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

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

Χρήση εργαλείων δημιουργίας διαγραμμάτων ροής για την εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό: μια επισκόπηση

Εργαλεία ανάπτυξης εφαρμογών internet Ι

1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ»

Μελέτη των Δυσκολιών των Φοιτητών για την Έννοια του «Αντικειμένου» στον Αντικειμενοστραφή Προγραμματισμό

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα

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

Η εισαγωγή στον προγραµµατισµό: ιδακτικές Προσεγγίσεις και Εκπαιδευτικά Εργαλεία

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Διδακτικές Προσεγγίσεις στην Εύρεση Συχνοτήτων Εμφάνισης των Περιεχομένων ενός Πίνακα

Εγκατάσταση του Arduino IDE

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

ΥΠΗΡΕΣΙΑ. Ηλεκτρονική ιαχείριση Τάξης. Οδηγίες χρήσης για τον µαθητή.

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

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

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

Η γλώσσα προγραμματισμού C

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

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

ΕΚΠΑΙΔΕΥΤΙΚΟ ΣΕΝΑΡΙΟ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ Διδακτική της Πληροφορικής

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Σχεδιασμός ενός Περιβάλλοντος Δυναμικής Οπτικοποίησης Αλγορίθμων: Το σύστημα DAVE

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

«Διαδικτυακό Σύστημα Ηλεκτρονικής Διαχείρισης και Διάθεσης Μαθημάτων»

ΣυνοπτικόςΟδηγόςΧρήσηςτουMoodle για το Φοιτητή

Μια Μελέτη Περίπτωσης της ιδασκαλίας του Προγραµµατισµού στη ευτεροβάθµια Εκπαίδευση µε τα LEGO Mindstorms

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

Μαλούτα Θεανώ Σελίδα 1

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

Εγχειρίδιο Χρήσης για Εκπαιδευτές/Διοικητικούς. Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

6. Εισαγωγή στον προγραµµατισµό

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

2. Οδηγίες χρήσης του λογισμικού ΔΕΛΥΣ

Αξιοποίηση του Περιβάλλοντος Mortran στη Διδασκαλία Αλγοριθμικών Δομών

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

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

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ E-LEARNING - 2 -

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΠΡΟΓΡΑΜΜΑ ΠΑΙΔΑΓΩΓΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ 2 η ΕΡΓΑΣΙΑ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΠΑΡΑΤΗΡΗΣΕΙΣ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Διαδικτυακό σύστημα διαχείρισης αιτήσεων για μεταπτυχιακό

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

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

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

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

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

«Η διδασκαλία και η εκμάθηση του Λειτουργικού Συστήματος Ubuntu με τη βοήθεια ενός πρωτότυπου αλληλεπιδραστικού διαδικτυακού λογισμικού εργαλείου».

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

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

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

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

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

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

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

Καρτσιώτου Θωμαϊς M.Sc. Δασκάλα Δ.Σ. Παληού Καβάλας Περίληψη

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

Πλατφόρμα ηλεκτρονικής παρακολούθησης μαθημάτων εξ αποστάσεως Οδηγός Χρήστη

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

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

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

723 Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Λάρισας

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

711 Πληροφορικής ΤΕΙ Αθήνας

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

Εκπαιδευτικό πολυμεσικό σύστημα διδασκαλίας των μαθηματικών (Εφαρμογή στη δευτεροβάθμια εκπαίδευση)

Το Open Eclass ως Σύστημα Διαχείρισης Μάθησης

e-εκπαιδευτησ Περίληψη Η παρούσα εισήγηση αφορά την παρουσίαση του εκπαιδευτικού λογισμικού με τίτλο

Αξιοποίηση των Lego Mindstorms NXT στην διδασκαλία του Προγραμματισμού: Η έννοια της μεταβλητής.

Εγχειρίδιο Χρήστη - Μαθητή

Κωνσταντίνος Δελησταύρου. Fulbright Education Network Greece «Αξιοποιώντας την αφήγηση στη Διδασκαλία» 20/5/2017 YouthLab, Ξάνθη

Transcript:

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 733 ΕΝΑ ΜΟΝΤΕΛΟ ΔΙΑΔΙΚΤΥΑΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΜΕ ΥΠΟΣΤΗΡΙΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΓΙΑ ΤΗ ΔΙΔΑΣΚΑΛΙΑ ΤΩΝ ΑΡΧΩΝ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εφόπουλος Βασίλειος Τμ. Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο Μακεδονίας efop@uom.gr Δαγδιλέλης Βασίλειος Τμ. Εκπαιδευτικής και Κοινωνικής Πολιτικής, Πανεπιστήμιο Μακεδονίας dagdil@uom.gr Ευαγγελίδης Γεώργιος Τμ. Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο Μακεδονίας gevan@uom.gr Κασκάλης Θεόδωρος Τμ. Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο Μακεδονίας kaskak@uom.gr ΠΕΡΙΛΗΨΗ Η παρούσα εισήγηση περιγράφει το ολοκληρωμένο διαδικτυακό προγραμματιστικό περιβάλλον WIPE (Web Integrated Programming Environment) και προσπαθεί να αναδείξει την εκπαιδευτική αξία του και τις διδακτικές καινοτομίες που ενσωματώνει. Το WIPE βασίζεται και επεκτείνει το περιβάλλον Χ-Compiler, τμήμα του εκπαιδευτικού λογισμικού «ΔΕΛΥΣ». Το προτεινόμενο περιβάλλον ενσωματώνει εφαρμογή διαχείρισης χρηστών, μεταγλωττιστή γλώσσας Pascal σε PseudoAssembly (Web Compiler), βοηθητικά προγραμματιστικά εργαλεία και βάση δεδομένων όπου καταχωρούνται δεδομένα εκπαιδευτών και εκπαιδευομένων ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ: compiler, e-learning, προγραμματιστικό περιβάλλον, interactive learning environment, programming and programming languages, education, Pascal, Assembly ΕΙΣΑΓΩΓΗ Αντικείμενο της παρούσης εισήγησης είναι η παρουσίαση του WIPE, ενός πρωτότυπου ολοκληρωμένου διαδικτυακού περιβάλλοντος για την υποστήριξη της διδασκαλίας των αρχών του προγραμματισμού. Το WIPE βασίζεται και επεκτείνει το περιβάλλον Χ-Compiler, τμήμα του εκπαιδευτικού λογισμικού «ΔΕΛΥΣ» που έχει αναπτυχθεί στο πλαίσιο του έργου ΝΑΥΣΙΚΑ της ενέργειας «Οδύσσεια» του Υπουργείου Παιδείας. Η εμπειρία που απέκτησε η ομάδα ανάπτυξης του ΔΕΛΥΣ, από την εισαγωγή του στη δευτεροβάθμια εκπαίδευση, ήταν καθοριστική για την απόφαση επέκτασης και μεταφοράς στον παγκόσμιο ιστό του X-Compiler. Προγραμματιστικά περιβάλλοντα που υποστηρίζουν τη διδασκαλία του προγραμματισμού σε αρχαρίους έχουν απασχολήσει την επιστημονική κοινότητα και ως αποτέλεσμα έχουν δημιουργηθεί ενδιαφέροντα προϊόντα. Πολλά μάλιστα από αυτά επικεντρώνουν την προσοχή τους στα «λάθη» των νέων προγραμματιστών και τις

734 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ δυσκολίες κατανόησης που αυτοί συναντούν. Ενδεικτικά αναφέρουμε τα VINCE [12] (animator γλώσσας C ), Karel the Robot [10] και Karel Genie [8] (προγραμματιστικοί μικρόκοσμοι για τα αρχικά βήματα των εκπαιδευομένων), το περιβάλλον Thetis C [7] (με υποστήριξη σημαντικών προγραμματιστικών εργαλείων ), το visual περιβάλλον BACCII [4] (παρουσίαση βασικών προγραμματιστικών λειτουργών με διαγράμματα ροής), το Dynalab [1] (με βηματική παρουσίαση κώδικα) και το WebLab [3] (Η διαδικτυακή έκδοση του Dynalab που υποστηρίζει ένα υποσύνολο της Java). Τα τελευταία δύο περιβάλλοντα έχουν πλέον ενσωματωθεί στο WebWorks που αποτελεί μια πολύ σημαντική προσπάθεια στο τομέα αυτό με έμφαση τους τομείς του program animation, context free grammar animation και finite state automaton animation. Το WIPE διαφοροποιείται γιατί περιλαμβάνει α) ολοκληρωμένο περιβάλλον διαχείρισης χρηστών, β) μεταγλωττιστή γλώσσας Pascal σε PseudoAssembly γ) βοηθητικά προγραμματιστικά εργαλεία και δ) βάση δεδομένων όπου καταχωρούνται δεδομένα και αποθηκεύονται αποτελέσματα των προσπαθειών των εκπαιδευομένων. Στη συνέχεια παρουσιάζεται η αρχιτεκτονική του προγραμματιστικού περιβάλλοντος, η περιγραφή του τρόπου λειτουργίας του και η διδακτική του αξία. Σχήμα 1: Το περιβάλλον του μεταγλωττιστή ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Το προγραμματιστικό περιβάλλον λειτουργεί στο Διαδίκτυο ή στο τοπικό Intranet και η πρόσβαση σε αυτό γίνεται μέσω Web browser. Το λογισμικό εγκαθίσταται στον

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 735 εξυπηρετητή (Server) του δικτύου (τοπικού ή Διαδίκτυο) και στον σταθμό εργασίας (client) μεταφέρονται οι πληροφορίες μέσω του browser. Η διαδικασία γίνεται ως εξής: O εκπαιδευόμενος (χρήστης) συνδέεται στον κόμβο δίνοντας username και password. Επιλέγει την εργασία-άσκηση με την οποία θα ασχοληθεί. Αφού εισέλθει στη σελίδα της εργασίας και διαβάσει τα δεδομένα που έχει καταχωρήσει ο καθηγητής του, γράφει το πρόγραμμα που θέλει να μεταγλωττιστεί στο παράθυρο του πηγαίου κώδικα και δίνει εντολή για μεταγλώττιση. Ο πηγαίος κώδικας του προγράμματος μεταφέρεται στον Web Server και αποθηκεύεται στη βάση δεδομένων. Γίνεται η μεταγλώττιση του πηγαίου κώδικα και τα αποτελέσματα αποθηκεύονται στη βάση δεδομένων στον Server και στέλνονται στον Web browser του χρήστη. Αν η μεταγλώττιση γίνει επιτυχώς, τότε στο παράθυρο της Assembly εμφανίζεται ο αντίστοιχος Assembly κώδικας. Κατόπιν o χρήστης δίνει εντολή για εκτέλεση του προγράμματος και το μεταγλωττισμένο πρόγραμμα εκτελείται στον server. Τα αποτελέσματα (output) του προγράμματος μεταφέρονται στον Web browser του χρήστη. Στο διάγραμμα που ακολουθεί παρουσιάζεται η Αρχιτεκτονική του όλου περιβάλλοντος. Server DBMS Compiler Results Source Code Web Server Assembly Code, Output & Errors Internet Web browser Program (Source Code) Assembly Code, Output & Client Σχήμα 2: Αρχιτεκτονική του προγραμματιστικού περιβάλλοντος

736 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Το ολοκληρωμένο σύστημα θα παρέχει τρεις διαφορετικούς τρόπους πρόσβασης. Πρόσβαση απλού χρήστη επισκέπτη (anonymous user) Πρόσβαση καθηγητή Πρόσβαση μαθητή (ορίζεται από τον καθηγητή) Πρόσβαση διαχειριστή Στην πρώτη περίπτωση, ο χρήστης που θα συνδεθεί μέσω ενός Web browser με τη συγκεκριμένη διεύθυνση, θα μπορεί να χρησιμοποιήσει μέρος των προσφερόμενων δυνατοτήτων. Πιο συγκεκριμένα θα μπορεί να συμμετέχει σε δημόσιες (global) εργασίες που έχουν καταχωρηθεί από τους καθηγητές ή θα μπορεί να γράψει τα προγράμματα που επιθυμεί σε γλώσσα Standard Pascal (ή ένα μεγάλο υποσύνολό της) και να δει τα αποτελέσματα τους. Στην περίπτωση αυτή καμία από τις δραστηριότητες του χρήστη δεν καταγράφεται στη βάση δεδομένων του συστήματος. Στη δεύτερη περίπτωση, όπου ο χρήστης ζητά πρόσβαση στο σύστημα ως καθηγητής, συμπληρώνει μια φόρμα-αίτηση που είναι διαθέσιμη (μέσω συνδέσμου) από την κεντρική σελίδα του ιστοχώρου. Η αίτηση αυτή αποστέλλεται στο διαχειριστή (administrator) του συστήματος. Ο διαχειριστής αφού μελετήσει την αίτηση και την εγκρίνει, αποστέλλει με e-mail στον αιτούντα χρήστη, τον κωδικό πρόσβασης (password) στο σύστημα ως καθηγητής. Ο καθηγητής από τη στιγμή που εισέλθει στο περιβάλλον έχει τη δυνατότητα: Να ορίσει ομάδες χρηστών (τμήματα-τάξεις) που διδάσκει καθώς και τα στοιχεία της σχολικής μονάδας όπου ανήκει. Να καταχωρήσει τους μαθητές κάθε ομάδας-τμήματος. Σημειώνουμε ότι για κάθε μαθητή θα πρέπει να ορίσει τα στοιχεία εισόδου στο σύστημα (username και password). Να καταχωρήσει εργασίες-ασκήσεις για τις συγκεκριμένες ομάδες. Η εργασίαάσκηση είναι ο δομικός λίθος του project. Διαχειρίζεται από τον καθηγητή και αφορά τους χρήστες (μαθητές και επισκέπτες) που αυτός ορίζει ότι μπορούν να την παρακολουθήσουν. Σε κάθε εργασία-άσκηση ο καθηγητής καταχωρεί τα ακόλουθα στοιχεία: την εκφώνηση, τους στόχους, το χρόνο παράδοσης, βοηθητικά στοιχεία, πηγές πληροφόρησης (λ.χ. links), τους χρήστες που έχουν δικαίωμα να την παρακολουθήσουν και (προαιρετικά) τα δεδομένα εισόδου με τα αντίστοιχα δεδομένα εξόδου με τα οποία θα γίνει ο αυτόματος έλεγχος ορθότητας των προγραμμάτων. Παράλληλα ο καθηγητής μπορεί να εισάγει σημεία βοήθειας (hints) σε συγκεκριμένες περιπτώσεις λογικών λαθών στις ασκήσεις των μαθητών. Nα ορίσει μια εργασία-άσκηση ως καθολική (global) έτσι ώστε να έχουν δικαίωμα να δουν τα περιεχόμενα της όλοι οι χρήστες (καθηγητές, μαθητές, επισκέπτες). Nα δημιουργήσει ένα ή περισσότερα σύνολα χρηστών που θα μπορούν να εργαστούν από κοινού για τη διεκπεραίωση της εργασίας. Στον φάκελο του συνόλου αυτού έχουν πρόσβαση μόνο οι χρήστες που ανήκουν σε αυτό. Να παρακολουθεί τις επιδόσεις των μαθητών του.

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 737 Συνοπτικά ο καθηγητής είναι ο διαχειριστής (administrator) των τμημάτων και των μαθητών που ο ίδιος ορίζει. Καταχωρεί και αρχειοθετεί υλικό (ενδεικτικά προγράμματα, εργασίες, ασκήσεις) και το διαθέτει στους μαθητές του όποτε ο ίδιος κρίνει. Η τρίτη περίπτωση πρόσβασης, αναφέρεται στο μαθητή ο οποίος προηγουμένως θα πρέπει να έχει καταχωρηθεί στη βάση δεδομένων από τον καθηγητή του. Όταν συνδεθεί και συμπληρώσει σωστά τα στοιχεία του θα έχει πρόσβαση στο προγραμματιστικό περιβάλλον και θα μπορεί: Να εξερευνήσει το προγραμματιστικό περιβάλλον και να γράψει τα δικά του προγράμματα (που καταγράφονται κάθε φορά που μεταγλωττίζονται) Να εκτελέσει τα προγράμματά του με διάφορους τρόπους (εξ ολοκλήρου εκτέλεση, βηματική εκτέλεση με ταυτόχρονη παρακολούθηση των τιμών των μεταβλητών) Να λύσει τις προγραμματιστικές ασκήσεις που έχει καταχωρήσει ο καθηγητής του. Να στείλει τα αποτελέσματα των ασκήσεων στον καθηγητή του. Όταν ολοκληρωθεί η καταχώρηση της εργασίας από τον καθηγητή, το σύστημα δημιουργεί προσωπικό φάκελο για τον κάθε μαθητή καθώς και φάκελο υποστήριξης (Library) όπου καταχωρείται το συνοδευτικό υλικό. Ο κάθε μαθητής έχει πρόσβαση στον προσωπικό του φάκελο και στο φάκελο υποστήριξης. Σημειώνεται ότι για κάθε μαθητή το σύστημα καταχωρεί στη βάση δεδομένων ένα αντίγραφο του πηγαίου κώδικα κάθε φορά που γίνεται μεταγλώττιση, τη χρονική στιγμή που έγινε αυτή καθώς και τα συντακτικά λάθη που παρουσιάστηκαν. Η τέταρτη περίπτωση πρόσβασης αναφέρεται στο διαχειριστή που είναι ο χρήστης που έχει πλήρη δικαιώματα. Μπορεί να δημιουργήσει, να μεταβάλλει, να διαγράψει καθηγητές, μαθητές, επισκέπτες. ΤΟ ΓΡΑΦΙΚΟ ΕΝΔΙΑΜΕΣΟ Το γραφικό ενδιάμεσο του Web Compiler θα ενσωματώνεται στο περιβάλλον του Web browser και θα περιέχει τα ακόλουθα στοιχεία: Παράθυρο συγγραφής πηγαίου κώδικα (source code), όπου ο μαθητής πληκτρολογεί το πρόγραμμα. Παράθυρο assembly κώδικα (assembly code), όπου ο εμφανίζεται κάθε φορά η μεταγλώττιση σε assembly του πηγαίου κώδικα. Παράθυρο εξόδου αποτελεσμάτων (output), όπου εμφανίζονται τα αποτελέσματα της εκτέλεσης του προγράμματος. Παράθυρο μηνυμάτων βοήθειας (message), όπου εμφανίζονται τα μηνύματα της μεταγλώττισης, η εκφώνηση των ασκήσεων, η βοήθεια (hints). Παράθυρο ελέγχου τιμών μεταβλητών (watcher), όπου ο μαθητής ελέγχει τις τιμές μεταβλητών ή παραστάσεων. Μπάρα εργαλείων με τις πιο συχνές λειτουργίες (Μεταγλώττιση, Εκτέλεση, Αντιγραφή, Επικόλληση κλπ.).

738 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟΝ WEB COMPILER O Web Compiler αποτελεί ένα διαδικτυακό περιβάλλον εισαγωγής στον προγραμματισμό, σχεδιασμένο για εκπαιδευτική χρήση. Το σύστημα θα είναι διαθέσιμο στην εκπαιδευτική κοινότητα και προσβάσιμο μέσω του Διαδικτύου. Στην παρούσας φάση η ανάπτυξη του web compiler γίνεται στην ηλεκτρονική διεύθυνση: http://lachesis.it.uom.gr/x-comp/index.html Tο περιβάλλον του Web Compiler θα επιτρέπει την έκδοση, εκσφαλμάτωση και εκτέλεση προγραμμάτων γραμμένων σε γλώσσα Pascal. Ωστόσο ο Web Compiler θα ενσωματώνει μια σειρά χαρακτηριστικών που παρουσιάζουν διδακτικό ενδιαφέρον: Ο χρήστης θα μπορεί να παρακολουθήσει όλα τα ενδιάμεσα στάδια μιας εκτέλεσης προγράμματος: τη μεταγλώττιση, τον assembly κώδικα, τα περιεχόμενα των καταχωρητών, τις ενδιάμεσες τιμές όλων των μεταβλητών. Επί πλέον ο χρήστης θα μπορεί να παρέμβει απευθείας στον assembly κώδικα, να τον μεταβάλλει και στη συνέχεια να τον εκτελέσει. Η ύπαρξη πολλών μηνυμάτων, όσο γίνεται ακριβέστερων και επεξηγηματικών, θα βοηθούν τον αρχάριο προγραμματιστή στην εκσφαλμάτωση, αλλά και την γενικότερη βελτίωση του προγράμματός του. Ως παράδειγμα των διδακτικών χαρακτηριστικών που θα προσφέρει το σύστημα αναφέρουμε το παρακάτω: To παράθυρο ελέγχου τιμών μεταβλητών που υλοποιήθηκε στην αρχική έκδοση του X-compiler, θα τροποποιηθεί και θα συμπεριλάβει αλγεβρικές και Boolean παραστάσεις καθώς και τις συμβολικές τιμές τους. Για παράδειγμα ας υποθέσουμε ότι έχουμε το παρακάτω πρόγραμμα: Στην παρίπτωση αυτή ο χρήστης θα μπορεί να δει τις τιμές των μεταβλητών A και B μετά από κάθε εντολή. Έτσι κάθε ενδιάμεση τιμή θα μπορεί να εμφανίζεται δίπλα: Όπου οι αγκύλες δηλώνουν ότι εμφανίζονται οι ενδιάμεσες τιμές των μεταβλητών. Ας υποθέσουμε ότι δίνουμε στις Α και Β τις αρχικές τιμές 10 και 20 αντίστοιχα. Τότε το παράθυρο ελέγχου τιμών μεταβλητών θα εμφανίσει: Αρχικά: Μετά την πρώτη εντολή: [[Α=30; Β=20]] Μετά τη δεύτερη εντολή:

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 739 [[Α=30; Β=10]] Μετά την τρίτη εντολή: [[Α=20; Β=10]] Όμως το περιβάλλον θα ενσωματώνει επίσης και αλγεβρικές παραστάσεις και θα μπορεί να ελεγχθεί η ορθότητα τους (αυτός ο έλεγχος είναι απολύτως ακριβής σε περίπτωση ανίχνευσης σφαλμάτων και μερικώς ακριβής σε περίπτωση εύρεσης ορθών αλγεβρικών παραστάσεων). Σχεδόν θα υπάρξει μια αυτοματοποιημένη διαδικασία επαλήθευσης/απόρριψης που ενσωματώνεται στο σύστημα. Αυτή η διαδικασία, όσο ξέρουμε, είναι μοναδική στον κόσμο και είναι μια καινοτομία της ομάδας ανάπτυξης του WIPE. Για να αναπαραστήσουμε την παραπάνω διαδικασία θα χρησιμοποιήσουμε το προηγούμενο παράδειγμα. Στην περίπτωση αυτή η έκφραση έχει ως εξής: [[Α=x; B=y]] Α:=Α + Β; Β:=Α Β; Α:=Α - Β; [[A=y; B=x]] Με άλλα λόγια απευθύνουμε στο σύστημα την ερώτηση και του ζητούμε να αποφασίσει αν γίνεται η μετάθεση τιμών των δύο μεταβλητών. Στην περίπτωση αυτή το πρόγραμμα θα αποφανθεί ότι η ανταλλαγή έγινε σωστά. Στην περίπτωση που βρεθεί λάθος, θα παραχθεί ένα αντιπαράδειγμα. Ας δούμε το παράδειγμα: [[A=x; B=y]] p:=0; q:=α; while q>=β do begin q:=q-β; p:=p+1; end; [[A=pB+q; q<β]] που ελέγχει αν η διαίρεση είναι τέλεια. Το σύστημα θα μας επισημάνει ότι πιθανότατα το πρόγραμμα θα τρέχει ατέρμονα για τις τιμές A=5 και B=-12, που σημαίνει ότι τα A και B θα πρέπει να οριστούν ώς θετικοί αριθμοί. Τα παραπάνω παραδείγματα παρουσιάζουν ένα τμήμα της διδακτικής αξίας του όλου περιβάλλοντος. Γενικότερα το WIPE θα επιτρέπει στον χρήστη να ελέγχει αν το πρόγραμμα του παράγει τα σωστά αποτελέσματα, θα τον καθοδηγεί στην αναζήτηση λογικών λαθών ή αδύνατων σημείων και θα τον βοηθά στην προσπάθεια του να διορθώσει και γενικότερα να βελτιώσει το πρόγραμμα του.

740 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ ΕΠΙΛΟΓΟΣ Όπως ήδη αναφέρθηκε έχουν γίνει σημαντικές προσπάθειες για την ανάπτυξη εκπαιδευτικών περιβαλλόντων προκειμένου να υποστηριχθεί τόσο η διδασκαλία του προγραμματισμού αλλά και να βοηθηθούν οι αρχάριοι στην εκμάθηση του προγραμματισμού. Τα ερευνητικά αποτελέσματα σχετικά με τις δυσκολίες και τις λανθασμένες αντιλήψεις των σπουδαστών [14] ήταν αυτά που προκάλεσαν την ανάπτυξη εκπαιδευτικών προγραμματιστικών περιβαλλόντων. Με βάση τα ευρήματα αυτά σχεδιάσαμε το WIPE και τον Web Compiler. Στη συνέχεια συνοψίζουμε εκείνα τα χαρακτηριστικά του περιβάλλοντος που θεωρούμε ότι υποστηρίζουν σημαντικά τη διδασκαλία και εκμάθηση του προγραμματισμού. Η δυνατότητα εκτέλεσης του προγράμματος με ταυτόχρονη παρουσίαση των τιμών των μεταβλητών σε συνδυασμό με τη βηματική εκτέλεση θα βοηθήσει τον αρχάριο στην κατανόηση του μηχανισμού εκτέλεσης ενός προγράμματος των διεργασιών που συμβαίνουν στην εσωτερική κατάσταση της μηχανής και στην εκμάθηση των καθιερωμένων δομών, ζητήματα για τα οποία οι εμπειρικές μελέτες έδειξαν ότι προκαλούν δυσκολίες στους αρχάριους [5,6] Το παράθυρο μηνυμάτων βοήθειας θα υποστηρίξει την εκσφαλμάτωση καθώς τα μηνύματα των συνήθων προγραμματιστικών περιβαλλόντων δεν είναι ιδιαίτερα φιλικά προς το χρήστη και έχει διαπιστωθεί ότι αποτελούν αιτία δυσκολιών [6] Η καταγραφή της πορείας που ακολουθούν οι αρχάριοι όταν αναπτύσσουν ένα πρόγραμμα θα δώσει σημαντική βοήθεια στον καθηγητή [8], καθόσον θα του επιτρέψει να διαπιστώσει τα λάθη που κάνουν οι αρχάριοι και με βάση τα στοιχεία αυτά να τροποποιήσει το μάθημά του και να εισάγει ή να τροποποιήσει ασκήσεις προκειμένου να ξεπεραστούν οι δυσκολίες Η δυνατότητα στατιστικής επεξεργασίας των στοιχείων θα επιτρέψει στον καθηγητή να αξιολογήσει το μάθημά του και ενδεχομένως να αναθεωρήσει στοιχεία της διδασκαλίας του ή να προσθέσει επιπλέον διδακτικό υλικό για τη διευκόλυνση των μαθητών. Τέλος η διάθεση των αποτελεσμάτων στο Διαδίκτυο θα βοηθήσει την εκπαιδευτική κοινότητα στη διδασκαλία του προγραμματισμού αφού θα κάνει ευρύτερα γνωστά στοιχεία που αφορούν στις αντιλήψεις των μαθητών για τον προγραμματισμό. ΒΙΒΛΙΟΓΡΑΦΙΑ 1. Birch M., Boroni, C., Goosey F., Patton S., Poole D., Pratt C., Ross R., DYNALAB: A Dynamic Computer Science Laboratory Infrastructure Featuring Program Animation, In Twenty-sixth SICGSE Technical Symposium on Computer Science Education (SICGSE Bulletin) vol. 27, pp. 29-33, 1995. 2. Boroni C., Goosey F., Grinder M., and Ross R., "A Paradigm Shift! The Internet, the Web, Browsers, Java, and the Future of Computer Science Education" Twenty-ninth SIGCSE Technical Symposium on Computer Science Education (SIGCSE Bulletin), 30(1), 145-149, 1998. 3. Boroni C., Goosey F., Grinder M., Ross R., and Wissenbach P., "WebLab! A Universal and Interactive Teaching, Learning, and Laboratory Environment for the

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 741 World Wide Web" SIGCSE Technical Symposium on Computer Science Education (SIGCSE Bulletin), 29(1), 199-203, March 1997. 4. Calloni B., Bagert B., Iconic Programming in BACCII vs. Textual Programming: which is a better learning environment?, ACM, SIGSCE 94, Phoenix AZ, pp. 188-192, 1994. 5. Du Boulay B., O Shea T., and Monk J., The Black Box Inside the Glass Box: Presenting Computing Concepts to Novices, Studying The Novice Programmer, E. Soloway and J. Sprohrer (Eds.), Lawrence Erlbaum Associates, pp. 431-446, 1989. 6. du Boulay, B., (1989), Some Difficulties Of Learning To Program, In Studying The Novice Programmer, Soloway, E., Sprohrer, J. (Eds.) Lawrence Erlbaum Associates, pp. 283-300. 7. Freund S. N. and Roberts E. S., THETIS: An ANSI C programming environment designed for introductory use, ACM SIGSCE 96, Philadelphia, PA, USA, pp. 300-304, 1996. 8. MacGNOME Project, Computer Science Department, Carnegie Mellon University, Pittsburgh, PA 15213. 9. Papert, S. (1980). Mindstorms: Children, Computers and Powerful Ideas. Brighton, Sussex: Harvester Press. 10. Pattis R. E., Roberts J., and Stehlik M., Karel - The Robot, A Gentle Introduction to the Art of Programming, 2nd edn. New York, Wiley, 1995. 11. Pierson, W. C. & Rodger, S. H. (1998). Web-based Animation of Data Structures Using JAWAA. Proceedings of the 1998 SIGCSE Symposium, Atlanta, 267-271. 12. Rowe, G. & Thorburn, G. (1999). Evaluation of VINCE - a Tool for Teaching Introductory Programming. Proceedings of the 7th Annual Conference on the Teaching of Computing, Belfast Aug 25-27, 98-102. 13. Satratzemi M., Dagdilelis V., Evangelidis G., «A System for Program Visualization and Problem-Solving Path Assessment of Novice Programmers, SIGCE Bulletin, 33(3), 2001 14. Δαγδιλέλης Β., (1996), Διδακτική της πληροφορικής. Η διδασκαλία του προγραμματισμού: αντιλήψεις των σπουδαστών για την κατασκευή κι επικύρωση προγραμμάτων και διδακτικές καταστάσεις για τη διαμόρφωσή τους, Διδακτορική διατριβή, Τμήμα Εφ. Πληροφορικής Πανεπιστήμιο Μακεδονίας. 15. Σατρατζέμη Μ., Δαγδιλέλης Β., Ευαγγελίδης Γ., Εφόπουλος Β., «An Educational Programming Environment for Novices», Πρακτικά του 8 ου Πανελλήνιου Συνεδρίου στην Πληροφορική (της Ελληνικής Εταιρίας Επιστημόνων Η/Υ & Πληροφορικής ΕΠΥ), Λευκωσία/Κύπρος, 8-10 Νοεμβρίου 2001.