ΑΥΤΟΜΑΤΟΠΟΙΗΜΕΝΗ ΑΞΙΟΛΟΓΗΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ ΨΕΥΔΟΓΛΩΣΣΑΣ

Ξεκίνησε από georgw, 21 Ιουν 2010, 10:37:04 ΜΜ

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

georgw

http://www.algorithmos.info
Η πλατφόρμα αυτοματοποιημένης αξιολόγησης προγραμμάτων ψευδογλώσσας, φιλοδοξεί να αποτελέσει ένα χρήσιμο εργαλείο για τους εκπαιδευτικούς που διδάσκουν το μάθημα "Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον" της Γ΄ Λυκείου και τους μαθητές τους.
  Το σύστημα σε γενικές γραμμές λειτουργεί ως εξής:
  Οι εκπαιδευτικοί (μετά τη δημιουργία και ενεργοποίηση του λογαριασμού τους), μπορούν να εγγράψουν τους μαθητές τους δημιουργώντας τμήματα. Οι εκπαιδευτικοί έχουν την ευθύνη της διαχείρισης των λογαριασμών των μαθητών τους (ενεργοποίηση, απενεργοποίηση, διαγραφή, αλλαγή στοιχείων κ.ά.). Μπορούν να ανεβάζουν ασκήσεις δίνοντας τις εισόδους και τις αναμενόμενες εξόδους (που δεν είναι σε γνώση των μαθητών) και να τις διαχειρίζονται (ενεργοποίηση, απενεργοποίηση, διαγραφή, αλλαγή των εισόδων και των εξόδων, κ.ά.).
  Οι μαθητές καλούνται να απαντήσουν στις ασκήσεις υποβάλλοντας το πρόγραμμά τους. Πριν να το υποβάλλουν έχουν τη δυνατότητα να κάνουν πρακτική εξάσκηση σε προγραμματιστικό περιβάλλον. Στη συνέχεια το πρόγραμμά τους εκτελείται με τις εισόδους που έχει προκαθορίσει ο εκπαιδευτικός και τα παραγόμενα αποτελέσματα συγκρίνονται με τα αναμενόμενα που έχουν προκαθοριστεί.
  Ο μαθητής έχει άμεση ανατροφοδότηση, αφού ενημερώνεται άμεσα για τα αποτελέσματα και για τα τυχόν λάθη. Η κύρια υπηρεσία που παρέχεται στους μαθητές είναι η επικύρωση (validation) ή όχι των προγραμμάτων τους (το εάν δηλαδή το πρόγραμμά τους κάνει πραγματικά αυτό που ισχυρίζεται ότι κάνει).
  Η άσκηση βαθμολογείται αυτόματα ανάλογα με:
    * αν υπήρξαν ή όχι συντακτικά σφάλματα
    * αν υπήρξαν ή όχι άλλα σφάλματα (π.χ. διαίρεση με 0)
    * αν τα αποτελέσματα της εκτέλεσης του προγράμματος συμπίπτουν ή όχι με τα αναμενόμενα όπως τα έχει προκαθορίσει ο εκπαιδευτικός.
  Οι εκπαιδευτικοί μπορούν να ενημερώνονται για τις επιδόσεις των μαθητών τους εξοικονομώντας τον χρόνο της χειρονακτικής διόρθωσης του κώδικα. Έχουν τη δυνατότητα, αν θέλουν, να δουν το πρόγραμμα που υπέβαλλε ο μαθητής και τα τυχόν λάθη του, ή μόνο το αποτέλεσμα της αξιολόγησης.
  Η βαθμολόγηση από το σύστημα είναι ενδεικτική. Σε καμία περίπτωση δεν πρόκειται για ένα εξεταστικό κέντρο. Αυτό που μπορούμε να κερδίσουμε είναι η δυνατότητα εξάσκησης και αξιολόγησης των μαθητών μας σε ικανό αριθμό ασκήσεων ώστε να αποκτήσουν εμπειρία και αυτοπεποίθηση χωρίς να δαπανήσουμε τον χρόνο που θα χρειαζόταν για να ελέγξουμε χειρωνακτικά τους κώδικες (και χωρίς τα λάθη που μπορεί να κάνουμε).
  Για τη διαδικασία διερμηνείας και εκτέλεσης των προγραμμάτων, το σύστημα χρησιμοποιεί (μετά από σχετική άδεια χρήσης) τον διερμηνευτή της ψευδογλώσσας του Σ. Στέργου http://www.pseudoglossa.gr.
  Για λόγους ασφαλείας μπορούν να χρησιμοποιούν το σύστημα μόνο εγγεγραμμένοι χρήστες.
  Εάν είστε εκπαιδευτικός και θέλετε να χρησιμοποιήσετε την πλατφόρμα για εσάς και τους μαθητές σας, παρακαλώ συμπληρώστε την φόρμα εγγραφής. Τα στοιχεία σας θα καταχωριστούν προσωρινά στη βάση και το αίτημα σας θα διαβιβαστεί στον διαχειριστή. Ο διαχειριστής θα επικοινωνήσει τηλεφωνικά μαζί σας και αφού ταυτοποιήσει τα στοιχεία σας (επειδή οι εκπαιδευτικοί έχουν αυξημένα δικαιώματα), θα ενεργοποιήσει τον λογαριασμό σας και θα σας αποσταλούν στο email σας κωδικοί για τη σύνδεσή σας (τους οποίους μπορείτε να αλλάξει).
  Στη συνέχεια θα μπορείτε να εγγράψετε τους μαθητές σας και να χρησιμοποιείτε το σύστημα.

