Αποστολέας Θέμα: Η επιλογή της Python ως γλώσσα προγραμματισμού στην δευτεροβάθμια εκπαίδευση  (Αναγνώστηκε 7588 φορές)

ApoAntonis

  • Βετεράνος
  • ****
  • Μηνύματα: 82
Γιώργο, καλοπροαίρετα εντελώς,
μάλλον κοιτάς τα προηγούμενα ΦΕΚ. Πράγματι στα προηγούμενα υπήρχε ένα θεματάκι εν τύποις.

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

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

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

+1 στην απάντηση #62 του P.Tsiotakis

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 190
Γιώργο, καλοπροαίρετα εντελώς,
μάλλον κοιτάς τα προηγούμενα ΦΕΚ. Πράγματι στα προηγούμενα υπήρχε ένα θεματάκι εν τύποις.

Οκ, τι άλλαξε με το νέο ακριβώς σε αυτά που αναφέρω; Διότι δεν είδα κάτι να αλλάζει.


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

Ορίστε;  Σελ 142, αποσιωπητικά για πολλές ΑΛΛΙΩΣ_ΑΝ εν δυνάμει και πολλές εντολές.
Οκ. Πώς ακριβώς αυτό κάνει προαιρετική την ΑΛΛΙΩΣ;
Μάλιστα στη σελ 143 στηρίζει με το παράδειγμα 1 ΑΚΡΙΒΩΣ ότι λέω.


Πάλι από το πράσινο βιβλίο
<< συχνά η εντολή ΑΝ περιέχει ... και το τμήμα εντολών που εκτελούνται αν δεν ισχύει η συνθήκη. >>
Η εντολή είναι μια και δεν υπάρχει περιορισμός.
Ναι  οκ, αυτή είναι η σύνθετη συνθήκη. Επιμένω, όμως. Πώς ακριβώς αυτό ορίζει αν υπάρχει ΠΟΛΛΑΠΛΗ δίχως το ΑΛΛΙΩΣ στη σύνταξή της;

Μάλλον δε κατάλαβες σε τι αναφερόμουν.  :)

Έχω πρόβλημα με το εξής:

Η ΓΛΩΣΣΑ έχει μόνο τρεις μορφές για τη δομή επιλογής ΑΝ.

ΑΠΛΗ:
ΑΝ συνθήκη ΤΟΤΕ
ΤΕΛΟΣ_ΑΝ

ΣΥΝΘΕΤΗ:
ΑΝ συνθήκη ΤΟΤΕ

ΑΛΛΙΩΣ

ΤΕΛΟΣ_ΑΝ


ΠΟΛΛΑΠΛΗ:

ΑΝ συνθήκη1 ΤΟΤΕ

ΑΛΛΙΩΣ_ΑΝ συνθήκη2 ΤΟΤΕ
.
.
.
ΑΛΛΙΩΣ_ΑΝ συνθήκηΝ ΤΟΤΕ

ΑΛΛΙΩΣ

ΤΕΛΟΣ_ΑΝ

Στη περίπτωση λοιπόν της τρίτης μορφής, της πολλαπλής, ενώ σε άλλες γλώσσες προγραμματισμού η ΑΛΛΙΩΣ είναι ΞΕΚΑΘΑΡΑ προαιρετική, εδώ έχουμε πρόβλημα. ΠΟΥΘΕΝΑ στα βιβλία εντός ύλης στη ΘΕΩΡΙΑ δεν υπάρχει τέτοια μορφή ή νύξη.
Σε αυτό αναφέρομαι.
Η ΓΛΩΣΣΑ 20 χρόνια τώρα είναι κακοδιατυπωμένη. Κι εδώ κολλάει και το όλο θέμα που συζητάμε, γι' αυτό υποστηρίζω python, διότι θα πρέπει κάποια στιγμή να πάψει αυτό το μάθημα να είναι οπισθοδρομικό. Βολεύει έτσι όπως είναι. Το καταλαβαίνω. Κι εγώ θα πρέπει να αλλάξω τις σημειώσεις μου ριζικά και σε πολλά εκπονήματα θα πρέπει να γίνει εκ νέου πολλή δουλειά. Αντικειμενικά πες μου όμως σε παρακαλώ. Αποτινάσσοντας ο καθένας μας το προσωπικό του συμφέρον και βλέποντας το μάθημα προς όφελος μόνο των μαθητών και μαθητριών, είναι δυνατόν να επιμένουμε σε μία κακοδιατυπωμένη θεωρητική επί χάρτου γλώσσα προγραμματισμού, όταν έχουμε ΕΤΟΙΜΗ λύση για αντικειμενοστραφή προγραμματισμό και τα λοιπά που φέτος μπήκαν κι εντός ύλης; Ειλικρινά βρίσκω παράλογη την εμμονή με τη ΓΛΩΣΣΑ, από σκοπιά εκπαιδευτικού. Προσωπική μου γνώμη βέβαια αυτό. Συζήτηση κάνουμε.
Κι αλίμονο. Αν πάμε σε python θα πρέπει τα βιβλί αν συμπεριλάβουν γενναία ποσότητα ύλης, βλέπε break, continue, διδάσκοντας όμως πότε είναι σωστό να χρησιμοποιούνται. Κι επίσης θα πρέπει το βιβλίο που θα συνταχθεί να είναι πλήρες και να ορίζει σωστά τη python, διότι ειδάλλως, θα έχουμε το φαινόμενο μιας πρακτικής γλώσσας για αντικειμενοστραφή προγραμματισμό, με κακή διατύπωση πάλι. Ας μη βιαστεί πολύ το Υπουργείο. Ας το κάνει όμως σωστά μία φορά.
« Τελευταία τροποποίηση: 27 Φεβ 2020, 07:00:44 πμ από George Eco »

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

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 792
Καλημέρα σε όλους

