Βαθμολόγηση λύσεων και απόδοση αλγορίθμων

Ξεκίνησε από gpapargi, 03 Ιουν 2007, 11:41:58 ΠΜ

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

agelos

#15
Καλημέρα σας.Αναρωτιέμαι σαν καθηγητής και εγώ.Γιατί να μην το βρεί με ταξινόμηση εφόσον την  ταξινόμηση την κάνει σε ξεχωριστό πίνακα και άρα δεν επηρεάζεται ο αρχικός πίνακας παρακάτω.Στο τέλος αν δεν κάνω λάθος υπάρχει η υπόδειξη ότι κάθε λύση επιστημονικά τεκμηριωμένη είναι σωστή.Αρα και αυτή η λύση είναι σωστή.Και ας κάνει 200 χρόνια να την εκτελέσει ο υπολογιστής.Αν θέλαμε τα παιδιά να γίνουν προγραμματιστές τότε θα έπρεπε να τα διδάσκουμε και αρχιτεκτονική υπολογιστών.Και ίσως και λίγη assembly.Γιατί όχι.Και άρα ενώ λέμε να μην μαθαίνουν παπαγαλία κάποια πράγματα μας ενοχλεί όταν κάποιος αντί να βρεί το max που του έχουμε διδάξει κάνει κάτι δικό του που είναι σωστό.Και ας είναι λιγότερο "προγραμματιστικά" σωστό.Που ξέρει το παιδί που δεν έχει προγραμματίσει ποτέ στη ζωή του τι είναι το προγραμματιστικά σωστό;Ή μήπως είναι στη θεωρία αυτού του βιβλίου;Και άρα αφού στη θεωρία δεν εξηγείται τί είναι το προγραμματιστικά σωστό(και εννοώ επαρκώς όχι μια απλή και αόριστη αναφορά κάπου σε κάποιο σημείο) τότε όποιος την ταξινόμηση που έκανε το παιδί την βαθμολογήσει λάθος κατά τη γνώμη μου βαθμολογεί με κριτήρια εκτός θεωρίας του βιβλίου.Δηλαδή όπως γουστάρει με λίγα λόγια.Και κάτι ακόμα.Πρίν κρίνουμε ένα παιδί να αναρωτηθούμε:Εμείς ξέρουμε τα πάντα στον προγραμματισμό;Έχουμε επάρκεια;Έχουμε κάνει τόοοοοοοοοοσα πολλά προγράμματα στη ζωή μας που ξέρουμε πότε επιβαρύνεται ο υπολογιστής και πότε όχι;Διότι μην ξεχνάμε ότι η θεωρία συνήθως απέχει από την πράξη αλλιώς δεν θα χρειάζονταν οι μαστόροι.Θα τα κάναμε όλα εμείς οι επιστήμονες.Επίσης είμαστε εδώ 5-6 καθηγητές και διαφωνούμε στο πως πρέπει να διορθώνουμε.Αν ένα παιδί μπει και διαβάσει αυτά που γράφουμε τι θα σκεφτεί;Εγώ θα σκεφτόμουνα πάντος ότι αφού δεν ξέρουν αυτοί τότε που να ξέρω εγώ;

gpapargi

Δεν μπορώ να καταλάβω γιατί θεωρείτε ότι ο καλός και αποδοτικός αλγόριθμος είναι θέμα που αφορά τους προγραμματιστές. Καθόλου έτσι δεν είναι τα πράγματα. Η απόδοση του αλγορίθμου είναι καθαρά θέμα αλγορίθμων.

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

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

Καμία σχέση με προγραμματισμό. Μαθηματικά έκαναν οι άνθρωποι. Ήθελαν κάποιο αλγόριθμο που να έχει καλύτερη ποιότητα αλλιώς θα έμεναν στην προφανή λύση που ανέφερα παραπάνω. Γιατί να ψάξουν και να καταλήξουν σε κάτι που δεν είναι καθόλου προφανές όπως ο αλγόριθμος του Ευκλείδη; Όπως είπε και ο Άλκης ο χαμάλης τότε ήταν ο ίδιος ο άνθρωπος. Εμείς οι ίδιοι διδάσκουμε ότι η εκτέλεση του αλγορίθμου δεν είναι προνόμιο του υπολογιστή.

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

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

