Η Γλώσσα Προγραμματισμού LOGO

 

«Μαθαίνουμε καλύτερα κάνοντας... αλλά μαθαίνουμε ακόμα καλύτερα αν συνδυάσουμε τη δράση με την ομιλία και το στοχασμό πάνω σ΄ αυτά που κάνουμε».

S. Papert, 1999

 Η Logo είναι γλώσσα προγραμματισμού η οποία αναπτύχθηκε στις αρχές του 1970 από την ομάδα του Seymour Papert (με τη συμβολή της Cynthia Solomon και της Wally Feuerzeig) ως μαθησιακό εργαλείο. Το όνομά της προέρχεται από την ελληνική λέξη ΛΟΓΟΣ. Η Logo αποτελεί διάλεκτο της Lisp, της γλώσσας της τεχνητής νοημοσύνης, και έχει αξιοποιηθεί στην εκπαίδευση περισσότερο από οποιαδήποτε άλλη γλώσσα προγραμματισμού. Βάση της αποτελεί η φιλοσοφία του Κονστρουκτιβισμού όπως αναπτύχθηκε από τον Piaget (1965). Επιπρόσθετα, η Logo συνδυάζει τις προσεγγίσεις του Piaget και του Vygotsky. Παρόλο που συχνά αμφισβητείται η εκπαιδευτική της αποτελεσματικότητα, θεωρείται ιδανικό εργαλείο για να μαθαίνεις κάνοντας (learning by doing) και αναμφίβολα αποτελεί  σημαντικό εργαλείο στα χέρια του εκπαιδευτικού για την ανάπτυξη δεξιοτήτων εξερεύνησης, δημιουργικότητας, επίλυσης προβλημάτων, λογικής-αλγοριθμικής σκέψης.

Όλες οι γλώσσες προγραμματισμού αποτελούν εργαλεία για την ανάπτυξη μοντέλων. Η Logo είναι ιδιαίτερα κατάλληλη για την ανάπτυξη μοντέλων από παιδιά. Απ’ όλες τις γλώσσες προγραμματισμού η Logo σχεδιάστηκε για να δημιουργεί μοντέλα με πολύ εύκολο τρόπο. Με τη Logo αναπτύσσουμε μοντέλα οραματιζόμενοι ένα «όλον», σπάζοντας το σε τμήματα εύκολα διαχειρίσιμα τα οποία μπορούν να διδαχθούν στον υπολογιστή. Χρησιμοποιούμε τη γλώσσα που γνωρίζει ο υπολογιστής για τον διδάξουμε νέες λέξεις. Συχνά διδάσκουμε τη χελώνα νέες λέξεις γράφοντας διαδικασίες, οι οποίες είναι μια σειρά εντολών για να κάνει κάτι. Πειραματιζόμαστε με τις εντολές και αξιολογούμε το πρόγραμμά μας για να δούμε αν τα έργα υλοποιήθηκαν όπως περιμέναμε. Ανταποκρινόμαστε στις παρανοήσεις του υπολογιστή καθώς εκσφαλματώνουμε τις εντολές και τις διαδικασίες και μερικές φορές αναδομούμε την προσέγγισή μας.

Στο περιβάλλον της Logo οι μαθητές αναλαμβάνουν το ρόλο του δασκάλου. Ως δάσκαλος ο μαθητής οφείλει να :

  • Καταλάβει τη γνώση που πρόκειται να διδάξει,

  • Οργανώσει μια διδακτική προσέγγιση,

  • Σπάσει τη γνώση σε μικρά, κατανοητά τμήματα,

  • Επικοινωνήσει με το μαθητή,

  • Θεμελιώσει τη γνώση ως βάση για μελλοντική μάθηση,

  • Αναγνωρίσει τις ήδη κατεκτημένες γνώσεις του μαθητή και να χτίσει πάνω σ’αυτές,

  • Είναι ανοικτός για εξερεύνηση νέων ιδεών όπως εμφανίζονται,

  • Ανταποκρίνεται στις παρανοήσεις και τα λάθη του μαθητή.

 

