Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;

Ξεκίνησε από alkisg, 20 Μαρ 2021, 07:22:17 ΠΜ

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

Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;

ΓΛΩΣΣΑ
Ψευδογλώσσα
ΓΛΩΣΣΑ+Ψευδογλώσσα
Javascript
Python
Άλλη (πείτε ποια στα σχόλια)

Κώστας Τ.

#75
@Alkis

Εννοουσα την διαβασε σαν λογικη, την διαδραση με τον χρηστη. Την λογικη οτι μπορει να εχω σαν εισοδο πχ οποιουσδηποτε 2 αριθμους απο τον χρηστη και οχι πχ το 3 και το 5 που σκεφτηκα σαν συγκεκριμενο παραδειγμα. Την λογικη της μεταβλητης και του περιεχομενου της.

Δηλαδη θα θεωρουμαστε πιο εκσυγχρονισμενοι αν αντι για Διαβασε 3, ο μαθητης θα εγραφε 3=input;

Και ξαναρωταω, με Python στα ΓΕΛ γιατι να μην δινουμε και την ειδικοτητα στα παιδια του ΓΕΛ; Οι ΕΠΑΛ ειναι πιο μαγκες;

Για να προλαβω τυχον σκεψεις οτι ισως με ξεβολευει η αλλαγη σε Python. Δεν ειμαι 60+ (no offence για τους συναδελφους, ισα ισα, παντα τρεφω πολλα respect για τους μεγαλυτερους σε ηλικια απο μενα). Το λεω με την εννοια οτι εχω πραγματικα πολλη ορεξη και μερακι να με βαλεις να κατσω να μαθω ακομα και prolog (που λεει ο λογος...) για να διδαξω, αν χρειαστει. Απλα δεν βρισκω το νοημα να γινει μια τετοια αλλαγη στο ΓΕΛ.

Ας πουμε το thread που ειχατε ανοιξει με το ερωτημαλογιο για τις μαυρες τρυπες στη ΓΛΩΣΣΑ ηταν ο,τι πιο εποικοδομητικο ειχα δει τα τελευταια χρονια.

alkisg

Παράθεση από: Κώστας Τ. στις 25 Απρ 2021, 12:06:01 ΠΜ
Την λογικη της μεταβλητης και του περιεχομενου της.
Δηλαδη θα θεωρουμαστε πιο εκσυγχρονισμενοι αν αντι για Διαβασε 3, ο μαθητης θα εγραφε 3=input;

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

Να πω ένα παράδειγμα σχετικά με αυτό που έλεγα παραπάνω, ότι σε εισαγωγικά μαθήματα τύπου ΑΕΠΠ είναι καλύτερα να χρησιμοποιούμε εντολή Δεδομένα και να μην υπάρχει καν εντολή ΔΙΑΒΑΣΕ. Ένας αλγόριθμος μετατροπής φαρενάιτ σε κελσίου σε Javascriptοψευδογλώσσα θα μπορούσε να είναι:

Κώδικας: Javascript
Αλγόριθμος ΦαρενάιτΣεΚελσίου(φαρενάιτ, κελσίου)
Δεδομένα
  φαρενάιτ: πραγματικός("Βαθμοί φαρενάιτ")
Αποτελέσματα
  κελσίου: πραγματικός("Βαθμοί κελσίου")
Μεταβλητές
// αυτό το πρόγραμμα δεν χρειάζεται άλλες τοπικές μεταβλητές
Αρχή
  κελσίου = 5*(φαρενάιτ - 32) / 9


Πουθενά ΓΡΑΨΕ, πουθενά ΔΙΑΒΑΣΕ. Και έστω ότι ο "Διερμηνευτής της Javascriptoψευδογλώσσας" θα μετέφραζε αυτόματα τον παραπάνω αλγόριθμο στην εξής HTML:
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_temp_converter_fahrenheit_to_celsius

Όταν λοιπόν ο μαθητής είναι υποχρεωμένος να δηλώσει δεδομένα/αποτελέσματα χρησιμοποιώντας ονόματα και περιγραφές, τα οποία αντιστοιχούνται αυτόματα από το προγραμματιστικό περιβάλλον σε input boxes και labels, δεν κάνει καλύτερες νοητικές αναπαραστάσεις σχετικά με τις έννοιες της εισόδου, της εξόδου και των μεταβλητών;

Γιατί να επιμένουμε σε διδασκαλία τύπου τερματικού, όταν οι μαθητές δεν έχουν δει ποτέ τερματικό;

pgrontas

Παράθεση από: Κώστας Τ. στις 25 Απρ 2021, 12:06:01 ΠΜ
Και ξαναρωταω, με Python στα ΓΕΛ γιατι να μην δινουμε και την ειδικοτητα στα παιδια του ΓΕΛ; Οι ΕΠΑΛ ειναι πιο μαγκες;

