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

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

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

gpapargi

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

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

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

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

Δεν είναι πληροφορική παιδιά αυτό. Είναι κάτι άλλο. ΑΟΔΕ μου θυμίζει και με πονάει πολύ αυτό.

johnny_xp

@gpapargi
Όλα αυτά είναι συνέπεια μιας κοινή αρχής η οποία δεν είναι άλλη από την: "έλα μωρέ τώρα...".

Έκανε σεριακή αναζήτηση με ΓΙΑ. "Έλα μωρέ τώρα". "Μη κόψουμε στο παιδί. Τι ΓΙΑ τι ΟΣΟ;". Υπάρχει δε ακόμα πιό ισχυρό επιχείρημα: "Έ το ίδιο δε θα βρεί και με την μια και με την άλλη;"

Χρησιμοποίησε αβέρτα πίνακες, ενώ μπορούσε να το λύσει χωρίς να χρησιμοποιήσει κανέναν. "Έλα μωρέ τώρα"... Και έτσι σωστό είναι. Το ότι το βιβλίο έχει μια ολόκληρη παράγραφο που συστήνει να μη χρησιμοποιούμε πίνακες εκεί που δε χρειάζεται παραλέιπεται...

Διέκοψε ένα βρόχο ΓΙΑ αλλάζωντας το μετρητή. "Έλα μωρέ τώρα". Υπάρχει δε ακόμα πιό ισχυρό επιχείρημα: "Το βιβλίο δεν είναι απόλυτο ότι δεν πρέπει να αλλάζουμε το μετρητή εντός του βρόχου". Η ουσία: ότι ο μαθητής δεν έχει καταλάβει ότι δεν έπρεπε να πάρει ΓΙΑ (και για το ότι δεν το έχει καταλάβει φταίμε εμείς οι δάσκαλοι και όχι ο μαθητής) παραλείπεται...

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

Θα μπορύσα να αραδιάσω πολλά ακόμα παραδείγματα. Ωστόσο αυτά είναι αρκετά ώστε να καταλάβει κάποιος τι κλίμα περνάμε στους μαθητές. Άλλωστε η αποτελεσματικότητα του αλγορίθμου ειναι και εκτός ύλης και ούτε εξετάζεται. Και μετά εγω όσο και να γκαρίζω "αυτό μη το κάνετε έτσι" η απάντηση είναι η ίδια "εμένα μου είπε (ο άλλος καθηγητής) πως και έτσι σωστό είναι. Γιατί να κάνω το πιό πολύπλοκο που λες εσύ;" !

P.Tsiotakis


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


Sergio

Σε επίπεδο διδασκαλίας, είμαι προσωπικά πεπεισμένος ότι πρέπει να διδάσκουμε στην κατεύθυνση της οικοδόμησης από το μαθητή της ορθής συλλογιστικής για την επίλυση προβλημάτων.  Να δίνουν όλο το βάρος αρχικά στην κατανόηση του χώρου του προβλήματος (χαριτολογώντας τους "προστάζω" να ξεκινήσουν με ΚΛΕΙΣΤΟ τετράδιο). Να συνεχίσουν αναλύοντας το πρόβλημα για να διακρίνουν τα επιμέρους δομικά του στοιχεία και να αναγνωρίσουν τα βήματα που θα τους οδηγήσουν από τα ζητούμενα στα δεδομένα (χαριτολογώντας τους προτείνω να ανοίξουν δειλά - δειλα το τετράδιο στο πρόχειρο και να αρχίσουν να "σκιτσάρουν").  Να συνεχίσουν συνθέτοντας τη λύση, ακολουθώντας την αντίστροφη της διαδικασίας που ανκάλυψαν με την ανάλυση ώστε να οδηγηθούν από τα δεδομένα στα ζητούμενα.

Όταν είναι έτοιμοι τότε ξεκινά η επίλυση.  

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

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

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

Εάν ένα μαθητής λύσει μία άσκηση μαθηματικών σε 3 σελίδες αντί για μισή (που θα μπορούσε να δώσει για τη βέλτιστη ή έστω και ενδεδειγμένηλύση), ο μαθηματικός βαθμολογητής τη θεωρεί σωστή και της δίνει το σύνολο των μονάδων.  Θα μπορούσε βέβαια να θεωρήσει ότι δεν υλοποιεί την ορθή μαθηματική σκέψη και πρέπει να χάσει μονάδες.  Χρόνια τώρα όμως αυτό δε γίνεται.  Κακώς ;;

Στο μάθημά μας όμως προβληματιζόμαστε με όμοια περιστατικά. Καλώς;;

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

Η ένοια της "αποτελεσματικότητας" της λύσης δεν οφείλει να υπάρχει και στα υπόλοιπα μαθήματα;

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

alkisg

Παράθεση από: Sergio στις 03 Ιουν 2007, 03:59:48 ΜΜ
Η έννοια της "αποτελεσματικότητας" της λύσης δεν οφείλει να υπάρχει και στα υπόλοιπα μαθήματα;

Σε τι διαφέρει το δικό μας (αν διαφέρει);;

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

Στην πληροφορική:
Ένας μαθητής λύνει μια ταξινόμηση με 5 γραμμές, χρησιμοποιώντας τη φυσαλίδα.
Ένας καθηγητής του λέει ότι υπάρχει αποδοτικότερη ταξινόμηση, με 5 σελίδες (π.χ. radix sort).

Τι σχέση έχει η μία επιστήμη με την άλλη; Απολύτως καμία.

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

Στην πληροφορική μια αποτελεσματική λύση θα ήταν μια γρήγορη λύση από πλευράς υπολογιστή, όχι από πλευράς λύτη (ή μια λύση που να καταναλώνει λιγότερη μνήμη κτλ).

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


Έστω ότι δίνεται το πρόβλημα "να λυθεί μια δευτεροβάθμια εξίσωση".
Τον κλασσικό τρόπο τον ξέρουμε όλοι.
Ένας μαθητής αποφασίζει να κάνει το εξής:
Κώδικας: ΓΛΩΣΣΑ
ΓΙΑ Χ1 από -1000000000000 ΜΕΧΡΙ 1000000000000 ΜΕ_ΒΗΜΑ 0.0000000000001
   ΑΝ Τριώνυμο(Χ) = 0 ΤΟΤΕ
     ΓΡΑΨΕ 'Βρέθηκε μια λύση'
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


Όπου η αρχική και τελική τιμή είναι ο μικρότερος/μεγαλύτερος πραγματικός που υποστηρίζει ο υπολογιστής.

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

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

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

alkisg

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

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

Όπως δεν θεωρούμε αποδεκτές τις λύσεις που παιδεύουν τον χαμάλη (= τον λύτη) στις άλλες επιστήμες, έτσι δεν πρέπει να θεωρούμε αποδεκτές και τις λύσεις που παιδεύουν τον χαμάλη (= τον υπολογιστή) στην πληροφορική... :)

pgrontas

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

johnny_xp

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

Έστω πάλι το θέμα των 10 μονάδων. Έστω, για να μιλάμε πιό πρακτικά, ότι το θέμα ζητά σειριακή αναζήτηση. Έστω ότι ο πρώτος μαθητής παρνει ΟΣΟ και ο δεύτερος ΓΙΑ. Ε εκεί κατ' εμέ η βαθμολογία πρέπει να είναι διαφορετική. Το πόσο διαφορετική είναι υποκειμενικό και είναι προς συζήτηση, αλλά διαφορετική. Η ουσιά δεν είναι ότι και οι δυο βρίκσουν το ίδιο, αλλά και με πιό τρόπο το βρίσκουν. Κατά μείζωνα λόγο δε όταν στο συγκεκριμένο θέμα το βιβλίο είναι σαφέστατο. Έκτος πλέον αν επικαλούμαστε το βιβλίο κατεκδοχήν όπου μας "συμφέρει". Αυτή είναι η γνώμη μου. Προσωπικά εγώ θα έδινα 10 μονάδες στο μαθητή με την ΟΣΟ και το πολύ 7 στο μαθητή με τη ΓΙΑ. Το γεγονός ότι ο ένας μαθητής έχει καταλάβει εν προκειμένω περισσότερο από τον άλλον πρέπει να φανεί στη βαθμολογία.

pgrontas

Εξαρτάται αν στην σειριακή αναζήτηση του λέει ότι το στοιχείο που ψάχνει υπάρχει περισσότερες από μία φορές στον πίνακα και ζητάει όλες τις θέσεις του. Τότε μπορεί να χρησιμοποιήσει και το ΓΙΑ - και μάλιστα βγαίνει πιο ευανάγνωστος κώδικας.
Αλλιώς οι λύσεις έχουν σημαντική διαφορά και στην παράμετρο που ανέφερες.
Εκτός - δεν ξέρω αν καταλαβα καλά τι εννοείς  -και αν αναφέρεσαι στην συζήτηση στο άλλο θέμα για το αν το ΟΣΟ ΜΠΟΡΕΙ να μετατραπεί σε ΓΙΑ - οπότε σου ξαναυπενθυμίζω ότι ρώταγε αν ΜΠΟΡΕΙ και όχι ΑΝ ΠΡΕΠΕΙ.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

