Η επιλογή της Python ως γλώσσα προγραμματισμού στην δευτεροβάθμια εκπαίδευση

Ξεκίνησε από evry, 27 Οκτ 2019, 03:08:01 ΜΜ

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

akalest0s

Εγώ θα το ξαναπώ, και πείτε με γραφικό..  :angel:
Δεν είναι το θέμα ΓΛΩΣΣΑ vs Python, ή ακόμη ίσως ούτε καν αλγοριθμική vs εφαρμοσμένη γλώσσα.
Το πρόβλημα είναι πως έχει στηθεί το μάθημα. Ποιο το σετ εντολών. Πόσο καλά ορισμένο είναι. Τι στόχο έχουμε. Από πόσες μεριές μπάζει η βάρκα.
Παράθεση από: bugmanΤο γιατί η ΓΛΩΣΣΑ δεν είναι καλή σήμερα, ενώ εδώ και πολλά χρόνια δούλεψε, για χιλιάδες μαθητές, η απάντηση είναι μια: Πρόοδος.
Ίσως το λες επειδή δεν τη διδάσκεις. Η Γλώσσα δεν δούλεψε τόσα χρόνια. Οι όποιοι ευσυνείδητοι καθηγητές, χάσαν τα μαλλιά τους παλεύοντας να διδάξουν το ΑΠΑΡΑΔΕΚΤΟ μάθημα. Μην αρχίσω τώρα με αυτά.. Το κυρίως πρόβλημα δεν είναι οι δυνατότητες της Γλώσσας. Και το λέω αυτό, όντας υπέρμαχος της εισαγωγής της python. Ωστόσο, μιλάμε για το επουσιώδες και χάνουμε την ουσία. Η Γλώσσα πάσχει γιατί είναι κακώς ορισμένη, με εκατοντάδες ασάφειες και contradicting σημεία.
Επίσης το μάθημα πάσχει γιατί γίνεται σε 1 χρονιά, άντε ας πούμε 2, μαζί με Β Λυκείου.
Αυτά τα προβλήματα θα λυθούν; Μπορεί η Γλώσσα επιτέλους να λύσει τις ασάφειές της και όλα τα κακώς κείμενά της;
Μπορεί το μάθημα να επεκταθεί στις προηγούμενες τάξεις; Γιατί, δηλαδή, καλύψαμε απόδοση και πολυπλοκότητα αλγορίθμων και αναδρομή, και μας έλειψαν τα παραπάνω της python? Εδώ πρώτη φορά μετά από 20 χρόνια εξετάζουμε ουρές και στοίβες με κώδικα. Μιλάμε για εκσφαλμάτωση, και ψάχνουμε οι καθηγητές μεταξύ μας τι λάθος θα μπορούσε να θεωρηθεί ότι είναι αυτό και το άλλο. Τι λέμε τώρα δηλαδή! Είμαστε στο πλειστόκαινο, και, για να παραφράσω τον Θανάση, Ferrari χωρίς βενζίνη, είναι άχρηστη, στη προϊστορία που ζούμε.

Ξαναλέω, δεν είναι κακή η python. Είναι μια ευκαιρία να μπει ένα δυνατό εργαλείο μέσα, και είμαι υπέρ. Αλλά τι να την κάνεις αν το μάθημα μείνει μάθημα 1 χρονιάς; Ακόμη και 7ωρο που είναι (..ήταν?), άντε βγάλε αντικειμενοστρέφεια. Πασαλείμματα θα κάνουμε και με την python, για να λέμε ότι το κάναμε και αυτό.

τι να πω, νιώθω λίγο ουρακοτάγκος..
συγγνώμη, αν κούρασε η επανάληψη της θέσης μου.
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK

evry

