Αποστολέας Θέμα: Μήπως τελικά η Python δεν έχει εκπαιδευτικό χαρακτήρα;  (Αναγνώστηκε 859 φορές)

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2799
  • to Iterate is human to Recurse divine
Απ: Μήπως τελικά η Python δεν έχει εκπαιδευτικό χαρακτήρα;
« Απάντηση #15 στις: 17 Φεβ 2017, 06:01:00 μμ »
@dimitrios67

Μα δεν πρέπει να λάβουμε υπόψη μας ότι σε όλον τον κόσμο αυτή τη στιγμή η Python θεωρείται η νούμερο 1 εισαγωγική γλώσσα προγραμματισμού? Δε σημαίνει κάτι? Δηλαδή όλοι αυτοί κάνουν λάθος και εμείς την Pascal ξέρουμε την Pascal εμπιστευόμαστε?

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

Αυτό που λες για το βιβλίο "κονσέρβα" τι εννοείς?  Κάθε χρόνο οι μαθητές στη Γ θα είχαν ένα νέο βιβλίο ούτως ή άλλως. Είτε Pascal είτε Python πάλι νέο μάθημα δεν είναι για αυτούς? Εκτός αν αναφέρεσαι στους καθηγητές.

Επίσης όσον αφορά τη διόρθωση. Οι μαθητές μπορούν να κάνουν αυτό που έκαναν αρκετοί μαθητές και στην ΑΕΠΠ. Να σχεδιάζουν μια κάθετη γραμμή μπροστά από το μπλοκ εντολών η οποία θα κλείνει με μια οριζόντια γραμμή ώστε να φαίνεται ποιες εντολές είναι μέσα στο μπλοκ. Είναι τόσο τραγικό?

Τέλος παραθέτω ένα τμήμα κώδικα στην Python για τον αλγόριθμο ταξινόμησης ευθείας ανταλλαγής για να δείξω τι σημαίνει αλγοριθμική :
Κώδικας: Python
  1. def bubbleSort( A ):
  2.     N = len( A )
  3.     for i in range( N ):
  4.         for j in range(N-1, i, -1):
  5.             if A[j] < A[j-1] :
  6.                 A[j], A[j-1] = A[j-1], A[j]

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

Οι ανησυχίες που εκφράζεις είναι λογικές γιατί η γλώσσα αυτή εμφανίζεται πρώτη φορά στην ελληνική εκπαίδευση. Η επιλογή της όμως έγινε μετά από ενδελεχή μελέτη των προγραμμάτων σπουδών πολλών χωρών. Πίστεψέ με αυτή τη στιγμή η Python είναι μονόδρομος για ένα εισαγωγικό μάθημα προγραμματισμού είτε στο σχολείο είτε στο πανεπιστήμιο. Μόνο μια άλλη script γλώσσα (Javascript, Ruby) θα μπορούσε να γίνει το αντίπαλο δέος, όμως αυτές οι γλώσσες δεν έχουν τόσο μεγάλη εκπαιδευτική κοινότητα όπως η Python, κάτι το οποίο είναι πολύ σημαντικό, ώστε να κάνουμε δοκιμασμένα πράγματα και να μην κάνουμε πειράματα με τους μαθητές μας.
« Τελευταία τροποποίηση: 18 Φεβ 2017, 08:31:46 πμ από evry »
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dimitrios67

  • Βετεράνος
  • ****
  • Μηνύματα: 62
Απ: Μήπως τελικά η Python δεν έχει εκπαιδευτικό χαρακτήρα;
« Απάντηση #16 στις: Χθες στις 11:34:30 πμ »
Ευριπίδη, είναι πολύ σημαντικά αυτά που λες, και οπωσδήποτε πηγάζουν από τη γνώση και την εμπειρία που έχεις.
Θεωρώ όμως ότι το επίπεδο των μαθητών στα ελληνικά σχολεία, Γ Λυκείου ή ΕΠΑΛ, είναι χαμηλό,
ιδίως αυτών των παιδιών που θα εξεταστούν στον προγραμματισμό,
οπότε, δεν θα μπορέσουν να μάθουν τα βασικά του προγραμματισμού.
Τα αμερικανικά πανεπιστήμια έχουν φοιτητές πολύ υψηλότερου επιπέδου απ ότι τα Ελληνικά,
ποσό μάλλον από την "κατηγορία" των μαθητών που θα δώσουν Πανελλαδικές,
ήτοι ΕΠΑΛ και Γ ΓΕΛ, Οικονομίας και Πληροφορικής.
Στις σχολές Πληροφορικής και στα Πολυτεχνεία, όταν κάποιος έχει μπει με 17000 μόρια,
τότε στο Α έτος θα μπορέσει να μάθει Python (αν και δεν είμαι εντελώς σίγουρος), έχει το "potential".
Οι μαθητές της Οικονομίας Πληροφορικής όμως που είναι πολύ χαμηλότερου επιπέδου;
Θα μπορέσουν να καταλάβουν τις αναφορές σε αντικείμενα κλπ;
Θεωρώ πως όχι, από την πείρα που έχω και στην Γ Τεχνολογική και Οικονομία Πληροφορική,
άλλα και σε Α έτος ΤΕΙ και ΑΕΙ.