tom

Ενδιαφέρουσα ιδέα αλλά δεν μπορώ να τη δοκιμάσω :)
Έχω προβλήματα με την είσοδο. Άλλαξα κωδικό, έκανα copy paste τα στοιχεία από το email επιβεβαίωσης αλλά δεν με αφήνει να "μπω"...
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

georgw

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

tom

Ωραία σε ευχαριστώ. Όταν μπορέσω θα το δοκιμάσω.
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

gthal

Είναι πολύ ενδιαφέρουσα ιδέα.
Θα τη δοκιμάσω κι εγώ.
Φιλικά,
Γιώργος Θαλασσινός

Νίκος Αδαμόπουλος

Συγχαρητήρια για την πολύ καλή ιδέα... και για τη δουλειά που έχεις κάνει... Δίνεις έτσι προστιθέμενη αξία στο pseudoglossa.gr του Στάθη. Για όσους δεν κατάλαβαν γίνεται χρήση μιας δυνατότητας στο pseudoglossa.gr (βλ. https://alkisg.mysch.gr/steki/index.php?topic=1331.msg24477#msg24477 )  για διεπαφή και ολοκλήρωση με άλλους δικτυακούς τόπους...

Έκανα μερικές δοκιμές... Έφτιαξα 3 ασκήσεις και έναν υποτιθέμενο μαθητή που έφτιαξε τις λύσεις και τις υπέβαλε προς αξιολόγηση... Τις 2 ασκήσεις σωστά και την 3η λίγο λάθος... (βαθμοί 20, 20, 9 - κόπηκε!).

Ερώτηση: Για την αξιολόγηση του αλγορίθμου φορτώνεις όλο το module του pseudoglossa.gr που περιλαμβάνει και το interface του χρήστη (παρόλο που δεν απεικονίζεται); Θέλω να πω (για το Στάθη ίσως) δεν γίνεται να υπάρχει lite module που να παίρνει ως είσοδο τον αλγόριθμο και τα δεδομένα και να βγάζει ως έξοδο τα αποτελέσματα ή/και τα λάθη (χωρίς να περιλαμβάνει όλο το interface)... Οπότε έτσι θα λειτουργούσε ταχύτερα...

Σημείωση: Ενώ ο εκπαιδευτικός μπορεί και βλέπει τους αλγορίθμους του μαθητή (από το κουμπί "Πρακτική Εξάσκηση"), άρα αποθηκεύονται οι λύσεις στη ΒΔ, το ίδιο δεν μπορεί να το κάνει και ο μαθητής για προηγούμενες ασκήσεις του που έχουν αξιολογηθεί; Επίσης, ο μαθητής δεν μπορεί να τροποποιήσει και να επαναϋποβάλλει κάποια λύση του ώστε να πάρει μεγαλύτερο βαθμό;

sstergou

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

georgw

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

georgw

Θα πρόσεξες επίσης πως ο μαθητής δεν βλέπει τις εισόδους που έχει προκαθορίσει ο εκπαιδευτικός ούτε τα αναμενόμενα για την άσκηση αποτελέσματα και δεν πρέπει να τα ξέρει.
Η αρχική ιδέα για το σύστημα γεννήθηκε όταν στη κλασσική άσκηση να γράψετε αλγόριθμο που θα διαβάζει 3 αριθμούς και θα εμφανίζει τον μεγαλύτερο ένας μαθητής απάντησε:
Αλγόριθμος μεγαλυτερος
Διάβασε α,β,γ
max← α
Αν β>α τότε
   max← β
αλλιώς_αν γ>α   τότε
   max← γ
Τέλος_αν
Εμφάνισε max
Τέλος μεγαλυτερος
Ο μαθητής δοκίμαζε τον κώδικα για διάφορες τριάδες αριθμών και συμπτωματικά έβγαινε σωστή απάντηση. Θεωρούσε λοιπόν τον κώδικα σωστό. Εδώ μπαίνει το θέμα της επικύρωσης του κώδικα. Το σύστημα θα έχει μεγάλη επιτυχία άν ο εκπαιδευτικός βάλει τις κατάλληλες εισόδους ώστε να πιάνει τέτοιου είδους λάθη.
Βέβαια στη πράξη επειδή σε έναν αλγόριθμο υπάρχουν πολλά μονοπάτιια εκτέλεσης δεν είναι δυνατόν να τα εξετάζεις όλα άρα δεν μπορείς να επικυρώσεις 100% έναν κώδικα. Ο σκοπός είναι να πιάσεις εκείνο το μονοπάτι που είναι πολύ πιθανό να γίνει το λάθος. Χρειάζεται βέβαια δουλειά για να βρείς κατάλληλες ασκήσεις και εδώ μπορούν να συμβάλλουν όλοι οι συνάδελφοι.

georgw

#9
Για να ολοκληρώσω την απάντηση(σε 3 δόσεις αλλά χρειάζονται νομίζω κάποιες διευκρινήσεις), όταν ο μαθητής γράφει διαγώνισμα και σου παραδίδει τη κόλα δεν του τη γυρίζεις πίσω για να τη διορθώσει άν έχει κάνει λάθος. Έτσι και εδώ. Μπορεί να παίξει όσο θέλει στη πρακτική εξάσκηση (το πρόχειρο ας πούμε) αλλά όταν υποβάλλει την απάντηση θα ξέρει πως αυτό δεν γυρίζει πίσω.
Τώρα ο μαθητής μπορεί να σου ζητήσει να δεί τη κόλα του. Έτσι και εδώ. Άν θέλει σου ζητάει να δεί την υποβολλή του, του τη δείχνεις και του εξηγείςτα λάθη του. Δεν έχει νόημα να τον δεί μόνος του, αφού υποτίθεται πως για να τον έχει υποβάλλει, θεωρεί πως είναι σωστός. Άσε που μπορεί έτσι κι αλλιώς να έχει αποθηκεύσει (με copy paste) τον κώδικά του σε ένα σημειωματάριο ή σε ένα doc και να τον βλέπει.
Τέλος θα υπάρξουν 2 προσθήκες στο σύστημα (το χειμώνα άν είμαστε καλά).
Η πρώτη θα είναι ένα forum για να υπάρχει και ένας διάλογος.
Η δεύτερη είναι η δυνατότητα ολοκληρωμένων διαγωνισμάτων με ερωτήσεις κλειστού τύπου (πολλαπλών απαντήσεων, συμπλήρωσης κενών κλπ).
Αυτή είναι η πρώτη και κατα κάποιο τρόπο δοκιμαστική version της πλατφόρμας.

sstergou

Παράθεση από: georgw στις 24 Ιουν 2010, 06:46:11 ΠΜ
Για το χρόνο απόκρισης όταν εκτελείται ο κώδικας έχει μπεί σκόπιμα χρόνος 40 περίπου δευτερόλεπτα. Αυτό γιατί κάποιοι μαθητές (στο δικό μου για παράδειγμα σχολείο) έχουν απλή pstn γραμμή στο σπίτι τους με αρκετά αργή σύνδεση. Μετά απο πολλές δοκιμές αυτός ο χρόνος καλύπτει και τις αργές συνδέσεις. Μπορώ να τον μειώσω γιατί είναι παραμετρικά ορισμένος αλλά θα υπήρχε πρόβλημα με τις αργές συνδέσεις. Ο χρόνος αυτός έχει μπε'ι σαν ανώτατο όριο εκτέλεσης και για τη περίπτωση που ο κώδικας έχει ατέρμωνα βρόχο (λούπα). Όλες οι παρατηρήσεις είναι ευπρόσδεκτες.

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

georgw

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

gthal

Γεια σου Γιώργο
Βρίσκω πολύ ενδιαφέρουσα την ιδέα σου και τη δοκίμασα λιγάκι.

Έχω να κάνω τα παρακάτω βασικά σχόλια:

1) Θα ήταν καλό ο καθηγητής να μπορεί να δώσει είσοδο και έξοδο για περισσότερες από μία εκτελέσεις. Να δοκιμάσει αν δουλεύει σωστά για νορμάλ καταστάσεις αλλά και να δοκιμάσει πιο εξεζητημένες τιμές. Ή ακόμα να δώσει αρκετές πιθανές δεκτές εξόδους για ένα σετ εισόδων πχ το 14 και το 20 αλλά και το 20 και 14  ή πχ "Λάθος δεδομένα" και "Λάθος είσοδος"