pgrontas

>>Επίσης είμαστε εδώ 5-6 καθηγητές και διαφωνούμε στο πως πρέπει να διορθώνουμε.Αν ένα παιδί μπει και διαβάσει >>αυτά που γράφουμε τι θα σκεφτεί;Εγώ θα σκεφτόμουνα πάντος ότι αφού δεν ξέρουν αυτοί τότε που να ξέρω >>εγώ;

H διαφωνία σε επιμέρους θέματα της βαθμολόγησης είναι κάτι που κατά τη γνώμη μου είναι υγιές και δείχνει ότι προβληματιζόμαστε για το τι είναι πραγματικά σωστό ώστε να μην αδικηθούν μαθητές. Επίσης νομίζω ότι δείχνει ότι αγαπάμε το αντικείμενο μας και διαφέρουμε από τις παραδοσιακές ειδικότητες που έχουν μπει στο κατεστημένο.
Βέβαια, για να χαλαρώσουμε και λίγο πρέπει να παραδεχτούμε ότι ως κλάδος έχουμε τους τσακωμούς στο αίμα μας (βλ. Windows vs Linux, Java vs Visual Basic κά). Θα με ενδιέφερε να ξεκινήσουμε μια συζήτηση γιατί γίνεται αυτό, τώρα που καλοκαίριασε και έχουμε χρόνο. :)

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

Σε ότι αφορά για την σχέση ΑΕΠΠ - προγραμματισμού ο gpapargi με κάλυψε απόλυτα.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

alkisg

Παράθεση από: agelos στις 04 Ιουν 2007, 09:27:45 ΠΜ
Επίσης είμαστε εδώ 5-6 καθηγητές ...
Την ημέρα των εξετάσεων το στέκι είχε 1.462 επισκέπτες που έκαναν 10.779 κλικ... :)  ::) :P

Παράθεση από: gpapargi στις 04 Ιουν 2007, 10:50:54 ΠΜ
Όταν λέμε ότι το μάθημα δεν είναι προγραμματισμός εννοούμε ότι δε μας ενδιαφέρουν οι λεπτομέρειες υλοποίησης της γλώσσας προγραμματισμού. Δε μας ενδιαφέρει τι κάνει η C, η Pascal, η Java κλπ
Γιώργο μόλις βρεις χρόνο για απάντηση, θα ήθελα και την άποψή σου για τα πλεονεκτήματα της ΓΛΩΣΣΑΣ σε σχέση π.χ. με μια εξελληνισμένη Pascal.
Συμφωνώ ότι δεν είναι (και δεν θα έπρεπε να είναι) στους στόχους του μαθήματος οι προγραμματιστικές λεπτομέρειες μιας γλώσσας. Από την άλλη, ρωτάμε λεπτομέρειες για τη ΓΛΩΣΣΑ, π.χ. αν επιτρέπεται ή όχι ΔΙΑΒΑΣΕ σε συνάρτηση, αν μπορούμε να μεταβάλλουμε τις παραμέτρους της κτλ.
Ποια παιδαγωγική διαφορά θα είχε αν χρησιμοποιούσαμε μια εξελληνισμένη Pascal αντί της ΓΛΩΣΣΑΣ; Γιατί τότε θα διδάσκαμε προγραμματισμό ενώ τώρα όχι;
Και η Pascal μπορεί να διδαχτεί χωρίς να επιμένουμε στις λεπτομέρειες υλοποίησης...

Sergio

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

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

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

Σε ένα μάθημα προγραμματισμού τριτοβάθμιας εκπαιδευσης αυτό δεν είναι αρκετό.

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