Προσωπικά ποτέ δεν κατάλαβα αυτό το επιχείρημα. Δηλαδή στα ΓΕΛ τα παιδιά πρέπει να μαθαίνουν άχρηστα πράγματα (την λέξη άχρηστα αποσυνδέστε την από αρνητικούς συνειρμούς - την εννοώ με την κυριολεκτική της σημασία δηλ. ανεφάρμοστα, θεωρητικά).
Αν εφαρμόζαμε αυτή τη λογική στη γυμναστική πχ. τα παιδιά θα έπρεπε να μαθαίνουν τους κανόνες του μπάσκετ αντί να παίζουν ή για να το μεταφέρουμε καλύτερα στην περίπτωση μας θα έπρεπε να μαθαίνουν τους κανόνες ενός φανταστικού αθλήματος πχ. μπασκετοποδοσφαιροβόλει (θα το λέγαμε ΑΘΛΗΜΑ με κεφαλαία).
Αυτή την ακαδημαϊκοφανή λογική την βλέπουμε σε όλα τα μαθήματα πχ. στις γλώσσες που τα παιδιά μπορούν να αναγνωρίζουν όλες τις μορφές ενός ρήματος, αλλά δυσκολεύονται να γράψουν ένα κείμενο για ένα σύγχρονο θέμα, ή στις φυσικές επιστήμες όπου έχουν αποξενωθεί από το πείραμα ή στα μαθηματικά όπου μπορεί να κάνουν παραγώγους και ολοκληρώματα στη θεωρία χωρίς να καταλαβαίνουν την χρησιμότητά τους.
Προσοχή δεν υποστηρίζω ότι η θεωρία είναι άχρηστη, αλλά το ότι η εφαρμογή στην πραγματικότητα δεν αφορά μόνο τα ΕΠΑΛ.
Γενική παιδεία δεν σημαίνει ανεφάρμοστη παιδεία.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

Κώστας Τ.

#78
Συναδελφε εκανα τον παραλληλισμο ΓΕΛ - ΕΠΑΛ με την λογικη του παραλογου.

Εχεις αναρωτηθει γιατι στα μαθηματικα της Γ ΓΕΛ κανουν Bolzano, ΘΜΤ και Rolle; Θεωρηματα που ισως να μην τα ξαναδουν ακομα και να περασουν σε μαθηματικο τμημα. Η απαντηση ειναι για να μπουν στην λογικη "εχω δεδομενα, τα επεξεργαζομαι, σκεφτομαι συνδυαστικα και φτανω στα ζητουμενα". Δηλαδη δουλευουν την λογικη του να εφαρμοσεις ενα θεωρημα. Αυτος ειναι ο ρολος του ΓΕΛ.

Στην Γ ΕΠΑΛ κανουν στατιστικη και την δινουν πανελληνιες. Γιατι ο ρολος του ΕΠΑΛ ειναι η εφαρμογη.

Ειχα την ιδια συζητηση για τα μαθηματικα, γιατι στο ΓΕΛ δεν κανουν πχ γραμμικη αλγεβρα και πινακες, αφου ολα γυρω μας ειναι ψηφιακα.

Πιστευεις οτι αν δεν υπηρχε καποιος "τρελος" που να ελεγε ενα πρωινο οτι θα φτιαξει ενα φανταστικο στοιχειο που οταν το υψωσει στο τετραγωνο θα κανει -1, και θα εφτιαχνε ολοκληρη θεωρια για αυτο (χωρις εφαρμογη τοτε που εγινε), τελικα εμεις θα chatαραμε τωρα; Εχουμε φτασει στην εποχη που απλα θα προσπερασουμε την οποια θεωρια και θα παμε παρακατω;

Παντα απο καπου ξεκινας. Δεν πας απευθειας στην εφαρμογη.

Ειναι αραγε σωστο που οι περισσοτεροι επιστημονες της πληροφορικης μολις δουν θεωρητικα πραγματα παθαινουν εγκεφαλικο, και απλα χρησιμοποιουν ετοιμους κωδικες (πχ οπως γινεται τωρα με το deep learning ή οπως γινοταν τοσα χρονια με τα νευρωνικα που απλα βλεπαμε μαυρα κουτια να παραγουν αποτελεσματα).

Και ξαναγυρναω στον παραλληλισμο: αν οντως εχουν την ιδια γλωσσα προγραμματισμου και τα 2 λυκεια, ποια η διαφορα τους; Ισα ισα που στο ΓΕΛ θα ειναι πιο "βαρια" τα πραγματα, αλλα μονο στο ΕΠΑΛ θα εχουν την ειδικοτητα γραμμενη σε χαρτι. Το λεω και το ξαναλεω γιατι παιζουν δουλειες με αυτο το χαρτι (στην Ελλαδα με ενα χαρτι κανεις ο,τι κανεις).

pgrontas

Παράθεση από: Κώστας Τ. στις 25 Απρ 2021, 11:05:51 ΠΜ
Πιστευεις οτι αν δεν υπηρχε καποιος "τρελος" που να ελεγε ενα πρωινο οτι θα φτιαξει εναν φανταστικο αριθμο που οταν το υψωσει στο τετραγωνο θα κανει -1, και θα εφτιαχνε ολοκληρη θεωρια για αυτο (χωρις εφαρμογη τοτε που εγινε), τελικα εμεις θα chatαραμε τωρα; Εχουμε φτασει στην εποχη που απλα θα προσπερασουμε την οποια θεωρια και θα παμε παρακατω;

Παντα απο καπου ξεκινας. Δεν πας απευθειας στην εφαρμογη.

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

Παράθεση
Πιστευεις οτι ειναι σωστο που οι περισσοτεροι επιστημονες της πληροφορικης μολις δουν θεωρητικα πραγματα παθαινουν εγκεφαλικο, και απλα χρησιμοποιουν ετοιμους κωδικες (πχ οπως γινεται τωρα με το deep learning ή οπως γινοταν τοσα χρονια με τα νευρωνικα που απλα βλεπαμε μαυρα κουτια να παραγουν αποτελεσματα).
Δεν είναι επιστήμονες της πληροφορικής αν δεν μπορούν να ασχοληθούν με τη θεωρία.