2) Φαίνεται πως όποτε η έξοδος είναι λάθος ο βαθμός είναι πάντα 9 ; Δοκίμασα και περιπτώσεις όπου ο μαθητής "ξέχασε" να εμφανίσει ένα από τα δύο ζητούμενα, ή τα εμφάνισε με αντίστροφη σειρά απ' ότι περίμενε ο καθηγητής και πάλι πήρε κάτω από τη βάση. Δεν θα βαθμολογούσαμε έτσι βέβαια στην πραγματικότητα. Φυσικά κατανοώ ότι θα χρειαζόταν τεχνητή νοημοσύνη για να βαθμολογηθούν "ανθρώπινα" αυτά αλλά αν δε βρεθούν απλές λύσεις σε κάτι τέτοια, το σύστημα δεν θα μπορέσει πρακτικά να μπει σε εφαρμογή.

3) Ακόμα και ένα μικρό συντακτικό λάθος (πχ με το copy-paste μου διέφυγε το 1 από το Τέλος ασκ_1) η εργασία μηδενίζεται !  Και δεν εννοώ ότι το σύστημα πρέπει να μυρίσει τα νύχια του για το τι ήθελε να πει ο ποιητής αλλά για αυτό (και για το (2)) προτείνω το 4:

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

5) Ο καθηγητής μπορεί να κάνει edit την άσκηση, ενώ ήδη μαθητές έχουν υποβάλλει τη λύση! Δεν θα 'πρεπε. Ή θα 'πρεπε να μπορεί να τη αλλάξει αλλά να γίνει reset η συγκεκριμένη άσκηση και για τους μαθητές. (να μπορούν να την ξαναϋποβάλλουν)