Η συντακτική ορθότητα που ζητάμε στο μάθημα έχει να κάνει με τη διασφάλιση της σαφήνειας και όχι με τους περιορισμούς του προγραμματιστικού περιβάλλοντος.  Η έλλειψη ενός τέλος_αν παράγει λύση όπου το κλωνάρι δεν ορίζεται με σαφήνεια.  ΔΕΝ πρέπει να το δει απλά ως συντακτικό λάθος.  Πρέπει να καταλάβει την ουσία του λάθους.  Η παράλειψη του τύπου της συνάρτησης αποτελεί ελλειπή δήλωση του αποτελέσματος του αλγόριθμου που θα υλοποιήσει. ΔΕΝ πρέπει να το δει απλά ως συντακτικό λάθος.  Πρέπει να καταλάβει την ουσία του λάθους.

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

Για να αναφερθώ στα παραδείγματα που αναφέρει και ο Άλκης.  Εκτιμώ ότι υπάρχει αρκετή ουσία κρυμμένη στο φαινομενικά απλό "συντακτικό λάθος" του ΔΙΑΒΑΣΕ εντός συνάρτησης.  ΔΕ ΘΕΛΩ ο μαθητής να το δει ως συντακτικό λάθος.  ΔΕ με ενδιαφέρει σε αυτό το επίπεδο η έννοια του συντακτικού λάθους.  Το σφάλμα μίας ΔΙΑΒΑΣΕ εντός συνάρτησης στη είναι η ανατροπή του μοντέλου που πρέπει να έχει σχηματίσει για το ρόλο επιτελεί μία συνάρτηση.  Το σημασιολογικό μοντέλο που παρουσιάζεται για τη συνάρτηση είναι η υλοποίηση σε προγραμματιστικό περιβάλλον της έννοιας που γνωρίζει από τα μαθηματικά.  Στα μαθηματικά δεν υπάρχει η έννοια της επικοινωνίας με το χρήστη.  Όμως η συνάρτηση σε ΠΠ είναι αλγόριθμος οπότε πρέπει να έχει είσοδο και έξοδο.  Με συνέπεια διδάσκεται λοιπόν ο μαθητής ότι η είσοδος γίνεται μέσω των παραμέτρων (συνεπές μοντέλο σε σχέση με την προϋπάρχουσα από τα μαθηματικά γνώση) και η έξοδος στο όνομά της (εξίσου συνεπές).  Στον προγραμματισμό θα μάθει ότι στα περισσότερα προγραμματιστικά περιβάλλοντα όλα είναι συναρτήσεις (και δεν αναφέρομαι σε συναρτησιακό προγραμματισμό αλλά απλά στις βιβλιοθήκες των περισσότερων περιβαλλόντων ανάπτυξης) μόνο που εκεί μπορούν να κάνουν τα πάντα και η τιμή επιστροφής είναι ένας κωδικός λάθους, 0 για ΟΚ και οτιδήποτε άλλου υποδεικνύει το λάθος.  Αυτή είναι μια διάσταση που είναι ΕΚΤΟΣ μαθήματος.

Όμως ήδη επιχειρούμε να απαντήσουμε σε δύο ερωτήματα σε αυτή τη συζήτηση και όσως θα έπρεπε να τη "σπάσουμε" σε δύο συζητήσεις.

1) ποιά είναι η προσέγγιση του γνωστρικού αντικειμένου στο πλαίσιο του μαθήματος και οι διαφορές του από ένα μάθημα προγραμματισμού
2) κατά πόσον πρέπει να εξετάζεται η αποδοτικότητα του αλγόριθμου σε επίπεδο γενικών εξετάσεων

Εξακολουθώ να μη βλέπω τη διαφορά του μαθήματος από τα υπόλοιπα παραδοσιακά μαθήματα θετικών επιστημών.  ΚΑΙ ο φυσικός αλλά ΚΑΙ ο μαθηματικός προτείνει (και διδάσκει) τον ορθότερο τρόπο να λυθεί ένα πρόβλημα.  Όμως ο μαθητής που καταλήγει σε ορ΄θό αποτέλεσμα (έστω και αν κουραστεί.. ο χαμάλης) ΔΕΝ τιμωρείται.  Εμείς θέλουμε κάτι άλλο.  Πρέπει;
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