Παράθεση
Και ξαναγυρναω στον παραλληλισμο: αν οντως εχουν την ιδια γλωσσα προγραμματισμου και τα 2 λυκεια, ποια η διαφορα τους; Ισα ισα που στο ΓΕΛ θα ειναι πιο "βαρια" τα πραγματα, αλλα μονο στο ΕΠΑΛ θα εχουν την ειδικοτητα γραμμενη σε χαρτι. Το λεω και το ξαναλεω γιατι παιζουν δουλειες μονο με αυτο το χαρτι (στην Ελλαδα με ενα χαρτι κανεις ο,τι κανεις).
Η ερώτηση αυτή είναι λανθασμένη. Όλα τα πανεπιστήμια πληροφορικής κάνουν πραγματικές γλώσσες προγραμματισμού. Δεν σημαίνει αυτό ότι δεν διαφοροποιούνται από τα ΙΕΚ. Τα ΓΕΛ διαφοροποιούνται συνολικά από τα ΕΠΑΛ (επειδή ασχολούνται/εμβαθύνουν σε διαφορετικά αντικείμενα) και όχι από το αν θα διδαχθεί πραγματική γλώσσα προγραμματισμού.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

Κώστας Τ.

Παράθεση από: pgrontas στις 25 Απρ 2021, 11:34:18 ΠΜ
Η ερώτηση αυτή είναι λανθασμένη. Όλα τα πανεπιστήμια πληροφορικής κάνουν πραγματικές γλώσσες προγραμματισμού. Δεν σημαίνει αυτό ότι δεν διαφοροποιούνται από τα ΙΕΚ. Τα ΓΕΛ διαφοροποιούνται συνολικά από τα ΕΠΑΛ (επειδή ασχολούνται/εμβαθύνουν σε διαφορετικά αντικείμενα) και όχι από το αν θα διδαχθεί πραγματική γλώσσα προγραμματισμού.

Ναι συμφωνουμε, αλλα ζουμε στην Ελλαδα.

Εχεις το χαρτι; Μπηκες.
Δεν εχεις κανει σεμιναριο 400+ ωρων; -2 μορια για τους πινακες αναπληρωτων.

Ετσι ειναι εδω. Ολα ειναι ενα χαρτι.
Κακο, πολυ κακο. Αλλα με αυτην την λογικη θα πορευτουμε.

Απλα βαζω στη συζητηση τον ρολο του ΓΕΛ και του ΕΠΑΛ, καθως και την ουσιωδη διαφορα τους.

Κώστας Τ.

#81
Ειναι η ιδια συζητηση για το αν θα καταργηθουν οι πανελληνιες.

Τελειο το ευρωπαϊκο μοντελο, με εσωτερικες πανεπιστημιακες εξετασεις εισαγωγης, με συνεντευξεις, με, με, με.

Εδω δεν μπορουν να εφαρμοστουν αυτα τα ευρωπαϊκα μοντελα. Πρεπει να ξεκινησουμε απο αλλου τις αλλαγες (μεγαλη συζητηση).

Το μοναδικο πραγμα που εχει παραμεινει αδιαβλητο (σε ενα μεγαλο ποσοτο, δεν παιρνω και ορκο) ειναι το συστημα των πανελληνιων.

Ελπιζω να μην σας κουρασα με τις φιλοσοφιες μου.

Mxyzptlk

Παράθεση από: Κώστας Τ. στις 25 Απρ 2021, 12:06:01 ΠΜ
Δηλαδη θα θεωρουμαστε πιο εκσυγχρονισμενοι αν αντι για Διαβασε 3, ο μαθητης θα εγραφε 3=input
οχι θα είμαστε εκσυγχρονισμενοι αν γραφουμε σε γλωσσα μια παγκοσμιως αγνωστη γλωσσα που εχουμε εφευρει εδω στην ελλαδα για να κοροιδευουμε οτι κανουμε προγραμματισμο

Παράθεση
Και ξαναρωταω, με Python στα ΓΕΛ γιατι να μην δινουμε και την ειδικοτητα στα παιδια του ΓΕΛ; Οι ΕΠΑΛ ειναι πιο μαγκες;
γιατι αλλο διδασκω γλωσσα και αλλο αλγοριθμικη κατι που δεν εχεις καταλαβει. δεν κανουμε καταρτιση

Παράθεση
Για να προλαβω τυχον σκεψεις οτι ισως με ξεβολευει η αλλαγη σε Python. Δεν ειμαι 60+ (no offence για τους συναδελφους, ισα ισα, παντα τρεφω πολλα respect για τους μεγαλυτερους σε ηλικια απο μενα).
δεν υπαρχουν γερασμενοι ανθρωποι μονο γερασμενα μυαλα

Παράθεση
Ας πουμε το thread που ειχατε ανοιξει με το ερωτημαλογιο για τις μαυρες τρυπες στη ΓΛΩΣΣΑ ηταν ο,τι πιο εποικοδομητικο ειχα δει τα τελευταια χρονια.
με ποιο αποτελεσμα; οι μαυρες τρυπες μενουν, ακομα ασχολουνται με τα κεφαλαια μικρα. ουτε μια σοβαρη υλοποιηση σε στιβα δεν μπορουν να κανουν, αλλα εκει ΓΛΩΣΣΑ.
βλεπεις μια νεα γλωσσα θα ξεβολεψει πολυ κοσμο