johnny_xp

@pgrontas
Έχεις δίκιο, δεν ήμουν ακριβής στην διατύπωση μου. Εννοώ φυσικά σειριακή αναζήτηση όπου το ζητούμενο εμφανίζεται το πολύ μια φορά.

pgrontas

Τότε έχεις απόλυτο δίκιο και οι λύσεις είναι πολύ διαφορετικές και τυπικά και ουσιαστικά.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

gpapargi

Στο συγκεκριμένο post θα σχολιάσω απλώς τη συνηθισμένη δικαιολογία που κυκλοφορεί στους κύκλους μας και λέει ότι: «Δεν μπορούμε να ελέγχουμε την απόδοση ενός αλγορλιθμου γιατί το κεφάλαιο της πολυπλοκότητας είναι εκτός ύλης».

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

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

Είναι θέμα κοινής λογικής ότι αν βρω αυτό που ψάχνω δεν υπάρχει λόγος να συνεχίζω να το ψάχνω (περιμένοντας τι άραγε;) Άρα μπορεί να καταλάβει ότι το να κάνει αναζήτηση με «Όσο» είναι καλύτερο από το να κάνει αναζήτηση με τη «Για». Δε χρειάζεται να ξέρει να βρίσκει το πλήθος των βημάτων στη μέση περίπτωση για να το καταλάβει αυτό. Και ένα παιδάκι μπορεί να καταλάβει ότι το σαλόνι του σπιτιού είνα μικρότερο από το σπίτι που το περιέχει. Δε χρειάζεται να ξέρει από εμβαδά. 

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

Σε άλλο post θα γράψω και κάποια πράγματα για τη διαφορά πληροφορικής με τις άλλες επιστήμες, στηρίζοντας ευθέως την άποψη του ʼλκη.

Vangelis

Αυτοί που λένε ότι ένα μάθημα του τύπου ΑΕΠΠ δεν έχει θέση στο Λύκειο νομίζω ότι θα βρούν πολλά επιχειρήματα σε αυτή τη συζήτηση.   Άμα δεν μπορούμε να συμφωνήσουμε πως πρέπει να βαθμολογείται το μάθημα και διδάσκουμε  αλγορίθμους  με το ένα μάτι στον καθαρό προγραμματισμό τότε δεν έχουμε πολύ μέλλον στη γενική εκπαίδευση.
Αν το μάθημα αυτό είναι "ξεχωριστό" και διαφέρει από όλα τα αλλα τότε συνάδελφοι νομίζετε ότι θα παραμείνει για πολύ καιρό εξεταζόμενο σε γενικές εξετάσεις ή στη γενική εκπαίδευση;.

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

Β.Κ

Sergio

Είμαι πιό κοντά στην άποψη του Βαγγέλη σε αυτή τη συζήτηση.

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

Με απλά λόγια συνήθως τους παρουσιάζω στους μαθητές μου ως εξής:

Αυτό που πρέπει να μάθεις φέτος ΔΕΝ είναι προγραμματισμός Η/Υ.  Αυτό θα το μάθεις του χρόνου.  Φέτος θα μάθεις:
1. Να κατανοείς ένα πρόβλημα που σου δίνεται
2. Να το αναλύεις: να αναγνωρίζεις τα ζητούμενα του προβλήματος καθώς και τα στοιχεία που έχεις στη διάθεσή σου για να το λύσεις.  Να οδηγείσαι βήμα - προς - βήμα από τα ζητούμενα του προβλήματος στα στοιχεία που έχεις στη διάθεσή σου, ανακαλύπτοντας όλα εκείνα βήματα που πρέπει να εκτελέσεις προκειμένου να κατασκευάσεις τα στοιχεία που χρειάζεσαι, μέχρι να χρειάζεσαι μόνο τα στοιχεία που σου δίνονται
3. Να λειτουργείς αντίστροφα και να συνθέτεις τη λύση του προβλήματος που ανέλυσες.  Ο στόχος σου είναι να βρίσκεις τη λύση εκείνη που θα ακολουθούσες ΕΣΥ για να λύσεις το πρόβλημα με το χέρι.
4. Να περιγράφεις τη λύση με τρόπο ακριβή και σαφή.  Για το σκοπό αυτό θα μάθεις να χρησιμοποιείς κάποια εργαλεία τα οποία θα σου επιτρέψουν να είσαι σαφής στην περιγραφή της λύσης σου.  Ο Η/Υ μπαίνει ακριβώς σε αυτό το σημείο.  Αν είσαι σαφής, η λύση σου θα είναι κατανοητή από τον Η/Υ και θα παράγει τα αναμενομενα αποτελέσματα.  Διαφορετικά ψάξε να βρεις που λάθεψες στα προηγούμενα.

Όταν λοιπόν κάποιος μαθητής μου κάνει σειριακή αναζήτηση με ΓΙΑ αντί με ΟΣΟ, τον προτρέπω να κάνει το ίδιο σε μία λίστα από στοιχεία χρησιμοποιώντας για i το δάχτυλό του.  Μόνος του καταλαβαίνει ότι μόλις βρει το στοιχείο δεν πρόκειται να συνεχίσει να κοιτά.  Έτσι κατανοεί το λάθος του και δέχεται ότι πρέπει να το κάνει αλλιώς ώστε ΝΑ ΜΙΜΗΘΕΙ (αλγοριθμικά) αυτό που θα έκανε με το χέρι.  Το ίδιο ισχύει και για την εύρεση του μέγιστου.  Ποτέ δε θα έμπαινε στον κόπο να κάνει ταξινόμηση (αυτό βέβαια εξηγεί και το γεγονός γιατί οι περισσότεροι αλγόριθμοι που διδάσκονται είναι "λαίμαργοι" (greedy) όπως σωστά παρατήρησε σε άλλο σημείο ο evry)

Δε μπαίνω όμως στον κόπο να δώσω άλλη διάσταση από αυτή στην έννοια της αποτελεσματικότητας.  Ειλικρινά, ΔΕΝ πιστεύω ότι ο σκοπός του μαθήματος είναι να διδάξει προγραμματισμό.  Έίναι βασικότερα τα προβλήματα που καλείται να λύσει το συγκεκριμένο μάθημα.  Οι μαθητές δεν ξέρουν να ακουν ΤΙ λέει η διατύπωση ενός προβλήματος, να το κατανοούν, να το αναλύουν και να το λύνουν, έστω και με το χέρι.

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

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

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

alkisg

Παράθεση από: Vangelis στις 03 Ιουν 2007, 06:56:35 ΜΜ
Άμα δεν μπορούμε να συμφωνήσουμε πως πρέπει να βαθμολογείται το μάθημα και διδάσκουμε  αλγορίθμους  με το ένα μάτι στον καθαρό προγραμματισμό ...

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

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

Φυσικά και δεν διδάσκουμε συγκεκριμένη γλώσσα. Ουπς, μισό λεπτό, όντως διδάσκουμε, τη ΓΛΩΣΣΑ. Και ποια ακριβώς είναι τα πλεονεκτήματά της από μια εξελληνισμένη Pascal;
Φυσικά και δεν επιμένουμε στο συντακτικό της ΓΛΩΣΣΑΣ που διδάσκουμε. Ουπς, μισό λεπτό, όντως επιμένουμε, μάλιστα κόβουμε και μονάδες. Η ΔΙΑΒΑΣΕ μέσα σε συνάρτηση φυσικά και δεν αφορά το συντακτικό, αλλά αποσκοπεί στην καλλιέργεια της αλγοριθμικής σκέψης!  >:D

Φυσικά και δεν είναι ο στόχος μας να βγάλουμε προγραμματιστές. Είναι αδύνατο σε 50-60 ώρες. Όπως και το μάθημα των μαθηματικών δεν έχει σαν στόχο να βγάλει μαθηματικούς. Η εισαγωγή στον προγραμματισμό όμως είναι το μεγαλύτερο κομμάτι της ύλης του βιβλίου, και δε χρειάζεται να αποφεύγουμε τη λέξη "προγραμματισμός" φοβούμενοι μην κατακριθούμε...

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

Ουφ, τα είπα και ησύχασα...

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 κάτω). Μια καλή σάρωση να κάνουμε στις ασκήσεις και θα τις βρούμε.

gpapargi

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

agelos