agelos

#20
Συμφωνώ με τον συνάδελφο sergio.Είμαι της ίδιας άποψης.Επίσης όταν λέω ότι είμαστε 5-6 συνάδελφοι εδώ που συζητάμε ένα θέμα αναφέρομαι στο  θέμα που συζητάμε εδώ.Αν δείτε πόσα άτομα είχαν εκφέρει γνώμη πριν από εμένα θα δείτε ότι το σύνολό τους ήταν 7.Οκ εγώ είπα 5-6.Δεν το είπα για να θίξω το Site.Ούτε εννοώ ότι 5-6 άτομα βλέπουν το Site.Μακάρι να το βλέπει όλη η Ελλάδα δεν έχω κανά πρόβλημα και ούτε και με νοιάζει εν τέλει.Επίσης θέλω να πώ κάτι όσων αφορά το "Μας ενδιαφέρει μόνο ο τρόπος σκέψης για την κατασκευή του αλγορίθμου." πού είπε ο κύριος gpapargi.Κατά τη γνώμη μου ποιό ουσιαστικό είναι το εξής.Στο τέλος η οδηγία του υπουργείου είναι "Όλες οι λύσεις που είναι επιστημονικά τεκμηριωμένες είναι αποδεκτές".Δεν λέει "Όλες οι λυσεις οι οποίες επιβαρύνουν τον υπολογιστή το λιγότερο δυνατό είναι αποδεκτές".Αυτό νομίζω ότι είναι ξεκάθαρο και σημαίνει ότι όλες οι λύσεις που προκύπτουν χρησιμοποιώντας τουλάχιστον τη θεωρία του βιβλίου η οποία πουθενά δεν απαιτεί την καλύτερη δυνατή λύση είναι αποδεκτές.Αν το βιβλίο ενδιαφέρονταν για την καλύτερη λύση θα έδινε και καλύτερους αλγορίθμους για κάποια θέματα όπως πχ. η αναζήτηση όπου ξεκαθαρίζει και λέει ότι η σειριακή αναζήτηση είναι η πιό απλή αλλά και η λιγότερο αποτελεσματική.Αποτελεσματικότερη λέει είναι η δυαδική η οποία όμως δεν διαδάσκεται.Άρα εμμέσως πλήν σαφώς το ίδιο το βιβλίο λέει ότι δεν το ενδιαφέρει η καλύτερη λύση.Επίσης υπάρχουν και παραδείγματα του βιβλίου που θα μπορούσαν να δωθούν με καλύτερες λύσεις.ʼρα ότι λύση και αν δωθεί η οποία είναι εκτελέσιμη νομίζω πως είναι ξεκάθαρο ότι πρέπει να πάρει όλες τις μονάδες.Δηλαδή δεν μπορώ να καταλάβω εν τέλει που είναι το μπέρδεμα;;;;;;;;;;;;Και συν τοις άλλοις για ποιό λόγο δηλαδή να πρέπει να μάθει κάποιος ποιά είναι η καλύτερη δυνατή λύση τη στιγμή που δεν το απαιτεί το βιβλίο.Δηλαδή επειδή νομίζουμε εμείς ότι είναι σωστό;Εγώ προσωπικά έχω αρκετούς μαθητές που θέλουν να μπούν στη σχολή αξιωματικών της αστυνομίας.Νομίζω πως θα ήταν ποιό χρήσιμο να μάθει πως να βαράει με το γκλόμπ παρά προγραμματισμό.Συγνώμη κιόλας ίσως για το ύφος μου αλλά είναι πολλά αυτά που πρέπει να μάθει ένα παιδί και πολύ ποιό σημαντικά από το να μην κουράζει ένα μηχάνημα΄.Και μην ξεχνάτε ότι ο μέσος προγραμματιστής όπως είμαστε οι περισσότεροι από εμάς ποτέ δεν θα χρειαστεί να φτιάξει ένα πρόγραμμα που να ναι τόσο απαιτητικό ώστε να πρέπει να προσέξει λεπτομέρειες όπως να μην κάνει 2 ελέγχους παραπάνω και τέτοια.ʼρα γιατί το παιδί να πρέπει να προσέξει τέτοιες λεπτομέρειες;Είμαι 100% κατά της παπαγαλίας και αυτό προσπαθώ να διδάξω και στα παιδιά.Αλλά το θέμα της διόρθωσης των γραπτών είναι κάτι εντελώς διαφορετικό το οποίο όμως εν τέλει αν προσέξει κάποιος το βιβλίο νομίζω ότι μπορεί να καταλάβει πως να διορθώσει.