Παράθεση από: Κώστας Τ. στις 25 Απρ 2021, 11:05:51 ΠΜ
Συναδελφε εκανα τον παραλληλισμο ΓΕΛ - ΕΠΑΛ με την λογικη του παραλογου.
ακριβως σε αυτα που γραφεις δεν υπαρχει λογικη μονο παραλογα ειναι

Παράθεση από: Κώστας Τ. στις 25 Απρ 2021, 11:05:51 ΠΜ
Εχεις αναρωτηθει γιατι στα μαθηματικα της Γ ΓΕΛ κανουν Bolzano, ΘΜΤ και Rolle; Θεωρηματα που ισως να μην τα ξαναδουν ακομα και να περασουν σε μαθηματικο τμημα.
ισως να μην ξαναδουν? τα θεωρηματα αυτα τα κανουν σε ολα τα τμηματα πληροφορικηγς, μαθηματικων, φυσικης. ειναι τα βασικοτερα θεωρηματα της αναλυσης. ειστε σιγουρα καθηγητης;

Παράθεση από: Κώστας Τ. στις 25 Απρ 2021, 11:05:51 ΠΜ
Στην Γ ΕΠΑΛ κανουν στατιστικη και την δινουν πανελληνιες. Γιατι ο ρολος του ΕΠΑΛ ειναι η εφαρμογη.
δεν κανουν στατιστικη , κανουν αναλυση + στατιστικη. ειναι το παλιο μαθημα γενικηγς παιδειας.
το κανουν γιατι απλα ειναι ευκολο

Παράθεση από: Κώστας Τ. στις 25 Απρ 2021, 11:05:51 ΠΜ
Πιστευεις οτι αν δεν υπηρχε καποιος "τρελος" που να ελεγε ενα πρωινο οτι θα φτιαξει ενα φανταστικο στοιχειο που οταν το υψωσει στο τετραγωνο θα κανει -1, και θα εφτιαχνε ολοκληρη θεωρια για αυτο (χωρις εφαρμογη τοτε που εγινε), τελικα εμεις θα chatαραμε τωρα; Εχουμε φτασει στην εποχη που απλα θα προσπερασουμε την οποια θεωρια και θα παμε παρακατω;
λυπαμαι καμια σχεση, δεν εχετε ιδεα καν πως εμφανιστηκαν οι φανταστικοι αριθμοι και τις εφαρμογες εχουν.

Παράθεση
Παντα απο καπου ξεκινας. Δεν πας απευθειας στην εφαρμογη.
παλι λαθος, αναποδα πας, πρωτα ξεκινας απο την εφαρμογη και μετα γενικευεις στην θεωρια. δηλαδη καποιος ξυπνησε ενα πρωι και σκεφτηκε τους φανταστικους αριθμους; ειχε να λυσει ενα προβλημα και εμφανιστηκε η αναγκη για αυτους. Λες πραγματα που ειναι εντελως λαθος!

Παράθεση
Ειναι αραγε σωστο που οι περισσοτεροι επιστημονες της πληροφορικης μολις δουν θεωρητικα πραγματα παθαινουν εγκεφαλικο, και απλα χρησιμοποιουν ετοιμους κωδικες (πχ οπως γινεται τωρα με το deep learning ή οπως γινοταν τοσα χρονια με τα νευρωνικα που απλα βλεπαμε μαυρα κουτια να παραγουν αποτελεσματα).
τοτε δεν ειναι επιστημονες πληροφορικης. μαλλον αναφερεστε σε αποφοιτους ΙΕΚ. επισης ενα επιστημονας πληροφορικης δεν βλεπει το νευρωνικο δφικτυο σαν μαυτο κουτρι ξερεις πολυ καλα πως λειτουργει, αλλιως δεν θα ηταν επιστημονας

Παράθεση
Το λεω και το ξαναλεω γιατι παιζουν δουλειες με αυτο το χαρτι (στην Ελλαδα με ενα χαρτι κανεις ο,τι κανεις).
παλι λαθος, εχετε μειενει στην δεκατια του 80'. αυτα τελειωσαν τα χαρτια δεν σημαινουν τιποτα. οι γνωσεις και οι ικανοτητες μετρανε σημερα.

Παράθεση
Ναι συμφωνουμε, αλλα ζουμε στην Ελλαδα.

Εχεις το χαρτι; Μπηκες.
Δεν εχεις κανει σεμιναριο 400+ ωρων; -2 μορια για τους πινακες αναπληρωτων.
αυτη ειναι η δικη σου ελλαδα. δεν ειναι η δικη μου , εγω ονειρευομαι μια ελλαδα που οι μαθητες θα εχουν πραγματικες γνωσεις πληροφορικης και επιστημων θεωρητικες και πρακτικες και δεν θα πληρωνουν για να παρουν αμφιβολου αξιας χαρτια που στην αγορα δεν τα υπολογιζει κανενας.