Φοβάμαι ότι υπάρχει ένα θέμα ως προς το τι εννοούμε Αλγοριθμική.  Αν εννοούμε την χρήση ψευδογλώσσας ως "Αλγοριθμική" τότε δεν έχουμε αυστηρή σύνταξη με αποτέλεσμα να προκύπτουν αρκετές ασάφειες που δημιουργούν πρόβλημα σε ένα πανελλαδικά εξεταζόμενο μάθημα. (Άσε που η δική μας ψευδογλώσσα έχει τόσους περιορισμούς που δεν είναι πραγματική ... ψευδογλώσσα).
Αν τώρα εννοούμε ότι με τη ΓΛΩΣΣΑ κάνουμε Αλγοριθμική δεν μπορώ να φανταστώ πως
1) Η χρήση της Επίλεξε έχει σχέση με την Αλγοριθμική
2) Η απαγόρευση της αλλαγής του μετρητή μέσα στη Για έχει επίσης σχέση με την αλγοριθμική αφού δεν συνιστά λάθος αναφορικά με την αλγοριθμική σκέψη.
3) Η χρήση δυο ειδών υποπρογραμμάτων με διάφορες απίθανες απαγορεύσεις σαφώς και δεν έχει καμία σχέση με την αλγοριθμική.
4) Η διάκριση κεφαλαίων και μικρών??
5) Η χρήση στατικών δομών που το μέγεθος τους αποφασίζεται σε compile time έχει σχέση με Αλγοριθμική?
και πολλά άλλα, που δεν έχει νόημα να θυμίσω. Άλλωστε το στέκι έχει άπειρες σελίδες με διαφωνίες εκπαιδευτικών πάνω στη σύνταξη και τις ασάφειες των .... "αλγοριθμικών" γλωσσών που κάνουμε, οι οποίες οφείλονται αποκλειστικά στο γεγονός ότι αυτές οι γλώσσες δεν είναι καλά ορισμένες.

Επίσης από αυτά που διαβάζω καταλαβαίνω ότι όποιος χρησιμοποιεί ΓΛΩΣΣΑ/Pascal κάνει Αλγοριθμική ενώ οποιαδήποτε άλλη σύγχρονη γλώσσα είναι προγραμματισμός και ας έχει πιο απλή σύνταξη.
Και παραθέτω τα εξής παραδείγματα που έχω δώσει άπειρες φορές:
Το ιδίωμα για τη σάρωση ενός πίνακα σε Python
Κώδικας: python
for item in List
     print ( item )

δεν είναι πιο αλγοριθμικό από το
Για ι από 1 μέχρι Ν 
     Γράψε List[i]
Τέλος_Επανάληψης

?
Επίσης η παρακάτω αναζήτηση στοιχείου σε πίνακα δυο διαστάσεων η οποία τερματίζει αμέσως μόλις διαπιστώσει την ύπαρξη
Κώδικας: python
def search( Matrix, key )
  for row in Matrix:
    for item in row:
      if item == key:
        return True

  return False

ειναι πιο κοντά στην αλγοριθμική σκέψη ναι ή όχι?Ένας άνθρωπος που ελέγχει αν υπάρχει ένα αντικείμενο σε ένα σύνολο αντικείμενων δεν θα σταματήσει αμέσως μόλις το βρει? Break θα κάνει, δεν θα κάτσει να ψάχνει αν κάποια συνθήκη ή κάποιος μετρητής άλλαξε τιμή!
Για δοκιμάστε να κάνετε το παραπάνω σε ΓΛΩΣΣΑ, να δούμε πόσο "αλγοριθμικό" θα είναι.

Για να μην αναφέρω λοιπόν άλλα παραδείγματα είναι προφανές ότι η Python είναι πολύ πιο κοντά στην Αλγοριθμική από τη ΓΛΩΣΣΑ και ακόμα και από την ψευδογλώσσα που χρησιμοποιούμε και αυτό αποδεικνύεται από το γεγονός ότι η παραπάνω συνάρτηση-αλγόριθμος ορίζεται στο μέγιστο επίπεδο αφαίρεσης και είναι προσανατολισμένη αυστηρά στον αλγόριθμο και όχι στα δεδομένα. Λειτουργεί για οποιοδήποτε πίνακα δυο διαστάσεων, οποιουδήποτε μεγέθους και οποιουδήποτε τύπου!!
Μπορείτε να γράψετε κάτι αντίστοιχο σε ΓΛΩΣΣΑ? Ούτε να πλησιάσει δε μπορεί η ΓΛΩΣΣΑ την Python σε αυτό το επίπεδο αφαίρεσης.
Κατά τα άλλα όμως εμείς θέλουμε "Αλγοριθμική". Ας λέμε τουλάχιστον στα ίσια ότι εννοούμε προγραμματισμό στα ελληνικά.