Καταρχάς Γιώργο μη νομίζεις πως σε έχουμε βάλει στον τοίχο και σε λιθοβολούμε έτσι ??? χεχεχε   >:D :laugh: :police:  συζήτηση κάνουμε εννοείται ..

εγώ θεωρώ πως μάλλον είναι κάτι που "εννοείται από τα συμφραζόμενα"  η μη αναγκαιότητα του Αλλιώς, αλλά προφανώς  καλά κάνεις και το ψάχνεις και θέλεις να είσαι τυπικός 100% ..  υπάρχουν διάφορα σημεία με ασάφειες είναι η αλήθεια, πλέον εγώ λέω στους μαθητές μου να μην ασχολούνται καθόλου με όλα αυτά ..  αν κάποιος διορθωτής θέλει να κόψει σε κάτι από αυτά, θα κόψει όπως και να χει .. για παράδειγμα (λέω τώρα εγώ) , αν θυμάμαι καλά στο βιβλίο υπάρχει ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ και δίχως και με το όνομα προγράμματος, οπότε ποιο είναι το σωστό άραγε ??

1) πανελληνιες 2015, είχε μπει ως θέμα Α4, πολλαπλή επιλογή δίχως αλλιώς ( υποθέτω ;) )
Αν Χ>Y και Y≠1 τότε
  Ζ<--Χ/(Y-1)
  Εμφάνισε Ζ
αλλιώς_αν Χ>Y και Y=1 τότε
  Ζ<--Y/X
  Εμφάνισε Ζ
Τέλος_αν
σε αλγόριθμο ήταν, όχι σε πρόγραμμα (για να προλάβω τυχών διάκριση), στα δικά μου μάτια το ίδιο είναι

2) Γιώργο συγχώρεσε την επιμονή μου (  >:D :laugh: ) αλλά πάλι στα δικά μου μάτια καθαρά, οι οδηγίες μελέτης μαθητή δεν είναι "εκτός ύλης" ..  η εξεταστέα ύλη ορίζεται με βάση το βιβλίο ΑΕΕΠ ( για παράδειγμα ποια θεωρία πχ θα μπεί, οι ενότητες ως περιεχόμενο κτλ), συμφωνούμε , όμως και το τετράδιο μαθητή και οι οδηγίες μελέτης είναι επίσημα εγχειρίδια, έχουν μπει και θέματα αυτούσια από αυτά .. πάλι καθάρα στο δικό μου μυαλό τα υπόλοιπα βιβλία βοηθούν το βασικό, οπότε μπορεί να κάποιος να χρησιμοποιήσει τα κομμάτια που υπάρχουν εκεί .. βέβαια ως γενική ιδέα, καθώς πχ στις οδηγίες μελέτης υπάρχει η αναζήτηση με υλοποίησει που βγαίνει εκτός πίνακα αν το προς αναζήτηση στοιχείο δεν υπάρχει, οπότε γυρνάμε ξανά στο σημείο 0 ( ατέρμων βρόγχος που λέμε και στο μάθημα χεχεχε ) 

ApoAntonis

  • Βετεράνος
  • ****
  • Μηνύματα: 82
Η απάντηση του #61 του κ.Τσιωτάκη με καλύπτει πλήρως, αλλά με κίνδυνο να επαναληφθώ συνεχίζω.

Να κάνω ένα σενάριο μαθητή που ξαναδίνει στις επαναληπτικές των ΕΠΑΛ του 2019 και στην λύση του για το
υποερώτημα Δ2 γράφει και χρησιμοποιεί:

Κώδικας: [Επιλογή]
def vres(A,x):
    return A.index(x)

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

συνεχίζει λοιπόν ο μαθητής μας

Κώδικας: [Επιλογή]
print KATATH[vres(LOG,input())]
 

Τι έχει να λαμβάνει ο μαθητής από τις 7 μονάδες του ερωτήματος Δ2;

Θα το (ξανά)γράψω γιατί με τρώει. Με κοντά 3.5% και 6.3% αναβαθμολογήσεις στον Προγραμματισμό των ΕΠΑΛ
βελτίωση δεν βλέπω. Θεωρώ ήδη το ποσοστό των αναβαθμολογήσεων του ΓΕΛ υψηλό επομένως δεν έχω παραιτέρω σχόλιο επ'αυτού.

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

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

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



ΑΝ συνθήκη1 ΤΟΤΕ

ΑΛΛΙΩΣ_ΑΝ συνθήκη2 ΤΟΤΕ
.
.
.
ΑΛΛΙΩΣ_ΑΝ συνθήκηΝ ΤΟΤΕ

ΑΛΛΙΩΣ

ΤΕΛΟΣ_ΑΝ

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


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

Οκ, τι άλλαξε με το νέο ακριβώς σε αυτά που αναφέρω; Διότι δεν είδα κάτι να αλλάζει

ΦΕΚ 2875/2019 δες εδώ
https://edu.klimaka.gr/panelladikes/exetastea-ylh-lykeiou/88-exetastea-ylh-anaptyxh-efarmogwn-programmatistiko-perivallon
« Τελευταία τροποποίηση: 27 Φεβ 2020, 10:29:13 πμ από ApoAntonis »

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1402
  • There are always possibilities...
Δηλαδή αυτό που λέμε εδώ είναι οτι δεν μπορείς να μάθεις αγοριθμική με πραγματική γλώσσα προγραμματισμού? Δηλαδή  επειδή εμείς ξεκινήσαμε στο πανεπιστήμιο με Pascal, VB, C, Java, *.* δεν ξέρουμε αλγοριθμική!