Sergio

Για να βλέπουμε βέβαια όλες τις διαστάσεις, το μάθημα αναγνωρίζει με σαφήνεια και κάποιους διδακτικούς στόχους όπως:
- να αποφασίζει εάν είναι απαραίτητη η χρήση πίνακα (Κεφ.9, σελ.184, ΔΣ#4)
- να επιλέγει την καλύτερη μορφή της εντολής ΑΝ για το κάθε πρόγραμμα (Κεφ.8, σελ.164, ΔΣ#4)
- να επιλέγει την καλύτερη δομή επανάληψης και να χρησιμοποιεί την κατάλληλη εντολή (Κεφ.8, σελ.164, ΔΣ#6)

κ.α.

Όμως πιστεύω ότι για το 60% της εξέτασης (ασκήσεις) σο μαθητής δικαιούται απλά να λύσει το πρόβλημα. 

Σε επίπεδο θεωρείας όμως, εάν π.χ. περιγραφεί μία κατάσταση και του ζητηθεί να απαντήσει ποιά εντολή επανάληψης είναι η καταλληλότερη, ΔΕ δικαιούται να διακρίνει λάθος.  Εκεί ΠΡΕΠΕΙ να χάσει μονάδες
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

agelos

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

pgrontas

Νομίζω ότι γίνεται το εξής λάθος: Έχουμε στον μυαλό μας ένα μαθητή που κούτσα - κούτσα θα λύσει την άσκηση οπότε όπως και να την κάνει δεν πειράζει αρκεί να δουλεύει.
Δεν υπάρχει όμως μόνο αυτός ο μαθητής - υπάρχει και αυτός που ξέρει πχ. ότι όταν θέλει μέγιστο δεν χρειάζεται να ταξινομήσει όλο τον πίνακα. Ο δεύτερος μαθητής δεν πρέπει να επιβραβευθεί με κάποιο τρόπο γι'αυτό?
Ας μην ξεχνάμε ότι οι πανελλήνιες είναι ανταγωνιστικές εξετάσεις - περνάνε οι "καλύτεροι" (εντός εισαγωγικών για ευνόητους λόγους).
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

greecechris

telika kanoume programmatismo i oxi? otan to xontrainw ligo mou lete den kanoume programmatismo kai otan paraleptainei leme opa...oi alloi omws ?  ::) ::) ::)

gpapargi

Καλημέρα

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

Το βασικό ζητούμενο στα μαθηματικά, τη φυσική και την πληροφορική είναι η επίλυση προβλημάτων. Η φυσική και τα μαθηματικά δίνουν αλγεβρικές λύσεις στα προβλήματα. Υπάρχουν όμως και μερικά προβλήματα που δεν επιδέχονται αλγεβρικές λύσεις. Πχ στο πρόβλημα «Να βρεθούν όλοι οι πρώτοι αριθμοί» δεν υπάρχει αλγεβρική λύση.
Αναγκαζόμαστε λοιπόν σε κάποια προβλήματα που η αλγεβρική προσέγγιση είναι ανεπαρκής, να επιτεθούμε με άλλο τρόπο. Αυτός ο τρόπος είναι η διαδικασία πεπερασμένων βημάτων δηλαδή ο αλγόριθμος. Το ζητούμενο σε μια αλγεβρική λύση είναι το αποτέλεσμα. Το ζητούμενο στην αλγοριθμική λύση δεν είναι το αποτέλεσμα. Είναι η διαδικασία που θα μας δώσει αποτέλεσμα. Πχ όταν το πρόβλημα είναι η εύρεση μεγίστου σε ένα πίνακα αυτό που γράφουμε ως αλγοριθμική λύση δεν είναι το μέγιστο στοιχείο. Είναι η διαδικασία με την οποία θα βρούμε το μέγιστο στοιχείο.

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