#31
Κατ' αρχάς δεν έχω να προσθέσω κάτι στη συζήτηση.Απλά θα ήθελα να προσθέσω κάτι λίγο γενικότερα.Λέμε να κάνουμε το μάθημα με τρόπο ώστε να μην χάνει την επιστημονικότητά του και λοιπά.Και πάλι διαφωνώ.Διότι τα εργαλεία που χρησιμοποιούμε όπως η ΓΛΩΣΣΑ και το βιβλίο έχουν πάρα πολλές ασάφειες,ανακρίβειες και άρα επιστημονικά μπάζουν από παντού.Ένα απλό παράδειγμα.Η συνάρτηση δέχεται εντολή ΔΙΑΒΑΣΕ ΝΑΙ ή ΟΧΙ;Δυστηχώς δεν υπάρχει ΝΑΙ ή ΟΧΙ.Εγώ λέω ΝΑΙ.Μπορεί να μου πεί κάποιος γιατί ΟΧΙ;Το ότι το βιβλίο λέει ότι για εισαγωγή δεδομένων κλπ χρησιμοποιώ ΔΙΑΔΙΚΑΣΙΑ σε μένα δεν αποδυκνύει ότι δεν  μπορώ να χρησιμοποιήσω συνάρτηση.Και το κενό στη συγκεκριμένη υπόθεση είναι το ότι ο σοβαρός λόγος για τον οποίο θα χρησιμοποιούσα συνάρτηση είναι αν μέσα στην συνάρτηση άλλαζαν κάποια δεδομένα εισόδου που προέρχονται από το κυρίως πρόγραμμα αλλά δεν θα ήθελα να παραμένουν αλλαγμένα στο κυρίως πρόγραμμα,πράγμα το οποίο είναι πολύ σημαντικό στις πραγματικές γλώσσες προγραμματισμού.Αυτό όμως δεν το λέει πουθενά το βιβλίο.Άρα δεν υπάρχει τεκμηρίωση απόψεων ή απόδειξη πραγμάτων στην ΓΛΩΣΣΑ παρά μόνο απλές αναφορές σε γενικά θέματα προγραμματισμού.ʼρα δεν υπάρχει επιστήμη.Υπάρχει μία εισαγωγή σε επιστήμη.Επομένως δεν μπορώ να απαιτήσω από κάποιον που ξέρει την εισαγωγή μιας επιστήμης να χρησιμοποιεί σωστά την επιστήμη ή να σκέφτεται με τους κανόνες της επιστήμης.Επομένως ο ρόλος μου σαν καθηγητής είναι να εισάγω κάποιον σε μια επιστήμη.Όχι να τον κάνω επιστήμονα.Αυτό το ρόλο τον έχουν (λέμε τώρα) τα πανεπιστήμια.Είναι σαν τους ιδιώτες που επειδή ξέρουν ότι ένας τοίχος φτιάχνεται από τούβλα πάνε και φτιάχνουν μόνοι τους το σπίτι τους χωρίς εργολάβο.Και αρχίζουν μετά:σκάνε οι σοβάδες,τρυπάνε οι σωλήνες,πέφτουν οι ασφάλειες κλπ.Ε ρε παιδιά.Για κάποιο λόγο θα υπάρχουν και οι μηχανικοί.

evry


  Πράγματι δεν υπάρχει λόγος να κάνουμε τα παιδιά επιστήμονες από το Λύκειο για αυτό άλλωστε κάνουν στα Μαθηματικά Παραγώγους και Ολοκληρώματα και στη Φυσική ταλαντώσεις και κυματική. Είναι γνώσεις που χρησιμεύουν στην καθημερινή ζωή.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

gpapargi

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

Λοιπόν… ξανασκέψου λίγο αυτά που έγραψες και αν επιμένεις… μπορεί να σου απαντήσω.

axi

Ας μην ξεχνάμε και τους παράγοντες άγχος και κούραση που μπορεί να
οδηγήσουν ένα μαθητή στο να μην επιλέξει και την πιο κατάλληλη
αλγοριθμική δομή.
Δεν είναι μόνο οι παπαγάλοι που μπορεί να υποπέσουν σ΄ ένα τέτοιο λάθος.
Κι ένας έξυπνος μαθητής μπορεί να <<τυφλωθεί>> και να μη δει την πιο
αποδοτική λύση.
Είναι λιγουλάκι δύσκολο να ξεχωρίσεις τα χλωρά απ΄ τα ξερά.

agelos

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

P.Tsiotakis


Στα μαθηματικά, αν κάποιος μαθητής λύσει την άσκηση με εκτός ύλης μεθοδολογία/γνώσεις θα πάρει όλες τις μονάδες;

Απαντάω: ΟΧΙ

Επομένως το "κάθε λύση τεκμηριωμένη..." δεν είναι και τόσο αληθές.

kkbaxr4

Θα συμφωνίσω από τη μια πλευρά ότι για την εύρεση μεγίστου δεν είναι αποδοτική η λύση της ταξινόμησης με φυσαλίδα. Στο ίδιο πνεύμα όμως ένας μαθητής στο 4α δεν έκανε αυτό:
ΓΙΑ ι από 1 μέχρι 20
Διάβασε ΤΙΤΛΟΣ[ι]
αρχή_επανάληψης
Διάβασε ΤΥΠΟΣ[ι]
μέχρις_ότου ΤΥΠΟΣ[ι]="ορχηστρική" ή ΤΥΠΟΣ[ι]="φωνητική"
Τέλος_επανάληψης

Αλλά αυτό:

ΓΙΑ ι από 1 μέχρι 20
Διάβασε ΤΙΤΛΟ[ι]
Τέλος_επανάληψης
ΓΙΑ ι από 1 μέχρι 20
αρχή_επανάληψης
Διάβασε ΤΥΠΟΣ[ι]
μέχρις_ότου ΤΥΠΟΣ[ι]="ορχηστρική" ή ΤΥΠΟΣ[ι]="φωνητική"
Τέλος_επανάληψης
Τέλος_επανάληψης

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

Muldy

Παράθεση από: ptsiotakis στις 06 Ιουν 2007, 06:18:51 ΜΜ

Στα μαθηματικά, αν κάποιος μαθητής λύσει την άσκηση με εκτός ύλης μεθοδολογία/γνώσεις θα πάρει όλες τις μονάδες;

Απαντάω: ΟΧΙ

Επομένως το "κάθε λύση τεκμηριωμένη..." δεν είναι και τόσο αληθές.


Δεν θα συμφωνήσω μαζί σου και σου παραθέτω την τεκμηριωμένη άποψή μου. Δίνω φέτος για δεύτερη φορά καθώς την πρώτη επέλεξα συνηδειτά λόγω των βαθμών μου να μην κάνω φροντηστηρια κ.τλ., η απόρροια όλου αυτού ήταν να μην είμαι κατάλληλα προετοιμασμένος για τις παν. εξετάσεις. Την δεύτερη φορά, άρχισα φροντηστήρια από σεπτέμβρη και η διαφορά ήταν έκδηλη από τα πρώτα μαθήματα, η δε ύλη γινόταν αλλιώς, μπορούσαμε να επιλεξουμε μεθοδολογίες κ.τλ. που ΔΕΝ υπήρχαν στο σχολικο κ.τλ., άλλωστε παραλληλα του σχολικού, (για την ακρίβεια σχολικό κάναμε 5 λεπτά το πολύ.. και ασχολούμασταν με το βοηθημα συνεχώς) κάναμε βοηθημα. Οι λύσεις ΑΛΛΑ και οι ασκήσεις ήταν πολύ διαφορετικές από τον σχολικό τρόπο διδασκαλίας. Κάναμε ασκήσεις που δεν κάναμε ποτέ στο σχολίο και που είχαν "πέσει" παρόμοιες. Άποψή μου δλδ είναι ότι κάθε τεκμηριωμένη άποψη είναι σωστή καθώς πολλές φορές ΄βαζουν ασκήσεις "εκτος" σχολικού πνεύματος αλλά "εντος" της ύλης, αν με καταλαβαινεται.

George

Θεωρώ ότι ο βασικός σκοπός του μαθήματος είναι η κατανόηση, η ανάλυση και η περιγραφή του τρόπου λύσης ενός προβλήματος. Ποιο αναλυτικά τα έγραψε  ο Sergio σε προηγούμενα post τα οποία με καλύπτουν πλήρως σε αυτή τη συζήτηση.

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

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

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

gpapargi

#40
Γιώργο παρεξήγησες το πνεύμα με το οποίο μιλάω.
Πουθενά δε διαχώρισα αυθαίρετα με βάση τα προσωπικά μου πιστεύω την καλή από την καλύτερη λύση. Πουθενά!!!

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

Επίσης ξεκαθάρισα ότι δεν είναι δυνατόν και δεν πρέπει να γίνει πλήρη βαθμολόγηση της ποιότητας. Δηλαδή είναι τόσο πολλές οι πιθανές λύσεις που δε γίνεται λύσεις διαφορετικής ποιότητας που δε γίνεται να έχουν όλες διαφορετικούς βαθμούς. Άσε που ποιος θα τα διαχωρίσει όλα αυτά. ʼε που κάποιος μπορεί να σκεφτεί λύση καλύτερη από την καλύτερή μας και να μας χαλάσει τα σχέδια.

Θα προσπαθήσω να θέσω το θέμα στη σωστή του βάση.