Θα μπορούσα να συμφωνήσω με την άποψη του P.tsiotakis για την αυστηρότητα της σύνταξης ώς ένα στόχο του μαθήματος και την ανάγκη σχεδιασμού. Όμως:
-Η αυστηρότητα σύνταξης προυποθέτει κάποιον ορισμό τον οποίο πρέπει να βρεις κάπου για να τηρείς: Πού είναι αυτός;
-Είναι ΕΓΚΛΗΜΑ κατά τη γνώμη μου να θυσιάζεις τη χαρά της δημιουργίας και της εξερεύνησης, για την καθαρότητα και την ακαδημαϊκοφάνεια. Και το περιορισμένο σύνολο της ΓΛΩΣΣΑΣ δεν δίνει ούτε δυνατότητα πειραματισμού ούτε δημιουργίας.
Και στην τελική γιατί να μην αποκτά ο μαθητής και πρακτικές γνώσεις από το Λύκειο, που θα του χρησιμεύσουν αργότερα.

Αυτό που θεωρώ πολύ σοβαρό είναι το θέμα που έθιξε ο petrosp13 στο μήνυμα με την αντιμετάθεση. Όχι σχετικά με το πώς θα βαθμολογηθεί - τα πιθανά ιδιώματα είναι πεπερασμένα άρα μπορούν να απαριθμηθούν σε οδηγίες - αλλά για το πώς επηρεάζουν τον τρόπο σκέψης του μαθητή οι διάφορες ευκολίες που παρέχοντιαι από μια γλώσσα. Η python στη συγκεκριμένη περίπτωση έχει ένα ιδίωμα που παρακάμπτει έναν  τρόπο σκέψης που διδάσκει το μάθημα (χρήση προσωρινής μεταβλητής). Είναι απαραίτητος αυτός? Αν είναι όντως, μπορούμε να τον αντικαταστήσουμε με κάποια άλλη περίπτωση ώστε να τον διδαχθούν οι μαθητές και μέσω Python?
Η γλώσσα (οποιαδήποτε και η ψευδογλώσσα και η Python και η ΓΛΩΣΣΑ) επηρεάζει τη σκέψη - αυτό είναι γενικό φαινόμενο και δεν αφορά μόνο τον προγραμματισμό (εικασία shapiro-whorf).
Τέλος δεν πρέπει να ξεχνούμε ότι και ο τρόπος σκέψης και γραψής με την ΓΛΩΣΣΑ, είναι αποτέλεσμα κάποιας έτοιμης σύνταξης, η οποία όμως ήταν αυθαίρετη και ημιτελής. Πώς τεκμηριωθηκε ότι αυτός ήταν ο κατάλληλος τρόπος να μάθουν οι μαθητές αλγοριθμική. Ας μην ξεχνάμε ότι στην πράξη η διάκριση ΓΛΩΣΣΑ - ψευδογλώσσας  (βασική επιλογή των συγγραφέων) έχει καταρρεύσει και προσπαθούμε κάθε χρόνο να αιτιολογήσουμε γιατί κάνουμε δύο φορές τα ίδια πράγματα. Άρα οι βάσεις που έχουμε τώρα είναι και αυθαίρετες και μη πληρείς και έχουν αποδειχθεί λανθασμένες σε πολλά επιμέρους στοιχεία. Γιατί τις υποστηρίζουμε? Για να μην αλλάξουμε σημειώσεις, βιβλία, τρόπο διδασκαλίας?
Τουλάχιστον η πραγματική γλώσσα έχει αποδείξει την αξία της.

Συνοψίζοντας: Μια πραγματική γλώσσα προγραμματισμού (οποιαδήποτε - αυτή τη στιγμή η python φαίνεται η καλύτερη) δεν αναιρεί την ανάπτυξη της αλγοριθμικής σκέψης, τονίζει την αυστηρότητα της σύνταξης και διευκολύνει τους μαθητές, επιτρέποντας τον πειραματισμό,τη δημιουργία και φέρνοντάς τους σε επαφή με ενα εργαλείο που μπορεί να τους χρησιμεύσει και στη ζωή τους.
Αλλά χρειάζεται πολύ προσεκτικός σχεδιασμός του πώς θα εισαχθεί αυτή. Δεν μπορούμε πχ. απλά να μεταφράσουμε τα υπάρχοντα προγράμματα. Πρέπει να δούμε τι θέλουμε να διδάξουμε και πώς θα επιτευχθεί αυτό. Αλλά σε κάθε περίπτωση η πραγματική γλώσσα θα έχει δύο πλεονέκτηματα: δημιουργικότητα και άμεση χρήση - δεν θα χρειαστεί να πείσουμε γιατί τη διδάσκουμε.
« Τελευταία τροποποίηση: 27 Φεβ 2020, 11:43:18 πμ από pgrontas »
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

akalest0s

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 208
Συζήτηση επί ματαίω.
Σε ένα κακοφτιαγμένο από πολλές απόψεις μάθημα, όπου τα πάντα αρχίζουν και τελειώνουν στο να γράψουν καλά τα παιδιά στις εξετάσεις, πρέπει κατ' αρχάς να αναρωτηθούμε τι θέλουμε. Αν δεν μπορούμε να συμφωνήσουμε σε συγκεκριμένους στόχους, όχι αφηρημένους αλλά απτούς, τότε ας συμφωνήσουμε ότι διαφωνούμε, και ας συνεχίσουμε να κάνουμε αυτό που μάθαμε καλύτερα τόσα χρόνια: να διδάσκουμε το μίζερο αυτό διδακτικό πακέτο ο καθένας όπως κατάλαβε, όπως αρέσκεται, όπως μπορεί.
"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