Σχετικά τώρα με τους "ψαγμένους" μαθητές που ξέρουν Python και θα χρησιμοποιήσουν εντολές εκτός ύλης. Εγώ ρωτάω αν κάποιος "ψαγμένος" μαθητής χρησιμοποιήσει την Αντιμετάθεσε σε ΓΛΩΣΣΑ του κόβουμε? Δε φαντάζομαι! Αφού κάνουμε Αλγοριθμική! Αν κάποιος μαθητής διαβάσει τα επόμενα κεφάλαια του βιβλίου και χρησιμοποιήσει την αναδρομική έκδοση της δυαδικής αναζήτησης η οποία είναι σε ψευδογλώσσα (αλλά είναι λίγο ... εκτός ύλης) του κόβουμε?
Τα προβλήματα αυτά (που φυσικά έχουν λυθεί σε όλες τις χώρες του κόσμου εκτός από τη δική μας) υπάρχουν σε όλες τις γλώσσες ακόμα και στην ψευδογλώσσα και στη ΓΛΩΣΣΑ. Γιατί τα βλέπουμε μόνο στην Python?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis

Μα δεν υπάρχει διάκριση μεταξύ πεζών και κεφαλαίων.

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

Αν η δομή ΓΙΑ χρησιμοποιείται για προβλήματα με γνωστό πλήθος επαναλήψεων, τότε πρέπει να χρησιμοποιείται σε προβλήματα με γνωστό πλήθος επαναλήψεων γιατί αν χρησιμοποιείται ως δομή αγνώστου πλήθους επαναλήψεων τότε δεν μπορεί να θεωρείται δομή που χρησιμοποιείται σε προβλήματα με γνωστό πλήθος επαναλήψεων.

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

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

Η ορθολογική λοιπόν θεώρηση σχεδίασης ενός μαθήματος είναι
Α. ποιούς στόχους υπηρετεί
Β με ποιό τρόπο-εργαλεία θα το επιτύχει.

Το ανάποδο δεν αποτελεί ορθολογικό σχεδιασμό, αποτελεί σχεδιασμό "τι ύλη θέλουμε να κάνουμε για να αποφασίσουμε τους στόχους που θα γράψουμε" και δεν είναι καν bottom-up προσέγγιση.

bugman

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

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

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

George Eco

"Μα δεν υπάρχει διάκριση μεταξύ πεζών και κεφαλαίων."
Κε Τσιωτάκη εκφράζω και πάλι τη διαφωνία μου σε αυτό και θυμίζω, ακόμα κι εσείς ακολουθείτε την ασφαλή οδό στο βιβλίο σας, διατηρώντας κεφαλαία όταν μιλάτε για πρόγραμμα σε ΓΛΩΣΣΑ.
Και καλά κάνετε κατά τη γνώμη μου, το θεωρώ μεγάλο πράγμα ένα βιβλίο που απευθύνεται σε μαθητές Πληροφορίκής να είναι τυπικό και σωστό!
Στη θεωρία του σχολικού βιβλίου, η κακώς διατυπωμένη γλώσσα ΓΛΩΣΣΑ, σε συνδυασμό με το ότι είναι ΑΥΣΤΗΡΑ καθορισμένες οι εντολές ενός αλγορίθμου, δε βοηθάει και πολύ, δε νομίζετε;
Από τη μία μιλάμε για ορισμό αλγορίθμου με αυστηρά καθορισμένες εντολές κι από την άλλη έχουμε ασάφειες.

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

Συζητήσιμο, κακώς ορισμένη η ΓΛΩΣΣΑ συν ότι ΔΕ μπορείς να κάνεις πράγραματα που σε άλλες μπορείς να κάνεις.
Σε Visual Basic θα μπορούσα να πω πως ομοιάζει, σε Pascal, Java, C, C++ εντάξει, μονόπλευρα ναι, μεταφέρονται.
Ωστόσο μάλλον τη VB είχαν τότε κατά νου όταν όριζαν τη ΓΛΩΣΣΑ, αλλά ευτυχώς υπάρχει κι η Python σήμερα.
Στην Ευρώπη αλλά και σε όλο το Κόσμο, η python είναι πολύ δημοφιλής σε entry level διδασκαλία στο προγραμματισμό.

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

