Δε βλέπω τίποτα το περίεργο σε ασκήσεις αυτής της μορφής..
Αντίθετα πιστεύω πως δίνουν μία εξαιρετική ευκαιρία για την ανάπτυξη της αλγοριθμικής σκέψης με μεγαλύτερη ελευθερία μέσω της διαγραμματικής αναπαράστασης του αλγόριθμου απ’ ότι μέσω της κωδικοποίησης.
Τα τελευταία χρόνια, όπως ανέφερα και σε άλλη ανάρτηση σχετικά με τη
Σπειροειδή προσέγγιση στη διδασκαλία του μαθήματος ξεκινάω στην αρχή της χρονιάς
αποκλειστικά με διαγραμματική αναπαράσταση (
πρώτη σπείρα) , προσφέροντας αυτονόητα αυτή την
ελευθερία στην έκφραση (απλές επιλογές με ενέργεια είτε στο ΝΑΙ είτε ΟΧΙ, βρόχους με συνθήκη συνέχειας στο τέλος ή συνθήκη τερματισμού στην αρχή, κ.ο.κ.).
Βέβαια περιορίζομαι σε απλά προβλήματα, εστιάζοντας αποκλειστικά στην
ανάπτυξη 2 βασικών δεξιοτήτων:
α) ανάλυσης σε επιμέρους βήματα και
β) αναγνώρισης του "τύπου" του βήματος.
Έχω καταλήξει να τους προτείνω
4 τύπους βημάτων:
#1 : Χρειάζεται πάντα, και γίνεται με συγκεκριμένο τρόπο
#2 : Δε χρειάζεται πάντα, αλλά εκετελείται υπο προϋποθέσεις
#3 : Χρειάζεται πάντα, αλλά έχει περιπτώσεις
#4 : Οτιδήποτε από τα παραπάνω, αλλά χρειάζεται πολλές, συνεχόμενες φορές..
Προτιμώ λοιπόν σε πρώτη φάση (
πρώτη σπείρα) να ΜΗΝ ασχολούμαι καθόλου με κωδικοποίηση παρά ΜΟΝΟ με
διαγραμματική αναπαράσταση ώστε αφενός να έχουν μεγαλύτερη ελευθερία περιγραφής συνθηκών (είτε επιλογής είτε συνέχειας είτε τερματισμού) χωρίς να περιορίζονται από τους συντακτικούς κανόνες μιας ψευδογλώσσας.
Έτσι, εντελώς αυθόρμητα, αρκετοί μαθητές ερμηνεύουν περιορισμούς της μορφής "το πάγιο χρεώνεται μόνο όταν η διάρκεια ΔΕΝ ξεπερνά τις 3 ώρες" σε συνθήκη επιλογής Διάρκεια > 3 βάζοντας την ενέργεια Κόστος <- Κόστος + Πάγιο στη ροή του ΟΧΙ και αφήνοντας τη ροή του ΝΑΙ κενή.. Ισοδύναμα, επαναλαμβανόμενες διαδικασίες που "απαντάνε" σε εκφώνηση της μορφής "..θα συνεχίζει μέχρι συγκεντρωθούν 100 άτομα.." ερμηνεύονται σε βρόχους (με έλεγχο στο τέλος), όμως από άλλους μαθητές με συνθήκη τερματισμού άτομα >= 100 και από άλλους με συνθήκη συνέχειας άτομα < 100.
Αυτή η "ελευθερία" ΕΙΝΑΙ ζητούμενο σε επίπεδο ανάπτυξης της αλγοριθμικής σκέψης, δίνεται μέσω της διαγραμματικής αναπαράστασης πιο εύκολα απ'ότι μέσω της κωδικοποίησης.
Με αυτό τον τρόπο διδάσκονται (πάντα στο πλαίσιο της πρώτης - εσωτερικής σπείρας) όλες τις αλγοριθμικές δομές:
1) ακολουθία (τύπος #1)
2) επιλογή (τύποι #2 & #3)
3) επανάληψη (τύπος #4)
αποκλειστικά με απλές ασκήσεις και ΟΠΩΣΔΗΠΟΤΕ με ταυτόχρονη εξάσκηση στο εργαστήριο με τον
Δημιουργό Διαγραμμάτων Ροής Στη
δεύτερη σπείρα, γίνεται η μετάβαση από τη διαγραμματική αναπαράσταση στην
κωδικοποίηση. Αναφέρονται οι μορφές των αντίστοιχων εντολών, επισημαίνονται οι εγγενείς συντακτικοί και σημασιολογικοί περιορισμοί και οι μαθητές εξασκούνται στη διαδικασία παραγωγής των «αντίθετων συνθηκών», είτε την αντιστροφή της συνθήκης (<= σε >, = σε <> κ.ο.κ.) είτε (απλούστερα) με τη λογική πράξη της άρνησης. Έτσι, στο πλαίσιο της μετάβασης από τον ένα τρόπο αναπαράστασης στον άλλο, γίνεται μία ομαλή εισαγωγή και στην έννοια των
λογικών πράξεων (μόνο της άρνησης σε αυτό το στάδιο)..
Ειδικά για τη δομή επανάληψης, αφού τους αναφέρω ότι ανάλογα με το «λεξιλόγιο» της γλώσσα που θα προτιμήσουν για την κωδικοποίηση του αλγόριθμου, μπορούν να έχουν είτε έλεγχο στο τέλος με συνθήκη συνέχειας, είτε με συνθήκη τερματισμού είτε και με τους δύο τρόπους, τους εξηγώ τον περιορισμό της δικής μας ψευδογλώσσας και καταλήγω στη ορθή σύνταξη της Μέχρις_ότου..
Οπότε νομίζω ότι
ασκήσεις της μορφής που αναφέρει ο συνάδελφος, σε συνδυασμό με
α. μεθοδική σπειροειδή προσέγγιση του αντικειμένου και
β. συνεπή χρήση των διαφορετικών τρόπων αναπαράστασης
μπορούν να βοηθήσουν στην
αποτελεσματικότερη διδασκαλία του αντικειμένου..
Προσωπικά, τα τελευταία χρόνια, μέσα από πειραματισμούς με διάφορες διδακτικές προσεγγίσεις, έχω καταλήξει πως αυτή είναι μέχρι στιγμής η πιο αποτελεσματική..