Αυτό δε γίνεται καθόλου τυχαία. Οι διαφορές μεταξύ καλού αλγόριθμου και κακού αλγόριθμου είναι τεράστιες. Ας πάρουμε για παράδειγμα την αναζήτηση σε μια λίστα που αποτελείται από 2^120 στοιχεία. Τον αριθμό αυτό δεν τον επέλεξα τυχαία. Είναι μεγαλύτερος από το μήκος του γνωστού σύμπαντος μετρημένο σε χιλιοστά του μέτρου!!!

Μια σειριακή αναζήτηση θα ήθελε 2^120 ελέγχους στοιχείων για να πραγματοποιηθεί. Η δυαδική αναζήτηση το κάνει σε 120 τέτοιους ελέγχους!!!

Ας πάμε σε ασύγκριτα μικρότερους αριθμούς όπως είναι ο 2^33 = 8.589.934.592 (8 δις και βάλε) που είναι πάνω από τον πληθυσμό της γης. Μια σειριακή αναζήτηση σε μια λίστα όλων των κατοίκων της γης θα ήθελε δισεκατομμύρια ελέγχους. Μια δυαδική αναζήτηση θα ήθελε 33 μόνο.

Μιλάμε για κολοσσιαίες διαφορές. Η πληροφορική αν θέλει να λέγεται επιστήμη έπρεπε να βρει τρόπους να αξιολογεί αυτές τις διαφορές. Έτσι θεμελιώθηκαν οι έννοιες της πολυπλοκότητας και της τάξης. Η σειριακή αναζήτηση λοιπόν έχει γραμμική τάξη και η  δυαδική αναζήτηση έχει λογαριθμική. Η δυαδική αναζήτηση διαφέρει από τη σειριακή όσο ο logν διαφέρει από το ν. Και η διαφορά δυαδικής-σειριακής είναι διαφορετική από τη διαφορά εύρεσης μεγίστου με μια σάρωση (ν) και με ταξινόμηση φυσαλίδας (ν^2).

Στα μαθηματικά και τη φυσική οι λύσεις είναι αλγεβρικές. 2 αλγεβρικές λύσεις όσο και να διαφέρουν ως προς την κομψότητα/ποιότητα δεν φτάνουν τέτοιες διαφορές. Είτε βρεις το ολοκλήρωμα της χ^2 από το 1 μέχρι το 10 είτε το βρεις από το 1 μέχρι το 10.000.000 είναι το ίδιο πράγμα σε χώρο και κόπο γιατί η λύση είναι αλγεβρική και ο ίδιος τύπος χρησιμοποιείται αλλά με άλλα νούμερα. Έτσι σωστά δεν απασχολεί αυτό τους μαθηματικούς. Αν όμως κάνεις ταξινόμηση σε 10 στοιχεία είναι πολύ διαφορετικό από το να κάνεις ταξινόμηση σε 10.000.000. Τα στοιχεία αυτά θα αποτελέσουν την είσοδο του αλγορίθμου. Το ένα θέλει περίπου 50 ελέγχους ενώ το άλλο περίπου 50.000.000.000.000. Είναι υποχρεωμένοι οι πληροφορικοί να απασχολούνται με αυτό. Οι αλγοριθμικές μέθοδοι εξαρτώνται καθοριστικά (και απαγορευτικά) από το πλήθος των στοιχείων εισόδου.

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

Αυτά όσον αφορά την πληροφορική και τις άλλες επιστήμες.