Δηλαδή ΔΕ μου ορίζει τη δυνατότητα να κάνω το παρακάτω με ασφάλεια...

ΑΝ Χ=1 ΤΟΤΕ
  ! Κάνε κάτι
ΑΛΛΙΩΣ_ΑΝ Χ=2 ΤΟΤΕ
  ! Κάνε κάτι άλλο
ΑΛΛΙΩΣ_ΑΝ Χ=3 ΤΟΤΕ
  ! Κάνε κάτι διαφορετικό
ΤΕΛΟΣ_ΑΝ


κι αναγκάζομαι να διδάσκω το εξής:

ΑΝ Χ=1 ΤΟΤΕ
  ! Κάνε κάτι
ΑΛΛΙΩΣ_ΑΝ Χ=2 ΤΟΤΕ
  ! Κάνε κάτι άλλο
ΑΛΛΙΩΣ
  ΑΝ Χ=3 ΤΟΤΕ
    ! Κάνε κάτι διαφορετικό
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ


...για να μιλάω εκ του ασφαλούς.
Εμφωλευμένη Απλή δομή επιλογής στην ΑΛΛΙΩΣ της Πολλαπλής δομής επιλογής. Αυτά ΕΙΝΑΙ εντός ύλης. Αυτά τα αναφέρει το βιβλίο. Τη προαιρετικότητα όχι.
Και το παράδειγμα ΠΛΟΙΟ2 στο νέο βιβλίο, που όντως έχει απουσία της ΑΛΛΙΩΣ, είναι σφάλμα ή επίτηδες; Δε ξέρουμε. Αλλά και δεν έχει σημασία.
ΔΕΝ ΕΙΝΑΙ ΘΕΩΡΗΤΙΚΟΣ ΟΡΙΣΜΟΣ - ΣΥΝΤΑΞΗ.
Την ΕΠΙΛΕΞΕ τη ξαναορίζει με ολόκληρη ενότητα. Τη Πολλαπλή ΑΝ όχι. Έχω τις αμφιβολίες μου.

Από το σχολικό βιβλιο σελ 127
"Η γλώσσα προγραμματισμού που θα χρησιμοποιήσουμε στα επόμενα κεφάλαια που ονομάζεται ΓΛΩΣΣΑ, είναι σχεδιασμένη έτσι ώστε να αποτελέσει ένα εργαλείο προγραμματισμού κατάλληλο για εκπαιδευτικούς σκοπούς. Περιέχει τα χαρακτηριστικά, τις δομές και τις εντολές που περιέχονται σε διάφορες σύγχρονες γλώσσες προγραμματισμού όπως η Pascal, Visual Basic, C, C+ +, Java και άλλες, χωρίς όμως να ασχολείται με τις τεχνικές λεπτομέρειες αυτών.Έτσι ο προγραμματισμός με τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθμου και τη μετατροπή του σε σωστό πρόγραμμα. Σε όλο το βιβλίο οι εντολές της ΓΛΩΣΣΑΣ είναι γραμμένες με μπλε χρώμα και είναι πάντα με κεφαλαία, ενώ οι μεταβλητές είναι με πεζά ή κεφαλαία αλλά με το πρώτο γράμμα πάντα κεφαλαίο. Τα σχόλια των προγραμμάτων είναι γραμμένα με πράσινο χρώμα."

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


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


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

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


Αν η δομή ΓΙΑ χρησιμοποιείται για προβλήματα με γνωστό πλήθος επαναλήψεων, τότε πρέπει να χρησιμοποιείται σε προβλήματα με γνωστό πλήθος επαναλήψεων γιατί αν χρησιμοποιείται ως δομή αγνώστου πλήθους επαναλήψεων τότε δεν μπορεί να θεωρείται δομή που χρησιμοποιείται σε προβλήματα με γνωστό πλήθος επαναλήψεων.