Σας ενοχλεί όπως εμένα το ότι ο μαθητής βρίσκει το μέγιστο με πλήρη ταξινόμηση; Αισθάνεστε ότι δεν καταλαβαίνει τι κάνει αλλά τυποποιεί;
Σας ενοχλεί το ότι κάποιος κάνει αναζήτηση μοναδικού στοιχείου με «Για» και όχι με «Όσο»; Σας δίνει την αίσθηση ότι αποφεύγει την εντολή «Όσο» και άρα δεν την έχει μάθει καλά όπως θα έπρεπε;
Σας ενοχλεί το ότι όταν οι μαθητές που θα συνεχίσουν στην πληροφορική θα ακούσουν από τους καθηγητές πανεπιστημίου την κλασσική ατάκα: «Ξεχάστε ότι μάθατε, τώρα θα σας τα μάθουμε σωστά». Αισθάνεστε ότι έτσι απαξιώνεται το έργο μας; Θα σας ενοχλούσε αν οι ίδιοι οι μαθητές συμφωνούσαν λέγοντας «πράγματι στο σχολείο μας έλεγαν ότι ήθελαν. Αφού δεν ξέρουν οι άνθρωποι»

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

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

Παράδειγμα
Έχει εύρεση μεγίστου. Η κλασσική επεξεργασία θέλει μια σάρωση του πίνακα, άρα περνάς μια φορά από κάθε στοιχείο, άρα η τάξη του αλγορίθμου είναι ν.
Κάποιος που το κάνει με πλήρη ταξινόμηση το κάνει με αλγοριθμική τάξη ν^2. ʼρα κόβονται πόντοι.
Στο μαθητή λέμε τα εξής:
Ξέρει πως ακριβώς δουλεύει η φυσαλίδα. Ξέρει ότι με την πρώτη σάρωση το πρώτο στοιχείο πάει στην πρώτη θέση, στη δεύτερη σάρωση το δεύτερο στοιχείο πάει στη δεύτερη θέση. Δηλαδή στη δεύτερη σάρωση πάλι το πρώτο στοιχείο βρήκαμε αλλά  στην υπόλοιπη λίστα κλπ. Ξέρει λοιπόν ότι η ταξινόμηση είναι διαδοχικές ευρέσεις μεγίστου σε μια όσο πάει και μικρότερη λίστα. ʼρα ξέρει ότι μόνο η πρώτη είναι ωφέλιμη και οι άλλες όχι. Είναι σα να συγκρίνεις τη μια σάρωση με τις ν σαρώσεις. Αυτά είναι μέσα στην ύλη και είναι υποχρεωμένος να τα ξέρει και να μπορεί να τα καταλάβει.

ʼλλο πρόβλημα είναι η αναζήτηση μοναδικού στοιχείου με «Για» αντί για «Όσο».
Εδώ η αλγοριθμική τάξη δεν αλλάζει άρα ο προηγούμενος κανόνας δεν παραβιάζεται.
Εδώ παραβιάζει το διδακτικό στόχο που λέει ότι ο μαθητής πρέπει να επιλέγει την κατάλληλη εντολή επανάληψης. Ο κανόνας λοιπόν μπορεί να είναι ότι σε μονοδιάστατο πίνακα (εδώ βάζω και τις γραμμές δισδιάστατου) αν η πλήρης σάρωση του πίνακα δεν είναι αναγκαία πρέπει να χρησιμοποιείται η «Όσο». Αν το κάνει με τη «Για» δεν ξέρει να επιλέγει την κατάλληλη εντολή επανάληψης και άρα χάνει πόντους.

Σκέφτηκα με όρους πληροφορικής και μίλησα με όρους του μαθήματος. Γίνεται λοιπόν!!!

Αυτό που έχει ενδιαφέρον (και ουσιαστικά τέτοια έπρεπε να συζητάμε) είναι το παράδειγμα του/της kkbaxr4. Έχεις να διαβάσεις τα στοιχεία 2 πινάκων. Υπάρχουν περιπτώσεις που γίνεται να τα διαβάσεις και τα 2 με ένα επαναληπτικό βρόχο. Είναι λάθος να τα διαβάσεις με 2; Πρέπει να κοπούν πόντοι;

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

Βλέπουμε λοιπόν ότι παίζοντας με το κατώφλι της κλασσικής αποδεκτής λύσης μπορείς να έχεις κάποια ελαστικότητα και να ξεχωρίσεις τα καλά από τα κακά.

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

Στο επόμενο post θα γράψω 2 λόγια για το περίφημο: «Κάθε απάντηση επιστημονικά τεκμηριωμένη είναι αποδεκτή»… μια φράση πολύ σωστή αλλά πολύ παρεξηγημένη

gpapargi

«Κάθε απάντηση επιστημονικά τεκμηριωμένη είναι αποδεκτή»

Πόσο σωστή φράση και πόσο παρεξηγημένη!!!

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

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

Στο θέμα τώρα.

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

Έστω 2 πόλεις Α και Β (παρακάτω σχήμα) που απέχουν απόσταση S.

Α  ---->                                           < ------          Β

Ένα αυτοκίνητο ξεκινάει από την πόλη Α και κατευθύνεται προς την πόλη Β με ταχύτητα  υα και ένα άλλο αυτοκίνητο ξεκινάει από την πόλη Β και κατευθύνεται προς την πόλη Α με ταχύτητα  υβ. Να βρείτε το χρόνο και το σημείο συνάντησης.

Η λύση που διδάσκεται στο σχολείο είναι απλή: Θέτεις χ την απόσταση ας πούμε από το σημείο Α και παίρνεις τις εξισώσεις κίνησης για κάθε κινητό.
Άρα έχουμε
x = υα*t
S-x = υβ*t

Λύνουμε το σύστημα με κάποια από τις μεθόδους των μαθηματικών και έχουμε
t = S/(υα+υβ)
x = υα*S/(υα+υβ)

Αυτή είναι η κλασσική λύση που διδάσκονται στο σχολείο.

Όταν ήμουν μαθητής έκανα το εξής:

Αντί να λύσω το πρόβλημα στο σύστημα αναφοράς της γης είπα να το λύσω στο σύστημα αναφοράς του αυτοκινήτου που ξεκινάει από την πόλη Α. Μέσα από τα μάτια αυτού του οδηγού λοιπόν ο ίδιος είναι ακίνητος και ο β κινείται με ταχύτητα υα+υβ κατά πάνω του. ʼρα θα τον φτάσει σε χρόνο. t = S/(υα+υβ).
Και σε τόσο χρόνο ο ίδιος θα έχει καλύψει απόσταση x = υα*t = υα*S/(υα+υβ)

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

Ανάλογα επεισόδια είχαμε όταν του είπα ότι σε ένα πρόβλημα ελεύθερης πτώσης μπορώ να βρω το χρόνο που θα κάνει να φτάσει κάτι στο έδαφος χρησιμοποιώντας όχι τους νόμους της κινητικής αλλά το θεώρημα ώθησης-ορμής.
Αρχική ορμή + ώθηση βάρους = τελική ορμή
m*υο + m*g*t = m*υτελ
άρα υο + g*t = υτελ
που είναι ο νόμος της κινητικής.

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

Εδώ λοιπόν μπαίνει ο κανόνας  «Κάθε απάντηση επιστημονικά τεκμηριωμένη είναι αποδεκτή». Σκοπός του είναι να προστατέψει το μαθητή από την αυθαιρεσία του καθηγητή.  ΠΟΥΘΕΝΑ δεν παραβίασα κανόνα της επιστήμης της φυσικής. Στην πρώτη περίπτωση δούλεψα σε ισοδύναμο σύστημα αναφοράς. Στη δεύτερη δούλεψα με γνωστό θεώρημα της φυσικής. Κάθε φορά εφάρμοσα γνωστό νόμο και η απάντηση ήταν επιστημονικά τεκμηριωμένη. Γιατί λοιπόν να μην είναι αποδεκτή;

Εδώ όμως τα πράγματα δεν είναι ίδια. Η πληροφορική στηρίζεται όχι σε αλγεβρικές αλλά σε αλγοριθμικές λύσεις στις οποίες το πλήθος των βημάτων (μέσω των εννοιών της πολυπλοκότητας και της τάξης) έχει κεντρικό ρόλο. Βλέπε
https://alkisg.mysch.gr/steki/index.php?topic=988.msg5506#msg5506

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

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

Vangelis

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

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

Λυπάμε και θα ήθελα να είναι διαφορετικά τα πράγματα αλλά αυτή είναι η πραγματικότητα. 
                               

gpapargi

Βαγγέλη προς αποφυγήν παρεξήγησης απλά να πω ότι ρώτησα τον άλλο Βαγγέλη με όνομα χρήστη (bagelis) μετά την τοποθέτηση του
https://alkisg.mysch.gr/steki/index.php?topic=988.msg5510#msg5510

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

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

Muldy

Παράθεση από: gpapargi στις 07 Ιουν 2007, 10:06:04 ΠΜ


Άλλο πρόβλημα είναι η αναζήτηση μοναδικού στοιχείου με «Για» αντί για «Όσο».
Εδώ η αλγοριθμική τάξη δεν αλλάζει άρα ο προηγούμενος κανόνας δεν παραβιάζεται.
Εδώ παραβιάζει το διδακτικό στόχο που λέει ότι ο μαθητής πρέπει να επιλέγει την κατάλληλη εντολή επανάληψης. Ο κανόνας λοιπόν μπορεί να είναι ότι σε μονοδιάστατο πίνακα (εδώ βάζω και τις γραμμές δισδιάστατου) αν η πλήρης σάρωση του πίνακα δεν είναι αναγκαία πρέπει να χρησιμοποιείται η «Όσο». Αν το κάνει με τη «Για» δεν ξέρει να επιλέγει την κατάλληλη εντολή επανάληψης και άρα χάνει πόντους.


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