dimitrios67

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 108
Τι θέλουμε να διδάξουμε τους μαθητές μας; Γλώσσα προγραμματισμού ή τη λογική του προγραμματισμού; 
Αυτό που με φοβίζει είναι ότι θα κολλήσουμε στις ιδιαιτερότητες της γλώσσας και θα απομακρυνθούμε από τη λογική του προγραμματισμού.
φίλε Κώστα συμφωνώ απόλυτα μαζί σου, έχοντας και εμπειρία από τριτοβάθμια ιδρύματα,
διδασκαλία προγραμματισμού C, C++, Java σε εργαστήρια.
Εάν πάμε σε Python, ΔΕΝ έχει νόημα το να γράφουμε τον κώδικα στο χαρτί
διότι με το tab που έχει η Python για block start etc.
οι μαθητές πιστεύω ότι μπερδεύονται.
Περισσότερο δε μπερδεύονται (κι εγώ δηλαδή...) με το να μην ορίζουμε τους τύπους των μεταβλητών.

Εγώ γράψει και σε παλαιότερο post, ότι εάν πάρουμε 2 ομάδες μαθητών με παρόμοιες δυνατότητες (potential, IQ, πέστε το όπως θέλετε),
με τις δυνατότητες όμως του μέσου  μαθητή των ελληνικών σχολείων.... που όλοι ξέρουμε σε τι επίπεδο βρίσκεται,
και στην 1η ομάδα διδάξουμε ΓΛΩΣΣΑ (δηλ. εξελληνισμένη Pascal), όπως είναι τώρα στη Γ Λυκείου, ίσως και λίγο περισσότερο,
και στην 2η ομάδα διδάξουμε Python, όπως περίπου διδάσκεται στο ΕΠΑΛ, και λίγο περισσότερο,
ποια από τις 2 ομάδες θα είναι ικανότερη να γράψει έναν "κώδικα" για να λύσει ένα προγραμματιστικό πρόβλημα;
Πρόβλημα, όχι "βαρύ" αλγοριθμικό, γιατί εκεί ΔΕΝ παίζει ρόλο η γλώσσα υλοποίησης,
αλλά μια μικρή "βάση δεδομένων" με μαθητές, βαθμούς, ελέγχους επιδόσεων κλπ. Απλά πράγματα.

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

Η γνώμη μου είναι ότι η 1η ομάδα με τη ΓΛΩΣΣΑ θα είναι αρκετά πιο μπροστά στο να χειρίζεται μεγάλα προγράμματα,
δηλ. με υποπρογράμματα κλπ.

Αυτό που θέλω, λοιπόν, να πω, είναι ότι η Python δεν κάνει (κατά τη γνώμη μου πάντα) για introductory course
στο computer programming. Περιέχει στοιχεία αντικειμενοτρεφούς προγραμματισμού που περισσότερο μπερδεύουν τον μαθητή.
Ένα άλλο παράδειγμα είναι ο τρόπος που υλοποιούνται οι δισδιάστατοι πίνακες.
Ναι, ωραία, ένας 2D array MXN είναι Μ μονοδιάστατοι πίνακες με Ν στοιχεία ο καθένας,
αλλά αυτό το θεωρώ advanced, άρα δύσκολο να κατανοηθεί.

Εν πάση περιπτώσει, υπάρχουν αρκετοί που δεν συμφωνούν και κάποιοι λιγότεροι που συμφωνούν
με την πιο πάνω ανάλυση,
αλλά έβγαλα αυτό το συμπέρασμα έχοντας εμπειρία διδασκαλίας και στην Γ Λυκείου και στο 1ο έτος ΑΕΙ-ΤΕΙ,
τα τελευταία 10 χρόνια, ΑΕΙ-ΤΕΙ με "χαμηλές" βάσεις όμως, δηλ. γύρω στο 13000, ΤΕΙ ακόμη πιο χαμηλά.

συγγνώμη για το εκτενές post.

Δημήτρης

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3391
  • to Iterate is human to Recurse divine
Περισσότερο δε μπερδεύονται (κι εγώ δηλαδή...) με το να μην ορίζουμε τους τύπους των μεταβλητών.
Μα ορίζονται τύποι με την εκχώρηση που γίνεται κάθε φορά σε μια μεταβλητή, το οποίο νομίζω είναι προφανές.
Από την δική μου εμπειρία (Α,Β,Γ γυμνασίου + 1ο-3ο έτος πανεπιστημίου) δεν έχω παρατηρήσει κάτι τέτοιο ούτε υπάρχει στη βιβλιογραφία κάποια έρευνα που να ισχυρίζεται κάτι τέτοιο, απ'όσο ξέρω.

Παράθεση
Εγώ γράψει και σε παλαιότερο post, ότι εάν πάρουμε 2 ομάδες μαθητών με παρόμοιες δυνατότητες (potential, IQ, πέστε το όπως θέλετε),
με τις δυνατότητες όμως του μέσου  μαθητή των ελληνικών σχολείων.... που όλοι ξέρουμε σε τι επίπεδο βρίσκεται,
και στην 1η ομάδα διδάξουμε ΓΛΩΣΣΑ (δηλ. εξελληνισμένη Pascal), όπως είναι τώρα στη Γ Λυκείου, ίσως και λίγο περισσότερο,
και στην 2η ομάδα διδάξουμε Python, όπως περίπου διδάσκεται στο ΕΠΑΛ, και λίγο περισσότερο,
ποια από τις 2 ομάδες θα είναι ικανότερη να γράψει έναν "κώδικα" για να λύσει ένα προγραμματιστικό πρόβλημα;
Πρόβλημα, όχι "βαρύ" αλγοριθμικό, γιατί εκεί ΔΕΝ παίζει ρόλο η γλώσσα υλοποίησης,
αλλά μια μικρή "βάση δεδομένων" με μαθητές, βαθμούς, ελέγχους επιδόσεων κλπ. Απλά πράγματα.

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