ΑΥΤΟ είναι ωραίο επιχείρημα.
Η απάντηση είναι ξεκάθαρη. Υπάρχουν εντολές όπως η break κι η continue που κάνουν το κώδικα πιο εύκολα αναγνώσιμο, οικονομικότερο σε πόρους, όπα! Για ΓΛΩΣΣΑ μιλάμε ε; Όχι για python, ναι ξεχάστηκα. Κι αν μη τι άλλο, αυτές οι δύο εντολές μπορούν να κατηγορηθούν πως προωθούν αδόμητο προγραμματισμό, λες και φταίει το μαχαίρι κι όχι το χέρι που το κρατά. Ειλικρινά, η εναλλακτική είναι πολύ πιο περίπλοκος κώδικας, δίχως κανένα απολύτως λόγο. Ωστόσο το θέμα έχει λυθεί. Ρητά το ΦΕΚ αναφέρει πως όχι απαγορεύεται να αλλάζεις το μετρητή της ΓΙΑ. Οπότε εδώ, στα πλάισια του μαθήματος, δηλαδή και της θεωρητικής ΓΛΩΣΣΑΣ, έχετε απόλυτο δίκιο.


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


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



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




Η ορθολογική λοιπόν θεώρηση σχεδίασης ενός μαθήματος είναι
Α. ποιούς στόχους υπηρετεί
Β με ποιό τρόπο-εργαλεία θα το επιτύχει.

Το ανάποδο δεν αποτελεί ορθολογικό σχεδιασμό, αποτελεί σχεδιασμό "τι ύλη θέλουμε να κάνουμε για να αποφασίσουμε τους στόχους που θα γράψουμε" και δεν είναι καν bottom-up προσέγγιση.

Σωστά! Αυτό τι σχέση έχει όμως; Μοιάζει με straw man argument.
Μάλλον δε καταλάβατε ποιο είναι το πρόβλημα που εκφράζεται τόσο καιρό.
Το μάθημα δεν έχει επικαιροποιηθει εδώ και 20 χρόνια, αντικειμενοστραφή προγραμματισμό με ΓΛΩΣΣΑ δεν είναι δυνατόν να διδάξεις.
Σα να μη φτάνει αυτό, η ΓΛΩΣΣΑ ομοιάζει με τη ψευδογλώσσα, έτσι ώστε αν μη τι άλλο να μπερδεύει και τα παιδιά περισσότερο.
Η Python λειτουργεί μια χαρά στα ΕΠΑΛ, Πανελλήνιες με κάθετες γραμμούλες και χαρακάκι λύνεται το θέμα με το indenting ( για να είμαι ειλικρινής όμως λατρεύω τα brackets ).





Bugman:

Τα λάθη της ΓΛΩΣΣΑΣ είναι τρια:
1. Υποχρεωτικός καθορισμός του μεγέθους ενός πίνακα που περνάει ως παράμετρος σε υποπρόγραμμα.
Να αναφέρουμε εδώ πως ο πινακάς μπορεί να είναι δυναμική δομή σε άλλες γλώσσες. Λέω τώρα.

3. Απουσία άμεσης εξόδου από επαναλήψεις. Μπορεί ως απλοποίηση να αποτελεί μέρος ενός αλγόριθμου, και να το στηρίζει και το επιλεγμένο εργαλείο.
Ναι δε το λές σωστό, αλλά ούτε λάθος. Συμφωνώ, αλλά πρέπει να είμαι αντικειμενικός. Μιλάμε για τις EXIT και CONTINUE εδώ έτσι; Θεωρούν κάποιοι πως έτσι προωθείται ο άδόμητος προγραμματισμός μάλλον; Δε ξέρω, αλλά η σωστή και λογική χρήση των εντολών δε κάνει κακό. Δεν είναι δα και GOTO.

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

bugman

Για την Αλλιώς δεν ήξερα. Όλες οι γλώσσες το εχουν προαιρετικό εκτός από αυτές που δεν το έχουν καθόλου.

ΔΗΜΗΤΡΗΣ Χ

Παράθεση από: George Eco στις 26 Φεβ 2020, 09:01:50 ΠΜ
Δηλαδή ΔΕ μου ορίζει τη δυνατότητα να κάνω το παρακάτω με ασφάλεια...

ΑΝ Χ=1 ΤΟΤΕ
  ! Κάνε κάτι
ΑΛΛΙΩΣ_ΑΝ Χ=2 ΤΟΤΕ
  ! Κάνε κάτι άλλο