Παράθεση
Ετσι ειναι εδω. Ολα ειναι ενα χαρτι.
Κακο, πολυ κακο. Αλλα με αυτην την λογικη θα πορευτουμε.
εσυ να πορευτεις ετσι, εγω αρνουμαι να πορευτω και θα κανω οτι μπορω να για να μην αποκτησουν οι μαθητες μου τη λογικη του μαζευω χαρτια για να χωθω στο δημοσιο

Παράθεση από: Κώστας Τ. στις 25 Απρ 2021, 11:56:57 ΠΜ
Ειναι η ιδια συζητηση για το αν θα καταργηθουν οι πανελληνιες.
!!!!!!!!!!!!   τι σχεση εχει η εισαγωγη μιας πραγματικης γλωσσας προγραμματισμου με τις πανελληνιες.

απλα δεν θελετε μια πραγματικη γλωσσα , αυτο εινια ολο δεν εχει σημασια αν θα ειναι python, javascript, java , c# h haskell scheme που θα ηθελα εγω
απλά να μην ερθει τιποτα καινουργιο γιατι καποιοι ξερουν μονο γλωσσα και θα υποχρεωθουν
1) να διαβασουν
2) να ξαναγραψουν σημειωσεις
3) να ξαναγραψουν βιβλια
κλπ

Κώστας Τ.

Αγαπητε συναδελφε (?)

Κατ'αρχας, 11 στις 14 απαντησεις σου σε αυτα που εχω πει, ειναι τουλαχιστον προσβλητικες.

Δεν θα μπω καν στην διαδικασια να απαντησω σε ερωτησεις του στιλ "ειστε σιγουρα καθηγητης;".

Υπηρξε μια προσπαθεια απο μερους μου να βαλω στη συζητηση τον ρολο του ΓΕΛ και ΕΠΑΛ, σε συναρτηση με τα ελληνικα δεδομενα. ΤΟΝΙΣΑ οτι κακως ισχυουν πολλα που ισχυουν στην Ελλαδα. Ισχυουν ομως.
ΤΟΝΙΣΑ οτι συμφωνω με τον pgrontas σε αυτα που ειπε.

Τελειωσανε αυτα ναι, ομως μονο στον ιδιωτικο τομεα. Θεωρεις δηλαδη "χωσιμο στο δημοσιο" την προσπαθεια δεκαδων χιλιαδων συναδελφων να προσληφθουν ως καθηγητες στα σχολεια;

Αν για καποιο λογο εσυ καταλαβες οτι εμενα με χαλαει να το γυρισουμε σε python γιατι ξεβολευομαι, λυπαμαι.

Εγω το ληγω εδω, η συζητηση ξεφευγει.

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

Πραγματικά τώρα δεν είναι αυτό ύφος και επίπεδο ανταλλαγής απόψεων...

evry

Ας συνεχίσουμε το thread με ηρεμία και επιχειρήματα
Ένα καλό επιχείρημα το οποίο δείχνει την ανεπάρκεια της ΓΛΩΣΣΑΣ στον τμηματικό προγραμματισμό είναι η χρήση της στοίβας και της ουράς. Έτσι όπως έχουν οριστεί τα υποπρογράμματα στην ΓΛΩΣΣΑ δεν μπορούμε να πετύχουμε ανεξαρτησία Intreface/implementation.
Στην Python όμως μπορούμε:
Κώδικας: Python
def  push(stack, item) :
    stack.append( item )
def  pop(stack) :
    return stack.pop( )
def  isEmpty(stack) :
    return len(stack) == 0
def  createStack( ) :
    return [ ]

stack = createStack()
number = int( input( " N = " ) )    
while number != 0 :                       
    push(stack, number)     
    number = int( input( " N = " ) )

while not isEmpty(stack) :
    number = pop(stack)
    print(number)

και όχι μόνο αυτό αλλά μπορούμε να κάνουμε ακριβώς το ίδιο με αντικειμενοστρεφή υλοποίηση της στοίβας:
Κώδικας: Python
class Stack():

    def __init__(self):
        self.item = []
    
    def  isEmpty(self) :
        return len(self.item) == 0

    def pop(self):
        return self.item.pop()
        
    def push(self,item):
        self.item.append(item)

stack = Stack()
number = int( input( " N = " ) )    
while number != 0 :                       
    stack.push(number)     
    number = int( input( " N = " ) )

while not stack.isEmpty() :
    number = stack.pop()
    print(number)


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

Θα μπορούσε λοιπόν κάποιος να διαχωρίσει σε άλλο αρχείο την υλοποίηση της Στοίβας και να δώσει σε δυο μαθητές μόνο το interface, ή να βάλει τους μαθητές να υλοποιήσουν την στοίβα με διαφορετικό τρόπο π.χ. σαν πίνακα (λίστα με συγκεκριμένο μέγεθος) και άλλους μαθητές να χρησιμοποιούν τα αντικείμενα αυτά
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dpa2006

#86
Καλησπέρα σε όλους
Σκέφτηκα να δω τι κάνουν στην Κύπρο στα αντίστοιχα μαθήματα Πλήροφορικής
Παρακάτω τα αποτελέσματα:

Νέο Ωρολόγιο Πρόγραμμα
https://nop.moec.gov.cy/index.php/domi/g-lykeiou





Μαθήματα Β και Γ Λυκείου:
https://nop.moec.gov.cy/index.php/mathimata/mathimata-b-c-lykeiou


Εφαρμογές Πληροφορικής
https://nop.moec.gov.cy/archeia/mathimata/efarmoges_pliroforikis.pdf