gpapargi

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

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

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

Ρίξε μια ματιά σε προηγούμενο post μου για να δεις την ανάγκη για την οποία θεμελιώθηκαν αυτές οι έννοιες
https://alkisg.mysch.gr/steki/index.php?topic=988.msg5506#msg5506

Για λόγους πληρότητας δες το κεφάλαιο 5 (ειδικά την 5.3). Το παράδειγμα κάτω από τον ορισμό είναι κατατοπιστικό.


bagelis

Το τι κάνει ο καθένας μας μέσα στην τάξη δεν έχει να κάνει απαραίτητα με το τι υποστηρίζει ο ίδιος. Αν σε κάποιο διαγώνισμα δικού μου μαθητή δω να βρίσκεται το μέγιστο με ταξινόμηση θα το κόψω ξερά. Έχω όμως την πολυτέλεια να τον δω μετά τον μαθητή, να του μιλήσω και να του εξηγήσω. Κατά συνέπεια συμφωνώ απόλυτα στο ότι βασική αρχή της διδασκαλίας μας πρέπει να είναι η δημιουργία σωστών και αποδοτικών αλγορίθμων. Στο κάτω κάτω της γραφής μόνο έτσι φαίνεται και η μαγεία της πληροφορικής. Μόνο όταν ο μαθητής δει μια μαγική λύση μπορεί να καταλάβει ότι ο κόσμος της πληροφορικής δεν είναι κομμάτια "σφραγίδες" που τα παραθέτουμε το ένα μετά το άλλο αλλά κάτι πολύ διαφορετικό και έξυπνο.
Από την άλλη μεριά το να αφήσουμε να περάσει αυτό το πνεύμα στη διόρθωση των εξετάσεων είναι κάτι πολύ διαφορετικό. Βλέπω μάλιστα συναδέλφους να προτείνουν π.χ. από τα 10 μόρια μία "κακή λύση" να χάνει 4 μόρια. Οι υπόλοιποι που έχουν κάνει πραγματικό αλγοριθμικό λάθος πόσο θα πάρουν τότε; Πως θα έχουμε ομαλή και τίμια κατανομή βαθμολογίας συνολικά; Επίσης νομίζω ότι αγγίζει τα όρια της διαστροφής να έχουμε φτάσει να συζητάμε για το ποια είναι πιο σωστή από σωστές λύσεις!!! Που αλλού έχει γίνει αυτό; Και κάτι ακόμα: γιατί τότε οι μαθητές που παρουσίασαν μία ακόμα καλύτερη λύση να μην πάρουν κάτι παραπάνω;
Νομίζω ότι τέτοιες απόψεις οδηγούν το μάθημα σε λάθος μονοπάτια... ίσως επιστημονικά σωστότερα αλλά πολύ επικίνδυνα... Θα ήταν καλύτερο ίσως να συγκεντρώσουμε τις δυνάμεις μας στο να μην ξαναμπεί goto, να μην ξαναμπούν διαγράμματα ροής, να διορθωθεί το σχολικό εγχειρίδιο, παρά να συζητάμε για πολυπλοκότητες και να χάνουμε την ουσία του πράγματος...

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

Sergio

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

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

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

George

Παράθεση από: gpapargi στις 07 Ιουν 2007, 10:06:04 ΠΜ
Θα προσπαθήσω να θέσω το θέμα στη σωστή του βάση.

Σας ενοχλεί όπως εμένα το ότι ο μαθητής βρίσκει το μέγιστο με πλήρη ταξινόμηση; Αισθάνεστε ότι δεν καταλαβαίνει τι κάνει αλλά τυποποιεί;
Σας ενοχλεί το ότι κάποιος κάνει αναζήτηση μοναδικού στοιχείου με «Για» και όχι με «Όσο»; Σας δίνει την αίσθηση ότι αποφεύγει την εντολή «Όσο» και άρα δεν την έχει μάθει καλά όπως θα έπρεπε;
Σας ενοχλεί το ότι όταν οι μαθητές που θα συνεχίσουν στην πληροφορική θα ακούσουν από τους καθηγητές πανεπιστημίου την κλασσική ατάκα: «Ξεχάστε ότι μάθατε, τώρα θα σας τα μάθουμε σωστά». Αισθάνεστε ότι έτσι απαξιώνεται το έργο μας; Θα σας ενοχλούσε αν οι ίδιοι οι μαθητές συμφωνούσαν λέγοντας «πράγματι στο σχολείο μας έλεγαν ότι ήθελαν. Αφού δεν ξέρουν οι άνθρωποι»
Φυσικά και με ενοχλεί, τουλάχιστον τα δυο πρώτα. Για το τρίτο όχι και τόσο για διάφορους λόγους που δεν είναι άσχετοι με το θέμα μας.
Με ενοχλεί και προσπαθώ να το αλλάξω, όσο μπορώ, μέσα στην αίθουσα. Αλλά η βαθμολόγηση είναι τελείως διαφορετικό θέμα. Θα πρέπει να βασίζεται σε σαφείς και καθολικά αποδεκτούς κανόνες. Αποδεκτούς όχι μόνο από εμάς αλλά και από τους μαθητές. Κανόνες που θα έχουν νόημα και θα μπορούν να εξηγηθούν στην αίθουσα ώστε να καταλάβουν  γιατί η μια λύση θα πάρει όλες τις μονάδες και η άλλη όχι. 

Παράθεση από: gpapargi στις 07 Ιουν 2007, 10:06:04 ΠΜ
Άλλο πρόβλημα είναι η αναζήτηση μοναδικού στοιχείου με «Για» αντί για «Όσο».
Εδώ η αλγοριθμική τάξη δεν αλλάζει άρα ο προηγούμενος κανόνας δεν παραβιάζεται.
Εδώ παραβιάζει το διδακτικό στόχο που λέει ότι ο μαθητής πρέπει να επιλέγει την κατάλληλη εντολή επανάληψης. Ο κανόνας λοιπόν μπορεί να είναι ότι σε μονοδιάστατο πίνακα (εδώ βάζω και τις γραμμές δισδιάστατου) αν η πλήρης σάρωση του πίνακα δεν είναι αναγκαία πρέπει να χρησιμοποιείται η «Όσο». Αν το κάνει με τη «Για» δεν ξέρει να επιλέγει την κατάλληλη εντολή επανάληψης και άρα χάνει πόντους.

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

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

gpapargi

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

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

Για το θέμα του τι λέμε στην τάξη και τι βαθμολογούμε, για μένα πρέπει να ταυτίζονται για 2 λόγους:

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

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

Εγώ θέλω καθαρές θέσεις που να εφαρμόζονται παντού.

Συμφωνώ ότι σε επίπεδο εξέτασης τα πράγματα είναι σύνθετα και θέλουν προσεκτική εξέταση. Καλό είναι να τα κάνουμε πιο συγκεκριμένα. Ας πει ο καθένας τι φοβάται ακριβώς (πχ συγκεκριμένο παράδειγμα) να δούμε τι μπορεί να συμβεί σε αυτή την περίπτωση. Επίσης σε καμία περίπτωση δε θα κάνει ο κάθε βαθμολογητής του κεφαλιού του. Οι οδηγίες θα είναι σαφής ανά θέμα. Και τώρα κάθε χρόνο υπάρχουν διαφορετικές προσωπικές εκτιμήσεις αλλά τελικά δίνεται μια οδηγία και έχουμε ομοιομορφία στη βαθμολόγηση. Πχ θα μπορούσε να λέει μια οδηγία «Όποιος κάνει εύρεση μεγίστου με πλήρη ταξινόμηση θα πάρει 6 στα 10). Συγκεκριμένη οδηγία που θα ακολουθηθεί από όλους.

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

axi

1ο: Μέσα σε δομή επανάληψης ο μαθητής χρησιμοποιεί απλή επιλογή στη θέση της
πολλαπλής επιλογής. Θα πρέπει να του κόψουμε μονάδες γιατί κάνει άσκοπες συγκρίσεις.

2o: Ενώ ο μαθητής έχει ταξινομήσει τον πίνακα κατά φθίνουσα σειρά, στο επόμενο ερώτημα
που του ζητάει το μέγιστο στοιχείο ξεχνιέται και βρίσκει το μέγιστο στοιχείο σειριακά.
Η τάξη του αλγορίθμου αλλάζει από Ο(1) σε Ο(Ν)  και ο μαθητής πρέπει να χάσει μονάδες

3ο: Ο μαθητής διαβάζει προσεκτικά τον αλγόριθμο και παρατηρεί ότι υπάρχουν αρκετά
ερωτήματα που απαιτούν σειριακή αναζήτηση. Παρόλο λοιπόν που δε του ζητούν ταξινόμηση, αποφασίζει
να ταξινομήσει τον πίνακα με BubbleSort και στη συνέχεια να χρησιμοποιήσει δυαδική αναζήτηση για την ανεύρεση
των στοιχείων. Σ΄ αυτόν θα κόψουμε μονάδες; Εδώ χαλάει η τάξη του αλγορίθμου ή μήπως η λύση που
προτείνει ο φίλος μας είναι η καλύτερη;

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