Η γνώμη μου είναι ότι η 1η ομάδα με τη ΓΛΩΣΣΑ θα είναι αρκετά πιο μπροστά στο να χειρίζεται μεγάλα προγράμματα,
δηλ. με υποπρογράμματα κλπ.
Δημήτρη αυτό που περιγράφεις δεν είναι δυνατόν να χρησιμοποιηθεί ως επιχείρημα. Παρουσιάζεις ένα φανταστικό πείραμα για το οποίο δίνεις μια υποθετική κατά τη γνώμη σου απάντηση, η οποία δεν μπορεί να είναι αντικειμενική. Μόνο αν κάνεις μια τέτοια έρευνα θα μπορείς να ισχυριστείς κάτι τέτοιο. Τέτοιες έρευνες υπάρχουν ήδη και είναι αρκετές. Μιλάμε για σύγκριση Python με C, C++, Java ακόμα και Scratch και όλα τα αποτελέσματα είναι συντριπτικά υπέρ της Python. Για να μην αναφέρω βιβλιογραφία και κουράζω στο παρακάτω σύνδεσμο είναι ένα δικό μου άρθρο στο οποίο αναφέρομαι σε αυτά τα θέματα και έχω κάποια σχετικη βιβλιογραφία
Αλγοριθμική Python

Παράθεση
Αυτό που θέλω, λοιπόν, να πω, είναι ότι η Python δεν κάνει (κατά τη γνώμη μου πάντα) για introductory course
στο computer programming.
Πως γίνεται τότε να αυξάνεται συνεχώς ο αριθμός των εισαγωγικών μαθημάτων προγραμματισμού στα οποία χρησιμοποιείται? Ακόμα και στην Ελλάδα πολλές σχολές έχουν γυρίσει σε Python, ακόμα και το Μαθηματικό Αθήνας.
Διδάσκεται ακόμα και σε οικονομικά τμήματα (αντί για R).

Παράθεση
Περιέχει στοιχεία αντικειμενοτρεφούς προγραμματισμού που περισσότερο μπερδεύουν τον μαθητή.
Δεν χρειάζεται να αναφερθείς σε αυτά. Αρκεί να εξηγήσεις ότι για να καλέσουμε τη μέθοδο ενός αντικείμενου χρησιμοποιούμε dot notation. Για αυτό το ρόλο δουλεύει μια χαρά η βιβλιοθήκη turtle της Python όπου ξεκινάς να δίνεις εντολές σε μια χελώνα.

Παράθεση
Ένα άλλο παράδειγμα είναι ο τρόπος που υλοποιούνται οι δισδιάστατοι πίνακες.
Ναι, ωραία, ένας 2D array MXN είναι Μ μονοδιάστατοι πίνακες με Ν στοιχεία ο καθένας,
αλλά αυτό το θεωρώ advanced, άρα δύσκολο να κατανοηθεί.
Μα αυτό είναι. Τι άλλο θα μπορούσε να είναι? Δεν είναι λογικό να χτίσεις την κατανόηση ενός δυο διαστάσεων πίνακα σε έναν μονοδιάστατο. Πως αλλιώς θα μπορούσες να το παρουσιάσεις?
Αν δεν θέλεις να μιλήσεις για λίστες μπορείς να χρησιμοποιήσεις τη βιβλιοθήκη numpy της Python η οποία ουσιαστικά έτσι όπως πάει θα γίνει μέρος της γλώσσας.

Επίσης δεν καταλαβαίνω αυτό που λες για την εμπειρία στην τριτοβάθμια και την Python. Δηλαδή δίδαξες C++ και Python και είδες ότι οι φοιτητές δυσκολεύονταν περισσότερο στην Python απ'ότι στην C++? δεν το κατάλαβα.
Ποια ακριβώς είναι τα δεδομένα που έχεις? Θέλεις να γίνεις πιο συγκεκριμένος ?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dimitrios67

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 108
Επίσης δεν καταλαβαίνω αυτό που λες για την εμπειρία στην τριτοβάθμια και την Python. Δηλαδή δίδαξες C++ και Python και είδες ότι οι φοιτητές δυσκολεύονταν περισσότερο στην Python απ'ότι στην C++? δεν το κατάλαβα. Ποια ακριβώς είναι τα δεδομένα που έχεις? Θέλεις να γίνεις πιο συγκεκριμένος ?
Δεν εχω διδαξει Python. Το λεω λιγο υποθετικά.
Δηλ. θεωρώ οτι ειναι δυσκολότερο να κατανοησουμε εναν 2D πινακα σαν μονοδιαστατο απο μονοδιαστατους,
αντι σαν "κανονικό" δισδιάστατο όπως τον οριζει η Γραμμική Αλγεβρα.
Οπωσδηποτε και η δική σου προσεγγιση εχει βαση και σιγουρα εχεις μεγαλύτερη πειρα από εμενα.
Απλα παρουσιαζω καποιες απόψεις μου.

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3391
  • to Iterate is human to Recurse divine
Χαχα 
Δεν έχω μεγαλύτερη πείρα από σένα.
Τριτοβάθμια διδάσκω εδώ και δυο χρόνια.  :D
Πέρυσι δίδασκα Python και φέτος R.
Απλά παλιά δίδασκα ως βοηθός-ΥΔ-χαμάλης ;)  C++ και Java σε φοιτητές
και για 7-8 χρόνια διδάσκω στην δευτεροβάθμια (πειραματικό σχολείο) Python και C++
Οπωσδηποτε και η δική σου προσεγγιση εχει βαση και σιγουρα εχεις μεγαλύτερη πειρα από εμενα.
Απλα παρουσιαζω καποιες απόψεις μου.
Άρα το θέμα της πείρας είναι σχετικό, οπότε καλό είναι να στηριζόμαστε σε έρευνες που έχουν γίνει διεθνώς και θεωρούνται αξιόπιστες, γιατί συμφωνείς φαντάζομαι ότι ο τρόπος που έχουμε μάθει και εμείς επηρεάζει την κρίση μας σε αυτά τα θέματα.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

ApoAntonis

  • Βετεράνος
  • ****
  • Μηνύματα: 82