Πληροφορική
https://nop.moec.gov.cy/archeia/mathimata/pliroforiki.pdf




Αντιγράφω από το:
https://nop.moec.gov.cy/archeia/mathimata/pliroforiki.pdf


"
Διδακτική Μεθοδολογία και βιβλία
Το μάθημα έχει σαφή πρακτικό και εργαστηριακό προσανατολισμό με εκτενή χρήση εφαρμοσμένων προσεγγίσεων στον ηλεκτρονικό υπολογιστή, με χρήση ρεαλιστικών σεναρίων και σύγχρονων εργαλείων.
Ως κύρια γλώσσα προγραμματισμού τόσο στη Β' όσο και στη Γ' Λυκείου έχει επιλεγεί η C++. Πρόκειται για μια ευρέως διαδεδομένη γλώσσα προγραμματισμού η οποία έχει χρησιμοποιηθεί στη δημιουργία πολλών γνωστών προγραμμάτων, όπως τα MS-Windows, το MS-Office, το Firefox, το Photoshop. Πέρα από τα γενικά χαρακτηριστικά της, η C++ έχει επιλεγεί λόγω της ομοιότητας του συντακτικού της με αυτό άλλων γλωσσών προγραμματισμού όπως η Java και η C#, οι οποίες χρησιμοποιούνται στη δημιουργία εφαρμογών για φορητές συσκευές και ηλεκτρονικά παιγνίδια, ώστε οι μαθητές/τριες να μπορούν εύκολα να κάνουν τη μετάβαση στη δημιουργία τέτοιων εφαρμογών.


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


Περιεχόμενο/Στόχοι του μαθήματος


Η Β Λυκείου χωρίζεται στις παρακάτω ενότητες:
• Βασικές έννοιες o Αναπαράσταση δεδομένων.
• Λειτουργικά Συστήματα o Διαδικασία εγκατάστασης, βασικές εντολές και ρυθμίσεις διαφορετικών λειτουργικών συστημάτων (π.χ. Windows, Linux).
• Βάσεις Δεδομένων / Ανάπτυξη Πληροφοριακών Συστημάτων
     o Η διαδικασία της ανάπτυξης ενός ολοκληρωμένου Πληροφοριακού Συστήματος.
     o Τρόποι ανάλυσης, σχεδίασης, δημιουργίας, εγκατάστασης και συντήρησης πραγματικών Πληροφοριακών Συστημάτων.
     o Ανάπτυξη Πληροφοριακού Συστήματος, βασισμένου σε σύγχρονες προσεγγίσεις βάσεων δεδομένων (π.χ. ταυτόχρονη                πρόσβαση από πολλούς χρήστες, πρόσβαση από τον Παγκόσμιο Iστο – Web-based database).


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


Η Γ Λυκείου χωρίζεται στις παρακάτω ενότητες:
• Αλγοριθμική Σκέψη, Προγραμματισμός και Σύγχρονες Εφαρμογές Πληροφορικής
   o Ανάπτυξη ολοκληρωμένων εφαρμογών για επίλυση σύνθετων προβλημάτων ακολουθώντας τα βήματα του κύκλου                    ανάπτυξης.
   o Επίλυση προβλημάτων που απαιτούν τη χρήση δισδιάστατων πινάκων και δομών δεδομένων.
   o Μελέτη δομών δεδομένων ψηλού επιπέδου π.χ. στοίβες (stacks) και ουρές (queues), και χρήση στην επίλυση                            προβλημάτων.
      Μελέτη γνωστών αλγόριθμων αναζήτησης (π.χ. Serial και Binary Search) και ταξινόμησης (π.χ. Bubble και          Insertion        Sort).
   o Xρήση αρχείων (files) για είσοδο δεδομένων και έξοδο πληροφοριών.
   o Η έννοια της πολυπλοκότητας σε έναν αλγόριθμο/ένα πρόγραμμα.


• Το Υλικό/Αρχιτεκτονική Ηλεκτρονικών Υπολογιστών o Δομικά στοιχεία και αρχές λειτουργίας λογικών κυκλωμάτων και του         Ηλεκτρονικού Υπολογιστή, π.χ. πίνακες αληθείας (true tables), πίνακες Karnaugh (K-maps), λογικές πύλες, αθροιστές και         Flip Flops

"

Μια ρητορική ερώτηση, αν εμείς μιλήσουμε για 2 (ή και περισσότερα μαθήματα Πληροφορικής στη Γ Λυκείου, έστω επιλεγόμενα κάποια από αυτά) όπως ήταν κάποτε, έχει νόημα ή θα μας παρεξηγήσουν...?

Καλή Ανάσταση
Καλό Πάσχα
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

George Eco

Παράθεση από: dpa2006 στις 28 Απρ 2021, 10:15:27 ΜΜ

"
Διδακτική Μεθοδολογία και βιβλία
.... Πέρα από τα γενικά χαρακτηριστικά της, η C++ έχει επιλεγεί λόγω της ομοιότητας του συντακτικού της με αυτό άλλων γλωσσών προγραμματισμού όπως η Java και η C#.... [/u][/i][/b]

Μια ρητορική ερώτηση, αν εμείς μιλήσουμε για 2 (ή και περισσότερα μαθήματα Πληροφορικής στη Γ Λυκείου, έστω επιλεγόμενα κάποια από αυτά) όπως ήταν κάποτε, έχει νόημα ή θα μας παρεξηγήσουν...?