Τώρα σχετικά με το μάθημα.

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

Δε λέω να κόβουμε πόντους σε όλους τους μη βέλτιστους αλγόριθμους. Αλλά ο μαθητής που κάνει την αναζήτηση με «Για» δείχνει καθαρά ότι θέλει να αποφύγει την «Όσο». Το βιβλίο μας καλύπτει απόλυτα να κόψουμε πόντους σε αυτό γιατί  στην αρχή του κεφαλαίο 8, στους διδακτικούς στόχους λέει: «Να επιλέγει την καλύτερη δομή επανάληψης…». Επίσης στο κεφάλαιο της σειριακής αναζήτησης η σάρωση γίνεται με «Όσο» και λέει παρακάτω: «[…] αν τα στοιχεία του πίνακα είναι ταξινομημένα, τότε ο αλγόριθμος πρέπει να σταματήσει, μόλις συναντήσει κάποιο στοιχείο που είναι μεγαλύτερο από το αναζητούμενο».

Ξεκάθαρα λοιπόν μας δείχνει το διδακτικό πακέτο ποιο είναι το σωστό και ποιο είναι το λάθος. Η αυθαιρεσία στην ερμηνεία του ΔΠ είναι το να μην κόβεις πόντους, όχι το να κόβεις!!! Και ξέρουμε ότι στο συγκεκριμένο αλγόριθμο δεν αλλάζει η αλγοριθμική τάξη. Στην περίπτωση που κάνεις ταξινόμηση για εύρεση μεγίστου κάνεις κάτι πολύ πιο χοντρό: Αλλάζεις την αλγοριθμική τάξη. Τι λέτε λοιπόν να έγραφε το βιβλίο για το συγκεκριμένο τρόπο; (αν ποτέ φανταζόταν οι συγγραφείς ότι θα βλέπαμε και τέτοιες λύσεις).

Νομίζω μως εμείς είμαστε αυτοί που αυθαίρετα έχουμε νομιμοποιήσει τις κακές λύσεις και όχι το βιβλίο μας, ούτε η επιστήμης μας.

Sergio

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

Όμως μία σκέψη που είχα νομίζω μπορεί ήδη να διατυπωθεί και να πάρει τη θέση της στη συζήτηση.

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