Φιλικά Αχιλλέας.

pgrontas

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

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

Τέλος αν θυμάμαι καλά στο 3ο παράδειγμα που αναφέρεις η πολυπλοκότητα της λύσης του μαθητή είναι O(n^2)+O(log2n) = O(n^2) έναντι της O(n) που έχει η σειριακή αναζήτηση. Επιφυλάσσομαι βέβαια γιατί έχω καιρό να εξασκήσω το άθλημα.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

Sergio

Παράθεση από: gpapargi στις 08 Ιουν 2007, 10:06:39 ΠΜ
... Επίσης σε καμία περίπτωση δε θα κάνει ο κάθε βαθμολογητής του κεφαλιού του. Οι οδηγίες θα είναι σαφής ανά θέμα.... Συγκεκριμένη οδηγία που θα ακολουθηθεί από όλους.

Φίλε Γιώργο, επίτρεψέ μου (και όχι επέτρεψέ μου ;) ) να διατηρώ (δυστυχώς) κάποιες επιφυλάξεις για το - κατά τα άλλα - ΑΠΟΛΥΤΑ σωστό της σκέψης σου...

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

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

Laertis

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

Ειδικά το 3ο θέμα μπορεί να δημιουργήσει μεγάλες διαφορές στη βαθμολόγηση, και αθροίζοντας τις υπόλοιπες "μικρές" διαφορές, όπως Θέμα Β2, Γ1 και Γ2 με το τύπωσε "τέλος" που πολλοί το χαρίζουν, Θέμα 2α και 2β με το τμήμα δηλώσεων και τις παραμέτρους που επίσης αρκετοί χαρίζουν κτλ, μπορεί να δημιουργηθούν και πολλές οριακές διαφορές που δε θα χρειαστούν αναβαθμολόγηση.

Σήμερα διορθώνοντας τα τελευταία γραπτά ως δεύτερος βαθμολογητής, φανταζόμουν τι θα πεί ένας μαθητής αν του έρθουν οι βαθμοί Α' 92, Β' 80 με μέσο όρο 86 ; Κι αυτό που θα πει ή θα σκεφτεί δε θα αφορά τον κακό ή τον μη πειθαρχιμένο βαθμολογητή αλλά όλους μας. Δε συνεχίζω ... γιατί θα φτάσω κοντά σ'αυτά που εξέφρασε ο Βαγγέλης Κανίδης που δεν απέχουν πολύ απο την πραγματικότητα.

Απλά τείνω κι εγώ να απογοητευτώ κάτι που επίσης καθόλου δε το θέλω  :(
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

filippos

Παράθεση από: Sergio στις 08 Ιουν 2007, 10:33:06 ΜΜΝομίζω ότι η τακτική του "ζητώ οδηγία μόνο για ό,τι δεν έχω άποψη... για τα υπόλοιπα κάνω του κεφαλιού μου" είναι απαράδεκτη και επικίνδυνη.

Ποιός επόπτης έχει το σθένος να αποκλείσει αυτούς τους συναδέφλους από τη βαθμολόγηση;

filippos

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

Ποιοί βαθμολογούν;;

gpapargi

Καλησπέρα

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

Ξεκινάω από την περίπτωση 3

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

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

Ένα λίγο διαφορετικό σενάριο είναι το πρόβλημα να θέλει αναζητήσεις με μεγαλύτερη τάξη μεγέθους από ότι το πλήθος των στοιχείων. Σε αυτή την περίπτωση για να είμαστε πιο ακριβείς θέλουμε 2 μεταβλητές. Έστω ν το πλήθος των στοιχείων και μ το πλήθος των αναζητήσεων. Το κάνεις μ αναζητήσεις σε ν στοιχεία σημαίνει τάξη ν*μ. Αν γίνει ταξινόμηση φυσαλίδας και στη συνέχεια δυαδική αναζήτηση έχουμε ν^2 (γιατί το μ θα μπει σαν συντελεστής του λογάριθμου της αναζήτησης και δε θα επηρεάσει την τάξη). Επειδή το μ είναι σημαντικά μεγαλύτερο από το ν τότε ν*μ > ν^2, άρα είναι καλύτερο να γίνει ταξινόμηση που ακολουθείται δυαδική αναζήτηση.

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

Εκεί που ο μαθητής θα κάνει λάθος είναι αν κάνει ταξινόμηση σε πρόβλημα που ζητάει πχ 2 αναζητήσεις. Είναι βέβαια λίγο ακραίο σενάριο να ζητηθεί 2 φορές το ίδιο ερώτημα (η αναζήτηση δηλαδή) αλλά εδώ υπάρχει πρόβλημα. Δεν αξίζει για 2 αναζητήσεις να κάνεις ταξινόμηση. Ο μαθητής έχει στοιχεία μέσα από την ύλη για να το γνωρίζει αυτό. Ξέρει ότι η φυσαλίδα έχει ν σαρώσεις στον πίνακα ενώ η αναζήτηση (του αταξινόμητου) μόνο 1. ʼρα για 2 αναζητήσεις είναι σα να συγκρίνει το ν με το 2 και να επιλέγει το ν. Αν ο μαθητής κάνει ταξινόμηση για 2 αναζητήσεις σημαίνει ότι δεν κατανοεί τι ακριβώς κάνει η ταξινόμηση. Το ότι κάνει δυαδική αναζήτηση μου δείχνει περίπτωση ημιμάθειας (ξέρει κάτι πιο προχωρημένο και αγνοεί κάτι στάνταρ που είναι στην ύλη). Εδώ προτείνω κόψιμο πόντων.

Περίπτωση 2

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

Περίπτωση 1

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

Συνοψίζοντας νομίζω δηλαδή καμία από τις 3 παραπάνω περιπτώσεις δεν οδηγούν σε κάποιο ατόπημα.

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

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

Φυσικά όπως λέει και ο Σέργιος οι κουβέντες θα πρέπει να κρατάνε μέχρι να ληφθεί απόφαση. Αν υπάρχει απόφαση θα πρέπει όλοι να την εφαρμόζουν γιατί προέχει το να υπάρχουν ενιαία κριτήρια βαθμολόγησης και να μην κάνει καθένας του κεφαλιού του στην πλάτη του μαθητή. Η συγκεκριμένη κουβέντα αφορά το μέλλον.

Vangelis

Προσωπική εμπειρία που επιβεβαιώνει το Σέργιο για τις διαφορές που μπορεί να υπάρξουν.
Σε ένα πακέτο (πράσινα) που διόρθωσα είχα σε δύο γραπτά διαφορά πάνω απο 20 μονάδες.  Φυσικά έκατσα και τα ξανακοίταξα μήπως και έχω "κάψει" το παιδί.  Η βαθμολογία μου δεν άλλαξε και το συμπέρασμα μου είναι ότι ο συνάδελφος δεν κατάλαβε ότι ο μαθητής είχε λύσει το 3ο θέμα τελείως λάθος .
Η προσέγγιση που ακολουθούσα όταν η λύση που έβλεπα ήταν πολύπλοκη και η λογική ασαφής ήταν του τεστ λειτουργίας του αλγορίθμου με ορισμένες σειρές δεδομένων.   Τα τεστ έδειχναν που υπάρχει το λάθος . Αυτό πίστευα ότι ακολούθησαν και οι άλλοι συνάδελφοι αλλά τώρα δεν έιμαι και πολύ σίγουρος.
Πάντως ο μαθητής μάλλον εμένα θα βρίζει!!!.
Το "κόψιμο" ορισμένων βαθμολογητών ίσως να ήταν λύση αλλα γενικά υπάρχει πίεση να βαθμολογήσουν όσον το δυνατόν περισσότερα γα να "τελειώνει" το μάθημα. Θα έπρεπε η αμοιβή για τη διόρθωση να ήταν αρκετά καλύτερη έτσι ώστε να υπάρχει ισχυρό κίνητρο συμετοχής.

P.Tsiotakis

Δεν είμαι βαθμολογητής, ήθελα να εκφράσω τους φόβους μου νωρίτερα, αλλά φοβόμουν μην είμαι υπερβολικός...

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

:'(

George


Παράθεση από: gpapargi στις 11 Ιουν 2007, 09:07:36 ΜΜ
Αυτή τη στιγμή αυτός που χρησιμοποιούμε είναι ο αλγόριθμος «ότι δίνει σωστά αποτελέσματα παίρνει όλους τους πόντους».

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

Παράθεση από: gpapargi στις 11 Ιουν 2007, 09:07:36 ΜΜ
Οι καθηγητές στο πανεπιστήμιο κόβουν την εύρεση μεγίστου με πλήρη ταξινόμηση. Βέβαια αυτοί είναι μόνοι τους στη βαθμολόγηση (δεν τίθεται θέμα ομοιογένειας λοιπόν) και δε λογοδοτούν σε κανέναν. Είναι εφαρμόσιμο υπό αυτές τις συνθήκες το να στηρίζονται σε αυτό που τους λέει η λογική τους.

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

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

gpapargi

Παράθεση από: George στις 17 Ιουν 2007, 02:47:14 ΠΜ
Οι μαθητές όμως δεν είναι μελλοντικοί προγραμματιστές. Διδάσκονται ένα μάθημα που έχει ως βασικό στόχο την ανάπτυξη της ικανότητας του μαθητή να  αναλύει ένα πρόβλημα σε απλούστερα και  να εκφράζει με σαφήνεια τις ενέργειες που πρέπει να γίνουν για να  λυθεί το πρόβλημα. 
Έχοντας αυτό ως αφετηρία δεν πιστεύω ότι πρέπει να  αποτελούν κριτήριο βαθμολόγησης  έννοιες όπως η αποδοτικότητα. 

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

Και κάτι γενικό που δεν αφορά το Γιώργο

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

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

Μια ακραία άποψη που είχα ακούσει κάποτε από άνθρωπο που κάνει διδακτορικό στους αλγόριθμους υψηλής απόδοσης είναι η εξής: «Εγώ βάζω τη σκέψη... κάνω μαθηματικά. Μετά δίνω τον αλγόριθμο στον μπετατζή για να κάνει την υλοποίηση». Μπετατζή εννοούσε το φουκαρά τον προγραμματιστή. Πλέον προγραμματιστές δηλώνουν και οι απόφοιτοι ιδιωτικών ΙΕΚ επειδή απλά ξέρουν κάποια γλώσσα. Θυμάμαι στο πανεπιστήμιο στο μάθημα «εισαγωγή στον προγραμματισμό» που μας έλεγαν: «έτσι θα το κάνετε αν θέλετε να ξεχωρίσετε από τις σχολές ΚΟΡΕΛΚΟ».

Τα αναφέρω αυτά γιατί δεν μπορώ άλλο να ακούω ότι «το μάθημα δεν είναι προγραμματισμός γι αυτό δε μας νοιάζει η ποιότητα της λύσης». Αυτή ακριβώς είναι η νοοτροπία των ιδιωτικών ΙΕΚ. Μιλήστε για ποιότητα αλγορίθμου σε κάποιο παιδάκι που μόλις βγήκε από μια τέτοια σχολή και θα ακούσετε το ευρέως διαδεδομένο στους κύκλους της ΑΕΠΠ «ότι δίνει σωστά αποτελέσματα είναι σωστό». Σε τι ξεχωρίζει η διδασκαλία μας από αυτούς ως προς τον τρόπο σκέψης; Τι όραμα υπάρχει για το μάθημα;



kLee

Παράθεση από: Sergio στις 03 Ιουν 2007, 03:59:48 ΜΜ
Η ένοια της "αποτελεσματικότητας" της λύσης δεν οφείλει να υπάρχει και στα υπόλοιπα μαθήματα;

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

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

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

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

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

Άλλο να γράφω σε C++ άλλο σε Perl, άλλο να χρησιμοποιώ το Visual Studio 6 και άλλο .ΝΕΤ!

Όμως μισό λεπτό - αν και το μάθημα λέγεται Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον τελικά εμείς διδάσκουμε θεωρία αλγορίθμων και δομές δεδομένων με 2 ψευδογλώσσες!

Οπότε ενώ όντως θα έπρεπε τα παιδιά να μαθαίνουν κάτι πιο χειριοπιαστό, και τότε θα είχε νόημα κατά τη γνώμη μου η επιλογή της βέλτιστης λύσης, έτσι όπως γίνεται το μάθημα δε μπορούμε να το ζητοάμε αυτό από τα παιδιά, γιατί είναι πολύ δύσκολο γι αυτά να το καταλάβουν χωρίς να τρέχουν το πρόγραμμα σε Η/Υ. Εδώ δυσκολευόμαστε εμείς, τα παιδιά δε θα δυσκολευτούν?!

Τώρα, το να βρω το μέγιστο στοιχείο σε έναν πίνακα με ταξινόμηση (σα χαμάλης δηλαδή), αν το παιδί είχε τρέξει αυτό το πρόγραμμα για έναν πίνακα κάποιων εκατομμυρίων θέσεων, θα έβλεπε ότι κάτι δεν πάει καλά! Κάτι θα καταλάβαινε εν καιρώ και θα του έκοβε ότι κάνει πολύ ώρα να ταξινομηθεί ο πίνακασ. ʼρα, θα έλεγε, μήπως να το κάνω με καλύτερο τρόπο? "Μα τι βλάκας που είμαι! :P Ας το κάνω με τη γνωστή μέθοδο της έυρεσης του max ενός πίνακα!".

Αυτό που με θλίβει είναι ότι το μάθημα γίνεται συνεχώς και πιο "μαθηματικό" (βλέπε Θ1γ) και σχεδόν μας πονάει και τρέμουμε με την ιδέα ότι είναι εργαστηριακό! Προγραμματισμό θα έπρεπε να κάνουμε, ξυπνάτε συνάδελφοι και μη φυγοπονείτε, και προγραμμτισμός δε νοείται χωρίς χρήση Η/Υ!

Και μην μου πει κανένας το γνωστό επιχείρημα ότι δεν κάνουμε προγραμματισμό, γιατί θα τον (ξανα)παραπέμψω στον τίτλο του μαθήματος!

Αν είναι ας το πούνε Θ. Αλγορίθμων ή κάτι τέτοιο και δε θα ξαναμιλήσω!

Peace!  :)
Ανδροκλής Πολυμένης