Πιθανώς βέβαια, προσωπικά, επειδή έμαθα C, Java κλπ, να μην μπορώ τόσο εύκολα να συνηθίσω το συντακτικό της Python,
τον "χύμα" κώδικα.
Μπορεί να συμβαίνει κι αυτό, δεν μπορεί όλοι εσείς να έχετε άδικο κι εγώ δίκιο....
Αλλά θα μπορούσε να γίνει
1. μια ευρεία συζήτηση μεταξύ των καθηγητών Πληροφορικής για τo θέμα αυτό και
2. να δούμε τα "αποτελέσματα" της διδασκαλίας της Python στους μαθητές.

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

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

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

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

aprekates

  • Βετεράνος
  • ****
  • Μηνύματα: 73
    • Enomem
Απ: Μήπως τελικά η Python δεν έχει εκπαιδευτικό χαρακτήρα;
« Απάντηση #17 στις: Σήμερα στις 01:48:35 πμ »
Το ερώτημα  'ποιά είναι η καλή γλώσσα προγραμματισμού για την εκπαίδευση ' απο ποιούς παράγοντες θα κριθεί;
  • Μπορεί να απαντηθεί για όλο τον μαθητικό πληθυσμό το ίδιο ; 
  • Μπορεί να απαντηθεί το ίδιο και για τους μαθητές και για τους καθηγητές ;
  • Μπορεί να απαντηθεί το ίδιο από όλους του καθηγητές πληροφορικής ; (μια ομάδα καθολου ομοιογενής που περιλαμβάνει και άλλες ειδικότητες με διαφορετική οπτική του τι συνιστά ενδιαφέρον πρόβλημα προς αλγοριθμοποίηση)
  • Ή το ίδιο θα απαντήσει κάθε χώρα ;
  • Το ίδιο θα απαντήσει μια χώρα που τα smartphone έχουν πχ 80% διεύσδυση και το ίδιο σε μια χωρα που έχουν 10% ;
  • To ίδιο θα απαντήσει μια χώρα που έχει επενδύσει στο ανοιχτό λογισμικό γιατί συνιστά απόφαση μιας ευρύτερης πολιτικής μεταφοράς τεχνογνωσίας και
    το ίδιο μια χώρα που δεν έχει ξεκάθαρη πολιτική σε σχετικά ζητήματα και έχει επενδύσει σε ιδιόκτητο λογισμικο όπου οι επιλογές σου περιορίζονται ;
Υπάρχει απόλυτο μέτρο σύγκρισής και εύρεσης της παιδωγικης καταλληλότητας ή υπεισέρχονται και μη-άμμεσα ορατοί παράγοντες όπως κουλτούρα, μόδα, προυπάρχουσα εμπειρία και  κλίση των προσώπων που δίνουν το γενικό στίγμα , οικονομική δομή μιας χώρας κτλ κτλ. 

Αν πχ υπάρχει τάση στην οικονομία για μεγάλη ζητηση σε web developers γιατι πχ ο τουρισμός το χρειάζεται πως
θα επηρεάσει το τελικό problem-set στο οποιο θα καταλήξει ένας νεος εργαζομενος την εκτίμηση της 'καταλληλότητας'
των γλωσσων που διδάχτηκε ;

