Ο τρόπος σκέψης με τη χρήση τεχνικών Object Oriented βασίζεται στην ακόλουθη κεντρική ιδέα: Ο πραγματικός κόσμος αποτελείται από διάφορα αντικείμενα. Αν δοθεί βάρος όχι στην απευθείας μάθηση ενός νέου αντικειμένου αλλά στην αντιστοίχηση του με κάποιο άλλο, στο οποίο υπάρχουν εμπειρίες, τότε η κατανόηση γίνεται πιο εύκολα.
Όπως λέει και ο Papert [2] "οτιδήποτε είναι εύκολο αν μπορείς να το αφομοιώσεις στην συλλογή των μοντέλων σου. Εάν δεν μπορείς, οτιδήποτε μπορεί να είναι υπερβολικά δύσκολο. Το τι μπορεί να μάθει ένα άτομο και με ποιο τρόπο, εξαρτάται από το τι μοντέλα έχει διαθέσιμα."
Η LOGO σαν γλώσσα προγραμματισμού, περιέχει αρκετές έννοιες της object oriented φιλοσοφίας, όπως θα δούμε στη συνέχεια. Ο μικρόκοσμός μας εμπλουτίζει την LOGO με περισσότερες τέτοιες έννοιες. Η χρήση αυτού του περιβάλλοντος βοηθάει τα παιδιά να αποκτήσουν νέες εμπειρίες. Αυτές θα αποτελέσουν τα μοντέλα τα οποία θα χρησιμοποιήσουν για την εκμάθηση νέων εννοιών.
Μπορούμε να μιλήσουμε στη χελώνα στέλνοντας μηνύματα όπως FORWARD 50, RIGHT 90... Τα αντικείμενα έχουν μεθόδους για να χειριστούν τα μηνύματα που παίρνουν. Έτσι και η χελώνα έχει μεθόδους για να χειριστεί αυτά τα μηνύματα. Οι μέθοδοι είναι διαδικασίες οι οποίες απλά εκτελούνται με την αποστολή μηνυμάτων στα αντικείμενα.
Μία από τις βασικές έννοιες του Object oriented προγραμματισμού είναι η έννοια των κλάσεων. Σαν κλάση εννοούμε πολλά διαφορετικά αντικείμενα, που έχουν παρόμοια χαρακτηριστικά. Όλα τα αντικείμενα, που είναι μέλη μίας μεγαλύτερης ομάδας (κλάσης) κληρονομούν τις ιδιότητες που καθορίζονται από αυτή την κλάση. Επομένως ένα αντικείμενο είναι μία συγκεκριμένη οντότητα (στιγμιότυπο - instance) που ανήκει σε μία μεγαλύτερη ομάδα (κλάση). Αν δούμε ότι υπάρχουν ομάδες ομοειδών αντικειμένων που είναι στιγμιότυπα μιας μεγαλύτερης κλάσης μπορούμε να δημιουργήσουμε μία καινούργια κλάση σαν υποκλάση (subclass) της προηγούμενης.
Οι υποκλάσεις κληρονομούν όλα τα χαρακτηριστικά των parent class και μπορεί να έχουν ορισμένα χαρακτηριστικά που δεν έχει η parent class. [5]
Για παράδειγμα σαν κλάση μπορεί να θεωρήσουμε το σύνολο σχημάτων. Υποκλάσεις σε αυτή την κλάση μπορεί να είναι τα παραλληλόγραμμα, πολύγωνα, κύκλοι ... Στην κλάση των παραλληλογράμμων έχουμε υποκλάσεις τα ορθογώνια και τα πλάγια παραλληλόγραμμα. Στην κλάση των ορθογωνίων πάλι έχουμε τα τετράγωνα και τα συνήθη ορθογώνια. Τέλος η υποκλάση των τετραγώνων περιέχει σαν στιγμιότυπα τα σχήματα που παράγονται από μία διαδικασία SQUARE :X η οποία κατασκευάζει τετράγωνα πλευράς :X.
Η LOGO υποστηρίζει αυτές τις αρχές του Object oriented προγραμματισμού.
Αλλά όπως λέει και η Lapidot [4] "έννοιες όπως αφαίρεση, dynamic binding
και property lists, που προσφέρονται από την LOGO, μας βοηθούν να δουλέψουμε
μέσα με χρήση object oriented τεχνικών τόσο καλά όσο και με τις procedure
oriented τεχνικές".
Αντίθετα, χρησιμοποιώντας διαδικασίες, μπορούμε να έχουμε όσα σχήματα θέλουμε, απλά καλώντας τη διαδικασία με το όνομά της. Το σχήμα έτσι, είναι μία αυτόνομη οντότητα και κατασκευάζεται με την κλήση του ονόματος της διαδικασίας. Τα τμήματα της διαδικασίας έχουν συγκεκριμένη θέση και σειρά εκτέλεσης και εκτελούνται πάντοτε με τον ίδιο τρόπο.
Έτσι, μπορούμε να θεωρήσουμε ένα τετράγωνο εκτός από διαδικασία και σαν αντικείμενο. Το αντικείμενο αυτό θεωρούμε ότι περιλαμβάνει και τη διαδικασία που κατασκευάζει το σχήμα και το ίδιο το σχήμα.
Ο μικρόκοσμός μας προσπαθεί να κάνει φανερό στα παιδιά ότι οι διαδικασίες θεωρούνται και σαν αντικείμενα.
Οι διαδικασίες που φτιάχνει το παιδί βασίζονται στις στοιχειώδεις εντολές της γλώσσας αλλά και στις άλλες διαδικασίες που φτιάχνει το ίδιο. Οι διαδικασίες αυτές ανήκουν σε ανώτερα επίπεδα ιεραρχικής δομής των διαδικασιών. Οι εντολές της γλώσσας, αλλά και οι διαδικασίες του παιδιού, αναφέρονται σε λειτουργίες κατωτάτου επιπέδου. Για παράδειγμα λένε στη χελώνα να προχωρήσει, να στρίψει κλπ.
Τις εντολές που συνιστούν τον μικρόκοσμό μας, τα παιδιά τις θεωρούν ότι ανήκουν στο ίδιο χαμηλό επίπεδο με τις εντολές της LOGO. Οι εντολές αυτές όμως, αναφέρονται σε λειτουργίες που ανήκουν σε ανώτερα επίπεδα. Για παράδειγμα μπορούν να μετακινήσουν ένα ολόκληρο σχήμα που παράγεται από μία διαδικασία. Μπορούν επίσης να μεταφέρουν σχήματα που παράγονται από διαδικασίες ανωτέρων επιπέδων. Αυτό βοηθάει τα παιδιά να θεωρήσουν τις διαδικασίες και σαν αντικείμενα.
Με το μικρόκοσμό μας, τα παιδιά μπορούν να αναφερθούν σε κάποια διαδικασία που έχουν φτιάξει τα ίδια. Η LOGO δίνει στα παιδιά τη δυνατότητα να ομαδοποιούν τις διαδικασίες τους. Τα παιδιά, μεταφέροντας το σχήμα κάποιας διαδικασίας, που είναι σύνθεση άλλων υποδιαδικασιών, βλέπουν ολόκληρο τα σχήμα να μετακινείται και θεωρούν την διαδικασία σαν μια αυτόνομη οντότητα. Επίσης, όταν μία διαδικασία περιέχει δύο σχήματα, τότε τα παιδιά βλέπουν να μετακινούνται και τα δύο σχήματα μαζί λέγοντας ότι "αν κάνουμε SET θα μετακινήσουμε και τα δύο και όχι μόνο το ένα". Έτσι αντιστοιχούν ολόκληρες τις διαδικασίες με τα σχήματα που κατασκευάζουν και θεωρούν την κάθε διαδικασία σαν μία οντότητα.
Τα παιδιά μπορούν να κατασκευάσουν με μία διαδικασία, πολλά σχήματα
- όμοια ή διαφορετικά το ένα με το άλλο - και να τα θεωρούν σαν αυτόνομες
οντότητες ,κάνοντας χρήση της εντολής του μικρόκοσμού μας TAG, η οποία
δίνει όνομα στο σχήμα που παράγεται από μία διαδικασία. Έτσι, ακόμα
και στην περίπτωση που έχουν φτιάξει μερικά όμοια τετράγωνα, έχουν τη δυνατότητα
να τα βλέπουν σαν διαφορετικές οντότητες λόγω των διαφορετικών ονομασιών
που έδωσαν με την TAG.
Το ιδιωτικό μέρος (private part) ενός object είναι η δομή των δεδομένων (data structure) και το σύνολο των λειτουργιών (operations) που μπορούν να εκτελεστούν πάνω σ’ αυτή τη δομή. Το object έχει επίσης ένα μέρος, που το μοιράζεται (shared part) και που είναι τα σημεία επαφής του (interface) με τον γύρω κόσμο.
Διάφορα μηνύματα (messages) κατευθύνονται προς τα σημεία επαφής (interface) ενός αντικειμένου που περιγράφουν τι λειτουργία απαιτείται από το object, αλλά όχι πώς θα εκτελεστεί αυτή η λειτουργία. Το object που παίρνει το μήνυμα αποφασίζει πώς θα εκτελέσει τη λειτουργία που του ζητήθηκε.
Το ρόλο του interface παίζει το όνομα του σχήματος .
Στην Data Structure υπάρχει το σύνολο των σημείων του σχήματος, αλλά χωρίς να φαίνεται στο παιδί.
Οι λειτουργίες που μπορούν να επιδράσουν πάνω σ’ αυτό το object, είναι η μεταφορά του σχήματος η οποία επηρεάζει το σύνολο των σημείων του και η ενεργοποίησή του. Άλλες λειτουργίες που θα μπορούσαν να είχαν μπει είναι η περιστροφή, η μεγέθυνση, η σμίκρυνση κλπ. Όμως δεν ενσωματώθηκαν στον μικρόκοσμο, επειδή θα δυσκόλευαν τα παιδιά στην κατανόηση των καρτεσιανών συντεταγμένων.
Τα μηνύματα που στέλνονται στα objects είναι η SET και η GET.
Το πρόγραμμά μας υποστήριξε την αφαίρεση των δεδομένων (data abstraction)."Σκοπός της αφαίρεσης των δεδομένων είναι να επιτρέψει την χρήση των δεδομένων (data objects) απλώς με την χρησιμοποίηση του ονόματός τους, χωρίς την ανάγκη ύπαρξης πλήρους γνώσης για την υλοποίησής τους." [1] Αυτό έγινε με την αντιστοιχία ενός ονόματος στο σύνολο της ευθυγράμμων τμημάτων που αποτελούν ένα σχήμα.
Η αφαίρεση και το κρύψιμο πληροφορίας είναι πολύ φυσιολογικές δραστηριότητες, που τις χρησιμοποιούμε καθημερινά όταν προσπαθούμε να δημιουργήσουμε μοντέλα για τον κόσμο που μας περιβάλλει και για τις λειτουργίες που εκτελούνται δίπλα μας. Έτσι αν θέλουμε να περιγράψουμε την κατασκευή ενός σπίτιου θεωρούμε τα αντικείμενα : σκελετός, παράθυρα, πόρτα, σκεπή. Κάθε ένα από αυτά αποτελείται από άλλα αντικείμενα. Οι λειτουργίες, που γίνονται χρησιμοποιώντας τα, αφορούν την κατασκευή (σύνθεση) ενός σπιτιού, τη βελτίωση κάποιων μερών του κλπ.
Έτσι στα παιδιά η αναπαράσταση του πραγματικού κόσμου γίνεται πιο άμεση.
Ο τρόπος σκέψης τους οργανώνεται καλύτερα και βρίσκεται πιο κοντά στο τρόπο
με τον οποίο είναι οργανωμένος ο έξω κόσμος.
Ο γενικός τρόπος σχεδιασμού object oriented συστημάτων είναι ο ακόλουθος[7]:
Η θέση των αντικειμένων μέσα σ’ αυτό τη διαδικασία της μάθησης είναι ίδια με την θέση των μικροόψεων στη θεωρία του Lawler. Ο Lawler [9] υποστηρίζει ότι η δόμηση του νου είναι μία διαδικασία γέννησης και αλληλεπίδρασης μικροόψεων, δηλαδή αποσπασματικών αντιλήψεων του κόσμου. Σαν μικροόψεις θεωρεί τις εσωτερικές γνωστικές δομές, που είναι άμεσα εξαρτημένες με το περιβάλλον, τα προβλήματα και τις πραγματικές εμπειρίες από την καθημερινή ζωή.
Αλλά σαν αντικείμενο έχουμε θεωρήσει μία αυτόνομη οντότητα, που περιγράφει ένα τμήμα του πραγματικού κόσμου. Μπορούμε δηλαδή, κάνοντας μια αντιστοίχηση στα αντικείμενα και στις μικροόψεις, να θεωρήσουμε ότι ο νους δομείται από αντικείμενα. Η μάθηση μπορεί να επιτευχθεί συσχετίζοντας τα ήδη οργανωμένα αντικείμενα με τις νέες έννοιες που προσπαθούμε να κατανοήσουμε.
Τα παιδιά χρησιμοποιώντας αυτές τις αρχές του object oriented σχεδιασμού, αποκτούν παρόμοιο τρόπο για τη σκέψη τους. Έτσι μια νέα έννοια, για να την κατανοήσουν, την συσχετίζουν με τις προηγούμενες εμπειρίες τους και προσπαθούν να δημιουργήσουν συνδέσεις με αυτές. Οι τυχόν προσπάθειες για κατανόηση, ανεξάρτητα από τις υπάρχουσες εμπειρίες δύσκολα καρποφορούν.
Η Lapidot [4] επισημαίνει ότι "δεν είναι επιτακτικό να αντικαταστήσουμε τον procedure oriented τρόπο με τον object oriented, αλλά οφείλουμε να αντιμετωπίσουμε σοβαρά τις object oriented τεχνικές ως προς τον τρόπο που βλέπουμε τη ζωή και σκεπτόμαστε για τον προγραμματισμό".
Δεν είναι μέσα στους στόχους μας να μάθουμε τα παιδιά object oriented
προγραμματισμό. Αυτό που επιδιώκουμε είναι να δώσουμε έμφαση σε μια απλουστευμένη
μορφή του, έτσι ώστε να μάθουν να οργανώνουν τη σκέψη τους και να αντιλαμβάνονται
καλύτερα τον πραγματικό κόσμο.