Ξεκίνησα να ψάχνω αν υπάρχει τμήμα στο αμέρικα τα 'schools' που λένε, που να έχει οικονομοτέτοια και πληροφοτέτοια μαζί. Δεν κατάφερα να εντοπίσω κάποιο.
...
κατάφερα όμως να καταλήξω(!) στα θέματα των Παγκύπριων εξετάσεων τα οποία νομίζω έχουν κάποιο ενδιαφέρον
(όλα, όχι μόνο της Πληροφορικής)
http://archeia.moec.gov.cy/mc/164/2019_06_05_015_themata.pdf


George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 190
Συγγνώμη για την αργοπορημένη απόκριση.
Αποζημιώνω με σεντόνι για τη προίκα όλων (και ζητώ συγγνώμη για το μέγεθος)

Καταρχάς Γιώργο μη νομίζεις πως σε έχουμε βάλει στον τοίχο και σε λιθοβολούμε έτσι ??? χεχεχε   >:D :laugh: :police:  συζήτηση κάνουμε εννοείται ..
Ευχαριστώ πολύ για τη φιλικότητα, δε το πήρα έτσι, ίσα ίσα χαίρομαι να συζητάω μαζί με όλους σας.

αν θυμάμαι καλά στο βιβλίο υπάρχει ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ και δίχως και με το όνομα προγράμματος, οπότε ποιο είναι το σωστό άραγε ??
Νομίζω είναι και τα δύο σωστά βάσει νέας οδηγίας αν θυμάμαι καλά. Το διάβασα κάπου αυτό σίγουρα.

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

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

Θα το (ξανά)γράψω γιατί με τρώει. Με κοντά 3.5% και 6.3% αναβαθμολογήσεις στον Προγραμματισμό των ΕΠΑΛ
βελτίωση δεν βλέπω. Θεωρώ ήδη το ποσοστό των αναβαθμολογήσεων του ΓΕΛ υψηλό επομένως δεν έχω παραιτέρω σχόλιο επ'αυτού.

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

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

Πότε μπήκε στην ζυγαριά ότι ο αντικειμενοστραφής είναι "βαρύτερος" από τον παράλληλο;
Δε ξέρω. Πού το διάβασες από εμένα αυτό; Δεν είπα ποτέ κάτι τέτοιο. Μίλησα για αντικειμενοστραφή με διαδικαστικό, για python και ΓΛΩΣΣΑ κι αυτό γιατί επιτέλους γίνεται κάποια κίνηση προς τα κει.

Παρόλλα αυτά, ούτε ο παράλληλος είναι απαραίτητος να διδαχθεί γιατί και αυτός με την σειρά του δεν αποτιμήθηκε ως προς την αξία του ας πούμε με την αναδρομή, η οποία είναι βασικότατη.
Η αναδρομή έχει μπει από του χρόνου εντός ύλης.Η αναδρομή υπάρχει και στο διαδικαστικό προγραμματισμό. Δε καταλαβαίνω γιατί βάζουμε τον παράλληλο. Ο παράλληληος δεν είναι entry level, κι αν μη τι άλλο ο διαδικαστικός κι ο αντικειμενοστραφής κι event driven είναι. Μάλιστα θα ήθελα να διδάσκεται και GUI μη σου πω με τη Python.

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

Αν κάτι λείπει και -προφανώς κατά την γνώμη μου- δεν είναι ούτε οι βάσεις, ούτε οι δυναμικές δομές ούτε οτιδήποτε προγραμματιστικό. Είναι η βελτιστοποίηση.
Λίγο χιουμοράκι. Η COBOL όσο και να βελτιστοποιηθεί, θα παραμείνει COBOL. Θέλω να πω, πρέπει να γίνει μοντέρνο το μάθημα. Αν όχι ΑΥΤΟ που οι εξελίξεις είναι ραγδαίες τότε ποιο;
Η ΓΛΩΣΣΑ είναι θεωρητική και στο χαρτί. Παραμένω στη θέση μου. Καλή η βελτιστοποίηση, αλλά δε μου αρέσει καθόλου η ιδέα να διδάσκεται επί χάρτου ο ανικειμενοστραφής προγραμματισμός, όταν σε όλο το Κόσμο διδάσκεται σε python ή Java ή js ή C# ή δε ξέρω κι εγώ ποια άλλη πραγματική αντικειμενοστραφή γλώσσα προγραμματισμού.

Θα ήθελα να επεκταθώ, αλλά το έχω παρακάνει και ζητώ συγνώμη για το σεντόνι.
(Α, και η Γραμμική Άλγεβρα. Δεν συμμερίζομαι το σκεπτικό κατά το οποίο οι συμβολοσειρές είναι σημαντικότερες από την Γραμμική Άλγεβρα και ενώ το γράφω εννοώντας το ΓΕΛ, κλείνω και το μάτι στο ΕΠΑΛ)
Δε καταλαβαίνω σε τι αναφέρεσαι.

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

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

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

ΦΕΚ 2875/2019 δες εδώ
https://edu.klimaka.gr/panelladikes/exetastea-ylh-lykeiou/88-exetastea-ylh-anaptyxh-efarmogwn-programmatistiko-perivallon
Την ύλη μου στέλνεις; Τι να την κάνω την ύλη. Διευκρινίζει κάπου το ερώτημα που έκανα η ύλη;
 Ειλικρινά, γιατί μου στέλνεις ως αντεπιχείρημα την ύλη. Σοβαρά τώρα. Κατάλαβες τι ρώτησα;
ΔΕΝ ΑΛΛΑΖΕΙ ΛΟΙΠΟΝ ΤΙΠΟΤΑ ΣΤΑ ΟΣΑ ΑΝΑΦΕΡΩ. Καλώς δεν είδα κάτι να αλλάζει λοιπόν, άρα έχω δίκιο.
Πάμε παρακάτω.

