ΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟΙ ΜΙΚΡΟΚΟΣΜΟΙ ΜΙΑ ΓΕΝΙΚΗ ΘΕΩΡΗΣΗ
Προγραμματιστικά περιβάλλοντα Με τον όρο προγραμματιστικά περιβάλλοντα εννοούμε συστήματα τα οποία επιτρέπουν την έκδοση και εκτέλεση προγραμμάτων
Προγραμματιστικοί μικρόκοσμοι Αποτελούν μια ιδιαίτερη κατηγορία προγραμματιστικών περιβαλλόντων, αφού παρουσιάζουν μια σειρά κοινών χαρακτηριστικών.
Δυσκολίες στην εκμάθηση του προγραμματισμού Η διδασκαλία και εκμάθηση του προγραμματισμού παρουσιάζει αρκετές δυσκολίες. Πηγή δυσκολιών για την εκμάθηση του προγραμματισμού έγκειται στο γεγονός ότι η κλασική προσέγγιση διδασκαλίας είναι ασύμβατη με τις πραγματικές διδακτικές ανάγκες των μαθητών.
Κλασική προσέγγιση διδασκαλίας Με τον όρο κλασική προσέγγιση διδασκαλίας, εννοούμε τη διδασκαλία που συνίσταται: στη χρήση μιας γλώσσας γενικού σκοπού (όπως οι Pascal, C, κλπ), ενός επαγγελματικού περιβάλλοντος προγραμματισμού για τη γλώσσα αυτή, και στην επίλυση ενός συνόλου προβλημάτων επεξεργασίας αριθμών και συμβόλων.
Τα σημαντικότερα προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές που διδάσκονται τις αρχές του προγραμματισμού με την κλασική προσέγγιση
Προβλήματα στην εκμάθηση του προγραμματισμού Οι γλώσσες προγραμματισμού γενικού σκοπού διαθέτουν ένα μεγάλο ρεπερτόριο εντολών και είναι πολύπλοκες. Η προσοχή των μαθητών επικεντρώνεται στην εκμάθηση της σύνταξης της γλώσσας και όχι στην ανάπτυξη ικανοτήτων επίλυσης προβλημάτων Το προγραμματιστικό περιβάλλον συνήθως δεν παρέχει δυνατότητες οπτικοποίησης (η διαδικασία εκτέλεσης ενός προγράμματος δεν είναι ορατή από τον μαθητή)
Οι περισσότεροι εμπορικοί μεταγλωττιστές απευθύνονται σε επαγγελματίες και όχι σε μαθητές, προκαλώντας έτσι αρκετά προβλήματα όταν χρησιμοποιούνται στα πλαίσια ενός μαθήματος εισαγωγής στον προγραμματισμό Η επίλυση ενδιαφερόντων προβλημάτων απαιτεί την εκμάθηση ενός μεγάλου υποσυνόλου της γλώσσας και την ανάπτυξη αρκετά μεγάλων προγραμμάτων
Μικρόκοσμοι – Μικρογλώσσες Προγραμματισμού Η βασική ιδέα των μικρόκοσμων (microworlds) και των μικρογλωσσών (mini-languages) προγραμματισμού είναι η δημιουργία μιας γλώσσας προγραμματισμού που αποτελείται από ένα περιορισμένο ρεπερτόριο εντολών με απλή σύνταξη και σημασία
Ο σπουδαστής μαθαίνει τις βασικές έννοιες του προγραμματισμού ελέγχοντας ένα πρωταγωνιστή – μια χελώνα, ένα ρομπότ ή κάποια άλλη οντότητα – που ζει στον μικρόκοσμο Έχει τη δυνατότητα να εκτελεί τα προγράμματα που αναπτύσσει βήμα προς βήμα, παρακολουθώντας το αποτέλεσμα εκτέλεσης της κάθε εντολής, στην κατάσταση του μικρόκοσμου
Πλεονέκτημα της προσέγγισης των μικρόκοσμων Εκτός από το περιορισμένο ρεπερτόριο εντολών και την οπτικοποίηση της εκτέλεσης ενός προγράμματος, είναι και το γεγονός ότι οι μικρόκοσμοι βασίζονται – στην πλειοψηφία τους – σε κάποιο φυσικό μοντέλο, που είναι ήδη γνωστό στους σπουδαστές και όχι σε κάποιο άγνωστο και δυσνόητο (για τους μαθητές) μοντέλο αναφοράς
Οι μικρόκοσμοι μπορούν να χρησιμοποιηθούν: στα πλαίσια ενός μαθήματος εισαγωγής στον προγραμματισμό, το οποίο μπορεί να επικεντρωθεί αποκλειστικά στη διδασκαλία εννοιών του προγραμματισμού ή να προετοιμάσει παράλληλα τους σπουδαστές για την ευκολότερη μετάβαση σε μια γλώσσα προγραμματισμού γενικού σκοπού
σε προχωρημένα στάδια σπουδών για τη στήριξη των σπουδαστών στην κατανόηση δύσκολων εννοιών (π.χ. αναδρομή, δείκτες κ.τ.λ), για την ανάπτυξη δεξιοτήτων επίλυσης προβλημάτων και αλγοριθμικού τρόπου σκέψης, από άτομα που θέλουν να αποκτήσουν κάποιες βασικές γνώσεις γύρω από τον προγραμματισμό, αλλά και την επιστήμη των υπολογιστών γενικότερα.
Ταξινόμηση μικρόκοσμων Οι προγραμματιστικοί μικρόκοσμοι μπορούν να ταξινομηθούν σε γενικές κατηγορίες όπως οι μικρόκοσμοι βασισμένοι στη Logo, μικρόκοσμοι βασισμένοι στα ρομπότ Karel και Karel++ , μικρόκοσμοι βασισμένοι σε φυσικά αντικείμενα, μικρόκοσμοι – παιχνίδια κ.ά.
Τα χαρακτηριστικά που ενσωματώνει η πλειοψηφία των μικρόκοσμων Μινιμαλιστικό και εύχρηστο γραφικό περιβάλλον, βήμα-προς-βήμα εκτέλεση, και τεχνικές οπτικοποίησης λογισμικού. Ορισμένοι μικρόκοσμοι ενσωματώνουν και κάποια άλλα χαρακτηριστικά, όπως: εκδότες δομής για την ευκολότερη ανάπτυξη προγραμμάτων και την αποφυγή συντακτικών λαθών, επεξηγηματική οπτικοποίηση, δυνατότητα αυτόματης δημιουργίας διαγραμμάτων ροής και ενσωματωμένες στο περιβάλλον δραστηριότητες
Παιχνίδια ως μικρόκοσμοι Ένα από τα βασικά πλεονεκτήματα των μικρόκοσμων, έγκειται στο γεγονός ότι προκαλούν το ενδιαφέρον των σπουδαστών. Σε ορισμένες περιπτώσεις μάλιστα, ένας μικρόκοσμος μπορεί στην ουσία να χαρακτηριστεί ως παιχνίδι.
Χαρακτηριστικό παράδειγμα από την παλιότερη «γενιά» εκπαιδευτικών αποτελεί ο μικρόκοσμος AlgoArena, ένα εκπαιδευτικό εργαλείο που αναπτύχθηκε στην Ιαπωνία για τη διδασκαλία της σχεδίασης λογισμικού σε μαθητές Γυμνασίου. Στην ουσία πρόκειται για ένα παιχνίδι που προσομοιώνει την πάλη Sumo, το παραδοσιακό σπορ της Ιαπωνίας. Οι μαθητές προγραμματίζουν τις ενέργειες του δικού τους παλαιστή χρησιμοποιώντας μια γλώσσα βασισμένη στη LOGO, προκειμένου να κερδίσουν κάποιον αντίπαλο
Η «οικογένεια» περιβαλλόντων Logo H γλώσσα LOGO είναι δημιούργημα του Αμερικανού ερευνητή Seymour Papert. O S. Papert υπήρξε μαθητής του J. Piaget και η γλώσσα LOGO υπήρξε καρπός της προσπάθειας του να κατασκευάσει έναν μικρόκοσμο στον Η.Υ., ο οποίος να «υλοποιεί» τη θεωρία του J. Piaget, τον κονστρουκτιβισμό
Η βασική ιδέα της Logo, είναι η δημιουργία μιας «Μαθηματικοχώρας», δηλαδή ενός περιβάλλοντος που θα λειτουργεί με βάση τα Μαθηματικά. Ωστόσο, καθώς η χελώνα προγραμματίζεται, η γλώσσα Logo μπορεί να χρησιμοποιηθεί και στη διδασκαλία του προγραμματισμού. Η γνωστή χελώνα της Logo εδώ και 40 σχεδόν χρόνια, έχει χρησιμοποιηθεί σε δεκάδες παραλλαγές, δημιουργώντας μια «οικογένεια» λογισμικών με ανάλογα χαρακτηριστικά.
Τα χαρακτηριστικά της Logo είναι: Ένας «πρωταγωνιστής» που υποτίθεται ότι παριστάνει μια χελώνα και κινείται πάνω σε μια επίπεδη, λευκή επιφάνεια, χαράσσοντας μια γραμμή από τα σημεία από τα οποία περνάει. Μια απλή γλώσσα προγραμματισμού για τον καθορισμό της κίνησης της χελώνας, με πολύ απλές δομές δεδομένων (λίστες), με στοιχειώδεις λειτουργίες εισόδου-εξόδου. Επειδή η κίνηση της χελώνας είναι άμεση, ο χρήστης διαπιστώνει με προφανή τρόπο αν πέτυχε τον προκαθορισμένο στόχο του (για παράδειγμα αν η χελώνα «σχημάτισε» ένα τετράγωνο) και μπορεί να διορθώσει το πρόγραμμά του, σε περίπτωση λάθους.