Πληροφορικός

kLee

Παράθεση από: Vangelis στις 03 Ιουν 2007, 06:56:35 ΜΜ
Αυτοί που λένε ότι ένα μάθημα του τύπου ΑΕΠΠ δεν έχει θέση στο Λύκειο νομίζω ότι θα βρούν πολλά επιχειρήματα σε αυτή τη συζήτηση.   Άμα δεν μπορούμε να συμφωνήσουμε πως πρέπει να βαθμολογείται το μάθημα και διδάσκουμε  αλγορίθμους  με το ένα μάτι στον καθαρό προγραμματισμό τότε δεν έχουμε πολύ μέλλον στη γενική εκπαίδευση.
Αν το μάθημα αυτό είναι "ξεχωριστό" και διαφέρει από όλα τα αλλα τότε συνάδελφοι νομίζετε ότι θα παραμείνει για πολύ καιρό εξεταζόμενο σε γενικές εξετάσεις ή στη γενική εκπαίδευση;.

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

Β.Κ
Τώρα μιλάμε σωστά και ανοιχτά!

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

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

Πληροφορικός

kLee

Να διευκρινίσω κάποια πράγματα για να μην παρεξηγηθώ.

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

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

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

Αλλά δε μπορώ να μη γκρινιάζω για το πώς ΘΑ ΕΠΡΕΠΕ να έχει μπει το μάθημα.

Δίνω ένα πολύ γενικό πλάνο του τι θα έκανα εγώ:

1) Πρώτη Λυκείου Κεφ. 1, 2, 3
2) Δευτέρα Λυκείου πάλι τα ίδια με χρήση όμως μιας συγκεκριμένης γλώσσας (μάλλον Pascal).
3) Τρίτη Λυκείου τα παραπάνω + υποπρογράμματα και ίσως ένα project.

Πρέπει να βγάλουμε (αν πρέπει να βγάλουμε!) ολοκληρωμένους προγραμματιστές: επιστήμονες (λύση προβλημάτων) + μηχανικούς (χρήση συγκεκριμένων μεθόδων και εργαλείων για τη μεταφορά της επίλυσης του προβλήματος από το χαρτί στον Η/Υ).
Ανδροκλής Πολυμένης

Πληροφορικός

evry