-Είναι ΕΓΚΛΗΜΑ κατά τη γνώμη μου να θυσιάζεις τη χαρά της δημιουργίας και της εξερεύνησης, για την καθαρότητα και την ακαδημαϊκοφάνεια. Και το περιορισμένο σύνολο της ΓΛΩΣΣΑΣ δεν δίνει ούτε δυνατότητα πειραματισμού ούτε δημιουργίας.
Και στην τελική γιατί να μην αποκτά ο μαθητής και πρακτικές γνώσεις από το Λύκειο, που θα του χρησιμεύσουν αργότερα.
Δε μπορείς να φανταστείς πόσο συμφωνώ μαζί σου συνάδελφε.


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

Ας μην ξεχνάμε ότι στην πράξη η διάκριση ΓΛΩΣΣΑ - ψευδογλώσσας  (βασική επιλογή των συγγραφέων) έχει καταρρεύσει και προσπαθούμε κάθε χρόνο να αιτιολογήσουμε γιατί κάνουμε δύο φορές τα ίδια πράγματα. Άρα οι βάσεις που έχουμε τώρα είναι και αυθαίρετες και μη πληρείς και έχουν αποδειχθεί λανθασμένες σε πολλά επιμέρους στοιχεία. Γιατί τις υποστηρίζουμε? Για να μην αλλάξουμε σημειώσεις, βιβλία, τρόπο διδασκαλίας?
Βασικά ΚΑΘΕ χρόνο τα ίδια ναι.
Μα δάσκαλε τα ίδια κάνμε και στη Β. Όχι παιδιά, εκείνα είναι ψευδογλώσσα.
Μα δάσκαλε, ίδιο πράγμα δεν είναι η ψευδογλώσσα με τη ΓΛΩΣΣΑ; Όχι παιδιά.
Μα δάσκαλε, στο σχολείο εμείς έχουμε διερμηνευτή και τρέχουμε αλγόρθιμο σε ψευδογλώσσα. I rest my case.

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

φίλε Κώστα συμφωνώ απόλυτα μαζί σου, έχοντας και εμπειρία από τριτοβάθμια ιδρύματα,
διδασκαλία προγραμματισμού C, C++, Java σε εργαστήρια.
Εάν πάμε σε Python, ΔΕΝ έχει νόημα το να γράφουμε τον κώδικα στο χαρτί
διότι με το tab που έχει η Python για block start etc.
οι μαθητές πιστεύω ότι μπερδεύονται.
Περισσότερο δε μπερδεύονται (κι εγώ δηλαδή...) με το να μην ορίζουμε τους τύπους των μεταβλητών.

Άντε πάλι το θέμα με τα tabs. Αν κι είμαι φαντατικός των brackets, τέτοια δεν έχει ούτε η ΓΛΩΣΣΑ.
Κι επίσης με python τουλάχιστο δε θα μπερδεύουν τα παιδιά ψευδογλώσσα με τη γλώσσα προγραμματισμού, φαινόμενο που μονοπωλεί η ΓΛΩΣΣΑ.

Αυτό με τους τύπους μεταβλητών πολύ μου άρεσε όμως. Είναι πολύ σωστό επιχείρημα. Πιστεύω πως θα πρέπει να διδαχθεί ως good practice να μην αλλάζουμε τύπο μεταβλητών ΚΑΙ τύπους να ορίζουμε ad-hoc κατά την αρχικοποίηση τιμών. Και λύθηκε το θέμα.

Εγώ γράψει και σε παλαιότερο post, ότι εάν πάρουμε 2 ομάδες μαθητών με παρόμοιες δυνατότητες (potential, IQ, πέστε το όπως θέλετε),
με τις δυνατότητες όμως του μέσου  μαθητή των ελληνικών σχολείων.... που όλοι ξέρουμε σε τι επίπεδο βρίσκεται,
και στην 1η ομάδα διδάξουμε ΓΛΩΣΣΑ (δηλ. εξελληνισμένη Pascal), όπως είναι τώρα στη Γ Λυκείου, ίσως και λίγο περισσότερο,
και στην 2η ομάδα διδάξουμε Python, όπως περίπου διδάσκεται στο ΕΠΑΛ, και λίγο περισσότερο,
ποια από τις 2 ομάδες θα είναι ικανότερη να γράψει έναν "κώδικα" για να λύσει ένα προγραμματιστικό πρόβλημα;
Πρόβλημα, όχι "βαρύ" αλγοριθμικό, γιατί εκεί ΔΕΝ παίζει ρόλο η γλώσσα υλοποίησης,
αλλά μια μικρή "βάση δεδομένων" με μαθητές, βαθμούς, ελέγχους επιδόσεων κλπ. Απλά πράγματα.
Το επίπεδο του μέσου μαθητή είναι αποτέλεσμα πολλών παραγόντων. Τι θα πεί "το επίπεδο του μέσου μαθητή"; Κάθε παιδί είναι ξεχωριστή περίπτωση. Δε μιλάμε για μέσο βάρος πατάτας.
Επίσης, μην εκπλαγείς αν η python νικήσει, γιατί ξέρεις ε; Έχει real life εφαρμογές, μαθητές εμπνέονται ευκολότερα να μάθουν και να χτίσουν πάνω σε αυτή.

"ΓΛΩΣΣΑ (δηλ. εξελληνισμένη Pascal)"
Όπα! Ένα λεπτό. Μη τρελαθώ τώρα. Η Pascal έχει brackets. Πιο πολύ σε QBASIC δίχως goto φέρνει η ΓΛΩΣΣΑ, παρά σε pascal.