6) Έχω διαπιστώσει ότι όσοι μαθητές δείχνουν ενδιαφέρον να λύσουν τις ασκήσεις τους χρησιμοποιώντας έναν διερμηνευτή (pseudoglossa, το διερμηνευτή της ΓΛΩΣΣΑΣ ή γλωσσομάθεια), μετά από λίγο καιρό εγκαταλείπουν τη μέθοδο αυτή και συνεχίζουν με μολύβι και χαρτί για το υπόλοιπο της χρονιάς!!  Ο λόγος είναι ότι δεν είναι εξοικειωμένοι με την πληκτρολόγηση και χάνουν χρόνο. Πιστεύω ότι σ' αυτό είναι σημαντική βοήθεια τα panels με τις εντολές που δίνονται έτοιμες για να τις επιλέξουν με το ποντίκι και πιστεύω ότι δεν θα έπρεπε να λείπει και από αυτό το σύστημα. (βέβαια, θα μου πεις, αφού εγκαταλείπουν και τα περιβάλλοντα που παρέχουν αυτή την ευκολία, τι ελπίδες έχουμε; πάντως αν λείπει, φοβάμαι ότι θα εγκαταλείψουν πολύ ευκολότερα)

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

Καλή συνέχεια :)
Φιλικά,
Γιώργος Θαλασσινός

georgw

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

Λάμπρος Μπουκουβάλας

Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

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