Καλή Ανάσταση
Καλό Πάσχα

Περί Διδακτικής μεθοδολογίας...
Επισημαίνοντας το ότι η C# είναι η Java a la Microsoft, θα συμφωνήσω με αυτόν που το έγραψε αυτό το κείμενο.
"...η C++ έχει επιλεγεί λόγω της ομοιότητας του συντακτικού της με αυτό άλλων γλωσσών προγραμματισμού..."
Όντως.

"Όλα C θυμίζουν"

https://youtu.be/Zsxs1wN9Xo8?t=5

Πέραν του χιούμορ, είναι εξαιρετικό εφόδιο να διδάσκονται παιδιά C++ .
Εγώ προσωπικά δεν έχω θέμα, θα μου αρέσει τα παιδιά να μπορούν να υλοιποιούν προγράμματα άμεσα από ένα τερματικό linux (σιγά μη διδάξω C++ σε άλλο λειτουργικό)  :D
Νομίζω όμως πως θα έχουν ΠΟΛΛΟΙ συνάδελφοι θέμα.
Γι' αυτό ψήφισα Python. Μαθαίνεται ευκολότερα.

Στο ερώτημά σου συνάδελφε, μάλλον θα μας κοιτάξουν με πλάγια ματιά και θα μας πουν "Καλά ρε, αυτό τώρα, σοβαρά το είπες;"
Εδώ ένα μάθημα και δε μπορούμε να βγάλουμε άκρη. Ας στεριώσουμε ΕΝΑ σωστό μάθημα και δεύτερο έρχεται.

Καλό Πάσχα, καλή Ανάσταση και σ' εσένα συνάδελφε και σε όλους τους λοιπούς στο στέκι.


sstergou

#88
Καλησπέρα σας, το θέμα είναι πολύ ενδιαφέρον και θα ήθελα να πω κι εγώ μια γνώμη.

Είμαι παλιό μέλος του φόρουμ, πρώην εκπαιδευτικός. Τώρα εργάζομαι στον ιδιωτικό τομέα. Πολλοί από σας με ξέρετε λόγω του pseudoglossa.gr. Έχω δουλέψει επαγγελματικά με javascript, python και με διάφορες άλλες γλώσσες.

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


Η επιλογή μιας γλώσσας προγραμματισμού για χρήση σε δημόσιο σχολείο είναι κάτι που πρέπει να δούμε σε βάθος χρόνου.
Θέλουμε μια γλώσσα για τα επόμενα 20+ χρόνια. Η γλώσσα της αεππ τα έχει ξεπεράσει και εμείς ακόμα δεν την έχουμε ξεπεράσει.

Τι νομίζω ότι θα έπρεπε να αποτελεί κριτήριο για εμάς.

  • Ανοιχτό specification
  • Τουλάχιστον μία ανοιχτή υλοποίηση η οποία να τρέχει χωρίς πρόβλημα σε όλες τις συσκευές που μπορεί να έχει ένας μαθητής. arm, amd64, browser κτλ με τις ελάχιστες απαιτήσεις.
  • Τεχνική, επιστημονική αρτιότητα
  • Ευκολία μάθησης, υποστηριζόμενα στυλ προγραμματισμού
  • Υπάρχουσα βάση χρηστών, εργαλεία.
  • Χρησιμότητα

Σαν εκπαιδευτικός θα έψαχνα μια γλώσσα που να μη χρειάζεται να εξηγώ γιατί 1 + 0 = 10 ή ποια είναι η διαφορά του null με το undefined. Μια γλώσσα με κάποιο επιστημονικό υπόβαθρο, που να ακονίζει το μυαλό αντί να το κουράζει με απομνημόνευση. Μια γλώσσα που θα τον βοηθήσει στο πανεπιστήμιο, που θα τον κάνει να εκτιμήσει εκτός από το πρακτικό της υπόθεσης και την επιστήμη της πληροφορικής.

Τεχνολογικά η τάση που βλέπω είναι προς γλώσσες με native implementations, native parallelism, στατικό σύστημα τύπων που να δίνει εγγυήσεις, αυτόματο memory management (με ή χωρίς garbage collection). Το πως θα είναι το τοπίο σε 10 χρόνια που θα ψάχνουν για δουλειά οι πρώτοι μαθητές δεν το ξέρω αλλά από τη στιγμή που μιλάμε για multicore και containers μπορούμε να κάνουμε κάποιες προβλέψεις.

Μιας και πολλοί έχετε ήδη αναλύσει τα θετικά της javascript και της python θα ήθελα να επισημάνω κάποια πράγματα που δεν μου αρέσουν σε αυτές τις γλώσσες.

Javascript
Η γλώσσα αυτή φτιάχτηκε σε 10 μέρες χωρίς σχεδιασμό. Είναι αλλοπρόσαλλη και γεμάτη με τεχνικά προβλήματα. Bugs σε αρχικά implementations έχουν περάσει στο specification. Είναι κακή τεχνικά, επιστημονικά και διδακτικά. Επίσης οι browsers πλέον εκτός από δεκάδες γλώσσες που κάνουν compile σε javascript τρέχουν και webassembly. Δείτε https://webassembly.org/