Σχετικά με την απόδοση αλγορίθμων νομίζω ότι κάνουμε ένα λάθος. Μιλάμε για αυτή λες και είναι κάτι συμπληρωματικό στη σχεδίαση αλγορίθμων και ότι μια απλή λύση του προβλήματος αρκεί. Συνάδελφοι δεν είναι ακριβώς έτσι. Η επιστήμη της πληροφορικής έχει δυο ισχυρές θεωρητικές βάσεις τη θεωρία υπολογισιμότητας και τη θεωρία πολυπλοκότητας. Αυτή είναι η επιστήμη μας εάν θέλουμε να θεωρούμαστε επιστήμονες και όχι προγραμματιστές ή hardwaraδες ή softwarάδες. O προγραμματισμός έχει θέση στην επαγγελματική εκπαίδευση και όχι στη γενική εκπαίδευση. Αντιθέτως η σχεδίαση αλγορίθμων και η επίλυση προβλημάτων έχουν θέση στη γενική εκπαίδευση. Το πρακτικό τους κομμάτι είναι ο προγραμματισμός αλλά δεν είναι κάποιος από τους διδακτικούς στόχους. Είναι απλά το μέσο.
      Σχετικά με την απόδοση τώρα. Η απόδοση ενός αλγορίθμου είναι το ίδιο σημαντική με το αν το πρόβλημα έχει λύση. Και δίνω για αυτό το παρακάτω παράδειγμα.

    Όλοι ξέρουμε το πρόβλημα του πλανόδιου πωλητή γνωστό και ως TSP  στη βιβλιογραφία. Μάλιστα περιγράφεται και στο σχολικό βιβλίο στις σελίδες 82-83 αν θυμάμαι καλά σε σημείο που είναι εντός ύλης. Με βάση αυτά που κάνουμε στο μάθημα ένας απλός αλγόριθμος θα έλεγχε απλά όλους τους πιθανούς συνδιασμούς και θα έβρισκε τον καλύτερο. Και φυσικά όλοι θα το θεωρούσαμε λύση.
     Η χρονική πολυπλοκότητα του αλγορίθμου είναι της τάξης του n! για n πόλεις δηλαδή αν είχαμε 100 πόλεις θα έπρεπε να ελέγξουμε 100! διαφορετικούς συνδιασμούς. Μιλάμε δηλαδή για περίπου 10^157 συνδιασμούς. Με κάποιους πρόχειρους υπολογισμούς αν ο αλγόριθμος τρέξει σε έναν υπολογιστή ο οποίος είναι 1000 φορές πιο γρήγορος από τον ταχύτερο σημερινό υπολογιστή, δηλαδή ελέγχει 10^13 συνδιασμούς (Μιλάμε για 10 THz) θα χρειαστεί 10^145 δευτερόλεπτα ή 10^137 χρόνια.

   Άρα ο αλγόριθμος που κατασκευάσαμε χρειάζεται 10^137 χρόνια για να βγάλει λύση σε υπολογιστή που είναι χίλιες φορές ταχύτερος από έναν σημερινό. Και ρωτάω:
Το θεωρείτε αυτό λύση?  :-\

    Το πρόβλημα λοιπόν δεν είναι να βρούμε μια οποιαδήποτε λύση αλλά μια βέλτιστη λύση. Για αυτό άλλωστε και ένα από τα πιο δημοφιλή άλυτα προβλήματα στις μέρες μας είναι το P=NP για το οποίο το Clay Institute δίνει και 1Μ $ σε όποιον το λύσει. Αυτό δε δείχνει ότι η απόδοση του αλγορίθμου και η αναζήτηση του βέλτιστου αλγορίθμου είναι το σημαντικότερο κομμάτι της επιστήμης μας? Γιατί να μην διδάσκονται αυτό τα παιδιά? Δηλαδή οι παράγωγοι και τα ολοκληρώματα είναι πιο πιο σημαντικά? ή μήπως όλοι αυτοί που θα πάνε να σπουδάσουν οικονομικά ή διοίκηση επιχειρήσεων δεν θα κάνουν βελτιστοποίηση και μαθηματικό προγραμματισμό? Και πως θα τα καταλάβουν αυτά καλύτερα αν δε σχεδιάσουν τον αντίστοιχο αλγόριθμο;

   Θα πρέπει λοιπόν να χωνέψουμε ότι η μελέτη της πολυπλοκότητα ενός αλγορίθμου και η σχεδίαση του βέλτιστου αλγορίθμου δεν είναι απλά μια περιοχή της πληροφορικής, είναι η πληροφορική. Μην ξεχνάμε άλλωστε ότι τα μαθηματικά που χρειάζονται για να καταλάβει κάποιος τις θεωρίες υπολογισιμότητας και πολυπλοκότητας είναι μαθήματα επιλογής στο τελευταίο έτος των μαθηματικών τα οποία επιλέγουν ελάχιστοι επειδή τα θεωρούν πολύ δύσκολα. Στο Μαθηματικό Αθήνας μάλιστα τα επιλέγουν κατά βάση μόνο μεταπτυχιακοί και μόνο 2-3 προπτυχιακοί!!! Αυτό δε σημαίνει ότι επιστήμη μας αρχίζει εκεί που τελειώνουν τα μαθηματικά? Δεν θα έπρεπε αυτό να το ξέρουν όλοι ώστε να μη μας θεώρουν προγραμματιστές, hardwarάδες ή κατσαβιδάκιδες?

Κάποιες πηγές για αυτά που λέω παραπάνω
http://en.wikipedia.org/wiki/Travelling_salesman_problem
http://www.claymath.org/millennium/P_vs_NP/
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

gpapargi

Παράθεση από: evry στις 20 Ιουν 2007, 10:19:44 ΜΜ
Θα πρέπει λοιπόν να χωνέψουμε ότι η μελέτη της πολυπλοκότητα ενός αλγορίθμου και η σχεδίαση του βέλτιστου αλγορίθμου δεν είναι απλά μια περιοχή της πληροφορικής, είναι η πληροφορική.

Πες τα χρυσόστομε. Επιτέλους...

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

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

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

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

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

kLee

@evry - επειδή δεν είμαι σίγουρος ότι κατάλαβα τη θέση σου, τελικά συμφωνείς ότι το μάθημα γίνεται σωστά όπως είναι ή όχι?

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

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

Sorry, απλά δεν είμαι σίγουρος ότι κατάλαβα το post σου!!  :)
Ανδροκλής Πολυμένης

Πληροφορικός

evry


Προφανώς δε συμφωνώ ότι το μάθημα γίνεται σωστά αλλιώς δεν θα γκρίνιαζα. Αυτό που λέω είναι ότι ο προγραμματισμός είναι απαραίτητος αλλά δεν πρέπει να περιλαμβάνεται στους διδακτικούς στόχους. Δεν πρέπει να εξετάζουμε δεξιότητες προγραμματισμού αλλά επίλυσης προβλημάτων. Ένα κλασσικό παράδειγμα είναι τα υποπρογράμματα. Είναι ένα κατασκεύασμα που διευκολύνει τον προγραμματισμό όμως δεν είναι δυνατόν να εξετάζουμε τα παιδιά στο αν μπορούν να καλέσουν ένα υποπρόγραμμα ή αν έχουν βάλει σωστά τις παραμέτρους στη λίστα των παραμέτρων. Ποιους διδακτικούς στόχους εξετάζουμε έτσι? Μαθαίνουμε τα παιδιά να σκέφτονται ή τα ωθούμε για άλλη μια φορά στην εκμάθηση άλλου ενός τυφλοσούρτη;
       Κανονικά θα έπρεπε να δίνεται στα παιδιά ένα σύνθετο πρόβλημα και να τους ζητείται η ανάλυση και επίλυσή του με τη βοήθεια υποπρογραμμάτων. Αυτό όμως θα πρέπει να είναι πολύ καλά "στημένο" γιατί θα υπάρξει πρόβλημα στη βαθμολόγηση. Από την άλλη ποιος έχει τα κότσια να το ρισκάρει και να βάλει ένα τέτοιο θέμα? Ειδικά όταν ξέρει ότι ελάχιστα παιδιά θα το γράψουν.
Για αυτό έχει ξεφτιλιστεί το μάθημα και όλοι οι μέτριοι έχουν γίνει άριστοι. Κλασσικό παράδειγμα το παρακάτω

Σήμερα ήρθε μια μαθήτριά μου που έγραψε 17,8 στην Ανάπτυξη και δεν μπορούσε να υπολογίσει τα μόριά της. Θεώρησε τον αλγόριθμο λίγο πολύπλοκο!!!

Παράθεση από: kLee στις 21 Ιουν 2007, 06:41:19 ΜΜ
@evry - επειδή δεν είμαι σίγουρος ότι κατάλαβα τη θέση σου, τελικά συμφωνείς ότι το μάθημα γίνεται σωστά όπως είναι ή όχι?

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

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


What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

bagelis

Όταν,  όπως αναφέρεται σε άλλο topic, ο ένας βαθμολογητής βάζει 100 και ο άλλος 94 γιατί πιθανότατα δεν μπορεί να καταλάβει αν κάτι είναι σωστά λυμένο εσείς μιλάτε για απόδοση αλγορίθμων;

alkisg

Βαγγέλη ένα-ένα τα προβλήματα. Το ότι/αν υπάρχει πρόβλημα στα βαθμολογικά κέντρα δεν αναιρεί το ότι/αν κάτι δεν διδάσκεται όπως επιβάλλει η επιστήμη μας. Δεν είναι κακό να υπάρχουν δύο ή και περισσότερα παράλληλα μέτωπα "δράσης". Και ίσως το κεφάλαιο 5 να είναι πιο σημαντικό να μπει στην ύλη από την ιστορία των γλωσσών προγραμματισμού (π.χ. η Pascal δεν χρησιμοποιείται πια για εκπαιδευτικούς σκοπούς). Και ίσως πιο εύκολα θα μάθει κάποιος μαθητής πότε ένας αλγόριθμος δεν είναι αποδοτικός (αρκεί να τον εκτελέσει με το χέρι) παρά να παπαγαλίσει το σε τι μας χρειάζεται ο παράλληλος ή ο αντικειμενοστραφής προγραμματισμός, αφού δεν έχει αντίστοιχη εμπειρία ώστε να καταλάβει τη σημασία του.

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

itt

#70
Μετέφερα ότι είχα γράψει σε πιο πρόσφατο post.

Συγγνώμη για το bump