Να πούμε βεβαίως ότι μιλάμε για διδασκαλία σε χαρτί, δηλ. σε περιβάλλον σχολείου, όχι σε υπολογιστές,
όπως στο 1ο έτος των Πανεπιστημίων, εκεί αλλάζει το θέμα.. (αν και όχι πολύ κατά τη γνώμη μου...)
Μα ναι! Πάνε τα παιδιά στα Πανεπιστήμια νομίζοντας πως θα τους βοηθήσει σε κάτι η ΓΛΩΣΣΑ, πρώτο εξάμηνο C++. (Βάλτε τον Risitas να γελάει εδώ)
Τραγικό δεν είναι; Τουλάχιστό αν κάνουν Java (βλέπε ΠΑΠΕΙ) θα μάθουν τη σύνταξη με brackets κι έτοιμα όλα!   

Η γνώμη μου είναι ότι η 1η ομάδα με τη ΓΛΩΣΣΑ θα είναι αρκετά πιο μπροστά στο να χειρίζεται μεγάλα προγράμματα,
δηλ. με υποπρογράμματα κλπ.
Εμμμ... η Python υποστηρίζει κι αυτή modular προγραμματισμό. Πώς στέκει εδώ το επιχείρημα;

Αυτό που θέλω, λοιπόν, να πω, είναι ότι η Python δεν κάνει (κατά τη γνώμη μου πάντα) για introductory course
στο computer programming. Περιέχει στοιχεία αντικειμενοτρεφούς προγραμματισμού που περισσότερο μπερδεύουν τον μαθητή.
Ένα άλλο παράδειγμα είναι ο τρόπος που υλοποιούνται οι δισδιάστατοι πίνακες.
Ναι, ωραία, ένας 2D array MXN είναι Μ μονοδιάστατοι πίνακες με Ν στοιχεία ο καθένας,
αλλά αυτό το θεωρώ advanced, άρα δύσκολο να κατανοηθεί.
Σέβαστή η άποψη. Δε το λέω ειρωνικά, τη σέβομαι όντως.
Διαφωνώ όμως απόλυτα. Παγκοσμίως έχει επιλεγεί η python κι όχι τυχαία ως introductory γλώσσα.
Aν θέλω διδάσκω μόνο διαδικαστικό στη python μπορώ. Αν θέλω να διδάξω συγκεκριμένα απλά αντικειμενοστραφή πράγματα, αυτό θα κάνω.
Οπτικοποίηση θέλει ο μχν πίνακας και τα παιδιά θα το καταλάβουν, δεν είναι χαζά, ας μη τα αντιμετωπίζουμε λοιπόν ως τέτοια.
Κι επίσης στη ΓΛΩΣΣΑ ο πίνακας είναι στατικός. Και βλέπει ένα παιδάκι από απλή Visual Basic μια εντολή REDIM και λέει κάτσε. Στατική δομή δεν είναι οι πίνακες; Αυτό δεν έμαθα στη ΓΛΩΣΣΑ; Τι του λες τότε;

Τώρα περί του εκτενούς του post σου, μη ζητάς συγγνώμη, δες το δικό μου και γέλα. :P

Επίσης δεν καταλαβαίνω αυτό που λες για την εμπειρία στην τριτοβάθμια και την Python. Δηλαδή δίδαξες C++ και Python και είδες ότι οι φοιτητές δυσκολεύονταν περισσότερο στην Python απ'ότι στην C++? δεν το κατάλαβα.
Εγώ πάντως βοηθάω φοιτητές, λόγω pointers στη C++. Δε μου έχει έρθει φοιτητής να του κάνω Python ακόμα.

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 190
Οι γλώσσες δεν μαθαίνονται απ' έξω, χρησιμοποιούνται με εγχειρίδιο. Δηλαδή στις εξετάσεις να έχει ο καθένας το εγχειρίδιο μαζί του.
Ποιος το λέει αυτό; Μια γλώσσα στη πράξη καταλήγεις να τη μάθεις απ' έξω μοιραία στα βασικά της τουλάχιστο. Έτσι δεν είναι;

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 457
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Έχουν περάσει οι εποχές που τα προγράμματα βασίζονται σε ένα μικρό σύνολο εντολών. Οι βιβλιοθήκες αντικειμένων προσθέτουν πολλά αναγνωριστικά. Στην ουσία το εγχειρίδιο είναι το τυπολόγιο. Σε εξετάσεις που δίνεται λοιπόν το τυπολόγιο το βάρος πάει στη λύση ασκήσεων. Πραγματικά δεν με ενδιαφέρει αυτός που θα γράψει το εγχειρίδιο μιας γλώσσας από μνήμης. Με ενδιαφέρει αυτός που λύνει ασκήσεις, που βάζει το μυαλό του να δουλέψει. Η ικανότητα απομνημόνευσης είναι υπερβολικό προσόν. Να υπάρχει θεωρία πάνω σε αλγόριθμους, σε χαρακτηριστικά τους. Αυτά να τα μαθαίνεις.

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 190
Έχουν περάσει οι εποχές που τα προγράμματα βασίζονται σε ένα μικρό σύνολο εντολών. Οι βιβλιοθήκες αντικειμένων προσθέτουν πολλά αναγνωριστικά. Στην ουσία το εγχειρίδιο είναι το τυπολόγιο. Σε εξετάσεις που δίνεται λοιπόν το τυπολόγιο το βάρος πάει στη λύση ασκήσεων. Πραγματικά δεν με ενδιαφέρει αυτός που θα γράψει το εγχειρίδιο μιας γλώσσας από μνήμης. Με ενδιαφέρει αυτός που λύνει ασκήσεις, που βάζει το μυαλό του να δουλέψει. Η ικανότητα απομνημόνευσης είναι υπερβολικό προσόν. Να υπάρχει θεωρία πάνω σε αλγόριθμους, σε χαρακτηριστικά τους. Αυτά να τα μαθαίνεις.
Δες το βιβλίο της Γ ΕΠΑΛ. Ποιος μίλησε για εκτενη ανάλυση libraries; Τις βασικές εντολές διδάσκει κι αναφορικά κάποια βασικά εργαλεία.
Θα ήταν τρέλα να μιλούσαμε για ολόκληρες libraries σαφώς.