Θα συμφωνήσω με το Σπύρο ότι τελικά αυτή η αντιπαράθεση απόψεων μάλλον δεν εξελίσσεται σε «συζήτηση» (με την πραγματική έννοια του όρου). Η αίσθηση που μου δίνει αυτή η ατέρμονη σειρά ανταπαντήσεων είναι ότι δεν υπάρχει πραγματική διάθεση να αντιληφθούμε την επιχειρηματολογία του άλλου και να προβληματιστούμε βάζοντας τις απόψεις μας σε αμφισβήτηση ώστε να προκύψει κάτι νέο. Φοβάμαι ότι συχνά απλά περιμένουμε τη .. σειρά μας για να παραθέσουμε ακόμα πιο ισχυρά επιχειρήματα για κάτι το οποίο ουσιαστικά δεν έχουμε την πρόθεση να διαπραγματευτούμε και / ή να αλλάξουμε.
Νομίζω ότι με αυτό τον τρόπο επιβεβαιώνουμε τις απόψεις περί καπνού και φωτιάς που διάβασα πρόσφατα σε μία εκτενή έως κουραστική επιστολή
http://www.alfavita.gr/ank_b/ank7_6_10_1508.phpΕλπίζω ο συνάδελφος να μην έχει δίκαιο στο καταληκτικό του συμπέρασμα όμως με λύπη μου βλέπω πως ίσως σε κάποια σημεία να έχει.
Επιπλέον, νομίζω ότι κάνουμε κάποιες φορές κατάχρηση της έννοιας «ασάφεια» για να υποστηρίξουμε μία άποψη που δεν είναι περισσότερο «σαφής» στο πλαίσιο που ορίζεται για το μάθημα αλλά πηγάζει ίσως από την εμπειρία, την προσωπική προτίμηση ή την υποκειμενική ερμηνεία σημείων του διδακτικού πακέτου, ή ετερόκλητων πηγών έξω από αυτό, με βάση μία ήδη αδιαπραγμάτευτη θέση.
Επειδή μου άρεσαν τα παραδείγματα που αναφέρονται στη συγκεκριμένη επιστολή θα τα χρησιμοποιήσω.
Ποια ασάφεια υπάρχει σχετικά με το αν τίθεται θέμα καταλληλότητας (ή μη) κάποιας από τις τρεις εντολές επανάληψης, θέμα που αποτελεί και σαφέστατα διατυπωμένο διδακτικό στόχο (#6 αν θυμάμαι καλά) στο κεφάλαιο 8 και παρουσιάζεται στο υπάρχον «διδακτικό συμβόλαιο» με φράσεις όπως:
- όταν ο αριθμός των επαναλήψεων είναι γνωστός εκ των προτέρων είναι προτιμότερο να χρησιμοποιείται η εντολή Για
- σε περιπτώσεις όπου η επανάληψη θα συμβεί υποχρεωτικά μία φορά είναι προτιμότερη η χρήση της Μεχρις_οτου
Εν τούτοις, και εδώ θα συμφωνήσω από προσωπική εμπειρία με το συντάκτη της επιστολής, συχνά ακούμε μαθητές να λένε ότι «ο καθηγητής μας έχει πει να χρησιμοποιούμε πάντα την ΟΣΟ». Αυθαίρετο; Ναι. Λάθος; Χμμμ όπως το πάρει κανείς. Ο καθηγητής τους μπορεί να προτιμάει την ΟΣΟ για τους προσωπικούς του λόγους. Νομιμοποιείται όμως να διδάσκει τους μαθητές του να κάνουν το ίδιο; Σέβεται το «διδακτικό συμβόλαιο» ή αυθαιρετεί επικίνδυνα σε βάρος των μαθητών του και μετά κατηγορεί τα θέματα που οι μαθητές απαντούν λάθος; (βλ.2009)
Κάποιοι συνάδελφοι προφανώς έχουν προβληματιστςεί.. «για ποιο λόγο να γίνεται αυτή η διάκριση των τριών εντολών επανάληψης και να μη διδάσκεται μόνο μία για να έχουμε το .. κεφάλι μας ήσυχο;» Μα προφανώς επειδή μέσα από την ανάπτυξη γνωστικών μηχανισμών που θα επιτρέψουν στο μαθητή «να επιλέγει την κατάλληλη εντολή» αναπτύσσεται αυτή η πολύτιμη κριτική ικανότητα που είναι και το τελικό ζητούμενο.
Στο επίμαχο τώρα. Ποια είναι η ασάφεια στη φράση: «το ακριβές μέγεθος καθορίζεται κατά τη στιγμή του προγραμματισμού και όχι κατά τη στιγμή της εκτέλεσης»;;
Μήπως είναι η χρήση του όρου προγραμματισμός; Δε νομίζω ότι πρέπει να υποστηρίξουμε την άποψη που ακούγεται «μα .. αλγόριθμο μας ζήτησαν, όχι πρόγραμμα..»
Στο πλαίσιο του διδακτικού μετασχηματισμού που επιχειρείται με το μάθημά μας στο Γενικό Λύκειο, πίστευα ότι θα έπρεπε να είναι σαφείς σε όλους οι παρακάτω αρχές που έχουν να κάνουν τόσο με την προτεινόμενη σπειροειδή προσέγγιση όσο και με βασικές παιδαγωγικές αρχές της διδακτικής των επιστημών και ειδικότερα της διδακτικής της πληροφορικής. Διδάσκουμε πολλούς τρόπους αναπαράστασης για να εκμεταλλευτούμε τα πλεονεκτήματα όλων και να προσεγγίσουμε σταδιακά το επιθυμητό αποτέλεσμα:
1) Διδάσκουμε τη διαγραμματική αναπαράσταση για όλα εκείνα τα πλεονεκτήματα που προσφέρει στην κατανόηση της έννοιας των διακριτών βημάτων και της ροής εκτέλεσης, αλλά την περιορίζουμε στην επεξήγηση βασικών εννοιών.
2) Διδάσκουμε την κωδικοποίηση σε ψευδογλώσσα για να διευκολύνουμε το μαθητή στην περιγραφή αλγόριθμων για πιο σύνθετα προβλήματα αφού προηγούμενα έχει κατακτήσει (και με τη βοήθεια της διαγραμματικής αναπαράστασης) τις βασικές έννοιες. Επιλέγουμε την ψευδογλώσσα αντί μιας γλώσσας προγραμματισμού για να τον βοηθήσουμε να εστιάσει στο σημαντικό (που είναι η ορθή αποτύπωση της αλγοριθμικής προσέγγισης στη λύση του προβλήματος) χωρίς να χρειάζεται να ασχοληθεί με το λιγότερο σημαντικό (που είναι η δήλωση των τύπων των μεταβλητών, η επικοινωνία με το χρήστη, ο έλεγχος ορθής καταχώρησης κ.ο.κ.)
3) Διδάσκουμε προγραμματισμό (στην ιδεατή ΓΛΩΣΣΑ) για να εξοικειωθεί ο μαθητής με τις λεπτομέρειες της κωδικοποίησης του αλγόριθμού του σε προγραμματιστικό περιβάλλον και όλες εκείνες τις λεπτομέρειες που επιμελώς αποκρύψαμε στο προηγούμενο επίπεδο.
Σε κανένα όμως από τα επίπεδα δε νομιμοποιούμαστε να ανατρέψουμε και να διαψεύσουμε επιστημολογικές αλήθειες που διδάξαμε στο προηγούμενο επίπεδο. Θα ήταν παιδαγωγικά λάθος να κάνουμε κάτι τέτοιο. Αυτό που υποχρεούμαστε να κάνουμε είναι να τις επεκτείνουμε και να τις εμπλουτίσουμε.
Ασφαλώς και γίνονται κάποιες παραδοχές προκειμένου να μπορέσει να λειτουργήσει αποτελεσματικά ο διδακτικός μετασχηματισμός όμως σε καμία περίπτωση δε μπορεί να υπάρχει, σε όλη αυτή τη «σπειροειδή» διδακτική διαδρομή, ασυνέπεια.
Η προσωπική μου αντίληψη σχετικά με τη διδασκαλία των δομών δεδομένων που επιχειρείται στο πλαίσιο του μαθήματος είναι ότι αυτή παρουσιάζεται με σαφήνεια στο κεφάλαιο 3 και συνεχίζεται χωρίς αντιφάσεις και εκπλήξεις (όπως οφείλει) στο κεφάλαιο 9.
Μέσα από άμεσα και έμμεσα διατυπωμένους διδακτικούς στόχους αντιλαμβάνομαι ότι η διδασκαλία των δομών δεδομένων έρχεται να πάρει τη σκυτάλη από τη διδασκαλία των δομών επανάληψης και να συνεχίσει το «εκπαιδευτικό ταξίδι» από εκεί ανεβάζοντας τη σκέψη του μαθητή σε επόμενα «σκαλιά».
Με τις δομές επανάληψης ο μαθητής οδηγείται στην ανακάλυψη των εργαλείων εκείνων που θα του επιτρέψουν με λίγες εντολές (και λίγες θέσεις μνήμης, συνήθως μία) να λύσει προβλήματα που διαχειρίζονται πολλά δεδομένα εισόδου και απαιτούν την εκτέλεση πολλών βημάτων (συνήθως λίγων βημάτων αλλά πολλές φορές).
Αφού κατακτήσει αυτό το .. κάστρο, έρχεται αντιμέτωπος με προβλήματα στα οποία αντιλαμβάνεται την ανάγκη ταυτόχρονης ύπαρξης όλων των δεδομένων εισόδου στη μνήμη (με συνηθέστερο όλων, εκείνο την εμφάνισης των τιμών εισόδου που ξεπερνούν το μέσο όρο όλων, παράδειγμα με το οποίο αρκετοί συνάδελφοι ρίχνουν το σπόρο για την «ανακάλυψη» των δομών δεδομένων)
Με σκοπό, πάλι, την ανάπτυξη της κριτικής ικανότητας ορίζονται δύο είδη δομών δεδομένων. Οι στατικές και οι δυναμικές (που υπάρχουν και στα περισσότερα προγραμματιστικά περιβάλλοντα). Θα συμφωνήσω ότι ο ορισμός που δίνεται δεν είναι τόσο τυπικός ή καλοδιατυπωμένος όμως ασαφής, ΔΕΝ είναι.
Συνεχίζοντας λοιπόν το «ταξίδι» του, ο μαθητής καλείται:
1) να αποφασίσει ΕΑΝ χρειάζεται να χρησιμοποιήσει δομές δεδομένων (δηλαδή εάν απαιτείται η ταυτόχρονη παρουσία όλων των δεδομένων εισόδου στη μνήμη)
2) να αποφασίσει ΕΑΝ μπορεί να χρησιμοποιήσει στατική δομή δεδομένων (δηλαδή εάν ο αριθμός των κόμβων είναι γνωστός κατά τη δημιουργία του αλγόριθμου)
Δύο απλές σκέψεις είναι, η μία συνέχεια της άλλης, όπου η κάθε μία ανεβάζει το μαθητή σε ένα λίγο ψηλότερο σκαλί.
Πιστεύω ότι εφόσον είναι ξεκάθαροι οι στόχοι και οι κεντρικοί άξονες που υπαγορεύονται από το διδακτικό πακέτο και το αναλυτικό πρόγραμμα σπουδών, μπορούν εύκολα και καλόπιστα να «απαντηθούν» όλοι οι προβληματισμοί που αναπτύσσονται από τους συναδέλφους σχετικά με παραδείγματα ή ασκήσεις που τους έχουν οδηγήσει στο συμπέρασμα ότι «η στατικότητα της δομής οφείλει να διδάσκεται με άλλο τρόπο στο κεφάλαιο 3 και με διαφορετικό στο 9». Προσωπικά το θεωρώ λάθος, τουλάχιστον από την παιδαγωγική του σκοπιά, και νομίζω ότι αυτό το λάθος ΔΕΝ υποστηρίζεται από το βιβλίο και δε θα έπρεπε να υποστηρίζεται και από τους διδάσκοντες.
Θα μπορούσε να συνεχιστεί η αντιπαράθεση με παραδείγματα και προσωπικές αντεγκλήσεις και προκλήσεις του τύπου «απάντησέ μου αυτό» «απάντησέ μου εκείνο» όμως δεν ξέρω ποιος έχει τη διάθεση ή κρίνει σκόπιμο να μπει σε αυτό τον κλεφτοπόλεμο του «έλα να σου αποδείξω ότι έχεις άδικο». Πιστεύω ότι ο καθένας μας μπορεί να καταλάβει για κάθε ένα από αυτά τα «γκρίζα παραδείγματα» (που κάθε άλλο από γκρίζα θεωρώ ότι είναι) για ποιο λόγο δίνονται και πώς μπορεί να τα διδάξει παραμένοντας συνεπής με τους διδακτικούς στόχους του μαθήματος.
Τώρα, αν η τάδε γλώσσα προγραμματισμού κάνει «έτσι» και η άλλη κάνει «αλλιώς», νομίζω οφείλουμε να πούμε «ποσώς με ενδιαφέρει». Αυτές οι διαφοροποιήσεις θα απασχολήσουν το μαθητή που θα ασχοληθεί με τον προγραμματισμό στο πανεπιστήμιο. Εδώ ο σκοπός είναι άλλος.
Επίσης, αν στο τάδε σύγγραμμα η ψευδογλώσσα συμπεριφέρεται κατά τον τάδε τρόπο, επίσης.. δε μας αφορά. Τι κι αν είναι σύγγραμμα κάποιου από τους συγγραφείς του διδακτικού πακέτου. Είναι σύγγραμμα για άλλο .. κοινό. Αυτό που έχει σημασία είναι το τι ορίζεται στο πλαίσιο του μαθήματος. Και δεν είναι καθόλου σπάνιο, απεναντίας συνηθέστατο, ο ίδιος συγγραφέας να κάνει διαφορετικές παραδοχές σε διαφορετικά συγγράμματα χωρίς αυτό να αποτελεί αντίφαση, απλά επειδή το κοινό είναι διαφορετικό. Εξ άλλου έχω σοβαρούς λόγους να πιστεύω ότι αν ρωτήσουμε όλους τους συγγραφείς του βιβλίου, είναι πολύ πιθανόν να ακούσουμε και διαφορετικές απόψεις. Ευτυχώς, ο λόγος τους έχει «κατατεθεί» πριν από πολύ καιρό, και με αυτό το «λόγο» βαδίζουμε.
Πολλά έγραψα.. μετράει το γεγονός ότι είχα καιρό να γράψω;; (πείτε ότι.. βγάζω τα σπασμένα)