Αν μια χώρα δεν ξέρει που βαδίζει με ποιό κριτήριο θα επιλέξει ; Την ποιό γενική γλωσσα ; Ποιά είναι αυτή; Η python είναι ποιό γενική από την pascal
ή την logo ή την basic ;
Υπάρχει άραγε 'γενική' γλώσσα που να αποτελέσει καλό εφαλτήριο για όποιο μονοπάτι ακολουθήσει ο νεος προγραμματιστής και για όποια
problem-space καταλήξει να ζει; Ή αυτό δεν υπάρχει αφού άλλο ο καθολικός ´υπολογιστής' του turing και άλλο πράγμα μια ανώτερη γλωσσα
προγραμματισμού που ακολουθεί 'υποδείγματα' τα οποία υποδείγματα προφανώς ετεροκαθορίζονται από εξω-ακαδημαικούς παράγοντες.
Να θυμίσω πχ την C,C++ που προέκυψαν από τηλεπικοινωνιακούς τομείς της αμερικανικής οικονομίας ;


Υπάρχει ένα υπόδειγμα ποιό κατάλληλο από παιδαγωγικής άποψης ; Είναι αυτό του δομημένου-διαδικαστικού
προγραμματισμού; Γιατί ;

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

Την δεκαετία του 80 υπήρχε μεγάλη διάδοση του home computer που σου πρόσφερε ένα διερμηνευτή της basic στα χέρια σου και το mental barrier
για να ξεκινήσεις να 'προγραμματίζεις' τη μηχανή ήταν εντελώς διαφορετικής φύσης από σήμερα.

Καταρχάς μιλάμε για 'εισαγωγική' γλώσσα ή για μια γλώσσα στο επόμενο στάδιο ; 
Θέλουμε μια γλώσσα που να επιτρέπει να αξιοποιήσεις όλους τους πόρους ενός ΗΥ ή όχι (επιτάχυνση γραφικών, επεξεργασία ηχου , βάσεις, δικτύωση , πολυπύρηνες ΚΜΕ  κτλ)
και άρα να είναι ποιό εντυπωσιακή ή μια στεγνή αλλά ποιό συνεπή γλώσσα ;
Θέλουμε να διδαχτούμε γλώσσες με μεγάλο brainshare (της μοδάς ας το πούμε ή όχι)
Θέλουμε με διερμηνευτή ή με μεταγλωττιστή ;
Θέλουμε να έχει μεταφέρσιμη ευκολα σε πολλά περιβάλλοντα ;
Ποιων προβλημάτων μας ενδιαφάρει η αλγοριθμική τους προσέγγιση ; Ποιες κατηγορίες τους ; Καθε γλώσσα ειναι το ίδιο βολική για την μεταφορά του αλγορίθμου
σε κώδικα ;  Πχ προβλήματα ταξινόμησης ; Μοντελοποίησης ; Αναζήτησης ;  Κωδικοποίησης ; Ρομποτικής και ΤΝ ;  Επεξεργασίας λόγου ;
Κάθε κοινωνία δεν έχει κάποια problem-set-spaces που πρέπει να αντιμετωπίσει και στα οποία πρέπει να κινηθεί ;

Θεωρητικά στον γυμνάσιο μαθαίνεις logo αλλά είναι στην διακριτική ευχαιρεια του π.σ να μάθεις και scratch(λ-snap κτλ).
Επίσης στο γενικής παιδείας υπάρχει το ΕΑΕΗΥ (που κινείται στο γενικό πνεύμα της προώθησης της αλγοριθμικής - υπολογιστικής σκέψης).
Και στον τομέα πληροφορικής του ΕΠΑΛ  (στη Β τάξη οπου εκεί μόνο ουσιαστικά υπάρχει επαγγελματική εκπαίδευση) μπορείς να αφιερώσεις
χρόνο να μάθεις μια γλώσσα προγραμματισμούς (pascal παλιά , python τώρα).

Το παραπάνω πλαίσιο εμένα με ικανοποιεί μεχρι να αρχισουμε μια ποιο ενδεχελή μελέτη των παραγόντων που ανάφερα.
« Τελευταία τροποποίηση: Σήμερα στις 02:24:56 πμ από aprekates »

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 398
  • Real stupidity beats ΑΙ any time
Απ: Μήπως τελικά η Python δεν έχει εκπαιδευτικό χαρακτήρα;
« Απάντηση #18 στις: Σήμερα στις 05:18:29 μμ »
Το παραπάνω πλαίσιο εμένα με ικανοποιεί μεχρι να αρχισουμε μια ποιο ενδεχελή μελέτη των παραγόντων που ανάφερα.

Με το "παραπάνω πλάισιο" αναφέρεσαι στην προ-τελευταία σου παράγραφο;