Να σχολιάσω κι εγω με τη σειρά μου στο ΘΕΜΑ Δ με αφορμή μαθητή μου .Μαθητής άριστος λοιπον 'έπεσε' να πεθανει γιατί λογω αγχους χρησιμοποιησε τον ιδιο δεικτη - i τόσο στον εξωτερικό όσο και στον εσωτερικό βροχο.Πρέπει να γνωρίζουμε ιδιως όσοι διδασκουν ή βαθμολογουν ότι :
Στην Python, αν χρησιμοποιείς τον ίδιο δείκτη i σε δύο εμφωλευμένους βρόχους for, δεν θα υπάρξει πρόβλημα, επειδή κάθε βρόχος δημιουργεί το δικό του πεδίο (scope) για τη μεταβλητή i. Η τιμή του i στον εσωτερικό βρόχο δεν επηρεάζει την τιμή του i στον εξωτερικό βρόχο, καθώς η Python χειρίζεται σωστά την εναλλαγή των τιμών κατά την εκτέλεση. Αυτό δε σημαίνει ότι συνιστάται η λογικη αυτή ΑΛΛΑ ότι δεν ειναι λάθος !
Παράδειγμα :
for i in range(5):
for i in range(3): # Χρησιμοποιεί το ίδιο όνομα μεταβλητής i
print(f"Εσωτερικός βρόχος: i={i}")
print(f"Εξωτερικός βρόχος: i={i}")
Υ.Γ Ελπίζω να το γνωρίζουν οι βαθμολογητές και να πράξουν σωστα .
Παρατίθεται και λυμένο το ΘΕΜΑ Δ και χρήση ίδιου δείκτη με 'breakpoints" για τις τιμές του i ( ειναι σε Python 3.11)
ΘΕΜΑ_Δ_2025.py
Παράθεση από: tpapo στις 11 Ιουν 2025, 07:06:33 ΜΜΝα σχολιάσω κι εγω με τη σειρά μου στο ΘΕΜΑ Δ με αφορμή μαθητή μου .Μαθητής άριστος λοιπον 'έπεσε' να πεθανει γιατί λογω αγχους χρησιμοποιησε τον ιδιο δεικτη - i τόσο στον εξωτερικό όσο και στον εσωτερικό βροχο.Πρέπει να γνωρίζουμε ιδιως όσοι διδασκουν ή βαθμολογουν ότι :
Στην Python, αν χρησιμοποιείς τον ίδιο δείκτη i σε δύο εμφωλευμένους βρόχους for, δεν θα υπάρξει πρόβλημα, επειδή κάθε βρόχος δημιουργεί το δικό του πεδίο (scope) για τη μεταβλητή i. Η τιμή του i στον εσωτερικό βρόχο δεν επηρεάζει την τιμή του i στον εξωτερικό βρόχο, καθώς η Python χειρίζεται σωστά την εναλλαγή των τιμών κατά την εκτέλεση.
for i in range(5):
for i in range(3): # Χρησιμοποιεί το ίδιο όνομα μεταβλητής i
print(f"Εσωτερικός βρόχος: i={i}")
print(f"Εξωτερικός βρόχος: i={i}")
Ας τα πάρουμε ένα ένα.
Καταρχάς ελπίζω να παραπληροφορείς από άγνοια και όχι σκόπιμα. Όλα αυτά που λες δεν ισχύουν!
Ο μαθητής σου λόγω άγχους έκανε ένα λάθος. Πολλοί μαθητές λόγω άγχους κάνουν λάθος και χάνουν μονάδες.
Ο κώδικας που δίνεις, πέρα από το γεγονός ότι είναι σε Python 3, δεν ξέρω γιατί αφού κάνουμε Python 2, δεν έχει τη λειτουργία που εσύ λες ότι έχει.
Ο εσωτερικός βρόχος μια χαρά επηρεάζει το i του εξωτερικού, Για παράδειγμα το παρακάτω τμήμα κώδικα:
j = 2025
k = 0
for j in range(10):
k = k + j
print("j = ", j)
θα εκτυπώσει 9 και όχι 2025 και στην Python 2 και στην Python 3 άρα ο μαθητής σου θα χάσει τις μονάδες που πρέπει να χάσει, γιατί έκανε λάθος.
Ωστόσο ακόμα και αν είχες δίκιο πάλι θα έπρεπε να κόψουν γιατί ο μαθητής δεν το έκανε συνειδητά. Άρα το να πάρει κάποιος μονάδες κατά τύχη είναι ένα θέμα. (Αφήνω στην άκρη το γεγονός ότι μπήκες εδώ για να επηρεάσεις τους βαθμολογητές και επίσης αναρωτήθηκες αν "ξέρουν" Python).
ΥΓ. Οι επαναλήψεις γίνονται κανονικά, και αυτό αξίζει να το διερευνήσει κάποιος γιατί συμβαίνει.
Η παραπάνω άσκηση θα ήταν πολύ καλή να την έδινε κάποιος σε έναν μαθητή και να του έλεγε να την εκτελέσει και να εξηγήσει τι εμφανίζει και γιατί και μετά να εξηγήσει για ποιο λόγο η εξωτερική επανάληψη δεν γίνεται ατέρμων βρόχος αφού η εσωτερική δίνει πάντα στο i την τιμή 2.
for i in range(5):
print i
i=3
Δεν έχει σχέση με την εμβέλεια / scope.
Σε άλλες γλώσσες προγραμματισμού το παραπάνω θα ήταν άπειρο loop αφού θέτουμε τον μετρητή στο 3 εντός του loop.
Στην python δουλεύει κανονικά επειδή η υλοποίηση της "for ... in" δεν χρησιμοποιεί καθόλου το "i".
Απλά καλεί την "next()" function του iterator.
Το i δεν είναι "μετρητής του loop", αλλά στην αρχή κάθε επανάληψης παίρνει την τρέχουσα τιμή του iterator, ο οποίος είναι "ο κρυφός μετρητής του loop".
Το ίδιο παράδειγμα χωρίς καθόλου i:
t=iter(range(5))
print next(t)
print next(t)
print next(t)
print next(t)
print next(t)
Είπα να μην μιλήσω για iterators, γιατί με κάτι τέτοια τρομάζει ο κόσμος και λέει τι καλά που είμασταν στην ΓΛΩΣΣΑ >:D
Λοιπόν τη συγκεκριμένη λειτουργία για να την εξηγήσω στους μαθητές έδινα παραδείγματα αντίστοιχα με το παρακάτω:
for i in [6,28,496]:
print("πριν ", i)
i = 2025
print("μετά ", i)
print("τελική ", i)
Δεν μιλούσα καθόλου για iterators (προφανώς :laugh:)
Είναι σημαντικό να καταλάβουν οι μαθητές ότι δεν υφίσταται μεταβολή του i με την έννοια της αύξησης ή μείωσης αλλά ότι κάθε φορά στο i αποδίδεται το επόμενο στοιχείο της λίστας. Για αυτό χρειάζεται μια λίστα με τιμές που δεν ακολουθούν κάποιο μοτίβο.
Στο βιβλίο έχουμε αντίστοιχα παραδείγματα αλλά φοβάμαι ότι οι περισσότεροι καθηγητές ερχόμενοι από την pascal απλά λένε στους μαθητές ότι αν θες να εμφανίσεις από 1 μέχρι 10 γράψε for i in range(10)
δεν εξηγούν το range και το αντιμετωπίζουν όλο αυτό σαν ένα ιδίωμα και από εκεί ξεκινούν όλα τα προβλήματα.
για να μην πω το χειρότερο από όλα ότι κάποιοι κάνουν και μετατροπή for σε while όπως στο ΓΕΛ.
Παράθεση από: evry στις 11 Ιουν 2025, 10:32:59 ΜΜΑς τα πάρουμε ένα ένα.
Καταρχάς ελπίζω να παραπληροφορείς από άγνοια και όχι σκόπιμα. Όλα αυτά που λες δεν ισχύουν!
Ο μαθητής σου λόγω άγχους έκανε ένα λάθος. Πολλοί μαθητές λόγω άγχους κάνουν λάθος και χάνουν μονάδες.
Ο κώδικας που δίνεις, πέρα από το γεγονός ότι είναι σε Python 3, δεν ξέρω γιατί αφού κάνουμε Python 2, δεν έχει τη λειτουργία που εσύ λες ότι έχει.
Ο εσωτερικός βρόχος μια χαρά επηρεάζει το i του εξωτερικού, Για παράδειγμα το παρακάτω τμήμα κώδικα:
j = 2025
k = 0
for j in range(10):
k = k + j
print("j = ", j)
θα εκτυπώσει 9 και όχι 2025 και στην Python 2 και στην Python 3 άρα ο μαθητής σου θα χάσει τις μονάδες που πρέπει να χάσει, γιατί έκανε λάθος.
Ωστόσο ακόμα και αν είχες δίκιο πάλι θα έπρεπε να κόψουν γιατί ο μαθητής δεν το έκανε συνειδητά. Άρα το να πάρει κάποιος μονάδες κατά τύχη είναι ένα θέμα. (Αφήνω στην άκρη το γεγονός ότι μπήκες εδώ για να επηρεάσεις τους βαθμολογητές και επίσης αναρωτήθηκες αν "ξέρουν" Python).
ΥΓ. Οι επαναλήψεις γίνονται κανονικά, και αυτό αξίζει να το διερευνήσει κάποιος γιατί συμβαίνει.
Καταρχας θα παρακαλουσα
να μιλας ποιο ευγενικα γιατι με προσβάλεις ,τους χαρακτηρισμους σου στους επιστρεφω ,το τμήμα κώδικα που παρεθεσα με εμφωλευμενες for κανει αυτο ακριβως που ανεφερα ,παρεθεσα
και παραδειγμα που το αγνοεις και λες τα δικα σου ,αλλά και την
ολοκληρωμενη λύση του θεματος Δ η οποια τρεχει τοσο σε Python 2.7.x όσο και σε Python 3.11.x .αναφερομαι σε αυτο ακριβως στις
εμφωλευμενες for και πως αντιμετωπίζονται απο τη Python γεγονός που μου προκάλεσε και μενα εκπληξη αλλά συμβαινει και οχι σε αυτα που παραθετεις εσυ με εντελως ασχετα παραδειγματα,αν έχεις να προσθεσεις κατι σε αυτα που παρεθεσα καλως :)
Παράθεση από: tpapo στις Χθες στις 08:19:30 ΠΜΚαταρχας θα παρακαλουσα να μιλας ποιο ευγενικα γιατι με προσβάλεις ,τους χαρακτηρισμους σου στους επιστρεφω ,το τμήμα κώδικα που παρεθεσα με εμφωλευμενες for κανει αυτο ακριβως που ανεφερα ,παρεθεσα και παραδειγμα που το αγνοεις και λες τα δικα σου ,αλλά και την ολοκληρωμενη λύση του θεματος Δ η οποια τρεχει τοσο σε Python 2.7.x όσο και σε Python 3.11.x .αναφερομαι σε αυτο ακριβως στις εμφωλευμενες for και πως αντιμετωπίζονται απο τη Python γεγονός που μου προκάλεσε και μενα εκπληξη αλλά συμβαινει και οχι σε αυτα που παραθετεις εσυ με εντελως ασχετα παραδειγματα,αν έχεις να προσθεσεις κατι σε αυτα που παρεθεσα καλως :)
Αυτά που έχεις γράψει με bold στο αρχικό σου μήνυμα, δεν ισχύουν, είναι λανθασμένα. Έγραψες
ΠαράθεσηΣτην Python, αν χρησιμοποιείς τον ίδιο δείκτη i σε δύο εμφωλευμένους βρόχους for, δεν θα υπάρξει πρόβλημα, επειδή κάθε βρόχος δημιουργεί το δικό του πεδίο (scope) για τη μεταβλητή i. Η τιμή του i στον εσωτερικό βρόχο δεν επηρεάζει την τιμή του i στον εξωτερικό βρόχο, καθώς η Python χειρίζεται σωστά την εναλλαγή των τιμών κατά την εκτέλεση.
Ούτε scope δημιουργείται, ούτε τίποτα και η τιμή της εσωτερικής επηρεάζει την εξωτερική, όπως φαίνεται από τα παραπάνω παραδείγματα.
Η for πραγματι στην Python δεν ορίζει νεο scope (εμβέλεια) για τις μεταβλητές, και το official documentation (https://docs.python.org/dev/reference/compound_stmts.html#for) λεει ξέκαθαρα "Names in the target list are not deleted when the loop is finished" (οπου "names in target list" ειναι το i στα παραδειγματα που βαλατε πιο πανω).
Με δεδομένο όμως οτι στο συγκεκριμένο θεμα δεν χρησιμοποιείται πουθενα ο "μετρητής" i δεν βλεπω το λογο που θα έπρεπε να κοπούν μονάδες (αλλα ειμαι άσχετος με το μαθημα, και πώς θα έπρεπε να διορθώνονται τα γραπτα...) Π.χ. θα μπορουσε να χρησιμοποιήσει το underscore για δηλώσει οτι δεν μας ενδιαφέρει η τιμή του μετρητη:
for _ in range(300):
c = input("Κώδικος:")
# ...
Παράθεση από: sgsfak στις Χθες στις 09:01:49 ΠΜΗ for πραγματι στην Python δεν ορίζει νεο scope (εμβέλεια) για τις μεταβλητές, και το official documentation (https://docs.python.org/dev/reference/compound_stmts.html#for) λεει ξέκαθαρα "Names in the target list are not deleted when the loop is finished" (οπου "names in target list" ειναι το i στα παραδειγματα που βαλατε πιο πανω).
Με δεδομένο όμως οτι στο συγκεκριμένο θεμα δεν χρησιμοποιείται πουθενα ο "μετρητής" i δεν βλεπω το λογο που θα έπρεπε να κοπούν μονάδες (αλλα ειμαι άσχετος με το μαθημα, και πώς θα έπρεπε να διορθώνονται τα γραπτα...) Π.χ. θα μπορουσε να χρησιμοποιήσει το underscore για δηλώσει οτι δεν μας ενδιαφέρει η τιμή του μετρητη:
for _ in range(300):
c = input("Κώδικος:")
# ...
Αν δεν μας ενδιαφέρουν οι τιμές του i αλλά μόνο το πλήθος των επαναλήψεων τότε δεν έχει διαφορά με το αντίστοιχο με i, j.
Το αν κάποιος βαθμολογητής θα κόψει ή όχι , είναι στην κρίση του, γιατί είναι φανερό ότι έγινε κατά λάθος και δεν δείχνει κατανόηση από την πλευρά του μαθητή. Έχει να κάνει και με την συνολική εικόνα του γραπτού.
Είναι ξεκάθαρα στην κρίση του/της βαθμολογητή/-τριας.
Το ερωτημα ηταν "τροφη για σκεψη" και οχι πεδιο αντιπαραθεσεων που εγω δε καταλαβαινω ,χαρακτηρισμοι όπως ασχετοι ,παραπληροφορηση ,επηρεασμος βαθμολογητων κτλ εγω δε τους δεχομαι απο τη στιγμη που αναφερω ότι προκάλεσε εκπληξη και σε μενα η συγκεκριμενη λύση ΠΟΥ ΟΜΩς ΤΡΕΧΕΙ ΑΨΟΓΑ ΣΕ ΟΛΑ ΤΑ ΕΠΙΠΕΔΑ .
ΣΕ ΠΡΟΚΑΛΩ ΝΑ ΤΡΕΞΕΙς ΤΟΝ ΟΛΟΚΛΗΡΩΜΕΝΟ ΚΩΔΙΚΑ ΠΟΥ ΠΑΡΕΘΕΣΑ ΣΤΟ 1ο POST (ΘΕΜΑ Δ) ΚΑΙ ΝΑ ΜΟΥ ΥΠΟΔΕΙΞΕΙΣ ΤΟ ΛΑΘΟΣ ,ΑΝ ΟΧΙ ΝΑ ΓΡΑΨΕΙς ΕΔΩ ΟΤΙ ΝΑΙ ΤΡΕΧΕΙ ΣΩΣΤΑ ΚΑΙ ΑΠΟΤΕΛΕΙ ΜΙΑ ΟΛΟΚΛΗΡΩΜΕΝΗ ΛΥΣΗ ,ΤΕΛΟς -
Παράθεση από: tpapo στις Χθες στις 09:24:28 ΠΜΤο ερωτημα ηταν "τροφη για σκεψη" και οχι πεδιο αντιπαραθεσεων που εγω δε καταλαβαινω ,χαρακτηρισμοι όπως ασχετοι ,παραπληροφορηση ,επηρεασμος βαθμολογητων κτλ εγω δε τους δεχομαι απο τη στιγμη που αναφερω ότι προκάλεσε εκπληξη και σε μενα η συγκεκριμενη λύση ΠΟΥ ΟΜΩς ΤΡΕΧΕΙ ΑΨΟΓΑ ΣΕ ΟΛΑ ΤΑ ΕΠΙΠΕΔΑ .
ΣΕ ΠΡΟΚΑΛΩ ΝΑ ΤΡΕΞΕΙς ΤΟΝ ΟΛΟΚΛΗΡΩΜΕΝΟ ΚΩΔΙΚΑ ΠΟΥ ΠΑΡΕΘΕΣΑ ΣΤΟ 1ο POST (ΘΕΜΑ Δ) ΚΑΙ ΝΑ ΜΟΥ ΥΠΟΔΕΙΞΕΙΣ ΤΟ ΛΑΘΟΣ ,ΑΝ ΟΧΙ ΝΑ ΓΡΑΨΕΙς ΕΔΩ ΟΤΙ ΝΑΙ ΤΡΕΧΕΙ ΣΩΣΤΑ ΚΑΙ ΑΠΟΤΕΛΕΙ ΜΙΑ ΟΛΟΚΛΗΡΩΜΕΝΗ ΛΥΣΗ ,ΤΕΛΟς -
Προκαλείς κιόλας και θέλεις και να γράψω εδώ ότι ο κώδικάς σου τρέχει σωστά και αποτελεί ολοκληρωμένη λύση? Για ποιον λόγο άραγε;
Μπήκες εδώ και είπες τα εξής:
ΠαράθεσηΣτην Python, αν χρησιμοποιείς τον ίδιο δείκτη i σε δύο εμφωλευμένους βρόχους for, δεν θα υπάρξει πρόβλημα, επειδή κάθε βρόχος δημιουργεί το δικό του πεδίο (scope) για τη μεταβλητή i. Η τιμή του i στον εσωτερικό βρόχο δεν επηρεάζει την τιμή του i στον εξωτερικό βρόχο, καθώς η Python χειρίζεται σωστά την εναλλαγή των τιμών κατά την εκτέλεση.
τα οποία δεν ισχύουν! Και αυτό ακριβώς σου είπα. ότι παραπληροφορείς.
Μην τα ξαναλέμε, δεν υπάρχει scope και η τιμή του i επηρεάζεται.
Είπες πράγματα που δεν ισχύουν και ο κώδικας που παρέθεσες με τα print το αποδεικνύει.
Επίσης εσύ έκανες σχόλια για τους βαθμολογητές και καλά μήπως δεν τα ξέρουν κλπ.
Εγώ δεν χρησιμοποίησα χαρακτηρισμούς και ήμουν πολύ προσεκτικός σε αυτά που έγραψα.
Παράθεση από: evry στις Χθες στις 10:14:50 ΠΜΠροκαλείς κιόλας και θέλεις και να γράψω εδώ ότι ο κώδικάς σου τρέχει σωστά και αποτελεί ολοκληρωμένη λύση? Για ποιον λόγο άραγε;
Μπήκες εδώ και είπες τα εξής:
τα οποία δεν ισχύουν! Και αυτό ακριβώς σου είπα. ότι παραπληροφορείς.
Μην τα ξαναλέμε, δεν υπάρχει scope και η τιμή του i επηρεάζεται.
Είπες πράγματα που δεν ισχύουν και ο κώδικας που παρέθεσες με τα print το αποδεικνύει.
Επίσης εσύ έκανες σχόλια για τους βαθμολογητές και καλά μήπως δεν τα ξέρουν κλπ.
Εγώ δεν χρησιμοποίησα χαρακτηρισμούς και ήμουν πολύ προσεκτικός σε αυτά που έγραψα.
NA ΑΠΑΝΤΗΣΕΙΣ
( σε προκαλώ ναι ) ΑΝ Ο ΚΩΔΙΚΑΣ ΠΟΥ ΠΑΡΕΘΕΣΑ ΕΧΕΙ ΛΑΘΟΣ ΚΑΙ ΠΟΥ ,ΕΔΩ ΤΩΡΑ ,ΑΣΕ ΤΑ ΥΠΟΛΟΙΠΑ ΚΑΙ ΑΝ ΑΠΟΤΕΛΕΙ ΛΥΣΗ ΤΟΥ ΘΕΜΑΤΟΣ Δ.οτι ακριβως εχω γραψει τιποτε αλλο
Παράθεση από: tpapo στις Χθες στις 10:22:05 ΠΜNA ΑΠΑΝΤΗΣΕΙΣ ΑΝ Ο ΚΩΔΙΚΑΣ ΠΟΥ ΠΑΡΕΘΕΣΑ ΕΧΕΙ ΛΑΘΟΣ ΚΑΙ ΠΟΥ ,ΕΔΩ ΤΩΡΑ ,ΑΣΕ ΤΑ ΥΠΟΛΟΙΠΑ ΚΑΙ ΑΝ ΑΠΟΤΕΛΕΙ ΛΥΣΗ ΤΟΥ ΘΕΜΑΤΟΣ Δ.οτι ακριβως εχω γραψει τιποτε αλλο
Για ποιο λόγο; Δεν μπορείς να χρησιμοποιήσεις ένα περιβάλλον για να δεις αν είναι σωστό;
Γιατί θέλεις την επικύρωση άλλων?
Επίσης λίγο προσοχή στο υφάκι σου., τις διαταγές αλλού και μάθε να γράφεις με μικρά.
Παράθεση από: evry στις Χθες στις 10:24:49 ΠΜΓια ποιο λόγο; Δεν μπορείς να χρησιμοποιήσεις ένα περιβάλλον για να δεις αν είναι σωστό;
Γιατί θέλεις την επικύρωση άλλων?
Επίσης λίγο προσοχή στο υφάκι σου., τις διαταγές αλλού και μάθε να γράφεις με μικρά.
ΣΕ ΠΡΟΚΑΛΩ ΝΑ ΜΟΥ ΑΠΟΔΕΙΞΕΙΣ ΜΙΑ ΚΑΙ ΕΙΣΑΙ ΓΝΩΣΤΗΣ ΤΗς PYTHON που υπάρχει λαθος στον κωδικα που παρεθεσα ! Τους προσβλητικους χαρακτηρισμους περι ασχετοσυνης ,αγνοιας κτλ που
ΠΡΩΤΟΣ ΕΓΡΑΨΕΣ στους επιστρεφω
Παράθεση από: tpapo στις Χθες στις 10:47:24 ΠΜ ΣΕ ΠΡΟΚΑΛΩ ΝΑ ΜΟΥ ΑΠΟΔΕΙΞΕΙΣ ΜΙΑ ΚΑΙ ΕΙΣΑΙ ΓΝΩΣΤΗΣ ΤΗς PYTHON που υπάρχει λαθος στον κωδικα που παρεθεσα ! Τους προσβλητικους χαρακτηρισμους περι ασχετοσυνης ,αγνοιας κτλ που ΠΡΩΤΟΣ ΕΓΡΑΨΕΣ στους επιστρεφω
Μα δεν είμαι γνώστης της Python. Δεν είπα ότι ξέρω Python.
Και όλο αυτό είναι ο βασικός λόγος που δεν πρέπει να πάμε σε πραγματική γλώσσα προγραμματισμού ΠΟΤΕ
Παράθεση από: petrosp13 στις Χθες στις 11:36:06 ΠΜΚαι όλο αυτό είναι ο βασικός λόγος που δεν πρέπει να πάμε σε πραγματική γλώσσα προγραμματισμού ΠΟΤΕ
Ποιος είναι ακριβώς ο βασικός λόγος Πέτρο;
Η άποψη μου είναι αυτή και δεν θα αλλάξει ποτέ (μάλλον)
Οι γλώσσες εξελίσσονται και μια λειτουργία, ιδιαιτερότητα, ασάφεια κτλ που (δεν) υπάρχει σε μια έκδοση της γλώσσας, μπορεί να μην υπάρχει στην επόμενη
Μπορεί στο βιβλίο να ορίζουμε ότι κάνουμε την ΓΛΩΣΣΑ 3.1.13 και μέσα σε 2 χρόνια η γλώσσα αυτή να έχει φτάσει στην 5.2.17 με άπειρες παραπάνω δυνατότητες
Τι θα λέμε σε ένα παιδί που προγραμματίζει από το Γυμνάσιο σε αυτή την γλώσσα;
Ότι η swap που χρησιμοποίησες δεν υπάρχει στο διδακτικό πακέτο και άρα πρέπει να βάλεις 3 εντολές;
Υποτίθεται ότι κάθε λύση επιστημονικά τεκμηριωμένη είναι δεκτή
Οι real γλώσσες προγραμματισμού είναι αχανείς και θα γίνονται όλο και πιο αχανείς με επιπλέον δυνατότητες
Οι δυνατότητες που θα προσφέρουν στον προγραμματιστή θα είναι τεράστιες και θα ξεφεύγουν πολύ από τα όρια ενός μαθήματος, πόσο μάλλον από τις γνώσεις ενός βαθμολογητή πανελλαδικών
Καλύτερα μια "μικρή" γλώσσα αυστηρά προσδιορισμένη που διδάσκει αλγοριθμική, παρά αυτή η διαμάχη που υπάρχει στο παρόν τόπικ και θα είναι καθημερινή αν εισάγουμε real γλώσσα
Αν κάποιος μάθει αλγοριθμική, κάθε γλώσσα μετά είναι "εύκολη"
Ας μην ανοίξουμε τους ασκούς του Αιόλου μόνοι μας
Παράθεση από: petrosp13 στις Χθες στις 12:31:39 ΜΜΚαλύτερα μια "μικρή" γλώσσα αυστηρά προσδιορισμένη που διδάσκει αλγοριθμική, παρά αυτή η διαμάχη που υπάρχει στο παρόν τόπικ και θα είναι καθημερινή αν εισάγουμε real γλώσσα
Η διαμάχη στο παρον τοπικ δεν εχει να κανει με την εκδοση της Python. Πέραν τουτου, προσωπικα θα προτιμούσα τα παιδιά μου
1 να διδασκονται προγραμματισμο με μια πραγματικη γλώσσα προγ/μου όπως ειναι η Python (version 3, κατα προτιμηση :-) ) παρα να εχουν όλες αυτές τις ασαφειες και τα θεματα στα οποια διαφωνείτε όλοι εσεις που διδάσκετε το μαθημα με τη ΓΛΩΣΣΑ (και τα διαβαζω με ενδιαφερον κατα καιρους :) ).
1 "Disclaimer": Δεν ειμαι καθηγητής, αν και αποφοιτος Πληροφορικής, οποτε μονο ως γονιός το βλεπω...
Μόνο στην Ελλάδα, τι να κάνουμε είμαστε παγκόσμια πρωτοτυπία αλλά και το καλύτερο παράδειγμα σε αυτό που είχε πει η Grace Hopper
"The most dangerous phrase in the English language is "We've always done it this way"
Ο παραπάνω πίνακας δεν ειναι αντιπροσωπευτικός για τη χώρα μας μια και δεν περιλαμβανει την τεχνική εκπαιδευση όπου απο το 2016-17 διδάσκεται η Python στη Β & Γ λυκείου της ειδικοτητας του Τομέα Πληροφορικής ( Μάθημα Προγραμματισμός ΗΥ ) αλλά και σε ολη τη Γ τάξη γενικής παιδείας (Εισαγωγή στην Επιστημη των ΗΥ) Θα χρειαζόταν μια αναβαθμιση των σχολικων βιβλιων και αναδιοργανωση της ύλης σαφεστατα ,αλλά αυτό ειναι άλλο θέμα
Υ.Γ Βέβαια άλλο είναι το θέμα στο παρόν topic αλλά τεσπά...
Θα μπορούσαμε να αντιγράψουμε την Κύπρο ίσως
https://sch.cy/mc/1007/2024_06_19_015_themata.pdf (https://sch.cy/mc/1007/2024_06_19_015_themata.pdf)
*υπάρχει δομική διαφορά στα θέματα σε κάθε μάθημα, ανεξαρτήτως διδασκόμενης γλώσσας.
Γενικά οι αντιγραφές συστημάτων άλλων χωρών σε μας δεν έχουν πάει και τόσο καλά.
Στην Κύπρο κάνουν C++ στο Λύκειο πράγμα απαράδεκτο από παιδαγωγικής πλευράς. Αν απευθύνεσαι μόνο σε πληροφορικούς τότε ναι να ξεκινήσουν από C++. Αλλά στην κατεύθυνση οικονομίας-πληροφορικής ή σε μια γενικότερη θετική κατεύθυνση δεν μπορείς να κάνεις C++ γιατί έχει υψηλό συντακτικό θόρυβο και θα χάσεις πολύ ώρα με το συντακτικό και τις τεχνικές λεπτομέρειες.
Αυτό δεν ισχύει στην Python ή και στην Javascript που η σύνταξή τους είναι καλύτερη και από την ψευδογλώσσα. Δοκιμάστε να συγκρίνετε έναν αλγόριθμο διαχωρισμού πίνακα σε θετικούς και αρνητικούς σε ψευδογλώσσα και Python. Η Python είναι ανώτερη αλγοριθμικά από όλες τις απόψεις.
Τι θα έπρεπε να γίνει τώρα στη δική μας χώρα.
Τα παιδιά από του χρόνου θα κάνουν Python στο Γυμνάσιο. Κανονικά από φέτος έπρεπε αλλά κάποιοι καθηγητές με την αφορμή ότι δεν έχουν το βιβλίο στα χέρια τους δεν έκαναν. Του χρόνου δεν θα έχουν καμία δικαιολογία.
Στο Λύκειο στις δυο πρώτες τάξεις καλό θα είναι να γράφουν κώδικα σε Python οι μαθητές μαζί με κάποια στοιχεία της επιστήμης της πληροφορικής, τεχνητή νοημοσύνη και ρομποτική.
Τα δυο τελευταία προφανώς μπορούν να γίνουν σε Python. Σε ΓΛΩΣΣΑ δε νομίζω , έτσι δεν είναι;
Αφού θα έχουν διδαχθεί τις βασικές προγραμματιστικές δομές στις δυο τάξεις πάμε στη Γ και εκεί έχουμε πιο προχωρημένα πράγματα, όπως δομές δεδομένων, αλγορίθμους σε γράφους, ταξινόμηση, αναζήτηση και λίγο από πολυπλοκότητα.
Εδώ θα μπορούσε να χρησιμοποιηθεί και ψευδογλώσσα για πολύπλοκους αλγορίθμους όπως ο αλγόριθμος του dijkstra πχ.
Σχετικά με την Python.
Σε λίγο καιρό θα διδάσκονται προγραμματισμό με τη γλώσσα Python εκτός από τους πληροφορικούς και τους μηχανικούς και οι οικονομολόγοι. Κάποιοι φυσικά κάνουν R.
Άρα η γλώσσα αυτή είναι κάτι που θα βρουν και μπροστά τους στις σπουδές τους. Προφανώς δεν υπάρχει άλλη επιλογή.
Σχετικά με το επιχείρημα ότι η Python εξελίσσεται και αλλάζουν οι εκδόσεις. Προφανώς και εξελίσσεται γιατί η πληροφορική είναι τέτοια επιστήμη. Όποιος είναι πληροφορικός ξέρει καλά ότι ειδικά στις γλώσσες προγραμματισμού δεν υπάρχει καμία σταθερά. Όλα αλλάζουν, θα πρέπει να ενημερώνεσαι συνεχώς. Αν κάποιοι νομίζουν ότι θα κάνουν την ίδια γλώσσα προγραμματισμού για είκοσι χρόνια προφανώς δεν είναι επιστήμονες πληροφορικής.
Πως λύνουμε το θέμα των αλλαγών. Με μια συγγραφική ομάδα που θα υπάρχει και θα ανανεώνει τα βιβλία κάθε 3 χρόνια ας πούμε. δεν χρειάζονται μεγάλες αλλαγές. Αν για παράδειγμα συγκρίνετε την Python 2 με την 3 μόνο στο μέρος της ύλης που διδάσκεται στα ΕΠΑΛ οι αλλαγές είναι πολύ λίγες. Η ουσία δεν αλλάζει ουσιαστικά.
Ποια είναι τώρα τα αρνητικά και οι λόγοι που φρενάρουν αυτή την επιλογή:
1) Οι εκπαιδευτικοί θα πρέπει να διαβάσουν , να μελετήσουν από την αρχή
2) Να γράψουν από την αρχή όλες τις σημειώσεις τους
3) Να ξαναγραφτούν από την αρχή τα λυσάρια-βοηθήματα
4) Το σημαντικότερο από όλα: Να αλλάξουν φιλοσοφία διδασκαλίας
Αυτά ως σκέψεις μια και θίξατε το θέμα της Κύπρου και των αλλαγών.
ΥΓ Επίσης να σταματήσει αυτό το παραμύθι ότι στο μάθημα στο Γενικό Λύκειο κάνουμε Αλγοριθμική. Προγραμματισμό στα ελληνικά κάνουμε (ή μάλλον κάνετε μια και εγώ πλέον δεν διδάσκω σε ΓΕΛ)
Η διαφορά μας δεν είναι η γλώσσα, είναι αλλά δεν εννοώ αυτό. Αναφέρομαι σε όλα τα αντικείμενα και στην στάση/δομή των θεμάτων. Το πνεύμα ας πούμε έτσι.
Παράθεση από: o_Antonis στις Χθες στις 10:16:43 ΜΜΗ διαφορά μας δεν είναι η γλώσσα, είναι αλλά δεν εννοώ αυτό. Αναφέρομαι σε όλα τα αντικείμενα και στην στάση/δομή των θεμάτων. Το πνεύμα ας πούμε έτσι.
ok κατάλαβα. Αλλά με κάθε εκτίμηση το λάθος είναι στο εξής.
Δεν είναι δυνατόν να σχεδιάζεται ένα μάθημα με βάση τα θέματα.
Πρώτα σχεδιάζουμε το μάθημα πρώτα λέμε τι θέλουμε να ξέρουν οι μαθητές και μετά έρχεται η αξιολόγηση και το ύφος/είδος των θεμάτων.
Δεν ασχολούμαστε μόνο με τη Γ Λυκείου αλλά με όλες τις τάξεις γιατί τώρα η πληροφορική ως μάθημα έχει και προαπαιτούμενες γνώσεις. π.χ. οι βασικές αλγοριθμικές δομές και τα διαγράμματα ροής έχουν γίνει στη Β.
Κάτι άλλο. Ένα μεγάλο λάθος που γίνεται είναι η ρηχή λογική ότι και καλά κάνουμε αλγοριθμική ενώ στην πραγματικότητα δεν κάνουμε αλγοριθμική, γιατί αλγοριθμική σημαίνει σχεδίαση αλγορίθμων όπως για παράδειγμα έχουμε στους διαγωνισμούς πληροφορικής. Εδώ όχι μόνο τους δίνουμε τον αλγόριθμο, δίνουμε ακόμα και τα ονόματα των πινάκων και μετά έχουμε το θράσος και την έπαρση να μιλάμε για ...... αλγοριθμική.
Αυτό που διδάσκεται είναι προγραμματισμός στα ελληνικά στην χειρότερη πιο αντιεπιστημονική και πιο αντιπαιδαγωγική μορφή του. Αλλά δε μιλάει κανείς γιατί όλοι βολεύονται με τον έναν ή τον άλλο τρόπο.
Το τελευταίο το οποίο χαλάει λίγο το αφήγημα.
Δεν υπάρχει η έννοια της αλγοριθμικής όπως την εννοούν κάποιοι. επειδή κάποιοι έμαθαν να προγραμματίζουν σε Pascal νομίζουν ότι αν γράφεις ελληνική Pascal κάνεις Αλγοριθμική.
Δεν πάει έτσι.
Η σχεδίαση αλγορίθμων εξαρτάται από το υπολογιστικό μοντέλο και τα εργαλεία που έχεις στα χέρια σου.
Αυτό σημαίνει ότι ότι η αλλαγή προγραμματιστικού παραδείγματος αλλάζει το μάθημα, αλλάζει τη φιλοσοφία. Όταν έχεις στα χέρια σου τα εργαλεία που σου δίνει η Python δεν μπορεί να ζητάς ασκήσεις που θέλουν προγραμματισμό δεκαετίας 80.
Η αλλαγή γλώσσας αλλάζει και τη διδασκαλία και αυτό που λέμε αλγοριθμική. Δυστυχώς αυτό αρνούνται κάποιοι να το δεχθούν και για αυτό έχουμε φτάσει ως εδώ.
Και για αυτό ακόμα και αν μπει Python στο ΓΕΛ δεν θα αλλάξουν πολλά γιατί όλοι θα κάνουν την Python Pascalοειδώς.
Ερώτηση: Στο ΜΙΤ που τόσα χρόνια έκαναν στο εισαγωγικό μάθημα τη συναρτησιακή γλώσσα Scheme, ήταν άσχετοι ε? Που να ξέρουν και αυτοί.
Εν τω μεταξύ στο βιβλίο έχει σε άπειρα σημεία τη λέξη abstraction. Στο δικό μας μάθημα που την έχει;
Σύνδεσμος: https://web.mit.edu/6.001/6.037/sicp.pdf (https://web.mit.edu/6.001/6.037/sicp.pdf)
Συμπέρασμα: Αν σύντομα δεν σοβαρευτούμε και δεν αναβαθμίσουμε τα μαθήματά μας, κάτι που σίγουρα θα κάνουν οι άλλες ειδικότητες (ετοιμαστείτε να δείτε κώδικα σε R στα οικονομικά, Python σε Φυσική-Μαθηματικά, Matlab σε Χημεία) θα έρθει μια μέρα που θα μας πουν ότι κοιτάξτε τα παιδιά ξέρουν να γράφουν κώδικα, αυτό που εσείς αποκαλείτε αλγοριθμική σε μια ανύπαρκτη γλώσσα δεν χρειάζεται σε κανέναν. Δεν έχετε αντικείμενο στο Λύκειο και .,, άντε γεια
Όπως ακριβώς έγινε και με τα μαθήματα επιλογής που εξαφανίστηκαν σε μια νύκτα.
Παράθεση από: evry στις Χθες στις 09:59:08 ΜΜΠως λύνουμε το θέμα των αλλαγών. Με μια συγγραφική ομάδα που θα υπάρχει και θα ανανεώνει τα βιβλία κάθε 3 χρόνια ας πούμε. δεν χρειάζονται μεγάλες αλλαγές. Αν για παράδειγμα συγκρίνετε την Python 2 με την 3 μόνο στο μέρος της ύλης που διδάσκεται στα ΕΠΑΛ οι αλλαγές είναι πολύ λίγες. Η ουσία δεν αλλάζει ουσιαστικά.
25 χρόνια ΓΛΩΣΣΑ
Βελτιώσεις μηδαμινές, λεπτομέρειες και ασάφειες πολλές
Με το ίδιο βιβλίο έδωσα Πανελλαδικές το 2000
Προστέθηκε νέα ύλη και αντί να γραφτεί ένα νέο εγχειρίδιο, προσθέσαμε ένα συμπληρωματικό υλικό και ένα βιβλίο με ένα ύλη και τελικά έχουμε τουλάχιστον 5 βιβλία Πληροφορικής στην μοιρασιά με τον αγιασμό
Δεν υπάρχει άνθρωπος στον κλάδο μας να πάρει αποφάσεις και να βγάλει εκτός ύλης άχρηστα κεφάλαια που δεν εξετάζονται ποτέ
Δεν υπάρχει κεντρική διαχείριση, δεν υπάρχει προγραμματισμός, όλα είναι στο πόδι (όπως όλα στην χώρα)
Και ζητάς Ευρυπίδη να υπάρχει συγγραφική ομάδα που θα ακολουθάει τις εξελίξεις και θα ανανεώνει το σχολικό εγχειρίδιο κάθε 2 - 3 χρόνια
Αυτό μοιάζει στα αυτιά μου ρομαντικό, για να μην πω ουτοπικό
Εγώ είμαι διατεθειμένος να αλλάξω όλα τα βιβλία και τις σημειώσεις μου, να διαβάσω για να μάθω Python, αλλά η κατάσταση που βλέπω στον κλάδο μας επί 23 χρόνια που διδάσκω το μάθημα, δεν μου δίνει προοπτική, ίσα ίσα μου προκαλεί την εντύπωση ότι η οποιαδήποτε αλλαγή θα γίνει πρόχειρα και θα δημιουργήσει για πολλά χρόνια περισσότερα προβλήματα από αυτά που θα λύσει
Νομίζω ότι το ΑΕΠΠ έκανε τουλάχιστον μια δεκαετία για να σταθεροποιηθεί και να φτάσει σε ένα ικανοποιητικό επίπεδο, με προβλήματα που ακόμα υπάρχουν
Κάτι αντίστοιχο θα συμβεί αν η αλλαγή γίνει όπως και το 2000
Τα ΓΕΛ δεν είναι ΕΠΑΛ
Υπάρχουν υποψήφιοι με υψηλές ικανότητες και βλέψεις, τα φώτα της δημοσιότητας πέφτουν πάνω στις πανελλαδικές αυτές και το οποιοδήποτε μπάχαλο θα ακουστεί
Αν ο κλάδος δεν οργανωθεί και συστηματικά να επιδιώξει αλλαγές προς την σωστή κατεύθυνση, οι μεταβολές θα δημιουργούν πολλά προβλήματα
Δεν λέω να μη γίνουν μεταβολές, αλλά η εικόνα που έχω από το καλοκαίρι του 2013 είναι ότι δεν υπάρχει τίποτα οργανωμένο όσον αφορά την διδασκαλία της Πληροφορικής στο δημόσιο σχολείο
Πέτρο υπάρχουν πολλές αλήθειες σε αυτά που λες.
Όμως αν σκεφτόμασταν έτσι τότε στο ΕΠΑΛ θα έκαναν ακόμα Pascal και Visual Basic. Το φαντάζεσαι? Σε επαγγελματικό λύκειο που έχει σκοπό να σε βγάλει γρήγορα στην αγορά να πας σε μια εταιρεία και να πεις ξέρω pascal και VB.
Ευτυχώς βρέθηκαν κορόιδα που εργάστηκαν αμισθί και αφιλοκερδώς και θυσίασαν πολλά ώστε να υπάρχουν αυτά τα βιβλία.
Το ίδιο έγινε και στο Γυμνάσιο φέτος.
Το ίδιο θα μπορούσε να γίνει και στο ΓΕΛ αρκεί να βρεθούν οι κατάλληλοι άνθρωποι με μεράκι και όραμα στις κατάλληλες θέσεις.
Παράθεση από: evry στις Χθες στις 11:37:37 ΜΜΣε επαγγελματικό λύκειο που έχει σκοπό να σε βγάλει γρήγορα στην αγορά να πας σε μια εταιρεία και να πεις ξέρω pascal και VB.
Ερώτηση
Εγώ κι εσύ δεν διδαχτήκαμε ποτέ Python
Πόσο χρόνο πιστεύεις ότι θα χρειαστούμε για να μάθουμε να είμαστε ικανοί στην Python;
Κάπου θεωρώ ότι υπερεκτιμάτε την οποιαδήποτε γλώσσα, ενώ το ζητούμενο είναι η απόκτηση ικανότητας στην προγραμματιστική σκέψη
Είτε ΓΛΩΣΣΑ, είτε Python, ένας ικανός προγραμματιστής θα την βρει την άκρη εύκολα και γρήγορα
Τα παιδιά που στέλνουμε κάθε χρόνο στα ΑΕΙ Πληροφορικής το επιβεβαιώνουν
ΥΓ. Σήμερα μου έστειλε μια πρώην μαθήτρια μήνυμα για να μου πει πόσο την βοήθησαν αυτά τα "κωμικά" που διδάσκουμε στον Αντικειμενοστραφή
Παράθεση από: petrosp13 στις Χθες στις 11:42:16 ΜΜΤα παιδιά που στέλνουμε κάθε χρόνο στα ΑΕΙ Πληροφορικής το επιβεβαιώνουν
Δεν επιβεβαιώνουν απολύτως τίποτα Πέτρο. Αυτό είναι μια καραμέλα δική μας για να πούμε ότι κάτι κάνουμε.
Όπου έχω διδάξει (ΠΑΔΑ, ΟΠΑ) στην αρχή οι φοιτητές της τεχνολογικής είχαν ένα μικρό προβάδισμα αλλά αργότερα οι της θετικής τους είχαν περάσει. Μάλιστα όσοι ήταν από τεχνολογική δεν χρησιμοποιούσαν break και άλλες τεχνικές και τα έκαναν όλα pascaloειδώς. (Έχω κάνει και σχετικές έρευνες και δημοσιεύσεις σε συνέδρια)
Το μάθημα όπως γίνεται είναι ένα έγκλημα στα μυαλά των παιδιών. Τους μαθαίνει το χείριστο είδος προγραμματισμού.
Γιατί νομίζεις ότι οι ΗΜΜΥ του πολυτεχνείου είχαν διαλέξει τότε ως μάθημα Χημεία? Είδαν ότι αυτοί που έρχονταν από τεχνολογική δεν ήξεραν προγραμματισμό και ούτε αλγοριθμική
Και ξέρεις γιατί τα παιδιά που στέλνουμε στα ΑΕΙ δεν ξέρουν προγραμματισμό ούτε αλγοριθμική?
Γιατί για να μάθεις προγραμματισμό πρέπει να .... προγραμματίσεις
Στον πίνακα και στο χαρτί δεν γίνεται
Παράθεση από: petrosp13 στις Χθες στις 12:31:39 ΜΜΚαλύτερα μια "μικρή" γλώσσα αυστηρά προσδιορισμένη που διδάσκει αλγοριθμική
Ναι... κι αυτό ΑΚΡΙΒΩΣ είναι το θέμα με τη πατέντα ΓΛΩΣΣΑ. Ούτε το αλφάβητό της δεν είναι ορισμένο αυστηρά.
Αλφάβητο; Λείπουν τα [] και η άνω και κάτω τελεία.
Βάσει βιβλίου απαγορεύεται να πεις πραγματική_μεταβλητή <-- ακέραια_έκφραση. Τραγικό;
Κι ένα σωρό άλλες ασάφειες.
Άσε που δε βοηθά σε αντικειμενοστράφεια κι επίσης να ξέρετε κάθε χρόνο, ΚΑΘΕ ΧΡΟΝΟ, πρέπει να διαχωρίζεις τον αλγόριθμο σε ψευδογλώσσα από τη ΓΛΩΣΣΑ. Η αλήθεια είναι πως ομοιάζουν.
Μια γλώσσα προγραμματισμού, σε ένα βιβλίο μπορεί να λειτουργήσει σε συγκεκριμένο version, με installer στο διδακτικό πακέτο ασορτί (ή link) και στο βιβλίο να περιορίζεται σε συγκεκριμένα πλαίσια. Όπως στη Γ ΕΠΑΛ που διδάσκεται η Python2. Συγκεκριμένα πράγματα.
Δε καταλαβαίνω αυτό το επιχείρημα υπέρ της ΓΛΩΣΣΑΣ.
Να μου πεις βολεύει τα φροντιστήρια... check
Να μου πεις βολεύει τα ιδιωτικά... αδιάφορο check
Να μου πεις βολεύει και τα Δημόσια... check
Κι όλοι φοβούνται αλλαγή. Γιατί όμως; Θα σου πω!
Έχουμε 25 θέματα να δείξουμε στα παιδιά και ξέρουμε πάνω κάτω τι μπορεί να πέσει. Νέα γλώσσα, νέα θέματα.
Τι θες σιγουριά ή σωστό μάθημα;
.
Η αδυναμία του Υπουργείου στο να οργανώνει σωστά τη συγγραφή και την αναβάθμιση των διδακτικών πακέτων και τα συνοδευτικά λογισμικά τους είναι κοινή και στη ΓΛΩΣΣΑ και στην Python και δεν πρέπει να συνδέεται με μία από τις δύο.
Όλες οι ασάφειες της ΓΛΩΣΣΑΣ θα μπορούσαν άνετα να λυθούν με το "ισχύει ό,τι κάνει η Pascal ή η Basic" ή ακόμα και με το "δείτε το εγχειρίδιο του Διερμηνευτή της ΓΛΩΣΣΑΣ". Είναι επιλογή του Υπουργείου να μην γίνει αυτό, δεν προέρχεται από το ότι η ΓΛΩΣΣΑ είναι "εκπαιδευτική".
Και η python έχει ένα σωρό ασάφειες και αδυναμίες και τις διορθώνουν σιγά σιγά οι σχετικές επιτροπές.
Πλεονεκτήματα μιας εκπαιδευτικής γλώσσας προγραμματισμού:
- Περιορισμένη, άρα μπορεί πιο εύκολα ένας καθηγητής να την μάθει, να την διδάξει και να την βαθμολογήσει.
- Μπορεί να οριστεί απλούστερα. Αν δεν χρειάζεται να διδάξουμε iterators, pointers και αντικείμενα, γιατί να υλοποιηθεί η for με iterator; (και όχι δεν υπονοώ ότι η ΓΙΑ της ΓΛΩΣΣΑΣ είναι απλούστερη, ΜΠΟΡΕΙ όμως να οριστεί απλούστερα)
- Το σχετικό περιβάλλον μπορεί να είναι εκπαιδευτικό και όχι επαγγελματικό. Π.χ. να έχει έναν "κεντρικό μετρητή εντολών" και να μπορούμε να πούμε στους μαθητές "βρείτε τους 2 μεγαλύτερους από 100 αριθμούς, με μετρητή εντολών μικρότερο από N^2 = 10000", ώστε να τους υποχρεώσουμε να έχουν λύση Ο(n) και να μην κάνουν ταξινόμηση και να πάρουν τους 2 πρώτους.
- Αφού μια εκπαιδευτική γλώσσα είναι απλή, το σχετικό περιβάλλον θα μπορεί να υλοποιηθεί οπουδήποτε, π.χ. ακόμα και σε ένα .html αρχείο. Τώρα οι συγγραφείς των νέων διδακτικών πακέτων είχαν σοβαρές προκλήσεις για το πώς θα καταφέρουν να τρέχουν την Python π.χ. σε tablets χωρίς Internet, σύμφωνα με τις προδιαγραφές του Υπουργείου.
Πλεονεκτήματα μιας επαγγελματικής γλώσσας προγραμματισμού:
- Μεγαλύτερο ρεπερτόριο σε εντολές, βιβλιοθήκες, εργαλεία. Δύσκολο να κάνει προγραμματίσει κάποιος "τεχνητή νοημοσύνη" με εκπαιδευτική γλώσσα. Ή, αν η εκπαιδευτική γλώσσα δεν επιτρέπει κάτι προχωρημένο όπως "αντικείμενα" και κάποτε χρειαστεί να τα διδάξουμε, θα δυσκολευτεί πολύ η ομάδα υλοποίησης του σχετικού λογισμικού.
- Άμεση επαναχρησιμοποίηση της γνώσης, ένας μαθητής που θέλει να προχωρήσει πέρα από το σχολικό βιβλίο, π.χ. στο πανεπιστήμιο, δεν χρειάζεται να μάθει άλλη γλώσσα.
Οι ασάφειες δεν νομίζω ότι ανήκουν σε καμία από τις δύο κατηγορίες, είναι αδυναμία της τρέχουσας μεθοδολογίας του Υπουργείου.
Προσωπικά νομίζω ότι αν στη Β/θμια έχουμε μάθημα "διδασκαλίας των βασικών αλγοριθμικών δομών", όπως η ΑΕΠΠ, μια εκπαιδευτική γλώσσα ταιριάζει καλύτερα.
Αν όμως στο Γυμνάσιο ξεκινήσουμε με αλγοριθμικές δομές, και μετά τις θεωρήσουμε γνωστές και θελήσουμε να προχωρήσουμε παρακάτω, τότε δεν έχει νόημα μια εκπαιδευτική γλώσσα γιατί δεν θα έχει "παρακάτω" και οι μαθητές θα πρέπει να μάθουν μια άλλη.
Άρα στο συγκεκριμένο πρόγραμμα σπουδών, που θέλει "εξέταση βασικών αλγοριθμικών δομών" στις πανελλαδικές, νομίζω η εκπαιδευτική γλώσσα ταιριάζει καλύτερα, η επαγγελματική δεν μας προσφέρει κάτι. Όμως θα προτιμούσα άλλο πρόγραμμα σπουδών...!
Θα γίνει ποτέ αξιολόγηση του μαθήματος, σε ένα συνέδριο, να ακούσουμε και προτάσεις;
Οι ασκησεις θα μπορούσαν να γίνουν με περιγραφική γλώσσα, χωρίς χρήση γλώσσας προγραμματισμού. Δεν ειναι ο προγραμματισμος το αντικείμενο του μαθήματος.
Αν θέλουν να βάλουν άλλο μάθημα όπου ο προγραμματισμός να είναι το αντικείμενο.
Ειναι ενδιαφερουσα η συζήτηση που ανοιξε ( έχει ξαναγίνει βεβαιως και σε άλλα φόρα αλλα ακρη δε βγηκε για λογους που αναφέρθηκαν ) νομίζω όμως ότι θα μπορουσε να αποτελεσει νέο θέμα και όχι σ'αυτό :)
Στο παρον θέμα σχολιάζουμε τη συμπεριφορά των εμφωλευμενων for στη Python με αφορμή απάντηση μαθητη στο θεμα Δ των πανελλαδικών ΕΠΑΛ αναρτώντας παραδειγμα αλλά και την ολοκληρωμενη λύση του θεματος (1ο post) .
Επειδη θεωρω ακρως ενδιαφερον το αποτελεσμα που προκύπτει (Σωστο 100%) αν και αρχικά εξεπλάγην ,αν καποιος συναδελφος θελει να σχολιασει για το συγκεκριμένο ή έχει καποια γνώμη για τη βαθμολογηση που μπορει να εχει λογω εμπειριας του απο το Βαθμολογικο κεντρο ΕΠΑΛ ,να καταθεσει την αποψή του
Ευχαριστώ