ΑΛΛΙΩΣ_ΑΝ Χ=3 ΤΟΤΕ
  ! Κάνε κάτι διαφορετικό
ΤΕΛΟΣ_ΑΝ


κι αναγκάζομαι να διδάσκω το εξής:

ΑΝ Χ=1 ΤΟΤΕ
  ! Κάνε κάτι
ΑΛΛΙΩΣ_ΑΝ Χ=2 ΤΟΤΕ
  ! Κάνε κάτι άλλο
ΑΛΛΙΩΣ
  ΑΝ Χ=3 ΤΟΤΕ
    ! Κάνε κάτι διαφορετικό
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ



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

ΔΗΜΗΤΡΗΣ Χ

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

George Eco

Όχι Δημήτρη δυστυχώς. Οδηγίες μελέτης είναι εκτός ύλης Πανελληνίων δυστυχώς. Μακάρι να ήταν τόσο απλό το θέμα.
Άλλωστε αναφέρω και το παράδειγμα Πλοίο2 μέσα από το επιπρόσθετο βιβλίο Πληροφορικής που είναι ΟΛΟ εντός ύλης, αλλά και πάλι το αφήνει ασαφές.
Δεν ορίζεται στο θεωρητικό επίπεδο η συντακτική αυτή μορφή, πράγμα που είναι εντελώς ανόητο κι αβλεψία κατά τη γνώμη μου. 20 χρόνια μάθημα. 20. Όχι 2.

Όσο για τη σελ 33, μάλλον εννοείς στο κεφάλαιο 2. Εκεί μιλάει για ψευδογλώσσα, όχι για ΓΛΩΣΣΑ, έτσι κι αλλιώς.
Εγώ ακολουθώ τον ασφαλή δρόμο.

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

ΔΗΜΗΤΡΗΣ Χ

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

George Eco

Παράθεση από: ΔΗΜΗΤΡΗΣ Χ στις 26 Φεβ 2020, 09:29:50 ΜΜ
Γιώργο, αναφέρομαι στην 33 σελίδα στις οδηγίες μελέτης στο περυσινο, μήπως και κάποιος έχει μόνο αυτό στη διάθεση του (άσκηση με μενου). φετός στην επανέκδοση,  το συγκεκριμένο παράδειγμα με το μενου είναι στη σελίδα 44. Καλό θα είναι να το γνωρίζουμε.
Όπως προανέφερα, το βιβλίο αυτό είναι εκτός ύλης. Κι ενα παράδειγμα δεν ορίζει μορφή δομής επιλογής ΑΝ. Στη θεωρία ορίζει ρητά τρεις στη ΓΛΩΣΣΑ. Αν είχαμε ειδική επιτρεπτή περίπτωση για τη πολλαπλή, θα το χαιρόμουν, αλλά όχι. Χώρια που δεν έχει ανακοινωθεί κάτι μέσω ΦΕΚ που να το διορθώνει. Το έχω ερευνήσει πολύ.

Λαμπράκης Μανώλης

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

George Eco

Παράθεση από: Λαμπράκης Μανώλης στις 26 Φεβ 2020, 10:17:10 ΜΜ
Γιώργο  θεωρώ πως είναι πολύ τραβηγμένο έως απίθανο να θεωρηθεί λάθος μία δομή πολλαπλής επιλογής δίχως περίπωση ΑΛΛΙΩΣ .. επίσης οι οδηγίες μελέτης είναι επίσημο βιβλίο του μαθήματος, οπότε κατά την ταπεινή μου γνώμη δεν είναι "εκτός ύλης", αν και προφανώς θα ήταν καλό να είχαν διευκρινιστούν όλα αυτά ..