Python
Πιο συμμαζεμένη από την javascript, καλύτερο σύστημα τύπων (αν και δυναμικό), έχει μια κάποια φιλοσοφία αλλά προσωπικά νομίζω ότι είναι μια γλώσσα που ανήκει στο παρελθόν. Πολύ αργό implementation, single threaded (όπως και η javascript) και πολλά μαγικά πράγματα να γίνονται στο background. Χρησιμοποιείται για machine learning κυρίως επειδή μιλάει απευθείας με βιβλιοθήκες γραμμένες σε άλλες γλώσσες καθ'ότι πολύ αργή.


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

Racket
https://racket-lang.org/ (πρώην scheme).
Ο ορισμός της εκπαιδευτικής γλώσσας. Αναπτύσσεται με σκοπό τη διδασκαλία, open source, με εκπαιδευτικό βιβλίο (htdp), ide (dr racket) και πολλά άλλα.

Swift
https://developer.apple.com/swift/
Open source γλώσσα από την apple. Ενσωματώνει πολλές νέες τάσεις κατάλληλη για server και για client. Σοβαρή σχεδίαση. Μαζί με την rust οι μοναδικές (δημοφιλείς?) γλώσσες με αυτόματο memory management, χωρίς garbage collection, σύστημα τύπων με  inference, εγγυήσεις, cross platform κτλ. Δεν τρέχει ακόμα σε android αλλά νομίζω είναι θέμα χρόνου.

Kotlin
https://kotlinlang.org
Επίσημη γλώσσα για το android αλλά τρέχει παντού. Με κορυφαία εργαλεία και IDE (jetbrains).

Η java είναι επίσης πολύ καλή εναλλακτική. Δείτε τις νέες εκδόσεις που ενσωματώνουν πολλές δυνατότητες για συναρτησιακό προγραμματισμό αλλα και την τεχνολογία Graal VM.







George Eco

Ωραίες οι θέσεις του κου Sstergou και θα συμφωνήσω πως η Java είναι εξαιρετική επιλογή, μαζί μάλιστα με τη Kotlin, που όμως πιστεύω πως έχει δρόμο μπροστά της. Θα ήταν πιο ριψοκίνδυνο να πούμε ναι σε Kotlin, από το να πούμε να σε Java ή Python3.

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

Να δώσω επεφημία για την αναφορά Arm αρχιτεκτονικής και τη πρόγνωση αυτής.

Δε ξέρω κατά πόσο η Racket θα μου άρεσε στο μάθημα. Είναι όμως σίγουρο το εξής:
Η μετάβαση σε Python3 θα είναι ομαλότερη απ' οποιαδήποτε άλλη.
Είναι εύκολο και δοκιμασμένο να εξεταστούν μαθητές σε Python (βλ ΕΠΑΛ)
Συμφωνώ ΑΠΟΛΥΤΑ ως επιλογή να υπολογιστεί κι η Java ως εναλλακτική. Μάλιστα πιστεύω είναι μια από τις καλύτερες επιλογές, για διδασκαλία OOP, αν όχι η καλύτερη.

Τώρα για όσα είπατε για τη JS, επειδή έχω υπάρξει κι εγώ επαγγελματίας στο χώρο, θα επισημάνω πως ναι έχετε δίκιο σε όσα λέτε, στα όσα αφορούν το ότι σχεδιάστηκε σε 10 μέρες, αλλά αυτά ήταν μια φορά κι ένα καιρό. Τα clusterf...k που έγραφαν όλοι σε js στην αρχή ήταν ένα κακό που πάει να εξαλειφθεί όμως, θέλω να ελπίζω, μιας κι από τότε έχουν τεθεί standards, τα οποία μάλιστα φαντάζομαι θα διδάσκονται σε μάθημα που θα στηθεί για το Πρόγραμμα Σπουδών, κι είναι λισως μικρής σημασίας κάποιο τεχνικό πρόβλημα που στα πλαίσια του μαθήματος δε θα συναντήσει ένας μαθητής. Κι αφού πλέον μπορούμε να μιλάμε για classes κι όχι prototypes, δε μου φαίνεται κακή για A ή Β Λυκείου η JS.
Ναι, το ξέρω, ad-hoc μπορώ να προσθέσω και να αφαιρέσω μεθόδους σε ένα αντικείμενο. Ναί το ξέρω, ad-hoc μπορώ να κάνω το ίδιο και με attributes, ενώ όλα αυτά τα ασχημούλικα δε θα γίνονταν στη Java γιατί εκεί απαιτείται σοβαρός σχεδιασμός της ιεραρχίας των κλάσεων. Γι' αυτό και την αγαπάω σα γλώσσα τη Java. Όμως, αυτό είναι το θέμα εδώ. Μπορούμε να διδάξουμε σωστή javascript κι αν κάνα παιδί μας έρθει και μας πει, "Κύριε Κύριε κοιτάξτε αφαιρώ και προσθέτω attributes και methods και δουλεύουν όλα τέλεια" τότε (και μόνο τότε) μπορούμε να εξηγήσουμε το κάτι τις παραπάνω στο γιατί αυτό είναι πολύ κακή ιδέα και πρακτική.

Στη Γ Λυκείου που ίσως ένα παιδί θέλήσει να παίξει πολύ με τη γλώσσα προγραμματισμού, ίσως η JS να μην είναι και τόσο καλή επιλογή, για αυτό ακριβώς το λόγο, ψήφισα Python.
Νομίζω πως τόσο Java όσο και Python πληρούν όλα τα κριτήρια που αναφέρατε.