Επιχειρήματα μέσα από τα σχολικά βιβλία υπέρ της χρήσης πίνακα στο Γ

Ξεκίνησε από bagelis, 29 Μαΐου 2010, 01:20:01 ΜΜ

« προηγούμενο - επόμενο »

gpapargi

Νομίζω ότι αν σημείο αναφοράς είναι η πληροφορική (και πιστεύω ότι μεταξύ μας πάντα αυτό είναι) τότε η κακή χρήση πόρων είναι το λάθος. Είναι λάθος ένα κλικ παρακάτω από τους αλγορίθμους κακής ποιότητας (όπως πχ εύρεση μεγίστου με πλήρη ταξινόμηση ή σάρωση όλου του δισδιάστατου πίνακα και χρήση Αν μέσα στο διπλό βρόχο για να σαρώσεις μόνο την 3 γραμμή... αντί για μονό βρόχο)

Δημήτρης Δαλαγιώργος

Συγχωρέστε μου το crosspost, αντιλαμβάνομαι ότι το παρακάτω μήνυμα δεν ταιριάζει στη ροή της συζήτησης, αλλά πιστεύω ότι κάτι έχει να προσθέσει. Ήδη ο gpapargi μου έχει απαντήσει (κι εγώ σ' αυτόν) στο γνωστό τεράστιο thread!

Εκτός από τους βασικούς τύπους δεδομένων, οι περισσότερες γλώσσες προγραμματισμού διαθέτουν και δομημένους τύπους δεδομένων. Από τους πιο συνηθισμένους αυτούς τύπους δεδομένων είναι ο πίνακας. Αλλά ποιος είναι ο ορισμός του πίνακα; Η πιο συνηθισμένη απάντηση στο ερώτημα αυτό είναι ότι: "ο πίνακας είναι ένα σύνολο διαδοχικών θέσεων μνήμης". Από την απάντηση αυτή αντιλαμβάνεται κανείς τη σύγχυση που υπάρχει μεταξύ μιας δομής δεδομένων και της παράστασής της. Είναι γεγονός ότι οι πίνακες σχεδόν πάντα υλοποιούνται σε διαδοχικές θέσεις μνήμης, αλλά αυτό δε σημαίνει ότι δε θα μπορούσε να αρθεί ο περιορισμός αυτός. Υιοθετώντας την προσέγγιση του Αφηρημένου Τύπου Δεδομένων για τη μελέτη του πίνακα θα πρέπει να καταρχήν να δοθεί ο ορισμός του.

Ορισμός: Ένας πίνακας είναι μια συλλογή στοιχείων του ιδίου τύπου και ένα σύνολο δεικτών.

Οι βασικές πράξεις του ΑΤΔ πίνακα είναι:

1. Δημιουργία: Δημιουργεί ένα κενό πίνακα.
2. Καταχώρηση: Η πράξη αυτή ορίζει μια απεικόνιση από το σύνολο των δεικτών στο σύνολο των στοιχείων. Δέχεται ως δεδομένα το όνομα του πίνακα, μαι τιμή για το δείκτη (ή τους δείκτες) και μια τιμή ενός στοιχείου του.
3. Ανάκτηση: Η πράξη αυτή χρησιμοποιεί την παραπάνω απεικόνιση. Δέχεται ως δεδομένα ένα πίνακα και ένα δείκτη (ή ένα σύνολο δεικτών) και επιστρέφει την πιο πρόσφατη τιμή του στοιχείου που καταχωρήθηκε, ή λάθος.

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


Δομές Δεδομένων, Νικόλαος Μισυρλής, Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών 1993

Από την πρώτη στιγμή που διάβασα το επιχείρημα ότι ο πίνακας είναι μια στατική δομή δεδομένων και γι' αυτό δεν μπορεί να λυθεί το συγκεκριμένο πρόβλημα του θέματος Γ με πίνακες κάτι μ' ενοχλούσε διαισθητικά, αλλά δεν μπορούσα να το εντοπίσω. Χρειάστηκε να καταφύγω στις πανεπιστημιακές σημειώσεις μου για να μπορέσω να το περιορίσω.

Όπως έχουν γράψει τόσοι και τόσοι εδώ μέσα, η ψευδογλώσσα είναι ένα βοηθητικό εργαλείο με πολλές ασάφειες που υπάρχει για να διευκολυνθεί αυτός που θέλει να διατυπώσει έναν αλγόριθμο με περισσότερη σαφήνεια από τη φυσική γλώσσα, ούτως ώστε να μην παραβαίνει κάποιο από τα κριτήρια των αλγορίθμων.

Με αυτή τη λογική, και με βάση αυτά που μάθαμε στο πανεπιστήμιο και μας δίδαξε η εμπειρία, οι πίνακες στην ψευδογλώσσα είναι ένας Αφηρημένος Τύπος Δεδομένων, ένα μαθηματικό μοντέλο, ένας τρόπος οργάνωσης των δεδομένων μας σε μια μαθηματική απεικόνιση που έχει έναν δείκτη για κάθε δεδομένο. Απ' αυτήν την άποψη, ειλικρινά δεν μπορώ να βρω κανένα επιστημονικό λάθος στο να φτιάξουμε αλγορίθμους που χρησιμοποιούν εκατομμύρια, ή δισεκατομμύρια ή τρισεκατομμύρια στοιχεία. Μπορεί ο αλγόριθμος να είναι ένας κακός αλγόριθμος, αλλά για να τον απορρίψουμε, θα πρέπει -ορθώς- να επικαλεστούμε την απόδοση του αλγορίθμου.

Έτσι, για παράδειγμα, στην υπόθεση ότι έχουμε έναν πίνακα με 6 δισεκατομμύρια στοιχεία, άρα χωράει όλο τον ανθρώπινο πληθυσμό, άρα μπορούμε να διαβάσουμε τους λιγοστούς μαθητές που συμμετέχουν στο διαγωνισμό, ειλικρινά, δε βλέπω κανένα λογικό πρόβλημα. Ναι, ο αλγόριθμος είναι αναποτελεσματικός, ναι αν πάω να τον υλοποιήσω σε μια από τις βασικές γλώσσες προγραμματισμού θα βρεθώ αντιμέτωπος με τον περιορισμό ότι το index του πίνακα (ακόμα κι αν έχω τεράστια μνήμη RAM) με περιορίζει στις 65000 τόσες θέσεις. Αν όμως, πήγαινα να υλοποιήσω τον αλγόριθμο σε κάποια υπαρκτή γλώσσα προγραμματισμού, πιθανότατα να (α) να μην είχα πρόβλημα και με μικρό πίνακα όπως έχουν ήδη εξηγήσει άλλοι συνάδελφοι βασισμένοι στο χώρο του προβλήματος ή (β) να χρησιμοποιούσα μια άλλη δομή δεδομένων, π.χ. δυναμικό πίνακα, συνδεδεμένη λίστα, αρχείο στο δίσκο κλπ, κλπ. Ο αλγόριθμος όμως, σε ψευδογλώσσα, που κάνει χρήση πίνακα, δεν έχει κανένα λογικό λάθος.

(Να κάνω μια μικρή παρένθεση εδώ, για τις μομφές συναδέλφων του στυλ "τι σόι καθηγητές είστε εσείς να διδάσκετε τέτοια πράγματα στους μαθητές σας". Για μένα το βιβλίο δεν είναι ιερό κείμενο, δεν είναι ευαγγέλιο. Έχω την επιστημονική μου κατάρτιση και την πείρα μου ως προγραμματιστής και σ' αυτά καταφεύγω για να διδάξω τους μαθητές μου. Έτσι, όταν με ρωτάνε γιατί να μην κάνω αυτή την άσκηση με πίνακα, καταφεύγω σε επιχειρήματα που έχουν να κάνουν με την απόδοση του αλγορίθμου, έστω κι αν είναι εκτός ύλης. Τα παιδιά μπορούν να καταλάβουν τη διαφορά.)

Κι εδώ αναμασιέται το επιχείρημα περί συντέλειας του κόσμου μαθήματος διότι "αν είναι να λύνουμε όλες τις ασκήσεις με πίνακες, πώς θα διδάξουμε το μάθημα". Αυτό κύριοι συνάδελφοι, δεν είναι επιστημονικό επιχείρημα. Θεολογικό, υπαρξιακό, παιδαγωγικό, φιλοσοφικό ή ό,τι άλλο θέλετε, ίσως. Επιστημονικό όμως, δεν είναι! Μου θυμίζει την αντίδραση των θρησκόληπτων, ότι δεν μπορεί να είναι σωστή η Θεωρία της Εξέλιξης, γιατί αυτό θα σήμαινε ότι καταγόμαστε απ' τις μαϊμούδες και αυτό δεν μπορεί να γίνει αποδεκτό αφού μας έπλασε ο Κύριος. Κυκλικός, λαθεμένος συλλογισμός. Μη πέσουμε στην ίδια παγίδα.

Συνεπώς, ναι, τίθεται ένα σοβαρό εκπαιδευτικό πρόβλημα. Με δεδομένες τις ασάφειες της ψευδογλώσσας και τις αντιφάσεις του βιβλίου, πώς διδάσκουμε λύση ασκήσεων χωρίς πίνακα;

Πρώτα απ' όλα, δε νομίζω ότι ήρθε η συντέλεια του κόσμου μαθήματος. Π.χ. δε νομίζω ότι μπορούμε να φτιάξουμε αλγόριθμο που να χρησιμοποιεί πίνακα για να υπολογίσει τα ψηφία του π. Δεν έχει άνω όριο το μέγεθος ενός τέτοιου πίνακα, όσο παράλογα μεγάλα μεγέθη κι αν σκεφτούμε. Χώρος, λοιπόν, για έξυπνες ασκήσεις που δείχνουν τις αρετές της Δομής Επανάληψης υπάρχει. Ας μη φέρνουμε την καταστροφή.

Από κει και πέρα, αφού ενδιαφερόμαστε όλοι πραγματικά για το μάθημα, θα έπρεπε να απαιτήσουμε την απόσυρση του διδακτικού πακέτου με ένα νέο, πολύ πιο σαφές και αυστηρό. Μέχρι να γίνει αυτό, είμαι υπέρμαχος της άποψης ότι στην Τεχνολογική Κατεύθυνση της Γ' Λυκείου, θα έπρεπε να διδάσκουμε μόνο τη ΓΛΩΣΣΑ, αφού φροντίσουμε να την περάσουμε από έναν compiler ώστε να εξαλείψουμε και τις τελευταίες ασάφειές της.

Ας μη ξεχνάμε τον προορισμό του μαθήματος: Καλά όλα αυτά περί αλγοριθμικής σκέψεις, αλλά πρόκειται για μάθημα Κατεύθυνσης, όχι Γενικής Παιδείας, που πρωτίστως, έχει σκοπό να προετοιμάσει τους μελλοντικούς φοιτητές και σπουδαστές Πληροφορικής και Πολυτεχνείων για τη χρήση του προγραμματισμού μέσα στο πλαίσιο των σπουδών τους. Αν είναι να σχεδιάσουμε ένα μάθημα Γενικής Παιδείας με βάση τα πιθανά οφέλη της αλγοριθμικής σκέψης, έχω να πω δυο μόνο πράγματα: (α) ο μέσος πολίτης που ξέρει μαθηματικά έχει ήδη καλλιεργήσει την αλγοριθμική του σκέψη -θυμηθείτε μόνο την ετυμολογία της λέξης αλγόριθμος- και, (β) το τρέχον διδακτικό πακέτο -που είναι ούτως ή άλλως για τα σκουπίδια- θα πρέπει να αντικατασταθεί με ένα νέο εξ ολοκλήρου.
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

sstergou

Εντάξει, σύμφωνοι...
Η διαχείριση πόρων δεν είναι η βέλτιση. Μπορεί να λυθεί και χωρίς πίνακες. Πιστεύω ότι τρόπος εξέτασης όμως δεν μας δίνει πάτημα για να κόψουμε για μη βέλτιστη διαχείριση πόρων, όπως και για αύξηση της τάξης του αλγορίθμου. Εντάξει υπάρχει αυτή η αναφορά στο κεφ. 9 αλλά αυτά που λέει εκεί δεν τηρούνται στο υπόλοιπο πακέτο. Π.χ. αυτό το πρόγραμμα στο οποίο αναφέρομαι τόση ώρα (στην σελ. 188, ο υπολογισμός στατιστικών μεγεθών όπου ορίζει άνω όριο  και στην συνέχεια διαβάζει το Ν), μου έχει καθίσει στο στομάχι και στην ουσία αναιρεί την παράγραφο την οποία λέμε.

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

Μπορείς να σπάσεις πιο εύκολα το πρόβλημα σε υποπροβλήματα, να τα αντιμετωπίσεις ξεχωριστά και ο κώδικας είναι ευκολότερος στην συντήρηση και στην κατανόηση. Και από την στιγμή που δεν υπάρχει πρόβλημα δημιουργίας στατικού πίνακα Ν θέσεων, δεν υπάρχει πρόβλημα ούτε στην απόδοση. Ούτε και θεωρώ ότι ο αριθμός των αθλητών είναι τόσο μεγάλος ώστε να να υπάρχει κατασπατάληση των πόρων. Αυτό θα έκανα σε πραγματικές συνθήκες. Η λύση χωρίς πίνακες είναι μια έξυπνη χακεριά (όπως λέει και μια γνωστή μου) και όπως σχεδόν όλες οι χακεριές υστερεί σε άλλους τομείς (επεκτασιμότητα κτλ).

Συμφωνώ λοιπόν  στο ότι το να τα βάζουμε όλα σε πίνακες και το να θέτουμε άνω όρια σε αυτούς δείχνει έλλειψη επιστημονικότητας. Δεν νομίζω όμως ότι αυτό ισχύει για το συγκεκριμένο θέμα. Για όλα τα υπόλοιπα θέματα που αναφέρει ο Γιώργος αλλά και άλλοι συμφωνώ.

Σπύρος Δουκάκης


bagelis

Ας ξεχάσουμε για λίγο το σχολικο βιβλίο, και ας πάμε έξω από αυτό:

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

Αλγόριθμος Σχολικοί_Αγώνες

Διάβασε το ρεκόρ (με έλεγχο τιμών από 1 μέχρι 10)

Διάβασε το πλήθος των διαγωνιζομένων

Για κάθε έναν από αυτούς
    Διάβασε όνομα και τιμή και βάλτα σε έναν πίνακα

...
... // υπόλοιπα ερωτήματα
...

Κράτα την επίδοση του πρώτου σε ένα Χ
Ταξινόμησε τους πίνακες με φθίνουσα σειρά ως προς την επίδοση
Βρες την επίδοση Χ μέσα στον πίνακα επιδόσεων
Εμφάνισε τη θέση που το βρήκες

Τέλος Σχολικοί_Αγώνες


και δίνει αυτό το χαρτί προς υλοποίηση...

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

Κάνει ο σχεδιαστής ένα τηλέφωνο στους πελάτες και ρωτάει: πόσοι το πολύ θα είναι οι διαγωνιζόμενοι? Δώστε μου ένα άνω φράγμα ρε παιδιά.... Του λένε ένα άνω φράγμα και ούτε γάτα ούτε ζημιά. Το πρόγραμμα κατόπιν υλοποιείται...


Η ερώτηση μου είναι: Με βάση την ως άνω περιγραφή (που νομίζω ότι περιγράφει και το ουσιαστικό μας πρόβλημα) υπάρχει καθηγητής Πανεπιστημίου (εγώ φαντάστηκα τον ίδιο τον knuth) που θα έβρισκε τον σχεδιασμό πρώτα και την υλοποίηση μετά λάθος?

Θα μου πείτε ότι χρειάστηκε ένα τηλέφωνο και έξτρα συνεννόηση. Ναι, στην μετάβαση από την σχεδίαση στην υλοποίηση. Υπάρχει καθηγητής εγνωσμένης αξίας που θα βρει τον σχεδιασμό λάθος? Καλύτερος σχεδιασμός μπορεί να γίνει, αλλά αυτός ο συγκεκριμένος σχεδιασμός είναι λάθος?

jkapsi


Παράθεση
    Και αν η άσκηση λέει να διαβάζεις ονόματα και βαθμούς μαθητών μέχρι να εισαχθεί σαν όνομα το κενό, με ποιο δικαίωμα θα θεωρήσουμε λάθος τη λυση με πίνακα και θα κόψουμε βαθμούς; ποιος θα με εμποδίσει να τα βάλω όλα σε πίνακα;


Το γράφω και σε αυτό το post για να πάρω τις γνώμες σας:

Μπορούμε να κάνουμε μια παραδοχή (έτσι κι αλλιώς η ψευδογλώσσα και η γλώσσα όλο παραδοχές είναι):
(το έχω πει και σε προηγούμενο post)

Διάβασε Ν
!παραδοχή πως δημιουργούμε πίνακα Ν θέσεων - ο πίνακας είναι στατικός, δεν μπορούμε να διαγράψουμε, ούτε να εισάγουμε νέους κόμβους
Για ι από 1 μέχρι Ν
     !προσπελαύνω τους κόμβους και κάνω ότι θέλω με τον στατικό μου πίνακα
Τέλος_επανάληψης

Στις ασκήσεις που ανφέρεστε εσείς, σε κανένα σημείο του προγράμματος δεν είναι γνωστό το μέγεθος του πίνακα (ούτε με τη χρήση μιας μεταβλητής Ν). Σε κώδικα όπως ο παρακάτω:
Αρχή_επανάληψης
     !Εισαγωγή και επεξεργασία δεδομένων
Μέχρις_ότου < συνθήκη >

Δεν μπορούμε να χρησιμοποιήσουμε πίνακα αφού θα γίνεται επ' άπειρον ( όσο θέλει ο χρήστης ) εισαγωγή νέων κόμβων.

Πιστεύω πως με την παραπάνω παραδοχή και το πρόβλημα λύνεται αλλά και η γλώσσα και ψευδογλώσσα ορίζονται ακριβέστερα. Επιπλέον ξεχωρίζουν ακόμη καλύτερα τα προβλήματα στα οποία μπορούμε να οργανώσουμε τα δεδομένα σε πίνακα (όταν ο αριθμός των δεδομένων - κόμβων είναι από ένα σημείο και έπειτα σταθερός - Ν) και σ' αυτά που δεν μπορούμε να χρησιμοποιήσουμε στατικές δομές (άγνωστο μέχρι και το τέλος του προγράμματος πόσα δεδομένα - κόμβοι θα χρειαστούν)

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

unibomber

Παράθεση από: pgrontas στις 01 Ιουν 2010, 02:48:12 ΜΜ
Στάθη ενώ συμφωνώ με αυτόδιαφωνώ με αυτό:Δεν θεωρείς ότι η αλγοριθμική σκέψη στο συγκεκριμένο πρόβλημα, προάγεται καλύτερα από την λύση χωρίς τον πίνακα;

Εγω νομιζω πως αν γυρισουμε στον αβακα θα σας χαροποιησει επειδη θα ειναι αποδεκτες μοναδικες λυσεις
Αλγοριθμικα (βαση τη γνωση που πρασπαθει να δωσει το μαθημα) οι πινακες ειναι ασυγκριτα καλητερη σαν λυση για ολους τους υπολοιπους που δε μετεχουμε σε επιτροπες και δεν γραφουμε βιβλια με ασαφιες
Με τον περιορισμο σε στατικες δομες που προτινεται θα αναγκασετε δυστιχως ακομα μια γεννια μαθητων να χασει και παλι το τρενο της δημιουργικης φαντασιας στον προγραμματισμο. Οσο οι αναπτηγμένες ΄χωρες του πλανητη θα προχωρανε στην τεχνιτη νοημοσυνη εσεισ θα μας γυριζεται πισω σε στατικες δομες για να καληψετε την αγνοια σας

gthal

Παράθεση από: gpapargi στις 01 Ιουν 2010, 11:06:53 ΠΜ
Σόρυ για το μεγάλο μήνυμα Γιώργο, αλλά έκατσα και στα έγραψα όλα αυτά επειδή σε σέβομαι και θέλω να καταλάβεις πως τα έχω μέσα στο κεφάλι μου. Καλύτερα μια φορά με πληρότητα παρά 100 σκόρπιες κουβέντες.

....
Γιώργο, δε φαντάζεσαι πόσο με ικανοποιεί η μακροσκελής απάντησή σου. Μη ζητάς καθόλου συγγνώμη. Όσο μεγάλο κι αν θα ήταν το μήνυμά σου θα το διάβαζα με πολύ ενδιαφέρον.
Και συμφωνώ με τα όσα λέει ο Στάθης στην άμεση απάντησή του, και με το ότι τελικά ένα περιεκτικό μήνυμα βοηθάει να ηρεμήσουμε και να παρακολουθήσουμε ο ένας τον άλλον.

Πραγματικά, δεν μπορώ να διαφωνήσω με όσα λες. Ούτε και να συμφωνήσω απόλυτα. Και επειδή πάρα πολλά έχουν ειπωθεί, και θέλω να αρχίσω να αποχωρώ πλέον, θα γράψω όσο λιγότερα μπορώ. Οι παρακάτω σκέψεις γεννήθηκαν διαβάζοντάς σε. (ίσως και αυτές να βρίσκονται στην καρδιά της αμφιθυμίας μου)

Όταν για πρώτη φορά έπιασα το βιβλίο για να διαβάσω το μάθημα, η πρώτη "ενόχληση" που ένιωσα, ήταν όταν διάβαζα πόσο αυστηρά ορίζει την ψευδογλώσσα. (το θυμάμαι πολύ αμυδρά πια αυτό το συναίσθημα. εσείς; )
Σαν να ήταν κάτι γενικά παραδεκτό. Ήταν ψέμα. Πουθενά δεν υπάρχει ορισμένο τέτοιο κατασκεύασμα.
Το παρακάτω θα έπρεπε να είναι αποδεκτό σε ψευδογλώσσα, εφ' όσον το καταλαβαίνει όποιος το διαβάσει:
Μέχρι να δοθεί αρνητικός  διάβασε χ
Όταν θα κληθεί κανείς να το κάνει πρόγραμμα θα βρει με ποιο ακριβώς σετ εντολών θα γίνει.
Προφανώς ορίζεται έτσι, χωρίς ελευθερίες, και σχεδόν παραπλήσια της ΓΛΩΣΣΑΣ για να μπορούμε να διορθώνουμε με αντικειμενικά κριτήρια (σκεπτικό εξετάσεων). Από τα ίδια μυαλά προφανώς που θεωρούν ότι η παπαγαλιστί εξέταση της θεωρίας παρέχει αντικειμενικό κριτήριο αξιολόγησης.

Όμως έτσι της έχουμε στερήσει το βασικότερο πλεονέκτημά της, την ελευθερία και την ανεξαρτησία από την υλοποίηση, που όπως είπες, είναι οι βασικοί λόγοι που την προτιμάμε ενίοτε έναντι της ΓΛΩΣΣΑΣ.

Θα ήθελα πραγματικά να διδάξουμε την ελευθερία της ψευδογλώσσας και όχι αυτό το συνεσταλμένο και φοβητσιάρικο κατασκεύασμα. Αλλά για να γίνει αυτό πρέπει να τολμήσουμε να γυρίσουμε στην αρχή και να τολμήσουμε να πούμε ότι το
Αν η επίδοση ξεπερνάει το ρεκόρ τότε
  θέσε ρεκόρ = επίδοση
Είναι σωστό (και μαζί, ας βάλουμε στην άκρη καθοριστικότητες και αποτελεσματικότητες γιατί θα μας κάνουν να κοιτάμε ένα ένα δέντρο και να χάνουμε το δάσος).

Γιατί να πρέπει ο μαθητής, αντί να αποδείξει ότι μπορεί να σκεφτεί αλγοριθμικά, να αποδείξει ότι και κατά τη γραφή αλγορίθμου μπορεί να μετατρέψει σωστά μια συνθήκη ελέγχου σε σύνταξη ΓΛΩΣΣΑΣ, και ότι μπορεί να αναπαράγει τις εντολές της γλώσσας με μικρές παραλλαγές;

Διαφορετικά θα μπορούσαμε κάλλιστα να καταργήσουμε την ψευδογλώσσα. Και για να γίνει η ΓΛΩΣΣΑ πιο εύχρηστη και πιο προσιτή από τα πρώτα μαθήματα, μπορεί να καταργηθεί το τμήμα δηλώσεων. Τι εξυπηρετεί εξ' άλλου; Κάθε μεταβλητή ας δηλώνεται τη στιγμή που χρησιμοποιείται, όπως κάνουν πολλές από τις πιο καινούριες γλώσσες. Το σύνδρομο Pascal δεν είναι δα και αξεπέραστο.

Άρα, ή κάθε μια με το ρόλο της, ή μόνο τη ΓΛΩΣΣΑ (συμφωνώ ότι αν μείνει μία θα πρέπει να είναι αυτή που δείχνει την υλοποίηση στην πράξη)
Φιλικά,
Γιώργος Θαλασσινός

as

Στη σελίδα 166 του βιβλίου γράφει ότι στη ΓΛΩΣΣΑ θεωρούμε ότι οι πραγματικοί αριθμοί μπορεί να έχουν άπειρο πλήθος ψηφίων.Και όσοι γνωρίζουν πληροφορική καταλαβαίνουν φυσικά (διορθώστε με αν κάνω λάθος) ότι για να αποθηκευτεί ένας τέτοιος αριθμός χρειάζεται άπειρη μνήμη.Επομένως το βιβλίο εμμέσως πλήν σαφώς θεωρεί ότι η μνήμη του υπολογιστή είναι άπειρη.Άρα για ποιόν λόγο να μας απασχολεί η άσκοπη χρήση της;;;;;;;;;;;;;;;;;;;;;;Το ίδιο το βιβλίο λέει να μην μας απασχολεί.Ούτε το ίδιο το απασχολεί και γι αυτό έχει τόσα παραδείγματα πινάκων με Ν στοιχεία.Αλλά λόγω των πολλών ασαφειών του μπορεί εύκολα κάποιος να βρεί ένα πάτημα και να βάλει ότι θέμα του κατέβει.Μπορεί να αισθάνεται και ωραία όταν το βάζει.Να θεωρεί ότι είναι έξυπνο.
Γενικώς νομίζω ότι η ΑΕΠΠ είναι μία εισαγωγή στην πληροφορική και τίποτα περισσότερο.
Τι διδάσκουμε;Κάποια γενικά θέματα αλγορίθμων και μία ανύπαρκτη γλώσσα προγραμματισμού.Λόγω του ότι είναι ανύπαρκτη έχει και πάρα πολλά κενά τα οποία προσπαθούμε να καλύψουμε χρησιμοποιώντας ο καθένας αυθαίρετα τις γνώσεις του από άλλες πραγματικές γλώσσες προγραμματισμού.
Ως εκ τούτου είναι αδύνατο να συμφωνούμε όλοι με όλους και το μόνο που πρέπει να κάνουμε είναι να κοιτάμε το μάθημα από καθαρά εκπαιδευτική άποψη και όχι προγραμματιστική.
Από εκεί και πέρα ναι.Και γώ στου μαθητές μου είπα ότι καλά κάνανε και το λύσανε με πίνακα και δεν έχω καμμία τύψη γι αυτό γιατί ξέρω σε ποιούς απευθύνομαι και ποιός είναι ο σκοπός μου.Αν ήθελα να γίνω καθηγητής στο πανεπιστήμιο θα έκανα διδακτορικό.Όποιος θέλει να γίνει προγραμματιστής θα γίνει ασχολούμενος με πραγματικές γλώσσες και πραγματικά προβλήματα.Όχι "Έχουμε 100 μαθητές σε ένα σχολέιο" και τέτοιες ανοησίες.
Αν θέλανε λοιπόν χωρίς πίνακα ας το ζητούσανε σαφώς.Αφού δεν το ζητήσανε είναι ολόσωστο με πίνακα άσχέτως αν κανείς προγραμματιστής δεν θα το έκανε έτσι.Δεν είναι πραγματική εφαρμογή.Είναι μάθημα.Αν ήταν πραγματική εφαρμογή, θα δήλωνα 5000 στοιχεία και κάθε χρόνο θα ανέβαζα update στη ιστοσελίδα του προγράμματος αν εμφανίζονταν παγκοσμίως σχολείο με πρισσότερους μαθητές.

merlin

Παράθεση από: as στις 01 Ιουν 2010, 05:59:54 ΜΜ
Αν ήταν πραγματική εφαρμογή, θα δήλωνα 5000 στοιχεία και κάθε χρόνο θα ανέβαζα update στη ιστοσελίδα του προγράμματος αν εμφανίζονταν παγκοσμίως σχολείο με πρισσότερους μαθητές.
Στη Microsoft δουλεύεις? Γι' αυτό μας έχει τρελάνει στα updates?  :) :) :)
Εντελώς φιλικά και χιουμοριστικά
Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

as

Εγώ όχι.Μάλλον αυτοι που βγάζουνε τα θέματα δουλεύουνε στην Microsoft.Αλλά και πάλι για κάποιο λόγο δεν βγάζουνε βέλτιστο αλγόριθμο και σε έχουν τρελάνει στα update. :)

Δημήτρης Δαλαγιώργος

Παράθεση από: gpapargi στις 01 Ιουν 2010, 11:06:53 ΠΜ
Σόρυ για το μεγάλο μήνυμα Γιώργο, αλλά έκατσα και στα έγραψα όλα αυτά επειδή σε σέβομαι και θέλω να καταλάβεις πως τα έχω μέσα στο κεφάλι μου. Καλύτερα μια φορά με πληρότητα παρά 100 σκόρπιες κουβέντες.

Τα υπόλοιπα τα έσβησα χάριν συντομίας. Ξανακάνω crosspost κι εδώ χάριν πληρότητας:

Καταρχήν χαίρομαι που συμφωνούμε στη διαφωνία μας: Η χρήση πίνακα στο Θέμα Γ ενέχει παιδαγωγικούς κινδύνους, όχι όμως επιστημονικούς.

Διάβασα το post σου το οποίο ξεκινάει από μια αυθαίρετη -κατά τη γνώμη μου- παραδοχή:

Απλά επειδή δε θέλουμε να μπλέξουμε τους μαθητές με δηλώσεις μεταβλητών και γενικά με τεχνικές λεπτομέρειες υλοποίησης φτιάχτηκε η ψευδογλώσσα.

Δεν συμφωνώ! Πρώτα απ' όλα, δε συμφωνώ ότι μπλέκονται ή μπερδεύονται οι μαθητές. Όσα χρόνια προσπαθούσα να διδάξω το μάθημα μόνο στον πίνακα, πολλά παιδιά, μέχρι το μέσον της χρονιάς μπέρδευαν το Γράψε με το Διάβασε, πόσω μάλλον πίνακες, ουρές και στοίβες. Απ' τη στιγμή που έδωσα έμφαση στη ΓΛΩΣΣΑ και άρχισα να χρησιμοποιώ κατά κόρον το εργαστήριο και τον Διερμηνευτή της Γλώσσας (Άλκη Θεέ!) πολλά πράγματα έγιναν αμέσως κατανοητά στα παιδιά και το μόνο πρόβλημα που είχα ήταν απ' τους μαθητές που ήταν κολλημένοι με το φροντιστήριο και δεν μπορούσαν να συνδυάσουν αυτά που άκουγαν στο σχολείο με τα τυποποιημένα που άκουγαν στο φροντιστήριο.

Οπότε, όχι, δε συμφωνώ ότι οι μαθητές μπλέκονται με τεχνικές λεπτομέρειες, ούτε συμφωνώ ότι γι' αυτό το σκοπό φτιάχτηκε η ψευδογλώσσα. Νομίζω ότι οι συγγραφείς θέλαν να δώσουν έναν πανεπιστημιακό αέρα στο μάθημα, όπου όντως θα γινόταν χρήση ΑΤΔ (ή ΑΔΔ) ώστε να μπορέσουν οι μαθητές να γνωρίσουν όμορφους αλγορίθμους χωρίς τους περιορισμούς που θέτει το υλικό και η γλώσσα προγραμματισμού.

Απ' τη στιγμή που το βιβλίο κατακρεουργήθηκε και ένα απ' τα πιο σημαντικά κεφάλαια για την κατανόηση των αλγορίθμων, το κεφάλαιο 5 περί ανάλυσης, επίδοσης, ορθότητας και πολυπλοκότητας των αλγορίθμων τέθηκε εκτός ύλης, γίναμε θύματα των αντιφάσεων, των αντιθέσεων και της ασυνέπειας που έχει το βιβλίο.

Συνεπώς, δεν μπορούμε να επιχειρηματολογούμε με παιδαγωγικά επιχειρήματα για κάτι που κρίνεται επιστημονικά. Είναι επιστημονικά αποδεκτή λύση η λύση με τους πίνακες; Ασφαλέστατα! Είναι παιδαγωγικά ορθή; Το συζητάμε.

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

Συνεπώς, ως εκπαιδευτικός, νομίζω ότι μπορώ να διαχειριστώ τις διαφορές μεταξύ (μιας οποιασδήποτε) ψευδογλώσσας και της ΓΛΩΣΣΑΣ. Μπορώ νομίζω να εξηγήσω γιατί ένας αλγόριθμος σε ψευδογλώσσα μπορεί να μη στέκει στο στενό περιβάλλον της ΓΛΩΣΣΑΣ. Και νομίζω ότι και τα παιδιά μπορούν να με καταλάβουν.

Αν είναι να συνεχίσουμε να αντιπαρατιθέμεθα για το παιδαγωγικό κομμάτι, ας το κάνουμε σ' ένα dedicated thread, μέσα στη ραστώνη του καλοκαιριού. Επιμένω όμως, ότι δεν μπορούμε να επικαλούμαστε παιδαγωγικά επιχειρήματα για ν' απαξιώσουμε μια λύση. Αν υπάρχει λογικό, επιστημονικό λάθος, να το συζητήσουμε.

Το παιδαγωγικό κομμάτι και κατά πόσο ξεφτιλίζουμε το μάθημα είναι άλλη συζήτηση.
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

Δημήτρης Δαλαγιώργος

Παράθεση από: sdoukakis στις 01 Ιουν 2010, 03:19:02 ΜΜ
Κρατήστε τα επιχειρήματά σας για την ημερίδα της ΕΠΥ

http://www.epy.gr/modules.php?name=News&file=article&sid=274

Τέλεια! Κρίμα όμως, που το ΥπΔΒΜΘ έκοψε τα οδοιπορικά! Στη Θεσσαλονίκη όμως, αν μπορέσω θα πάω!
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

Vangelis

Ένα καλό που έκανε το θέμα είναι αναμφισβήτητα ο πλούσιος διάλογος που ακολούθησε.


d_bam

Είμαι σχεδόν βέβαιος πως έχει σχολιασθεί και σε προηγούμενη σελίδα αλλά επιτρέψτε μου να το αναφέρω!

Η ΚΕΕ στην σημερινή ανακοίνωση αναφέρθηκε στην σελίδα 184 του σχολικού βιβλίου και συγκεκριμένα στον 4ο στόχο του κεφαλαίου (ο μαθητής να είναι σε θέση να αποφασίζει αν είναι απαραίτητη η χρήση πίνακα.)

Φαίνεται πως η  - «αλάνθαστη» -  ΚΕΕ  δεν έχει υπόψη την παράγραφο 9.2 σελ 191 του βιβλίου ( Πότε πρέπει να χρησιμοποιούνται πίνακες).
Συγκεκριμένα:

Στην 5η παράγραφο:
Η απόφαση για την χρήση πίνακα ... είναι κυρίως θέμα εμπειρίας στον προγραμματισμό.

Σε ποια εμπειρία αναφέρεται το βιβλίο...; Την οχτάμηνη των μαθητών...;

Στην 6η παράγραφο:
Γενικά ... τότε η χρήση πινάκων βοηθάει ή συχνά είναι απαραίτητη για την επίλυση του προβλήματος. Σε άλλη περίπτωση μπορεί να αποφεύγεται η χρήση τους.

Αυτό το «μπορεί να αποφεύγεται» ερμηνεύεται ότι είναι λάθος αν χρησιμοποιούνται πίνακες;


Στην 7η παράγραφο (τελευταία σειρά):
... θα ήταν προτιμότερη μια λύση χωρίς τη χρήση τους

Αυτό το «θα ήταν προτιμότερη» ερμηνεύεται πάλι ότι είναι λάθος αν χρησιμοποιηθούν  πίνακες

Μάλλον κάποιοι έχουν πρόβλημα με τα ελληνικά τους... Ίσως η ΚΕΕ, ίσως οι συγγραφείς του βιβλίου, ίσως εγώ, ίσως οι μαθητές που διαβάζουν το βιβλίο.