Καλησπέρα Μανώλη. Καλά κάνεις και θεωρείς έτσι. Είναι άλλωστε εξωφρενική παράλειψη. Οι οδηγίες μελέτης παραμένουν εκτός εξεταστέας ύλης. Ωστόσο δεν είναι αυτό το πρόβλημα. Ξαναλέω, έχουμε εντοπίσει στο νέο βιβλίο Πληροφορική το παράδειγμα Πλοίο2. Περιέχει πολλαπλή ΑΝ δίχως ΑΛΛΙΩΣ κι ΟΛΟ το βιβλίο είναι εντός ύλης. Αλλά και πάλι, όταν μου έρχεσαι και μου ορίζεις εκ νέου την ΕΠΙΛΕΞΕ και για την ΑΝ πέρα βρέχει, εγώ πώς να το πάρω αυτό;
Δυστυχώς η γνώμη μας για το αν κάτι είναι εκτός ύλης δε μετράει. Η ύλη ορίζεται βάσει ΦΕΚ. Και δυστυχώς η γνώμη μας πάνω στο αν κάτι είναι τραβηγμένο, δεν έχει βαρύτητα. Συμφωνώ μαζί σου, αλλά δε θέλω να αφήσω ούτε μία στο εκατομμύριο να πέσει γραπτό παιδιού που έκανα μάθημα σε κάποιον περίεργο εξεταστή. Από τη στιγμή που κάποιος τυπικά μπορεί έστω και τραβηγμένα να κόψει, αποφεύγω το κίνδυνο, ώστε να είμαι εντάξει με τον εαυτό μου πως προστάτεψα τα παιδιά μου.
Συμφωνώ απόλυτα μαζί σου πως θα έπρεπε να βγει διευκρινιστική οδηγία για αυτό. Τις είδες; Δεν ανέφεραν κάτι για την ΑΝ. Δε φαντάζεσαι την απογοήτευσή μου.
Καταλαβαίνω τι λες, απλά νιώθω πολύ βαριά την ευθύνη όταν πρόκειται για Πανελλήνιες. Αν μιλούσαμε για μη εξεταζόμενο μάθημα, δε θα ίδρωνα. Να με συμπαθάτε αν φαίνομαι υπερβολικός, δε το κάνω για εμένα, έχω στη συνείδησή μου πολλά παιδιά όμως που τους κάνω μάθημα. Ακολουθώ την 100% ασφαλή οδό. Τίποτα λιγότερο.

petrosp13

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

George Eco

Παράθεση από: petrosp13 στις 26 Φεβ 2020, 11:11:09 ΜΜ
Υπάρχει δομή Επιλογής χωρίς Αλλιώς, η απλή Επιλογή
Δεν υπάρχει νόημα να έχουμε υποχρεωτική χρήση Αλλιώς σε πολλαπλή επιλογή
Είτε αναφέρεται κάπου στο σχολικό εγχειρίδιο, είτε όχι
Δεν είναι υποχρεωτικό ένας ρόμβος να έχει εντολές και στις δυο πλευρές

Πέτρο ναι.
ΑΝ συνθήκη_1 ΤΟΤΕ
! Εντολές 1
ΤΕΛΟΣ_ΑΝ


ΑΝ συνθήκη_1 ΤΟΤΕ
! Εντολές1
ΑΛΛΙΩΣ
! Εντολές2
ΤΕΛΟΣ_ΑΝ



ΑΝ συνθήκη_1 ΤΟΤΕ
! Εντολές1
ΑΛΛΙΩΣ_ΑΝ συνθήκη_2 ΤΟΤΕ
! Εντολές2
ΑΛΛΙΩΣ
! Εντολές 3
ΤΕΛΟΣ_ΑΝ


Όλα καλά ως εδώ.


Αλλά αν θέλω ας πούμε:


ΑΝ Χ = 1 ΤΟΤΕ
! Εντολές1
ΑΛΛΙΩΣ_ΑΝ Χ = 2 ΤΟΤΕ
! Εντολές2
ΑΛΛΙΩΣ_ΑΝ Χ =3 ΤΟΤΕ
! Εντολές 3
ΤΕΛΟΣ_ΑΝ


ΔΕ ΜΠΟΡΩ ΝΑ ΤΟ ΚΑΝΩ ΑΥΤΟ.
Κι έτσι καταλήγω εδώ.

ΑΝ Χ = 1 ΤΟΤΕ
! Εντολές1
ΑΛΛΙΩΣ_ΑΝ Χ = 2 ΤΟΤΕ
! Εντολές2
ΑΛΛΙΩΣ
   ΑΝ Χ =3 ΤΟΤΕ
   !Εντολές 3
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ



Προσθήκη:
"Δεν είναι υποχρεωτικό ένας ρόμβος να έχει εντολές και στις δυο πλευρές"

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