Πιστεύετε ότι θα υπήρχε κάποια επίδραση στην αντικειμενικότητα της αξιολόγησης (αντικειμενική είναι η αξιολόγηση όταν η επανάληψή της από άλλο αξιολογητή δίνει το ίδιο αποτέλεσμα).  Πώς προσμετράται (και κατ' επέκταση βαθμολογείται) η ποιότητα;  Μήπως θα αρχίζαμε να βλέπουμε άνοδο στα ποσοστά των αναβαθμολογήσεων (αρνητική ένδειξη της αντικειμενικότητας).  Μήπως αρχίζαμε να αποκτούμε τα προβλήματα των φιλολόγων με το μάθημα της έκθεσης;
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

bagelis

Μια ιστορία:
ένας Σύλλογος που αποτελείται κυρίως από εκπαιδευτικούς είχε καλέσει κάποτε την κα. Γλυκάτζη - Αρβελέρ για να μιλήσει. Ο Σύλλογος προσδοκούσε στο ακροατήριο να βρίσκονται και αρκετοί μαθητές για να ακούσουν από κοντά ότι είχε να πει εκείνη. Όταν ο διάλογος κατέληξε στην ώρα που θα έπρεπε να γίνει η εκδήλωση η κα. Γλυκάτζη - Αρβελέρ είπε: "Κυριακή στις 10, να έχει τελειώσει και η εκκλησία και να έρθουν αμέσως μετά τα παιδιά..."

Με άλλα λόγια η εξαιρετική αυτή κυρία ζει σε έναν άλλον κόσμο...
Μήπως και εμείς το ίδιο;

ΔΕΝ ΕΙΝΑΙ ΠΑΝΕΠΙΣΤΗΜΙΟ ΕΔΩ!!! ΔΕΝ ΦΤΙΑΧΝΟΥΜΕ ΕΠΙΣΤΗΜΟΝΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!! ΔΕΝ ΦΤΑΝΟΥΝ ΟΙ ΩΡΕΣ!!! ΔΕΝ ΜΠΟΡΟΥΜΕ ΝΑ ΣΚΕΦΤΟΜΑΣΤΕ ΜΟΝΟ ΤΟΥΣ ΑΡΙΣΤΟΥΣ!!! ΚΑΘΕ ΛΥΣΗ ΕΠΙΣΤΗΜΟΝΙΚΑ ΑΠΟΔΕΚΤΗ ΕΙΝΑΙ ΣΩΣΤΗ!!! Η ΕΚΦΩΝΗΣΗ ΔΕΝ ΛΕΕΙ ΝΑ ΛΥΘΕΙ ΜΕ ΑΠΟΔΟΤΙΚΟ ΤΡΟΠΟ!!! ΛΕΕΙ ΑΠΛΑ ΝΑ ΛΥΘΕΙ!!!


Sergio

1.ΚΑΙ αυτή η παράμετρος (χρόνος) πρέπει να συνεκτιμηθεί.  Όμως, εάν ο σκοπός του μαθήματος είναι να "φτιάξουμε επιστήμονες πληροφορικής", ας τους "φτιάξουμε" στο πλαίσιο του χρόνου που υπάρχει (το "φτιάξουμε", σε ΠΟΛΛΑ εισαγωγικά για να τονιστεί η αστοχία της λέξης από παιδαγωγικής σκοπιάς).

2. Κάθε λύση επιστημονικά αποδεκτή είναι σωστή: Εάν ο σκοπός του μαθήματος, και η σκοπιά της επιστήμης που διδάσκουμε, είναι ο αποδοτικός αλγόριθμος, τότε επιστημονικά αποδεκτός είναι μόνον ο αποδοτικός αλγόριθμος. (πιστεύω φαίνεται στα λεγόμενά μου η διάθεση να "παίξω το δικηγόρο του διαβόλου"... όλες οι σκεψεις πρέπει να πέσουν στο τραπέζι)

Όμως, ΕΙΝΑΙ αυτός ο σκοπός του μαθήματος;

Η απάντηση σε αυτό το ερώτημα νομίζω θα μας βοηθήσει να βρούμε όλες τις άλλες απαντήσεις.

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

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

gpapargi

Το θέμα της βαθμολόγησης της ποιότητας είναι κάτι που έχουμε καιρό να το συζητήσουμε. Θα είμαστε καιρό ακόμα εδώ… οπότε με την ησυχία σου. Δε χρειάζεται η συγκεκριμένη κουβέντα να ολοκληρωθεί τώρα σε όλη της την διάσταση.

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

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

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

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

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

Οι αναβαθμολογήσεις θα πρέπει να κρατηθούν όσο γίνεται πιο χαμηλά. Πιστεύω πως μπορούμε να μην τις αυξήσουμε καθόλου αν υπάρχει καλός συντονισμός. Πχ μπορεί να φτιαχτεί ένας κατάλογος του πόσο κόβει κάθε τι. Πχ αναζήτηση με «Για» παίρνει 7 στα 10. Εύρεση μεγίστου με πλήρη σάρωση παίρνει 3 στα 10 κλπ.

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

Βασικά δε με νοιάζει η απόλυτη αντιστοίχιση της ποιότητας με τους βαθμούς. Με νοιάζει η αποθάρρυνση προκλητικών προσεγγίσεων όπως οι 2 που προανέφερα (ειδικά η εύρεση μεγίστου με πλήρη σάρωση) που βλέπεις ότι ο άλλος δεν σκέφτεται αλλά τυποποιεί. Άλλο παράδειγμα: πλήρης σάρωση δισδιάστατου πίνακα προκειμένου να εμφανίσεις τα στοιχεία μόνο της τρίτης στήλης. 

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