Οι μαθητές, στο περιβάλον της Logo:

  • Πειραματίζονται με εντολές Logo για να τις καταλάβουν και να νιώσουν αυτοπεποίθηση με τη χρήση τους,

  • Σχεδιάζουν τη δουλειά τους και την οργανώνουν στις διάφορες συνιστώσες της,

  • Γράφουν μια σειρά εντολών για να ολοκληρώσουν κάθε μικρό υποέργο,

  • Οικοδομούν ένα πρόγραμμα όπου ολοκληρώνουν όλα τα υποέργα στη σωστή σειρά,

  • Δοκιμάζουν το πρόγραμμά τους και αξιολογούν τη δουλειά τους,

  • Εκσφαλματώνουν το πρόγραμμμά τους εντοπίζοντας και διορθώνοντας τα λάθη ή αναδομούν την προσέγγισή τους.

 

 

Κύρια θετικά χαρακτηριστικά της Logo αποτελούν η αλληλεπιδραστικότητα, η συναρμολογησιμότητα - επεκτασιμότητα, η ευκαμψία ως προς τύπους δεδομένων.

 

 

Αλληλεπιδραστικότητα

Η Logo γενικά χρησιμοποιεί διερμηνέα (interpreter) -αν και υπάρχουν κάποιες εκδόσεις Logo που χρησιμοποιούν μεταγλωττιστή. Η αλληλεπιδραστικότητα της προσέγγισης αυτής προσφέρει στο χρήστη άμεση ανατροφοδότηση για ξεχωριστές εντολές, που βοηθά στην εκσφαλμάτωση και στη μαθησιακή διαδικασία.

Τα μηνύματα λάθους είναι περιγραφικά . Πχ

μπροσά

Δεν ξέρω τίποτε για μπροσά

Εξήγηση: η λέξη μπροσά δεν είναι πρωτογενής εντολή ούτε διαδικασία που ορίσατε.

μπροστά

Το μπροστά απαιτεί περισσότερα δεδομένα

Εξήγηση: η λέξη μπροστά αναγνωρίζεται ως πρωτογενής εντολή αλλά το πρόγραμμα δεν τρέχει γιατί απαιτείται πρόσθετη πληροφορία.

μπροστά 100

Εξήγηση: η χελώνα κινείται μπροστά 100 βήματα. Δεν εμφανίζεται μήνυμα λάθους.

τύπωσε 3+4

Δεν ξέρω τίποτε για 3+4

Εξήγηση: δεν υπάρχουν κενά μεταξύ αριθμών-συμβόλου.

τύπωσε 3 + 4

Δεν βρέθηκε πλαίσιο κειμένου για την εντολή τύπωσε

Εξήγηση: Δεν βρέθηκε πλαίσιο κειμένου για την εντολή τύπωσε στην εργασία.

τύπωσε 3 + 4

Εξήγηση: τυπώνεται το 7 στο υπάρχον πλαίσιο κειμένου στην εργασία ενώ δεν εμφανίζεται μήνυμα λάθους.

 

 

Συναρμολογησιμότητα - επεκτασιμότητα

Τα προγράμματα της Logo συνήθως αποτελούν συλλογές μικρών διαδικασιών. Οι διαδικασίες ορίζονται στην καρτέλα διαδικασίες. Η ειδική λέξη για ακολουθείται από το όνομα της διαδικασίας. Ακόλουθες γραμμές σχηματίζουν τον ορισμό της διαδικασίας. Η λέξη τέλος σηματοδοτεί τη λήξη του ορισμού της διαδικασίας.

Πχ για την κατασκευή τετραγώνου ορίζουμε τη διαδικασία τετράγωνο

για τετράγωνο

επανάλαβε 4[ μπ 100 δε 90]

τέλος

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

για λουλούδι

επανάλαβε 18[ δε 20 τετράγωνο]

τέλος

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

για κήπος

επανάλαβε 20[ θέσεχ τυχαίο 50 θέσεψ τυχαίο 100 θέσεχρώμα τυχαίο 50 λουλούδι]

τέλος

Από τη στιγμή που μια διαδικασία οριστεί λειτουργεί όπως οι πρωτογενείς διαδικασίες. Στην πραγματικότητα διαβάζοντας ένα πρόγραμμα σε Logo δεν μπορείς να ξέρεις ποιες λέξεις είναι πρωτογενείς και ποιες ορισμένες από το χρήστη εκτός αν γνωρίζεις τη συγκεκριμένη έκδοση της Logo. Η εντολή διάλεξε αποτελεί πρωτογενής λέξη σε μερικές εκδόσεις της Logo, ενώ σε άλλες όχι.

Η Logo σου επιτρέπει να χτίσεις πολύπλοκα σχέδια εργασιών με μικρά βήματα. Ο προγραμματισμός σε Logo γίνεται προσθέτοντας στο λεξιλόγιο, διδάσκοντας το νέες λέξεις με βάση τις λέξεις που ήδη ξέρει. Μ’ αυτό τον τρόπο μοιάζει με τον τρόπο που μαθαίνεις ξένη γλώσσα.

 

 

Ευκαμψία ως προς τύπους δεδομένων

Η Logo δουλεύει με λέξει και λίστες. Μια λέξη της Logo είναι μια σειρά χαρακτήρων. Μια λίστα είναι μια διατεταγμένη σειρά λέξεων ή λιστών. Οι αριθμοί είναι λέξεις, αλλά είναι σπέσιαλ γιατί μπορείς να κάνεις αριθμητική μ’ αυτούς.

Πολλές γλώσσες προγραμματισμού είναι αυστηρές σχετικά με την απαίτηση να γνωρίζουν τι είδος δεδομένων θα χρησιμοποιηθούν. Αυτό κάνει τα πράγματα εύκολα για τον υπολογιστή αλλά δύσκολα για τον προγραμματιστή. Προτού πχ προσθέσεις ένα ζευγάρι αριθμών θα πρέπει να καθορίσεις αν πρόκειται για ακεραίους ή πραγματικούς αριθμούς. Στη Logo δεν απαιτείται κάτι τέτοιο, όταν ζητήσουμε να κάνει αριθμητική απλά το κάνει.

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

τύπωσε λέξη "κα "λά

τυπώνει σε υπάρχον πλαίσιο κειμένου τη λέξη καλά

τύπωσε λέξη "5 "4

τυπώνει σε υπάρχον πλαίσιο κειμένου τον αριθμό 54

τύπωσε 20 + λέξη "5 "4

τυπώνει σε υπάρχον πλαίσιο κειμένου τον αριθμό 74

 

Η Logo του MicroWorlds περιλαμβάνει πολύ-επεξεργασία (multi-tasking) έτσι ώστε πολλές ανεξάρτητες διεργασίες να τρέχουν ταυτόχρονα. Xρησιμοποιείται το πρότυπο Multiple Instruction Multiple Data (MIMD).

Στην παραδοσιακή Logo η εντολή στη χελώνα

επανάλαβε 9999 [ μπ 1 δε 1]

χρειάζεται λίγο χρόνο για να εκτελεστεί.

Η εντολή

επανάλαβε 9999 [ μπ 1 δε 1] τύπωσε "γεια 

θα τυπώσει τη λέξη γεια αφού ολοκληρώσει η χελώνα την κίνησή της.

Η εντολή

εκκίνηση [επανάλαβε 9999 [ μπ 1 δε 1]] τύπωσε "γεια

θα τυπώσει τη λέξη γεια μόλις ξεκινήσει η χελώνα την κίνησή της.

Η εντολή

 συνεχώς [ μπ 1 δε 1] τύπωσε "γεια

θα ξεκινήσει μια διεργασία που θα συνεχιστεί μέχρι να την διακόψετε. Η λέξη γεια θα τυπωθεί μόλις ξεκινήσει η χελώνα την κίνησή της.

 

 

 

Επιστροφή στην Αρχική Σελίδα