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

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

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

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

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

alkisg

Κώδικας: ΓΛΩΣΣΑ
ΑΝ γραφούν νέα προγράμματα σπουδών ΤΟΤΕ
  ΑΝ γραφούν νέα βιβλία ΤΟΤΕ
    ΑΝ ακούσουν και τη γνώμη μας ΤΟΤΕ
      ΓΡΑΨΕ "Ψηφίστε ποια γλώσσα προτιμάτε και αν θέλετε πείτε γιατί"
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ


Για τα ΑΝ, όποιος ξέρει περισσότερα ας μας ενημερώσει. Εγώ θα ήθελα να ψηφίσω Javascript και να πω γιατί.

Η Pascal σαν εκπαιδευτικό εργαλείο ήταν καλύτερη από την C και άλλες γλώσσες. Ο Διερμηνευτής της ΓΛΩΣΣΑΣ σε Delphi/Pascal είναι γραμμένος. Και όποιος μαθαίνει μια γλώσσα προγραμματισμού μπορεί σχετικά εύκολα (?) να μεταβεί σε άλλη.

Πιθανώς το ίδιο να πει τώρα κάποιος και για την ΑΕΠΠ ή την Python σε σχέση με Javascript ή άλλες γλώσσες. Να ισχυριστεί ότι έχουν καλύτερο ή μικρότερο συντακτικό, είναι πιο εύκολες στη διδασκαλία κλπ.

Αντίστοιχα τα Ιταλικά (ή άλλες γλώσσες) ίσως να είναι καλύτερα σε σύνταξη και γραμματική από τα Αγγλικά. ΌΜΩΣ, προτιμούμε τα παιδιά μας να μάθουν πρωτίστως Αγγλικά, τα οποία θα χρησιμοποιήσουν άμεσα και παντού: Internet, ταινίες, επικοινωνία με άλλους ξενόγλωσσους.

Η Javascript μέχρι πριν λίγα χρόνια ήταν μόνο για προγραμματισμό ιστοσελίδων. Τώρα πλέον είναι παντού και κάνει τα πάντα. Είναι τα "Αγγλικά" των γλωσσών προγραμματισμού:

  • Browsers: είναι η κύρια γλώσσα προγραμματισμού ιστοσελίδων. Δεν θα είναι κίνητρο για τους μαθητές να μπορούν άμεσα να δείξουν την εφαρμογή τους σε όλο το Internet και σε οποιαδήποτε συσκευή; Ούτε η ΑΕΠΠ ούτε η Python το προσφέρουν αυτό. Και μπορεί να συνδυαστεί με μαθήματα HTML σε προηγούμενες τάξεις.
  • Τοπικές εφαρμογές: με νέες τεχνολογίες όπως nodejs, electronjs, socket.io, android-js, πολλές νέες εφαρμογές π.χ. το open source Visual Studio Code της Microsoft γράφονται σε Javascript. Και είναι cross-platform, μπορούν να τρέξουν σε browsers, PCs, κινητά, tablets, Raspberry Pis κλπ.
  • Servers: για τον προγραμματισμό του server-side κομματιού των εφαρμογών και ιστοσελίδων, η Javascript έχει αρχίσει να τρώει σημαντικό και συνεχώς αυξανόμενο μερίδιο από την PHP. Μέχρι και για λογισμικό ταμειακών μηχανών.
  • Λογισμικό συστήματος: για να εκμεταλλευτούν το μεγάλο πλήθος developers που ξέρουν μόνο Javascript, κάποια γραφικά περιβάλλοντα όπως το GNOME shell και το KDE/QML υιοθέτησαν την Javascript ως μια από τις βασικές γλώσσες προγραμματισμού τους.
Τέλος, η Javascript είναι διεθνές πρότυπο και εξελίσσεται συνεχώς με τη συμμετοχή πολλών οργανισμών. Υποστηρίζει μεταβλητές είτε χωρίς δήλωση είτε με απλή δήλωση είτε με τύπους, αντικείμενα, event-driven προγραμματισμό και ένα σωρό ακόμα καλούδια. Μπορούμε να περιορίσουμε την "επόμενη ΑΕΠΠ" στον δομημένο προγραμματισμό με τα γνωστά μας for και while, και αργότερα οι μαθητές να προχωρήσουν παραπέρα χωρίς να αλλάξουν γλώσσα.

TL;DR: προτείνω η "επόμενη ΑΕΠΠ" να διδάσκει Javascript, και ο επόμενος "Διερμηνευτής" να είναι ένα extension του Visual Studio Code, που θα τρέχει μέχρι και μέσω browser ή σε κινητά.

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

evry

Καλά το ξεκίνησες αλλά στο τέλος το χάλασες.  :D

Παράθεση από: alkisg στις 20 Μαρ 2021, 07:22:17 ΠΜ
Μπορούμε να περιορίσουμε την "επόμενη ΑΕΠΠ" στον δομημένο προγραμματισμό με τα γνωστά μας for και while, και αργότερα οι μαθητές να προχωρήσουν παραπέρα χωρίς να αλλάξουν γλώσσα.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

Ευριπίδη με παρεξήγησες! ;D

Εννοούσα αντίστοιχα με αυτό που κάνετε στη σελίδα 51 του βιβλίου Python των ΕΠΑΛ, όπου παρουσιάζετε την for με χρήση της range, για να αποφύγετε να εξηγήσετε την xrange και τους iterators. Στην python2 η range(1000000000) θα κάνει lazy list και θα εξαντλήσει τη RAM. Προγραμματιστικά απαράδεκτο (γι' αυτό και στην python3 επιστρέφει iterator), αλλά διδακτικά πιο εύπεπτο. Και λέω ότι πολύ καλά κάνατε!

Πρέπει να υπολογίσουμε και το τι ξέρουν να γράψουν οι συγγραφείς του επόμενου βιβλίου, και το τι μπορούμε να διδάξουμε οι καθηγητές Β/θμας, και το τι μπορούν να μάθουν οι μαθητές σε έναν χρόνο. Ας μάθουν μια απλή `for (i = 0; i < 1000000000; i += 1)` σε Javascript στο Λύκειο, και τα ranges, iterators και closures ας τα διδαχτούν στο πανεπιστήμιο!

Όταν γράφαμε τον Επόπτη σε Python, στην αρχή έγραφα με το δομημένο στυλ της object Pascal που ήξερα, ε, μετά έμαθα και για anonymous callback functions και για decorators και όλα τα καλά... δεν ενόχλησε κάπου αυτή η διαβάθμιση.

mikezante

1) Στο poll δεν καταλαβαίνω γιατί υπάρχουν 3 διαφορετικές επιλογές για την ψευδογλωσσα.

2) Πολύ ωραία η αιτιολόγηση για τη JavaScript . Η γλώσσα αυτή ομως δεν βολεύει για το πιο βασικό και απαραίτητο ζήτημα στα χρόνια που έρχονται: ανάλυση δεδομένων και μηχανική μάθηση.

3) συμφωνώ απόλυτα στο ότι αρκεί ο μαθητής να μάθει μια γλώσσα, και από εκεί και πέρα ελίσσεται άνετα. Άρα μια «εύκολα» κατανοητή γλώσσα όπως Python ή Matlab θεωρώ ότι είναι ότι πρέπει.
(Εγώ έμαθα άνετα με τη σειρά:
ΓΛΩΣΣΑ -> Matlab -> C -> Java -> Python -> R -> PHP -> JavaScript)

4) Αυτά είναι όλα όνειρα, αφού με τα κέφια που βλέπω στο Υπουργείο, το ΑΕΠΠ θα διδάσκεται για καμία 20ρια χρόνια ακόμα
Γεράσιμος Βαρδακαστάνης
mikevard@hotmail.com

evry

Άλκη εκεί με την for είχαμε αρκετές διαφωνίες ως προς τον τρόπο που έπρεπε να παρουσιαστεί. Ο Άρης κυρίως ήθελε έναν τρόπο πιο κοντά σε αυτά που ξέρουν οι καθηγητές, ας το πούμε Pascalοειδη Python εγώ διαφωνούσα και ήθελα αρχικά να ξεκινήσουμε με επανάληψη του στυλ

for item in List

και μετά να πάμε σε μετρητή. Ένα τέτοιο παράδειγμα είναι αυτό με τα ρέστα που έχουμε στις δομές δεδομένων.
Το σημαντικό εδώ είναι να κάνουν πρώτα λίστες να καταλάβουν τι είναι μια λίστα και τι κάνει η range και μετά να κάνουν την for.
Δυστυχώς υπάρχουν βιβλία που παρουσιάζουν την for σε αντιστοιχία με την ΓΙΑ χωρίς να εξηγήσουν τι είναι η λίστα ούτε τι είναι η range.

Τώρα αυτό που λες με την range είναι ένα θέμα. Είναι από τα θετικά που είχε η Python 2 στο διδακτικό μέρος. Δηλαδή έδινες ένα φύλλο εργασίας και έλεγες στους μαθητές δώστε τις εντολές
range(0), range(10), range(2,9), τι παρατηρείτε και μπορούσες εύκολα να εισάγεις κάποιες έννοιες. Τώρα στην 3 πρέπει να εφαρμόσεις το list και αυτό δεν είναι πολύ εύπεπτο.

Σχετικά με την javascript και εγώ στην αρχή δεν την θεωρούσα σοβαρή γλώσσα αλλά όταν ασχολήθηκα είδα ότι είναι εξαιρετική επιλογή.
Απλά δεν έχει στην εκπαίδευση διεθνώς την αποδοχή που έχει η Python ακόμα. Φυσικά υπάρχουν χώρες που την έχουν βάλει στο πρόγραμμα σπουδών τους όπως ο Καναδάς για παράδειγμα.
Όταν είχαμε προτείνει την Python το 2014 για το Λύκειο κάποιος από την ομάδα είχε προτείνει την Processing που είναι ουσιαστικά javascript, αλλά δεν προχώρησε. Αρχικά είχαμε προτείνει την javascript στο μάθημα Γενικής Παιδείας τότε που δεν πρόλαβε να υλοποιηθεί.

Το πλεονέκτημα της Python είναι η δουλειά που έχει γίνει και γίνεται στην εκπαίδευση σε αυτή τη γλώσσα.
Φαντάσου ότι ακόμα και η processing έχει Module για Python:
https://py.processing.org/

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

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

Παράθεση από: mikezante στις 20 Μαρ 2021, 11:50:36 ΠΜ
Η γλώσσα αυτή ομως δεν βολεύει για το πιο βασικό και απαραίτητο ζήτημα στα χρόνια που έρχονται: ανάλυση δεδομένων και μηχανική μάθηση.
Αυτά αλλάζουν. π.χ. τώρα υπάρχει η Julia που είναι σαν την Python αλλά πολύ πιο γρήγορη. Η δύναμη της Python δεν είναι τα παραπάνω αλλά τα διδακτικά της πλεονεκτήματα πρώτα και μετά είναι το γεγονός ότι αυτή τη στιγμή είναι η πρώτη γλώσσα σε Data Analysis / Machine Learning.
Άλλωστε πολλές εφαρμογές έχουν αναπτυχθεί σε Python όπως Instagram, Dropbox και youtube. Είναι πλέον γενικού σκοπού.

Το Matlab δεν είναι ακριβώς γλώσσα και επίσης είναι εμπορικό και όχι δωρεάν, άρα πάμε σε Octave, αλλά ακόμα και τότε δεν συγκρίνεται σαν γλώσσα με Python/R/Javascript. Εκτός αν θέλεις να χειρίζεσαι εύκολα πίνακες και διανύσματα, όμως τότε μπορείς να πας στην R η οποία δεν θα έλεγα ότι είναι ότι καλύτερο για εκπαίδευση.

Παράθεση
3) συμφωνώ απόλυτα στο ότι αρκεί ο μαθητής να μάθει μια γλώσσα, και από εκεί και πέρα ελίσσεται άνετα. Άρα μια «εύκολα» κατανοητή γλώσσα όπως Python ή Matlab θεωρώ ότι είναι ότι πρέπει.
(Εγώ έμαθα άνετα με τη σειρά:
ΓΛΩΣΣΑ -> Matlab -> C -> Java -> Python -> R -> PHP -> JavaScript)

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

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

dpa2006

#6
Καλησπέρα σε όλους,
Άλκη το έθεσες άριστα με τα IF....

Η Python εχει τη δυνατότητα να χρησιμοποιηθεί και για Front End Web Design με τα κατάλληλα Frameworks και για Back End Web Desing.
για παράδειγμα:
https://realpython.com/tutorials/web-dev/
https://realpython.com/tutorials/front-end/

Όσον αφορά το VS Code δεν είναι το μόνο γραμμένο σε JavaScript σε JavaScript γράφτηκε και ο Atom που εξαγοράστηκε (μαζί με το Github από την MS)

https://atom.io/

Η Python μπορεί με τα κατάλληλα Frameworks να βοηθήσει.

Η JavaScript με τα δικά της Frameworks είναι επίσης πανίσχυρη.

Το Vue.JS έχει χρησιμοποιηθεί στο gloglossa και pseudoglossa.

Οι βιβλιοθήκες για HTML+CSS+JavaScript όπως η Bootstrap δίνουν ίσως ένα ελαφρύ προβάδισμα στην JavaScript...
Προσωπικά θα δώσω προβάδισμα στη Python για τις "άπειρες" δυνατότητες που δείχνει να έχει(μη παρεξηγήσετε τα εισαγωγικά, σημαίνουν πως δεν υπάρχει ουσιαστικά άπειρο...)
Η Python μπορεί να χρησιμοποιηθεί και με Βάσεις Δεδομένων,Δομές Δεδομένων, Web και Desktop εφαρμογές.



ps:
ένα λινκ που θεωρώ σημαντικό:
https://djangostars.com/blog/python-web-development/


ps2:
Μήπως κάποιος συνάδελφος γνωρίζει τι συμβαίνει στα Λύκεια της Κύπρου;
τι διδάσκονται σε Τεχνικά Σχολεία και τι σε Γενικά;
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

bugman

Να μπει στο Pol και η Μ2000, να δώσω και εγώ μια ψήφο.

Νομίζω ότι το μάθημα της ΑΕΠΠ στηρίζεται σε βασικές αρχές και όχι ειδικά σε κάποια τεχνολογία. Η Μ2000 είναι η κατάλληλη γλώσσα για να διδαχθεί ο μαθητής τις απαραίτητες βασικές έννοιες.

Αν στο λύκειο μπει κατεύθυνση ειδικά για την πληροφορική τότε ας προστεθούν και οι c++ και javascript.


ΔΗΜΗΤΡΗΣ Χ

#8
ΠΟΛΥ ΣΩΣΤΕΣ ΟΙ ΤΟΠΟΘΕΤΗΣΕΙΣ ΣΑΣ ΠΕΡΙ JAVASCRIPT KAI PYTHON και είμαι αρκετα σύμφωνος με τα περισσότερα από οσα διάβασα.
Επειδή η ερώτηση παραπέμπει μεν στο καινούριο που χρειάζεται οπωσδήποτε, εγώ όμως θα παρεμβάλλω απλά το επόμενο που χρειάζεται ΣΥΝΤΟΜΑ...
Αλκη πολυ  σωστα τα αν στην ψηφοφορια όπως και οι επιλογές, αλλά η αιτιολόγηση απο κάτω παραπέμπει τον αναγνώστη του θέματος σε αλλαγή γλώσσας (και καλά έκανες αφού αυτη είναι η άποψή σου). Οπότε ισως είναι διστακτικοι καποιοι να υποστηριξουν την υπάρχουσα Γλώσσα αφού οι περισσότερες συζητήσεις εδω πέρα δεν την ευνοουν...
εγω λοιπόν ως επόμενο θα ψηφίσω γλώσσα και εξηγώ γιατι, οπότε πριν προλαβετε όσοι δεν συμφωνείτε να αντιδρασετε, διαβάστε το:
1, μου αρέσει η υπαρξη ενος εργαλειου στα Ελληνικά για τον μαθητη του ελληνικού σχολείου. 22 χρόνια που την διδάσκω, ειδα πολλά παιδια να ξεκινουν απο αυτη και να ενθουσιάζονται με αυτο που λεγεται προγραμματισμός και να προχωράνε ευκολα στα επόμενα. επίσης είναι καλό για γενική παιδεία στα παιδια του σχολειου να παίρνουν μια εικονα με ενα ευκολο εργαλείο (εδω να ευχαριστησουμε εσένα Αλκη και όσους γενικα δημιουργήσαν αυτα τα εργαλεια και τα παιδια μπορουν και βλέπουν τι συμβαινει, διαφορετικα...)
2. το μαθημα εχει καταντήσει ΑΠΑΡΑΔΕΚΤΑ ανοργάνωτο με την υπαρξη 4 συγγραμμάτων και τοσης θεωριας που μάλιστα πολλά πράγματα επαναλαμβάνονται σε διαφορετικά βιβλία η και σε διαφορετικά κεφαλαια των ιδιων βιβλίων. τα παιδια δεν αγαπανε τοση πολυ και μαλιστα άκαρπη ισως θεωρια. ας γινεται σε μικρότερη ταξη
3. ΑΝ ΛΟΙΠΟΝ ΜΙΛΑΜΕ ΓΙΑ ΤΟ ΕΠΟΜΕΝΟ ΒΗΜΑ ΨΗΦΙΖΩ ΓΛΩΣΣΑ ΚΑΙ ΜΑΛΙΣΤΑ ΓΡΗΓΟΡΗ ΑΛΛΑΓΗ: ΒΕΛΤΙΩΣΗ ΒΙΒΛΙΩΝ ( 1 ΘΕΩΡΙΑΣ ΚΑΙ 1 ΑΣΚΗΣΕΩΝ )ΚΑΙ ΟΤΙ ΑΛΛΕΣ ΑΛΛΑΓΕς ΘΕΩΡΗΘΟΥΝ ΑΠΑΡΑΙΤΗΤΕΣ ΚΑΙ ΕΥΚΟΛΕΣ
αν ωστοσο μιλάμε για αλλαγη γλώσσας νομιζω ότι ;όπως έγραψα και πιο πάνω. 1 Python 2 javascript.

alkisg

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

@evry, @dpa2006, συμφωνούμε σε όλα. Νομίζω όμως ότι είναι ευκαιρία για μια φορά η καημένη η Ελλάδα να επιλέξει το σωστό τρένο. Το καλύτερο για τους μαθητές, όχι αυτό που βολεύει τον καθένα μας:
Ζήτηση για remote javascript freelancers: 8.098
Ζήτηση για remote python freelancers: 3.630

...και νομίζω ότι η διαφορά θα αυξηθεί κατά πολύ. Ποιος θα ασχοληθεί να εγκαταστήσει Brython στον browser του όταν η Javascript είναι ήδη εκεί. Η Python στο backend πήγε να πάρει λίγο μερίδιο από την PHP, αλλά από τη στιγμή που μπήκε και η Javascript στο παιχνίδι, δεν νομίζω ότι έχει πια ελπίδες. Εγώ πιο πολύ ξέρω Pascal, shell και Python, αλλά και με την λίγη εμπειρία που απέκτησα σε Javascript, έχω ήδη μετανιώσει για τα χρόνια που επένδυσα στην Python και που τον Επόπτη δεν τον γράψαμε σε Javascript.

Παράθεση από: mikezante στις 20 Μαρ 2021, 11:50:36 ΠΜ
1) Στο poll δεν καταλαβαίνω γιατί υπάρχουν 3 διαφορετικές επιλογές για την ψευδογλωσσα.

Το βιβλίο της ΑΕΠΠ σχεδιάστηκε για την επιλογή "ΓΛΩΣΣΑ+Ψευδογλώσσα", το διδάξαμε έτσι τα πρώτα 17 χρόνια, μετά αποφασίστηκε μόνο "ΓΛΩΣΣΑ" στην Γ΄ τάξη και "Ψευδογλώσσα" στην Β΄ τάξη. Οπότε 3 επιλογές.

> Ανάλυση δεδομένων και μηχανική μάθηση

Γενικότερα όπου χρειάζεται ταχύτητα οι βιβλιοθήκες μπορούν να γράφονται σε low level γλώσσες και η χρήση τους να γίνεται σε high level. Δες εδώ: η R είναι 275-491 φορές πιο αργή από τη C++, ενώ η R+Rcpp μόνο 3.66-5.41 φορές πιο αργή. Αντίστοιχη επιτάχυνση μπορεί να γίνει και στην Javascript (όπως και στο Matlab με το Mex). Και σε παιχνίδια, το game engine πολλές φορές γίνεται σε C++ ενώ η περιγραφή του παιχνιδιού σε απλούστερη γλώσσα, βελτιστοποιώντας και την ταχύτητα εκτέλεσης και την ταχύτητα ανάπτυξης.

> Αυτά είναι όλα όνειρα

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

evry

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

Παράθεση από: ΔΗΜΗΤΡΗΣ Χ στις 20 Μαρ 2021, 07:35:01 ΜΜ
1, μου αρέσει η υπαρξη ενος εργαλειου στα Ελληνικά για τον μαθητη του ελληνικού σχολείου. 22 χρόνια που την διδάσκω, ειδα πολλά παιδια να ξεκινουν απο αυτη και να ενθουσιάζονται με αυτο που λεγεται προγραμματισμός και να προχωράνε ευκολα στα επόμενα. επίσης είναι καλό για γενική παιδεία στα παιδια του σχολειου να παίρνουν μια εικονα με ενα ευκολο εργαλείο
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

ΔΗΜΗΤΡΗΣ Χ

Παράθεση από: evry στις 20 Μαρ 2021, 08:55:02 ΜΜ
Μα δεν ήταν καλύτερα στο Γενικής παιδείας να κάνουν HTML5/Javascript. Με αυτό τον τρόπο και Αλγοριθμική σκέψη μπορείς να διδάξεις χρησιμοποιώντας ένα υποσύνολο της javascript που δεν θα διαφέρει καθόλου από τη ΓΛΩΣΣΑ, μάλιστα εκφραστικά με τα συναρτησιακά που έχει θα είναι ακόμα πιο ισχυρό αλλά από την άλλη τα παιδιά θα έχουν τη δυνατότητα να υλοποιήσουν και πρακτικές εφαρμογές όπως αυτές που χρησιμοποιούν κάθε μέρα και έτσι να καταλάβουν τι κρύβεται πίσω από όλα αυτά που βλέπουν καθημερινά.

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

evry

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dpa2006

#13
The NEW Match-Case Statement in Python 3.10

https://youtu.be/2qJavL-VX9Y

Switch-Case Statements Are Coming to Python
The newest release shows the new logic

https://towardsdatascience.com/switch-case-statements-are-coming-to-python-d0caf7b2bfd3


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

ps: Η αναφορά στην Python έγινε με το σκεπτικό ότι θα χρησιμοποιηθεί ως Editor το Thonny(το χρησιμοποιώ ήδη και το debugging του είναι πραγματικά εκπληκτικό...!)

https://thonny.org/
Το IDLE σε καμία των περιπτώσεων δεν μπορεί να βοηθήσει.
Μόνο για πολύ απλά προγράμματα.
Το Thonny έχει ενσωματωμένη Python αλλά μπορεί να συνεργαστεί και με εξωτερική (και νεώτερη) εγκατάσταση στη Python και η προσθαφαίρεση πακέτων και βιβλιοθηκών μέσα από το μενού του είναι εξαιρετικά εύκολη
Συν το γεγονός ότι έχει εξελληνισμένο περιβάλλον.
Επίσης έχει τη δυνατότητα να προσαρμόσει το περιβάλλον του κάποιος σε τρια επίπεδα,απλό(begginer) μεσαίο(intermediate) και προχωρημένου χρήστη(advanced) άρα καλύπτει πολλαπλές ανάγκες.
Επίσης υποστηρίζει πολλαπλές καρτέλες κάτι που είναι πλέον χρήσιμο(πιστεύω...)

Και κάτι ακόμη,
η δυνατότητα να ενσωματώνουμε κώδικα σε ιστοσελίδα π.χ με Replit η άλλη online υπηρεσία π.χ.
https://www.onlinegdb.com/online_python_compiler

είναι επίσης ισχυρός λόγος (και) για online εκπαίδευση.
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

bugman

1. @evry
Διάβασα το άρθρο και εκτός για τη πρόταση περί της Erlang, που είναι ένα άλλο ζήτημα, ως προς την python έχω την ίδια άποψη και την έχω εκφράσει εδώ παλαιότερα.
Εδώ θα δώσω μια άποψη για συζήτηση: Μια γλώσσα σαν την python μπορεί να έχει καλές εφαρμογές σε μικρά προγράμματα, τύπου κονσόλας, αλλά από και πέρα υπάρχει θέμα. Ποιοι γράφουν τις έξτρα βιβλιοθήκες; Κάποιοι φοιτητές, με περιορισμένο χρόνο, και με ποιότητα αμφίβολη. Δηλαδή δεν έχουμε επαγγελματίες και αυτό δημιουργεί ανταγωνιστικά πακέτα με πολλά προβλήματα.  Αν υπήρχε οργάνωση, από μια μικρή ομάδα επαγγελματιών σήμερα θα μπορούσαμε να λέμε για το μοναδικό παραθυρικό περιβάλλον της python.

2. Γενικά για την ποιότητα μιας γλώσσας:

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

3. Για τη Μ2000 προσπάθησα πάρα πολύ να την φέρω στη τρέχουσα έκδοση με πολλές αναθεωρήσεις καθώς και για αποσφαλμάτωση και βελτιστοποίηση. Ένα άτομο μπορεί να κάνει πολλά πράγματα αν δώσει χρόνο και δεν βιάζεται να παραδώσει βάσει υποχρέωσης. Με το καιρό έγραψα πολλά παραδείγματα, και εγχειρίδια, και βιβλία για να υπάρχουν όλα. Πιστεύω ότι και στα δυο θέματα παραπάνω (1 και 2) η Μ2000 μπορεί να ανταποκριθεί. Επιπλέον η χρήση της Μ2000 από τους μαθητές όσο και στραβά να την πάρουν δεν θα τους χαλάσει μαθαίνοντας στο πανεπιστήμιο άλλες γλώσσες. Αντίθετα αν κάτι πάρουν στραβά σε μια γλώσσα παραγωγής, στο Λύκειο, θα έχουν προβλήματα μετέπειτα.


ΔΗΜΗΤΡΗΣ Χ

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

alkisg

Παράθεση από: evry στις 20 Μαρ 2021, 10:47:00 ΜΜ
Retiring Python as a Programming Language

Ευριπίδη τέλειο το link, ακριβώς τα ίδια σκέφτηκα κι εγώ και μετά από τόσα χρόνια Python την αφήνω για την Javascript.

@dpa2006, κάνω μια σύγκριση πάνω σε αυτά που έγραψες.
Thonny: 44 Contributors, με τον πρώτο (Aivar Annamaa, Εσθονός) να έχει 3,619 commits, ενώ οι υπόλοιποι από 23 και κάτω, δηλαδή αναπτύσσεται ουσιαστικά από ένα μόνο άτομο.
Visual Studio Code: 1385 Contributors, με 18 άτομα να έχουν πάνω από 1000 commits, 32 άτομα πάνω από 100 commits κλπ.

Και αυτό χωρίς να μετράμε το Extensions Marketplace του, όπου ΟΛΟΙ πλέον στέλνουν extensions, μέχρι και εταιρίες Linux όπως η RedHat.
Είναι αλλιώς να βασιζόμαστε σε έναν Γεωργόπουλο, Νικολαΐδη, Στέργου, Κομνηνό ή Annamaa για την ανάπτυξη, και αλλιώς να πάμε σε τεράστιο διεθνές οικοσύστημα ανάπτυξης.
Πώς θα κάνεις το Thonny να τρέξει στον browser ή στο κινητό των μαθητών; Ενώ το vscode το έβαλαν οι προγραμματιστές των εκατοντάδων εταιριών που το χρησιμοποιούν καθημερινά. Ήδη ξεκίνησαν τα github workspaces όπου ο προγραμματισμός σε σχεδόν οποιαδήποτε γλώσσα θα γίνεται μέσα από τον browser, με το vscode να τρέχει χωρίς να χρειάζεται εγκατάσταση! Πώς είναι τα Google Docs; Μέχρι και συνεργατικό προγραμματισμό θα μπορούμε να διδάξουμε στους μαθητές. Και τα extensions του μπορούν να κάνουν τη χρήση του πιο απλή και από του Thonny και από του Διερμηνευτή, δεν είναι αποκλειστικά για επαγγελματίες προγραμματιστές.
Αν ξαναέγραφα τώρα τον Διερμηνευτή, θα τον είχα φτιάξει ως extension του vscode.

Αντίστοιχη σύγκριση μπορεί να γίνει στο development body της Python σε σχέση με της Javascript, και την νέα switch σε σχέση με τα σχεδόν ετήσια (2015, 2016, 2017, 2018, 2019, 2020) διεθνή πρότυπα ECMAScript.

Ο online python compiler καλός είναι για να τρέχεις command line προγράμματα. Προσωπικά χρησιμοποιώ command line όλη τη μέρα. Αλλά πιστεύω ότι οι μαθητές θα προτιμήσουν να επιλύσουν πιο αλληλεπιδραστικά προβλήματα από ένα ξερό και ξένο γι' αυτούς είσοδος/επεξεργασία/έξοδος. Άγιος ο Knuth αλλά η πρότερη γνώση των μαθητών τώρα είναι οι εφαρμογές και τα παιχνίδια που χρησιμοποιούν, που δεν ακολουθούν το μοντέλο των διάτρητων καρτών και των εκτυπωτών του '60.

Π.χ. πες ότι στο τέλος της χρονιάς, ένας μαθητής μπορεί να έχει καταφέρει ένα mastermind σε Python/ΓΛΩΣΣΑ, ή ένα εκπαιδευτικό παιχνίδι σε Javascript (και τα δύο τα έχω φτιάξει εγώ). Με ποιο από τα δύο θα έχει αγαπήσει τον προγραμματισμό; Ποιο μπορεί να μοιραστεί εύκολα με τους συμμαθητές του στο κινητό τους στέλνοντας μόνο ένα URL;

Ή, απαντώντας στον Δημήτρη, με ποιο από τα δύο έχει μάθει να επιλύει προβλήματα πιο κοντά στην καθημερινότητά του;

pgrontas

#17
Πολύ ενδιαφέρουσα συζήτηση.

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

Τώρα στο προκείμενο μεταξύ python και javascript επέλεξα python. Οι λόγοι είναι οι εξής:
1. Φαίνεται να είναι πιο πολύ δημοφιλής στην τριτοβάθμια τόσο σε σχολές πληροφορικής όσο και στις υπόλοιπες θετικές σχολές. Δεν έχω ακούσεi και δυσκολεύομαι να φανταστώ προσομοιώσεις και υπολογιστικά μοντέλα σε javascript. Και αυτό δεν φαίνεται να αλλάζει στο κοντινό μέλλον.
2. Έχει υπάρξει προεργασία μέσω των ΕΠΑΛ οπότε οι εκπαιδευτικοί είναι πιο έτοιμοι.
3. Η javascript έχει διάφορα περίεργα ιδιώματα όπως επισημάνθηκε και στην ομάδα του FB. Δεν ξέρω αν θα εμφανιστούν στη διδασκαλία της στο σχολείο, αλλά προκαλούν αμηχανία.
4. Έχω συνδυάσει την javascript με τον browser. Εμπιστεύομαι τον Άλκη που λέει ότι δεν ισχύει αυτό, αλλά μήπως αν πάμε να μπλέξουμε με frameworks κλπ. οδηγηθούμε στην κατάσταση που περιγράφει ο Ευριπίδης στο link που παρέθεσε (το οποίο νομίζω αφορά οποιαδήποτε γλώσσα είναι ανοικτή και δεν αναπτύσσεται από κάποια 'επιτροπή'). Πχ. για το electronjs έχω ακούσει κακά λόγια αν και δεν ασχολουμαι καθόλου με το χώρο. Ίσως βέβαια αυτό το επιχείρημα να είναι λανθασμένο και να οφείλεται σε προσωπική έλλειψη εξοικείωσης με τη javascript.

Ίσως το βέλτιστο θα αυτό που υπαινιχθηκε ο Ευριπίδης (αν κατάλαβα καλά). Α (ή/και Β Λυκείου) javascript με μία πιο hands-on χαλαρή και δημιουργική προσέγγιση για όλους. Εδώ θα κολλήσει καλά με την HTML και ευκαιρία να ξεφορτωθούμε αυτά τα άθλια περιβάλλοντα που θα χαντακώσουν (αν μείνουν) το μάθημα της Α.
Και μετά η αλγοριθμική επίλυση προβλημάτων με Python. Νομίζω τότε θα είμασταν πραγματικά πρωτοπόροι.

Αυτό που ψηφίζω και με χέρια και πόδια είναι το VS Code!

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

evry

Όπως είπε ο Παναγιώτης μια πολύ καλή προσέγγιση θα ήταν η εισαγωγή HTML5/Javascript σε Γ Γυμνασίου και Α Λυκείου μέσα από ένα μάθημα Γενικής Παιδείας.
Ο σκοπός της γενικής παιδείας σε κάθε μάθημα δεν είναι να εφοδιαστούν οι μαθητές με γνώσεις που είναι απαραίτητες ώστε να εξηγήσουν τον κόσμο γύρω τους και να είναι και χρήσιμες?
Όλη μέρα χρησιμοποιούν λογισμικά τα οποία δεν έχουν ιδέα πως έχουν σχεδιαστεί και υλοποιηθεί. Δεν γνωρίζουν καθόλου το σκεπτικό που κρύβεται πίσω από όλα αυτά.
Για παράδειγμα ποια θα ήταν η αντίδραση τους αν τους λέγαμε ότι πίσω από την σύγκριση δυο ιστοσελίδων ή τον έλεγχο αν δυο άτομα μπορούν να γίνουν φίλοι στο facebook κρύβεται το εσωτερικό γινόμενο διανυσμάτων πολλών διαστάσεων?
Μπορεί ένας μαθηματικός να απαντήσει στην ερώτηση "Που χρησιμοποιούνται τα διανύσματα άνω των 3 διαστάσεων?"

Από την άλλη τα Logo-like περιβάλλοντα έχουν κουράσει γιατί τα παιδιά έχουν εξοικειωθεί με αυτά από την 5η δημοτικού (κανονικά θα έπρεπε από 3η αλλά αυτό είναι μια άλλη ιστορία) και στο Γυμνάσιο τώρα με το δίωρο το θέμα έχει εξαντληθεί σε Α και Β τάξη. Στην Γ θα μπορούσαν να μπουν απλά στοιχεία HTML σε συνδυασμό με Javascript, δηλαδή HTML για το front-end και Javascript ως γλώσσα προγραμματισμού. Είναι ότι καλύτερο για μάθημα γενικής παιδείας και μάλιστα σε όλο το Λύκειο. Υπάρχουν πολλές επιστημονικές έννοιες της πληροφορικής που δεν διδάσκονται καθόλου και θα έπρεπε να μπουν στα νέα προγράμματα σπουδών.
Στην κατεύθυνση ίσως η Python είναι μια χαρά και θα είναι αρκετά καλά για τα επόμενα χρόνια. Δεν νομίζω όμως ότι θα άλλαζε κάτι δραματικά αν πηγαίναμε σε Javascript όσον αφορά την ουσία του μαθήματος. Η μόνη διαφορά θα ήταν οι αντιδράσεις από μεγάλη μερίδα καθηγητών για τη γλώσσα αυτή επειδή είναι "script' γλώσσα.
Επίσης το θέμα της εκπαιδευτικής κοινότητας που λέει ο Παναγιώτης είναι επίσης πολύ σημαντικό. Θα είναι εύκολο να βρει κανείς υλικό και ιδέες από άλλες χώρες ή να δούμε τι προβλήματα θα συναντήσουμε για να τα αποφύγουμε πριν εμφανιστούν. Σε αυτό η Python είναι πιο μπροστά από την Javascript.
Από την άλλη αν παρατηρήσετε τα block-based περιβάλλοντα όπως penci code, learncode, codecombat κλπ έχουν μετάβαση σε Javascript περισσότερο από ότι σε Python.

Εγώ ψήφισα Javascript γιατί η Python είχε τρία πράγματα που μου άρεσαν και ο Guido τα αφαίρεσε:
1) Δεν είχε switch/case (aka Επίλεξε) αλλά την έβαλε και αυτήν!!
2) Είχε ωραίους συναρτησιακούς τελεστές τους οποίους ο Guido έβαλε στην άκρη για χάρη των list comprehensions
3) Έβαλε και τύπους τώρα με τα type hints!!! (Αυτό για τον Παναγιώτη που του αρέσουν οι τύποι)

Πάντως όπως είπε και ο Παναγιώτης το θέμα είναι να φύγει η ΓΛΩΣΣΑ.
Για την ιστορία , το 2014 που σχεδιάζαμε το πρόγραμμα σπουδών για το μάθημα της γενικής παιδείας στην Γ είχαμε βάλει javascript και HTML5. Μετά το μάθημα γενικής παιδείας άλλαξε και έγινε μάθημα κατεύθυνσης 6 ώρες με Python. Φυσικά στο τέλος και τα 2 ΑΠΣ έμειναν στο ράφι για άλλους λόγους.

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

Παράθεση από: pgrontas στις 21 Μαρ 2021, 09:17:46 ΠΜ
...αν πάμε να μπλέξουμε με frameworks κλπ. οδηγηθούμε στην κατάσταση που περιγράφει ο Ευριπίδης στο link που παρέθεσε (το οποίο νομίζω αφορά οποιαδήποτε γλώσσα είναι ανοικτή και δεν αναπτύσσεται από κάποια 'επιτροπή'). Πχ. για το electronjs έχω ακούσει κακά λόγια...

Αξίζει νομίζω να εμβαθύνουμε λίγο σε αυτό. Ας χωρίσουμε τις βιβλιοθήκες και τα frameworks σε 3 επίπεδα:

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

  • Διαχείριση αρχείων. Η Python έχει πλήρη ενσωματωμένη βιβλιοθήκη τύπου stdio, ενώ η Javascript σαφώς κατώτερη αφού ξεκίνησε για χρήση στον browser. Εκεί απευθύνονται τα nodejs/electronjs, τα οποία ΔΕΝ τα χρειαζόμαστε στη Δευτεροβάθμια αφού δεν διδάσκουμε αρχεία, κι αν διδάσκαμε, ένα απλό "form upload" θα αρκούσε, δεν φτάνουμε να μιλήσουμε για file descriptors. Επίσης όμως στο μέλλον τέτοιες δυνατότητες θα ενσωματωθούν στον πυρήνα της γλώσσας από τον οργανισμό τυποποίησης της Javascript.
  • Διαχείριση user interface. Η Javascript έχει την πιο δημοφιλή "βιβλιοθήκη" γι' αυτό, την HTML/CSS. Η Python χρειάζεται Qt, GTK και άλλες βιβλιοθήκες επιπέδου "2", αντίστοιχα με τα nodejs/electron της Javascript. Και δεν παίζουν καν σε όλες τις συσκευές όπως η HTML. Τα Qt/GTK δεν νομίζω ότι θα ενσωματωθούν ποτέ στον πυρήνα της Python, δεν αποκλείω όμως την ενσωμάτωση της HTML/Javascript.
Νομίζω ότι αυτά τα δύο παραδείγματα είναι τα πιο αντιπροσωπευτικά και δεν θα μακρυγορήσω λέγοντας και για βιβλιοθήκες δικτύων (python-twisted) κλπ.

Τι γλώσσα λοιπόν επιλέγουμε σήμερα;
Αυτήν με την ενσωματωμένη βιβλιοθήκη GUI με HTML/CSS και την stdio σε πρόσθετο,
ή αυτήν με το ενσωματωμένο stdio και το GUI/Qt/GTK/HTML σε πρόσθετο;
Τι είναι πιο σημαντικό για τη δευτεροβάθμια, το user inteface και η δυνατότητα εκτέλεσης σε οποιοδήποτε λειτουργικό και browser, ή τα αρχεία;

Προσωπικά θα επέλεγα την Javascript για εφαρμογές με GUI (=Δευτεροβάθμια?) ή για μάθημα "προγραμματισμός δικτυακών εφαρμογών (application level, promises)" Πανεπιστημίου,
και την Python για μαθήματα "λειτουργικά συστήματα" και "προγραμματισμός δικτύων (tcp/ip, sockets)" Πανεπιστημίων.
Εκεί δηλαδή όπου η κάθε γλώσσα έχει ενσωματωμένη υποστήριξη.

Για την σύνταξη κλπ δεν τα θεωρώ σημαντικά γιατί είτε μπορούμε να αποφύγουμε την "αφαίρεση αριθμού από string", είτε μπορούμε να επιλέξουμε μια πιο strongly typed Javascript, την Typescript. Μάλιστα νομίζω υπάρχει η πρόταση η Typescript να ενσωματωθεί σε μελλοντική έκδοση της Javascript.

George Eco

#20
Φανταστική συζήτηση, Άλκη ευχαριστώ προσωπικά, γιατί δίνεις σε όλους μας ένα κοινό σημείο και βήμα να εκφράσουμε τις απόψεις μας.
Υποστήριξα Python 3. Ωστόσο οφείλω να πω μερικά πράγματα και για τις δύο scripting γλώσσες προς το παρόν (python, js) και παράλληλα θέλω να θέσω τη στάση μου προς όλες τις επιλογές.

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

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


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


Javascript: Είναι πολύ καλή πρόταση! Αν δε κάνουν το μάθημα σε Python 3 τότε η δεύτερη λογική επιλογή είναι η Javascript για όλα τα θετικά επιχειρήματα που ειπώθηκαν. Να συμπληρώσω όμως ένα πολύ ισχυρό επιχείρημα υπέρ της Javascript: Mε έναν απλό text editor κι ένα web browser, πράγματα που περιέχονται εξ αρχής στη πλειοψηφία των λειτουργικών συστημάτων, μπορείς κατ ευθείαν να προγραμματίσεις. Εύκολη εγκατάσταση λοιπόν στα εργαστήρια. Αν τρέχουν W10 φέρει πειν δε χρειάζεται να γίνει τίποτα. Είναι όλα ήδη εκεί. Τώρα αν θέλει κανείς να εγκαταστήσει το code ή ένα λιγότερο interactive εργαλείο σα το notepad++ ή το Atom, η εγκατάσταση είναι απλή κι εύκολη.

Python: Ελπίζω να μιλάμε για Python 3 εδώ.
Το αιώνιο ερώτημα είναι το εξής: To {} or not to {}!

  • Αν μάθουν brackets τα παιδιά, θα τους γίνουν για το μέλλον πιο γνώριμες οι Java,C#, C, C++. Στην αντίπερα όχθη, υπάρχει το επιχείρημα πως διδάσκεις απλά που μπαίνουν τα brackets κι έχεις αυτό το θετικό στοιχείο σχετικά απλά κι εύκολα.
  • Με brackets είναι ξεκάθαρο το που ανοίγει και κλείνει μια if, for κλπ. Είναι σπαστικό να μη τρέχει ένα πρόγραμμα γιατί μας λείπει ένα space στο identation! Από την άλλη μεριά, ο κώδικας δίχως brackets, αν γραφτεί σωστά, είναι πολύ ευανάγνωστος!

Τείνω στη Python γιατί πολύ απλά είναι ΚΑΙ δοκιμασμένη συνταγή στα Ελληνικά δεδομένα με το ΕΠΑΛ. Κι η JS όμως δε με χαλάει. Απλώς πιστεύω πως η Python έχει μεγάλη απήχηση σε διάφορους κλάδους της Πληροφορικής κι υπάρχουν ένα σωρό έτοιμες libraries για τα πάντα.

Και για τις δύο γλώσσες βέβαια, ισχύει το εξής θέμα που απαιτεί προσοχή. Καμία από τις δύο δεν έχει την αυστηρότητα της Java. Δίνουν δυαντότητες που κάποιος που προέρχεται από Java-ish παιδεία, θα τραβούσε τα μαλλιά του. Ειπώθηκε JS νωρίς και Python στις δύο τελευταίες Τάξεις στο Λύκειο; Καλό ακούγεται κι αρκετά μοντέρνο στα όσα αφορούν ένα μοντέρνο Πρόγραμμα Σπουδών. Scripting γλώσσες κι οι δύο, εμένα προσωπικά δε με χαλάει, φτάνει να... διδάξεις αυτές τις γλώσσες  με έμφαση στις καλές πρακτικές, σα να δίδασκες Java. Θέλω να πω, πρέπει να αναπτυχθεί μεταγνωστικά η αναλυτική και σύνθετη σκέψη, οπότε πρέπει σε αντικειμενοστραφές πρόγραμμα απαιτείται σωστός σχεδιάσμός κλάσεων κι όχι ad-hoc "μπαλώματα".

ΥΓ:
Όσο σκεφτόμουν κι έγραφα, απάντησε ο Άλκης και με ένα πολύ δυνατό επιχείρημα.
GUI ή άρχεια; Ειλικρινά δε ξέρω. Tkinter δε παίζει στη standard library;


https://docs.python.org/3/library/tkinter.html

bugman

Θα βάλω ένα απλό ερώτημα για όσους προτείνουν μια γλώσσα:
Πόσο καλός γνώστης είσαι στη γλώσσα που προτείνεις;
Για να γίνει πιο απλό το ερώτημα: Πόσο έχεις μελετήσει την γλώσσα; Γνωρίζεις προγραμματισμό με αντικείμενα; Έχεις φτιάξει μια παραθυρική εφαρμογή με χρήση γεγονότων; Τέλος, μπορείς να αναφέρεις τις πηγές τις οποίες μελέτησες για να μάθεις τη γλώσσα;

evry

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

Επίσης δεν έχει σημασία μόνο να ξέρεις καλά μια γλώσσα αλλά και να την έχεις διδάξει ώστε να έχεις δει τις δυσκολίες των μαθητών.  Χωρίς να έχεις διδάξει κάτι πως είναι δυνατόν να έχεις απόλυτη άποψη?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

@George Eco, το tk δεν είναι η βιβλιοθήκη GUI της γλώσσας Python, αλλά της γλώσσας tcl. Μάλιστα για να καταφέρει να το χρησιμοποιήσει, η Python αναγκάστηκε να επισυνάψει και τον interpreter της γλώσσας tcl. Το tkinter είναι απλά "bindings", τρόπος κλήσης εξωτερικών βιβλιοθηκών όταν αυτές δεν έχουν γραφεί σε Python.

Η διαφορά του από τις άλλες βιβλιοθήκες είναι ότι είναι πολύ μικρό, γι' αυτό και επιλέχθηκε ως το προεπιλεγμένο και είναι συνήθως ενσωματωμένο στον python installer. Αυτό είναι και θετικό αλλά και αρνητικό αφού τελικά χρησιμοποιείται σε ελάχιστες περιπτώσεις. Δεν νομίζω ότι συνιστά λόγο επιλογής του αντί των PyQt, PyGTK, WxPython. Βέβαια, κανένα από αυτά δεν θα κάνει το πρόγραμμά μας να παίξει σε κινητά ή στον browser.

Ίσως έχει νόημα η ανάγνωση αυτού: https://www.gnu.org/software/pythonwebkit/
Ο οργανισμός GNU ανέπτυσσε ανοικτό λογισμικό ενσωμάτωσης της Python με web browsers, αναγνωρίζοντας τα τεράστια πλεονεκτήματά τους (παράγραφος Why is this important - why is it a "big deal"?)
Δυστυχώς δεν το κατάφεραν, το project εγκαταλείφθηκε πριν 10 χρόνια και όποιος θέλει Python με web UI, πάει σε κάτι σαν το pywebview και καταλήγει να γράφει Javascript για το UI κι ας είναι το κυρίως πρόγραμμα σε Python.

bugman

#24
@evry
Σε αυτό το θέμα καλύτερα να σταθούμε σε προτάσεις και όχι σε αντιδράσεις. Ζήτησα οι επιλογή να είναι βάσει της γνώσης εκείνου που προτείνει. Ασφαλώς αν μιλάμε για γλώσσα που ήδη διδάσκεται στο Λύκειο, τότε η πρόταση έχει ένα πλεονέκτημα σε σχέση με άλλες, αν και δεν είναι απόλυτο ότι η χρήση της έγινε μέχρι σήμερα με τον βέλτιστο τρόπο. Το εκπαιδευτικό έργο περιέχει τη προγραμματιστική γλώσσα. Αυτά τα δυο πράγματα είναι ξεχωριστά, παρόλο που το δεύτερο περιέχεται στο πρώτο από επιλογή. Προφανώς η κατανόηση του μαθήματος δεν έχει να κάνει με τη γλώσσα αλλά από τη μέθοδο διδασκαλίας. Το μάθημα όμως μπορεί να βελτιωθεί αν η γλώσσα το επιτρέπει, δηλαδή αν το εργαλείο είναι καλύτερο. Αυτό συζητάμε εδώ.

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


alkisg

Παράθεση από: bugman στις 22 Μαρ 2021, 12:07:00 ΜΜ
... Ζήτησα οι επιλογή να είναι βάσει της γνώσης εκείνου που προτείνει. ...
Πώς θα δείξουμε ότι το Α εργαλείο είναι καλύτερο από το Β; Θα βασιστούμε σε φήμες; Δεν  υπάρχουν εμπειρίες πάνω στο πώς έμαθε κάποιος μια γλώσσα;

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

Το να προτείνει ο καθένας αυτό που ήδη ξέρει είναι το πιο εύκολο· αλλά έτσι μπορεί να συνεχίσουμε να διδάσκουμε Pascal ή Visual Basic στον αιώνα τον άπαντα, και να δυσκολευόμαστε να εξηγήσουμε στους μαθητές τι σχέση έχει το είσοδος/επεξεργασία/έξοδος με τις διάτρητες κάρτες και τις εντολές εκτύπωσης.
Ο στόχος του μαθήματος είναι η διδασκαλία της αλγοριθμικής σκέψης, αλλά δεν υπάρχει κάποιο όφελος αν διαλέξουμε ξεπερασμένη γλώσσα σε σχέση με μια σύγχρονη.

George Eco

@Άλκη κατάλαβα. Δε το είχα ψάξει να πω την αλήθεια, νόμιζα πως ανήκε στη standard library κι ήταν κάτι native. Οκ. Κρίμα που πριν δέκα χρόνια σταμάτησαν το project για python σε browser.
Όπως και να έχει κι οι δυο γλώσσες μου αρέσουν ως εναλλακτικές κι ας είναι scripting.
Nα υπενθυμίσω πως τη στιγμή που μιλάμε, ένας μαθητής Γ Λυκείου βελτιστοποιεί διερμηνευτή ΓΛΩΣΣΑΣ σε JS, τα σχόλια περιττά.  ;D

dpa2006

#27
Παράθεση από: alkisg στις 20 Μαρ 2021, 08:40:00 ΜΜ
@Δημήτρη, ευχαριστώ για την παρατήρηση. Είχα βάλει πρώτη τη ΓΛΩΣΣΑ για να μην την αδικήσω, αλλά ίσως έπρεπε να στείλω σε ξεχωριστό μήνυμα την εκφώνηση της ψηφοφορίας από την προσωπική μου γνώμη.

@evry, @dpa2006, συμφωνούμε σε όλα. Νομίζω όμως ότι είναι ευκαιρία για μια φορά η καημένη η Ελλάδα να επιλέξει το σωστό τρένο. Το καλύτερο για τους μαθητές, όχι αυτό που βολεύει τον καθένα μας:
Ζήτηση για remote javascript freelancers: 8.098
Ζήτηση για remote python freelancers: 3.630

...και νομίζω ότι η διαφορά θα αυξηθεί κατά πολύ. Ποιος θα ασχοληθεί να εγκαταστήσει Brython στον browser του όταν η Javascript είναι ήδη εκεί. Η Python στο backend πήγε να πάρει λίγο μερίδιο από την PHP, αλλά από τη στιγμή που μπήκε και η Javascript στο παιχνίδι, δεν νομίζω ότι έχει πια ελπίδες. Εγώ πιο πολύ ξέρω Pascal, shell και Python, αλλά και με την λίγη εμπειρία που απέκτησα σε Javascript, έχω ήδη μετανιώσει για τα χρόνια που επένδυσα στην Python και που τον Επόπτη δεν τον γράψαμε σε Javascript.

Το βιβλίο της ΑΕΠΠ σχεδιάστηκε για την επιλογή "ΓΛΩΣΣΑ+Ψευδογλώσσα", το διδάξαμε έτσι τα πρώτα 17 χρόνια, μετά αποφασίστηκε μόνο "ΓΛΩΣΣΑ" στην Γ΄ τάξη και "Ψευδογλώσσα" στην Β΄ τάξη. Οπότε 3 επιλογές.

> Ανάλυση δεδομένων και μηχανική μάθηση

Γενικότερα όπου χρειάζεται ταχύτητα οι βιβλιοθήκες μπορούν να γράφονται σε low level γλώσσες και η χρήση τους να γίνεται σε high level. Δες εδώ: η R είναι 275-491 φορές πιο αργή από τη C++, ενώ η R+Rcpp μόνο 3.66-5.41 φορές πιο αργή. Αντίστοιχη επιτάχυνση μπορεί να γίνει και στην Javascript (όπως και στο Matlab με το Mex). Και σε παιχνίδια, το game engine πολλές φορές γίνεται σε C++ ενώ η περιγραφή του παιχνιδιού σε απλούστερη γλώσσα, βελτιστοποιώντας και την ταχύτητα εκτέλεσης και την ταχύτητα ανάπτυξης.

> Αυτά είναι όλα όνειρα

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

Καλημέρα σε όλους,
Ας αρχίσω με το γεγονός ότι η Python είναι ήδη στα Πανεπιστήμια,διδάσκεται όχι μόνο σε τμήματα αμιγώς Πληροφορικής και Μηχανικών Η/Υ αλλά και σε τμήματα π.χ. Χημικών Μηχανικών και άλλων ειδικοτήτων.

Είναι scripting συν όλα τα άλλα που αναφέρθηκαν αλλά δεν νομίζω να αποτελεί πρόβλημα το γεγονός αυτό...
Μπορεί να βγάλει και εκτελέσιμα, γιατί αυτό ξέρουμε στα Windows και Windows γνωρίζουν όλοι(ή οι περισσότεροι) από τα "γεννοφάσκια" τους στην Πληροφορική
Να μου επιτραπεί να μας γυρίζω πολλά χρόνια πριν, στο Νέο τότε Ενιαίο Λύκειο του μακαρίτη Αρσένη Γεράσιμου όπου είχε μπει το πολλαπλό βιβλίο.
Στην Πληροφορική της τότε Γ Λυκείου, υπήρχαν δύο (2) βιβλία:
1) το ήδη υπάρχον των  Α. Βακάλη, Η. Γιαννόπουλου, Ν. Ιωαννίδη, Χ. Κοίλια, Κ. Μάλαμα, Ι. Μανωλόπουλου, Π. Πολίτη


και


2) το βιβλίο της τότε ΑΕΠΠ των Ν. Αντωνάκου, Ι. Βογιατζή, Ι. Κατωπόδη, Κ. Πατριαρχέα


Το δεύτερο χρησιμοποιήθηκε την πρώτη χρονιά και όταν καταργήθηκε το Πολλαπλό Βιβλίο αποσύρθηκε.
Δεν αναφέρεται πουθενά, ούτε καν πλέον στις παλιές σελίδες του Παιδαγωγικού Ινστιτούτου
http://pi-schools.gr/lessons/computers/lykeio/biblia_lyk.php


Το βιβλίο 1 που ουσιαστικά μας συντροφεύει στη διδασκαλία από τότε, είναι μια μικρογραφία των Δομών Δεδομένων του κου Ι. Μανωλόπουλου εκείνης της εποχής.
Για όποιον δεν το γνωρίζει ή δεν έτυχε να το διδαχθεί....  ::)

https://www.politeianet.gr/books/9789603120742-manolopoulos-ioannis-art-of-text-domes-dedomenon-protos-tomos-58671

Παρόλα αυτά το 2ο τεύχος για όποιον είχε την τύχη να το έχει αναφέρει πολλά παραδείγματα,έχει εκτενή αναφορά και σε άλλες γλώσσες και περιβάλλοντα εργασίας (IDE) όπως την Visual Basic 6.0, Pascal, Basic, κ.α.
Το θεωρούσα(θεωρώ) πληρέστερο ως προς τις αναφορές του σε άλλα περιβάλλοντα, ειδικά με την αναφορά σε περιβάλλοντα Rapid Application Development (RAD) αλλά πιο δύσκολο ως βιβλίο και δεν ανέπτυσε ουσιαστικά τις διαφορές Αλγορίθμου και ΓΛΩΣΣΑΣ ίσως όχι τόσο καλά όσο το 1ο.

Θέλουμε κάτι τέτοιο;
Μπορούμε να το έχουμε μόνο με μια γλώσσα προγραμματισμού;
Μήπως πρέπει να έχουμε διαφορετική Γλώσσα Προγραμματισμού για Τεχνικά και Γενικά σχολεία;

Στα Τεχνικά Σχολεία θα πρέπει να διδάσκονται και άλλα αντικείμενα της Πληροφορικής, Ανάπτυξη Ιστοσελίδων (με τον ίδιο τίτλο ή ως Εφαρμογές στο Διαδίκτυο κλπ).
Θα πρέπει να διδάσκονται Web Applications ως ένα σημείο ειδικά στην Γ Λυκείου.
Πως όμως;
Με ποια γλώσσα και περιβάλλον;
Αυτά αλλάζουν συχνά-πυκνά μέσα σε μια δεκαετία.
Την περίοδο εκείνη είχε αποφασιστεί να διδάσκεται η Visual Basic και η Pascal
Η Visual Basic (και η Object Pascal της Delphi) μπορούσε να συνδιαστεί και με άλλα μαθήματα όπως Βάσεις Δεδομένων για Desktop Εφαρμογές όπως η MS Access, ειδικά για Τεχνικά Σχολεία. Δεν ξέρω αν το ΓΕΛ έχει ανάγκη τέτοια μαθήματα,αλλά δεν είμαι αρνητικός...!  :)


Αν θυμάμαι καλά διδασκόταν σε βιβλίο και το Visual Fox Pro, το οποίο αναπτυσόταν από την MS ως το 2011...κάπου εκεί σταμάτησε η ανάπτυξη του.


Η Visual Basic αν και υπάρχει ακόμη και τώρα στο Visual Studio πλέον δεν εξελίσσεται ως γλώσσα Προγραμματισμού και δεν προστίθονται νέα στοιχεία σε αυτήν.
Από το 2002 η μαμά MS προωθεί την C# (η οποία κυριολεκτικά αντικατέστησε την MS J++ του 1998, το 2002).


Από ότι είδα η Κύπρος διδάσκει C++ στα Τεχνικά Σχολεία της.
http://plirom.schools.ac.cy/index.php/el/yliko/didaktiko-yliko

Ναι ισχύουν οι τιμές που ανέφερε ο Άλκης για Python και JavaScript..

Βέβαια δεν μπορούσαμε εκείνη την περίοδο να γνωρίζουμε το πως θα εξελιχθούν οι καταστάσεις στην Πληροφορική.
Ο Power Builder μεσουρανούσε, πλέον όμως η Sybase δεν υφίσταται και έχει απορροφηθεί από την SAP...
Άρα τι επιλέγουμε;
Μια γλώσσα;
Συνδυασμό γλωσσών;
Μάλλον το δεύτερο κατά τη γνώμη μου(μπορεί να κάνω και λάθος...   :) [size=78%])[/size]
Επίσης ανοιχτού κώδικα (Open Source) όσον το δυνατόν περισσότερο και γιατί όχι παντού...(ευσεβείς πόθοι...)

Στις βάσεις υπάρχει και η "τάση" NoSQL(Not Only SQL)
Ήδη η MySQL αντικαθίσταται από την MariaDB σε γνωστά WAMP και LAMP
Όλα αυτά πρέπει να ληφθούν υπόψιν πιστεύω.
Η Πληροφορική εξελίσσεται διαρκώς.
Δεν έχουμε πιστεύω επιλογή παρά να ακολουθήσουμε τις (Διεθνείς?) εξελίξεις.


PS:Ανεβάζω την ύλη του 1999-2000 και το εξώφυλλο του 2ου τότε συγγράμματος
PS2: Ασφαλώς μιλάμε για Python3 και σε λίγο χρονικό διάστημα
Τα χαρακτηριστικά που είχα αναφέρει σε προηγούμενο Post ήταν για την 4.2


Μερικά χρήσιμα λινκ:





When Will Python 4 Be Released?


https://pythonin1minute.com/when-python-4-is-coming-out/







Is There A Python 1?


https://pythonin1minute.com/is-there-a-python-1/




Δυστυχώς η έρευνα από το πρώτο από τα παραπάνω λινκ της JetBrains δεν δείχνει σε ενεργό λινκ
αναγκαστικά το πήρα από Wayback Machine
https://web.archive.org/web/20200426164056/https://www.jetbrains.com/research/Python-developers-survey-2018/


PS4: Συμφωνώ για το VS Code,αλλά θα πρέπει να δούμε και διαφορετικά περιβάλλοντα.
Μη ξεχνάμε το Γραφικό Περιβάλλον της Visual Basic και την απήχηση που είχε πριν από χρόνια
Η MS την παρόπλισε, δεν αποκλείεται να γίνει κάτι ανάλογο στο μέλλον ακόμα και με το VS Code- το απεύχομαι αλλά η MS πλέον δίνει βαρύτητα στο Open Source και πολλές φορές πρέπει να βλέπουμε τέτοιες ενέργειες με σκεπτικό...
Να ξαναγυρίζω στο 1999 κυκλοφορούσα με δισκέτες της Pascal τότε για παραδείγματα,και της Visual Basic, τα παραδείγματα της Visual Basic 4 ήθελαν και το γνωστό VB4.dll γιατί αλλιώς δεν έτρεχαν.


Να μην χρειαζόμαστε Browser για να τρέξουμε κώδικα...!!!
αλλά να χρησιμοποιούμε και Browser για να παρουσιάσουμε και τρέξουμε κώδικα και εφαρμογή (Application) σε IOS και Android ώστε να έχουμε τη δυνατότητα πολλαπλών επιλογών για τη διδασκαλία...


Και εγώ εντυπωσιαστεί με την HTML 5 + CSS 3.0 + JavaScript 2.x
τα παιχνίδια που φτιάχνεις είναι εκπληκτικά...!!!




Και κάποια στιγμή  (ίσως θα πρέπει) να σταματήσουμε να διδάσκουμε Flash από τη στιγμή που έχει καταργηθεί ως εφαρμογή.
Όπως κάποτε συνέβη και με τα:
https://en.wikipedia.org/wiki/Adobe_Authorware
https://en.wikipedia.org/wiki/Adobe_Director
και τα Toolbook Assistant και Instructor της Assymetrix...
https://www.amazon.com/Introduction-ToolBook-II-Instructor-Assistant/dp/0966771117


PS5:
Μερικά λινκ για Games σε HTML 5 + CSS + JavaScript

CodePen Home
2D space exploration game (with p5.js)

https://codepen.io/Grilly86/pen/zadLqJ


Space Shooter

https://codepen.io/andyranged/pen/aPojMW


CodePen Home
Shoot-em-up game

https://codepen.io/stealy/pen/VOppJK


CodePen Home Space Shooter game

https://codepen.io/Grilly86/pen/zadLqJ


Κάποτε πολλά από αυτά, αν όχι όλα ήταν σε Flash Player.

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

alkisg

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

  • Πόσο σημαντικό είναι το συντακτικό, εντός λογικών ορίων;
  • Η υποστήριξη για διάφορους τύπους προγραμματισμού, διαδικασιακού, αντικειμενοστραφή, με γεγονότα, οπτικού;
  • Οι δυνατότητες; Κονσόλα, γραφικά, εκτέλεση στον browser, σε διάφορα λειτουργικά και συσκευές;
  • Τα διαθέσιμα περιβάλλοντα ανάπτυξης και λογισμικά; Η διεθνής απήχηση, συντήρηση και εξέλιξη της γλώσσας;
  • Η κοινωνική/συνεργατική διάσταση του προγραμματισμού;
  • Το ενδιαφέρον που θα δείξουν οι μαθητές;
  • Η χρησιμότητα των γνώσεων στην οικοδόμηση αλγοριθμικής σκέψης;
  • Η δυνατότητα πρακτικής εφαρμογής των γνώσεων, χρόνια ή δεκαετίες μετά το Λύκειο, από μη Πληροφορικούς;
Προφανώς οι παράμετροι έχουν διαφορετικό βάρος ανά βαθμίδα εκπαίδευσης.
Όμως το να περιοριζόμαστε από ένα "είναι scripting γλώσσα" και να επιλέγουμε ΓΛΩΣΣΑ (που είναι λιγότερο από scripting) με ελάχιστο ενδιαφέρον, πρακτική εφαρμογή, συνεργασία σε online κοινότητες, ε, δεν ξέρω κατά πόσο οδηγεί σε σωστές αποφάσεις και κατά πόσο βελτιώνει την εκπαίδευση που παρέχουμε.

dpa2006

#29
Παράθεση από: alkisg στις 26 Μαρ 2021, 12:10:43 ΜΜ
Οι συνάδελφοι των θεωρητικών επιστημών θα έλεγαν ότι το πρόβλημα είναι πολυπαραγοντικό.
Εμείς των θετικών θα έπρεπε να μπορούμε να ορίσουμε παραμέτρους και να τις ζυγίσουμε.

       
  • Πόσο σημαντικό είναι το συντακτικό, εντός λογικών ορίων;
  • Η υποστήριξη για διάφορους τύπους προγραμματισμού, διαδικασιακού, αντικειμενοστραφή, με γεγονότα, οπτικού;
  • Οι δυνατότητες; Κονσόλα, γραφικά, εκτέλεση στον browser, σε διάφορα λειτουργικά και συσκευές;
  • Τα διαθέσιμα περιβάλλοντα ανάπτυξης και λογισμικά; Η διεθνής απήχηση, συντήρηση και εξέλιξη της γλώσσας;
  • Η κοινωνική/συνεργατική διάσταση του προγραμματισμού;
  • Το ενδιαφέρον που θα δείξουν οι μαθητές;
  • Η χρησιμότητα των γνώσεων στην οικοδόμηση αλγοριθμικής σκέψης;
  • Η δυνατότητα πρακτικής εφαρμογής των γνώσεων, χρόνια ή δεκαετίες μετά το Λύκειο, από μη Πληροφορικούς;
Προφανώς οι παράμετροι έχουν διαφορετικό βάρος ανά βαθμίδα εκπαίδευσης.
Όμως το να περιοριζόμαστε από ένα "είναι scripting γλώσσα" και να επιλέγουμε ΓΛΩΣΣΑ (που είναι λιγότερο από scripting) με ελάχιστο ενδιαφέρον, πρακτική εφαρμογή, συνεργασία σε online κοινότητες, ε, δεν ξέρω κατά πόσο οδηγεί σε σωστές αποφάσεις και κατά πόσο βελτιώνει την εκπαίδευση που παρέχουμε.

Συμφωνώ απόλυτα...!
Πριν πολλά χρόνια,2006-2007 συνάδελφος (μόνιμος στη ΜΕ) είχε εκφέρει την άποψη ότι η HTML δεν είναι γλώσσα προγραμματισμού επειδή δεν έχει δομές επανάληψης(εν γένει έχει δίκιο αλλά διαφωνώ οι gloglosa και Pseudoglossa είναι χτισμένες σε Javascript + HTML 5 +CSS)
Ο TIOBE δεν την συμπεριλαμβάνει στις γλώσσες προγραμματισμού (Δεν είναι Turing Complete...)
Ο PYPL το ίδιο...
Και κάτι τελευταίο γιατί να μην ρίξουμε μια ματιά και να δώσουμε μια ευκαιρία στο  PyCharm Edu και Code With Me....?

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

alkisg

Όντως υπάρχει ένα μπλέξιμο σε αυτά, ίσως τα παρακάτω να βοηθήσουν:

  • Η HTML είναι "markup language", αντίστοιχη με την γραμμή εργαλείων μορφοποίησης Bold, Italic, Εισαγωγή πίνακα κλπ του Word. Δεν είναι γλώσσα προγραμματισμού.
  • Η CSS αντιστοιχεί με τα "στυλ μορφοποίησης" του Word ή του Powerpoint, όπου λέμε ότι η "Επικεφαλίδα 1" θα είναι παντού μπλε και η διαφάνεια 2 θα εμφανιστεί στριφογυριστά.
  • Η Javascript είναι γλώσσα προγραμματισμού. Από μόνη της δεν έχει καν δυνατότητες "scripting".
  • Το μοντέλο "DOM", document object model, είναι ο τρόπος με τον οποίο οι browsers κάνουν διαθέσιμο το περιεχόμενο των ιστοσελίδων στην Javascript. Για παράδειγμα, με την εντολή `document.getElementById("myImage").src = "landscape.jpg"`, η Javascript μπορεί να αλλάξει την πηγή μιας εικόνας. Το DOM ορίζεται ξεχωριστά, δεν είναι μέρος της γλώσσας Javascript. Το nodejs που χρησιμοποιεί Javascript για προγραμματισμό servers, δεν έχει καμία σχέση με scripting ούτε με το DOM.
  • Με τον όρο "scripting γλώσσα" εννοούμε κάποια γλώσσα η οποία χρησιμοποιείται για να ελέγξουμε ή να αυτοματοποιήσουμε κάποια εφαρμογή, όπως είναι η VBA για το Word.
  • Με τον συνδυασμό όλων των παραπάνω, η Javascript μπορεί να χρησιμοποιηθεί για "scripting" των browsers. Να έχουμε όμως υπόψη ότι το "scripting του Internet" είναι πια το ίδιο σημαντικό με το "...scripting του λειτουργικού" που κάνει η C. Ολοένα και περισσότερα προγράμματα προτιμούν το Internet ως πλατφόρμα εκτέλεσης, παρά να περιορίζονται σε συγκεκριμένα λειτουργικά συστήματα: https://en.wikipedia.org/wiki/Internet_OS.

george79

Να θέσω και κάποιες άλλες παραμέτρους στην επιλογή ΓΛΩΣΣΑΣ
Α) Κάνουμε μάθημα στην Ο.Π. Πληροφορικής και Οικονομίας. Δεν ετοιμάζουμε τους αυριανούς πληροφορικούς μόνο αλλά και τους αυριανούς λογιστές. Μην μπερδευόμαστε με τον τομέα πληροφορικής στα ΕΠΑΛ. Οι μαθητές πρέπει να μπουν στην λογική του προγραμματισμού αλλά δεν χρειάζεται ένας αυριανός λογιστής να ξέρει πχ Javascript (τυχαίο παράδειγμα)
Β) Στο μάθημα πρέπει να ανταποκρίνεται ο μέσος μαθητής. Μην την πατήσουμε όπως στα ΕΠΑΛ που έγινε δύσκολος ο τομέας και οι συνάδελφοι στα ΕΠΑΛ ψάχνουν μαθητές. Αν είναι να γίνει ποιοτική αναβάθμιση και να ψάχνουμε μαθητές με το κυάλι άστο. Όποιος είναι στα ΕΠΑΛ ξέρει ότι κάποιοι τομείς είναι πολύ πιο εύκολοι από τον τομέα πληροφορικής. Μην ξεχνάμε ότι και πριν λίγα χρόνια οι φυσικοί την πάτησαν και κανένας δεν έπαιρνε μάθημα επιλογής φυσική για την πανελλήνιες. Τι λέτε; Χάρηκε κανένας φυσικός που το μάθημα έγινε δύσκολο και δεν το έπαιρνε κανένας;
Γ) Καλώς ή κακώς υπάρχουν μαθητές στα ΓΕΛ που απλώς θέλουν να τελειώσουν το λύκειο και κάποιοι άλλοι που απλώς θέλουν να περάσουν σε κάποια σχολή, με άλλα λόγια θέλουν να είναι φοιτητές χωρίς να τους πολυνοιάζει η σχολή. Ήδη η ομάδα προσανατολισμού Πληροφορικής και Οικονομίας είναι ελκυστική για πολλούς μαθητές και του χρόνου θα είναι ακόμα πιο ελκυστική, αφού με την βάση που θα μπει στις σχολές κάποιος μέτριος μαθητής δύσκολα μπορεί να γράψει μαθηματικά, φυσική, χημεία κοντά στη βάση. Ας μην διώξουμε αυτούς του μαθητές.
Τελειώνοντας, για να κάνω πρόταση, και συνδυάζοντας τα Α,Β,Γ η ΓΛΩΣΣΑ σίγουρα καλύπτει το Α (εισάγει τους μαθητές σε προγραμματιστικές τεχνικές με δομή επιλογής, δομές επανάληψης, κτλ) και μας εξασφαλίζει και τα Β,Γ

George Eco

Παράθεση από: george79 στις 26 Μαρ 2021, 10:59:25 ΜΜ
Να θέσω και κάποιες άλλες παραμέτρους στην επιλογή ΓΛΩΣΣΑΣ
Α) Κάνουμε μάθημα στην Ο.Π. Πληροφορικής και Οικονομίας. Δεν ετοιμάζουμε τους αυριανούς πληροφορικούς μόνο αλλά και τους αυριανούς λογιστές. Μην μπερδευόμαστε με τον τομέα πληροφορικής στα ΕΠΑΛ. Οι μαθητές πρέπει να μπουν στην λογική του προγραμματισμού αλλά δεν χρειάζεται ένας αυριανός λογιστής να ξέρει πχ Javascript (τυχαίο παράδειγμα)
Β) Στο μάθημα πρέπει να ανταποκρίνεται ο μέσος μαθητής. Μην την πατήσουμε όπως στα ΕΠΑΛ που έγινε δύσκολος ο τομέας και οι συνάδελφοι στα ΕΠΑΛ ψάχνουν μαθητές. Αν είναι να γίνει ποιοτική αναβάθμιση και να ψάχνουμε μαθητές με το κυάλι άστο. Όποιος είναι στα ΕΠΑΛ ξέρει ότι κάποιοι τομείς είναι πολύ πιο εύκολοι από τον τομέα πληροφορικής. Μην ξεχνάμε ότι και πριν λίγα χρόνια οι φυσικοί την πάτησαν και κανένας δεν έπαιρνε μάθημα επιλογής φυσική για την πανελλήνιες. Τι λέτε; Χάρηκε κανένας φυσικός που το μάθημα έγινε δύσκολο και δεν το έπαιρνε κανένας;
Γ) Καλώς ή κακώς υπάρχουν μαθητές στα ΓΕΛ που απλώς θέλουν να τελειώσουν το λύκειο και κάποιοι άλλοι που απλώς θέλουν να περάσουν σε κάποια σχολή, με άλλα λόγια θέλουν να είναι φοιτητές χωρίς να τους πολυνοιάζει η σχολή. Ήδη η ομάδα προσανατολισμού Πληροφορικής και Οικονομίας είναι ελκυστική για πολλούς μαθητές και του χρόνου θα είναι ακόμα πιο ελκυστική, αφού με την βάση που θα μπει στις σχολές κάποιος μέτριος μαθητής δύσκολα μπορεί να γράψει μαθηματικά, φυσική, χημεία κοντά στη βάση. Ας μην διώξουμε αυτούς του μαθητές.
Τελειώνοντας, για να κάνω πρόταση, και συνδυάζοντας τα Α,Β,Γ η ΓΛΩΣΣΑ σίγουρα καλύπτει το Α (εισάγει τους μαθητές σε προγραμματιστικές τεχνικές με δομή επιλογής, δομές επανάληψης, κτλ) και μας εξασφαλίζει και τα Β,Γ

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

"Χάρηκε κανένας φυσικός που το μάθημα έγινε δύσκολο και δεν το έπαιρνε κανένας;"
Πού βασίζετε πως θα δυσκολέψει το μάθημα, αν διδάσκεται σε άλλη γλώσσα προγραμματισμού;  ::)
Το μάθημα είναι δύσκολο έτσι κι αλλιώς ήδη.

"...δύσκολα μπορεί να γράψει μαθηματικά, φυσική, χημεία κοντά στη βάση."
Ακριβώς. Καλύτερα λοιπόν πάλι Μαθηματικά, ΑΟΘ και Πληροφορική.

Δηλαδή τι διάβασα μόλις τώρα στο [Γ]; Να κρατήσουμε το μάθημα ως έχει, για να δελεάσουμε το "μέσο μαθητή"  να επιλέγει ο μάθημα, για να εξασφαλίζονται οι ώρες διδασκαλίας; Αυτό διάβασα;

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

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

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

"Ας μην διώξουμε αυτούς του μαθητές."
Μα δε διώχνουμε κανέναν. Πώς διώχνουμε κάποιον αν αλλάξουμε προς το καλύτερο το μάθημα; Ο αδιάφορος δε θα φύγει, διότι πολύ απλά... είναι αδιάφορος. Αν ΔΕ μπορεί Φυσική, Μαθηματικά, Χημεία, είτε του αρέσει, είτε όχι, θα πάει είτε Θεωρητική που απαιτεί τρελό διάβασμα, είτε Οικονομία Πληροφορική. Αντιθέτως, μπορούμε να προξενήσουμε το ενδιαφέρον σε μεγαλύτερη μερίδα μαθητών.

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

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

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

george79

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

evry

#34
Παράθεση από: george79 στις 26 Μαρ 2021, 10:59:25 ΜΜ
Α) Κάνουμε μάθημα στην Ο.Π. Πληροφορικής και Οικονομίας. Δεν ετοιμάζουμε τους αυριανούς πληροφορικούς μόνο αλλά και τους αυριανούς λογιστές. Μην μπερδευόμαστε με τον τομέα πληροφορικής στα ΕΠΑΛ. Οι μαθητές πρέπει να μπουν στην λογική του προγραμματισμού αλλά δεν χρειάζεται ένας αυριανός λογιστής να ξέρει πχ Javascript (τυχαίο παράδειγμα)
Φοβάμαι ότι μπερδεύετε τα οικονομικά με την λογιστική. Η κατεύθυνση αυτή δεν ετοιμάζει λογιστές.
Στα τμήματα οικονομικών επιστημών κάνουν προγραμματισμό με τη γλώσσα R. Δεν φαντάζεστε τι ακούω κάθε χρόνο από φοιτητές που έχουν εκπαιδευτεί στη ΓΛΩΣΣΑ και βλέπουν την R, και καταλαβαίνουν ότι στο Λύκειο διδάσκονταν μια ανύπαρκτη γλώσσα της δεκαετίας του 80 που δεν χρησιμοποιεί κανένας.
Όπως και να έχει όμως ο σκοπός είναι να φύγουμε από αυτή την κατεύθυνση και η πληροφορική να γίνει εξεταζόμενο μάθημα για τα πολυτεχνεία και όχι για τις οικονομικές σχολές. Εκτός αν μας αρέσει εδώ και θέλουμε να γίνουμε και εμείς ....... "λογιστές."

Παράθεση
Β) Στο μάθημα πρέπει να ανταποκρίνεται ο μέσος μαθητής. Μην την πατήσουμε όπως στα ΕΠΑΛ που έγινε δύσκολος ο τομέας και οι συνάδελφοι στα ΕΠΑΛ ψάχνουν μαθητές. Αν είναι να γίνει ποιοτική αναβάθμιση και να ψάχνουμε μαθητές με το κυάλι άστο. Όποιος είναι στα ΕΠΑΛ ξέρει ότι κάποιοι τομείς είναι πολύ πιο εύκολοι από τον τομέα πληροφορικής.
Άρα αν κατάλαβα το επιχείρημά σας είναι να διατηρήσουμε το χαμηλό επίπεδο του μαθήματος και αν είναι δυνατόν να το κατεβάσουμε και άλλο (μήπως να γυρίσουμε πίσω στην Pascal και στην Visual Basic) ώστε να έρχονται σε μας οι μαθητές που δεν μπορούν να ανταποκριθούν στις απαιτήσεις της φυσικής για να γίνουν ...... λογιστές και εμείς να διαφυλάξουμε τις θέσεις μας;

Παράθεση
Μην ξεχνάμε ότι και πριν λίγα χρόνια οι φυσικοί την πάτησαν και κανένας δεν έπαιρνε μάθημα επιλογής φυσική για την πανελλήνιες. Τι λέτε; Χάρηκε κανένας φυσικός που το μάθημα έγινε δύσκολο και δεν το έπαιρνε κανένας;
Μήπως να θυμίσουμε και λίγο τι έγινε με τα δικά μας μαθήματα επιλογής που είχαμε ένα σε κάθε τάξη? Που είναι τα μαθήματα αυτά? Γιατί έφυγαν? Επειδή ήταν υψηλού επιπέδου και έκαναν σύγχρονα πράγματα και οι μαθητές δεν μπορούσαν να παρακολουθήσουν ή επειδή έγιναν η ώρα του παιδιού;
Τα μαθήματα αυτά έφυγαν και δεν έλειψαν σε κανέναν. Αυτό θα έπρεπε να μας προβληματίσει.
Όσο για τους φυσικούς δεν την πάτησαν καθόλου. Έχουν σοβαρό μάθημα που όλοι το σέβονται ενώ με το δικό μας γελάει όλος ο κόσμος.

Παράθεση
Γ) Καλώς ή κακώς υπάρχουν μαθητές στα ΓΕΛ που απλώς θέλουν να τελειώσουν το λύκειο και κάποιοι άλλοι που απλώς θέλουν να περάσουν σε κάποια σχολή, με άλλα λόγια θέλουν να είναι φοιτητές χωρίς να τους πολυνοιάζει η σχολή. Ήδη η ομάδα προσανατολισμού Πληροφορικής και Οικονομίας είναι ελκυστική για πολλούς μαθητές και του χρόνου θα είναι ακόμα πιο ελκυστική, αφού με την βάση που θα μπει στις σχολές κάποιος μέτριος μαθητής δύσκολα μπορεί να γράψει μαθηματικά, φυσική, χημεία κοντά στη βάση. Ας μην διώξουμε αυτούς του μαθητές.
Τελειώνοντας, για να κάνω πρόταση, και συνδυάζοντας τα Α,Β,Γ η ΓΛΩΣΣΑ σίγουρα καλύπτει το Α (εισάγει τους μαθητές σε προγραμματιστικές τεχνικές με δομή επιλογής, δομές επανάληψης, κτλ) και μας εξασφαλίζει και τα Β,Γ
Διάβασα και ξαναδιάβασα αυτά που λέτε και δεν μπορώ να διανοηθώ ότι τα έγραψε εκπαιδευτικός.  Ζητάτε να ωθήσουμε μαθητές σε σχολές που δεν πρόκειται να τελειώσουν και να τους βοηθήσουμε να επιλέξουν μια σχολή που δεν θα τους πολυ-νοιάζει μόνο και μόνο για να γίνουν φοιτητές και να έχουμε εμείς ώρες;
Αλήθεια έχετε δει πόσοι μαθητές που εισάγονται σε σχολές με απαιτήσεις δεν μπορούν να ανταπεξέλθουν και βρίσκονται σε αδιέξοδο? Πως θα ανταπεξέλθει κάποιος στο Πολυτεχνείο όταν δεν έχει δώσει Φυσική και Μαθηματικά κατεύθυνσης, και έχει περάσει με τα εύκολα μαθήματα των ηλεκτρονικών;
Δεν είναι χρέος μας ως εκπαιδευτικοί να κατευθύνουμε τους μαθητές να κάνουν τη σωστή επιλογή για το μέλλον τους;

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

george79

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

"Διάβασα και ξαναδιάβασα αυτά που λέτε και δεν μπορώ να διανοηθώ ότι τα έγραψε εκπαιδευτικός.  Ζητάτε να ωθήσουμε μαθητές σε σχολές που δεν πρόκειται να τελειώσουν και να τους βοηθήσουμε να επιλέξουν μια σχολή που δεν θα τους πολυ-νοιάζει μόνο και μόνο για να γίνουν φοιτητές και να έχουμε εμείς ώρες;"

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




george79

Και να συμπληρώσω τα εξής:
Έκανα πρόταση με βάση 3 προϋποθέσεις που θεωρώ σωστές:
Α) Δεν χρειάζεται να συμφωνούν όλοι με αυτές με 3 προϋποθέσεις
Β) Κάποιος μπορεί να συμφωνεί και με τις 3 και να προτείνει κάποια άλλη γλώσσα που να ικανοποιεί και τις 3

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

George Eco

#37
Πώς σας προσέβαλλε ο @evry; Έγραψε:
"Διάβασα και ξαναδιάβασα αυτά που λέτε και δεν μπορώ να διανοηθώ ότι τα έγραψε εκπαιδευτικός".

Τι είναι προσβλητικό προς εσάς ακριβώς; Σκεφτείτε το. Θίγεστε γιατί αμφισβητείται η ιδιότητα ή ποιότητά σας ως εκπαιδευτικός; Κρατήστε το αυτό για λίγο πιο μετά.

Προηγήθηκε και δική μου στάση στο θέμα. Δε πέρασε απαρατήρητο ότι γράψατε κι από μεριάς μου, αλλά πέρασε αναπάντητη η απορία μου:
"Δηλαδή τι διάβασα μόλις τώρα στο [Β,Γ]; Να κρατήσουμε το μάθημα ως έχει, για να δελεάσουμε το "μέσο μαθητή"  να επιλέγει ο μάθημα, για να εξασφαλίζονται οι ώρες διδασκαλίας; Αυτό διάβασα;"

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


Ο evry είπε:
"Ζητάτε να ωθήσουμε μαθητές σε σχολές που δεν πρόκειται να τελειώσουν και να τους βοηθήσουμε να επιλέξουν μια σχολή που δεν θα τους πολυ-νοιάζει μόνο και μόνο για να γίνουν φοιτητές και να έχουμε εμείς ώρες;"

Αντιγράψατε ΕΠΙΛΕΚΤΙΚΑ το τι γράψατε. Στη πραγματικότητα η ίδια φράση συνεχίζεται και γράφετε:
"και κάποιοι άλλοι που απλώς θέλουν να περάσουν σε κάποια σχολή, με άλλα λόγια θέλουν να είναι φοιτητές χωρίς να τους πολυνοιάζει η σχολή."
Σε ΑΥΤΟ πάνω απάντησε ο @evry.

Κι ακολουθεί με bold το τμήμα ως παράθεση, κι όλα όσα γράψατε, για του λόγου το αληθές:


Παράθεση από: george79 στις 26 Μαρ 2021, 10:59:25 ΜΜ
Να θέσω και κάποιες άλλες παραμέτρους στην επιλογή ΓΛΩΣΣΑΣ
Α) Κάνουμε μάθημα στην Ο.Π. Πληροφορικής και Οικονομίας. Δεν ετοιμάζουμε τους αυριανούς πληροφορικούς μόνο αλλά και τους αυριανούς λογιστές. Μην μπερδευόμαστε με τον τομέα πληροφορικής στα ΕΠΑΛ. Οι μαθητές πρέπει να μπουν στην λογική του προγραμματισμού αλλά δεν χρειάζεται ένας αυριανός λογιστής να ξέρει πχ Javascript (τυχαίο παράδειγμα)
Β) Στο μάθημα πρέπει να ανταποκρίνεται ο μέσος μαθητής. Μην την πατήσουμε όπως στα ΕΠΑΛ που έγινε δύσκολος ο τομέας και οι συνάδελφοι στα ΕΠΑΛ ψάχνουν μαθητές. Αν είναι να γίνει ποιοτική αναβάθμιση και να ψάχνουμε μαθητές με το κυάλι άστο. Όποιος είναι στα ΕΠΑΛ ξέρει ότι κάποιοι τομείς είναι πολύ πιο εύκολοι από τον τομέα πληροφορικής. Μην ξεχνάμε ότι και πριν λίγα χρόνια οι φυσικοί την πάτησαν και κανένας δεν έπαιρνε μάθημα επιλογής φυσική για την πανελλήνιες. Τι λέτε; Χάρηκε κανένας φυσικός που το μάθημα έγινε δύσκολο και δεν το έπαιρνε κανένας;
Γ) Καλώς ή κακώς υπάρχουν μαθητές στα ΓΕΛ που απλώς θέλουν να τελειώσουν το λύκειο και κάποιοι άλλοι που απλώς θέλουν να περάσουν σε κάποια σχολή, με άλλα λόγια θέλουν να είναι φοιτητές χωρίς να τους πολυνοιάζει η σχολή. Ήδη η ομάδα προσανατολισμού Πληροφορικής και Οικονομίας είναι ελκυστική για πολλούς μαθητές και του χρόνου θα είναι ακόμα πιο ελκυστική, αφού με την βάση που θα μπει στις σχολές κάποιος μέτριος μαθητής δύσκολα μπορεί να γράψει μαθηματικά, φυσική, χημεία κοντά στη βάση. Ας μην διώξουμε αυτούς του μαθητές.
Τελειώνοντας, για να κάνω πρόταση, και συνδυάζοντας τα Α,Β,Γ η ΓΛΩΣΣΑ σίγουρα καλύπτει το Α (εισάγει τους μαθητές σε προγραμματιστικές τεχνικές με δομή επιλογής, δομές επανάληψης, κτλ) και μας εξασφαλίζει και τα Β,
Γ


Και προβαίνετε στο παρακάτω σχόλιο:

Παράθεση από: george79 στις 27 Μαρ 2021, 10:03:09 ΜΜ
Και να συμπληρώσω τα εξής:
Έκανα πρόταση με βάση 3 προϋποθέσεις που θεωρώ σωστές:
Α) Δεν χρειάζεται να συμφωνούν όλοι με αυτές με 3 προϋποθέσεις
Β) Κάποιος μπορεί να συμφωνεί και με τις 3 και να προτείνει κάποια άλλη γλώσσα που να ικανοποιεί και τις 3

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



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

Δε μου είσαστε αντιπαθής, δεν έχω κάτι προσωπικά μαζί σας, αλλά θέλω να σας καταλάβω. Εδώ μιλάμε για το μέλλον του μαθήματος. Αν η γνώμη σας είναι, βολεύει να μείνει έτσι, το θέλω έτσι, ΤΟ ΣΕΒΟΜΑΙ! Και δε με θίγει.
Αυτό που θίγει πιστεύω όλους μας, κάποιους περισσότερο κάποιους λιγότερο, είναι πως ένας από εμάς, είπε αυτά που είπατε, όπως τα είπατε. Το νόημα στα γρήγορα ήταν δηλαδή: Κριτήριο δηλαδή το  ίδιο συμφέρον, μέτριοι κι αδιάφοροι μαθητές να γεμίζουν τάξεις, για να εξασφαλίζετε διδακτικές ώρες και να κάνετε τι με αυτές;
Το συμφέρον των παιδιών σας ενδιαφέρει; Η εκπαίδευσή τους;  Δε βλέπω πουθενά το ενδιαφέρον σας γι' αυτά τα πράγματα στα λόγια σας κι αυτό δικαιώνει την αντίδραση του @evry, δε νομίζετε;

Ένα "Καλώς ή κακώς..." στην αρχή της πρότασής σας, δε σας δίνει άλλοθι, μήπως γράψατε κάτι με λάθος τρόπο; Μήπως παραλείψατε κάτι; Προσαπαθώ να σας καταλάβω. Μπορεί να πρόκειται περί παρεξήγησης. Αλλά αν σας έχω καταλάβει σωστά, τότε απλά δικαιώνεται η αντίδραση του @evry.

Θυμηθείτε, προσβληθήκατε ως εκπαιδευτικός. Και καλά κάνατε. Σημαίνει πως έχετε βαθιά μέσα σας την αίσθηση του  φιλότιμου! Αλλά κι εμείς, ως εκπαιδευτικοί προσβληθήκαμε. Οπότε πρέπει να σκεφτείτε λίγο, μήπως τα λόγια σας τα ίδια, είναι πηγή προσβολής προς εσάς τον ίδιο, ίσως κι άθελά σας, θέλω να πιστεύω. Forum είναι, κείμενο είναι,  10:59:25 μμ ήταν, βράδυ, ίσως ήσασταν και κουρασμένος, τέτοια πράγματα γίνονται. Το θέμα είναι να δίνεται η ευκαιρία να λύνονται οι παρεξηγήσεις. Η γνώμη - ψήφος  "ΓΛΩΣΣΑ ως έχει" είναι σεβαστή.

Πρέπει να κατανοήσετε πως ο @evry δε διαφώνησε. Θίχτηκε φαντάζομαι, διότι άλλωστε η κατακλείδα του είναι:
"Δεν είναι χρέος μας ως εκπαιδευτικοί να κατευθύνουμε τους μαθητές να κάνουν τη σωστή επιλογή για το μέλλον τους;"

evry

Μάλλον ξεφύγαμε από τον αρχικό σκοπό του θέματος και με δική μου ευθύνη.

Ας γυρίσουμε στο αρχικό θέμα.
@Άλκη πήγα να δοκιμάσω το περιβάλλον brackets γιατί είχα ακούσει πολλά καλά λόγια, (τώρα βλέπω το Atom)
και εκεί που πάω να το κατεβάσω βλέπω στην αρχική σελίδα αυτό:
On September 1, 2021, Adobe will end support for Brackets. If you would like to continue using, maintaining, and improving Brackets, you may fork the project on GitHub. Through Adobe's partnership with Microsoft, we encourage users to migrate to Visual Studio Code, Microsoft's free code editor built on open source.
και θυμήθηκα αυτά που έλεγες για το visual studio code. Το χρησιμοποιώ για HTML5/Javascript αλλά μου φαίνεται σύνθετο για τους μαθητές.
Ποιο περιβάλλον IDE είναι καλό για ανάπτυξη HTML5/Javascript για μαθητές? Δηλαδή να είναι λιτό.
Εγώ χρησιμοποιώ το repl.it για όλες τις γλώσσες (Python, C++) που είναι εξαιρετικό και το notepad++.
Προτείνει κανείς κάτι άλλο?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

Ευριπίδη αν έχεις όρεξη κάνε την παρακάτω δοκιμή και πες μου αν μπορεί ένας καθηγητής να το οργανώσει ώστε να είναι στις δυνατότητες των μαθητών.

Πήγαινε στο https://photodentro.github.io/mosaic/ και παίξε για ένα λεπτό. Έτσι π.χ. δείχνουμε στους μαθητές τον στόχο.
Μετά πήγαινε στο αποθετήριο του κώδικα: https://github.com/photodentro/mosaic
Πάτα Code » Download zip.
Αποσυμπίεσέ το σε έναν φάκελο.
Μετά υποθέτω ότι έχεις το Visual Studio Code εγκατεστημένο.
Κάνε δεξί κλικ στον φάκελο και "Open with Visual Studio Code".
Άνοιξε το index.html και πάτα το κουμπί preview πάνω δεξιά.

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

Έχω την αίσθηση ότι το Visual Studio Code, το [Libre/MS]Office, το PhotoShop/Gimp και άλλα τέτοια δυνατά εργαλεία, έχουν αρκετές δυνατότητες για επαγγελματίες, αλλά στο Λύκειο τα χρησιμοποιούμε έτσι κι αλλιώς και διδάσκουμε ένα υποσύνολό τους. Στο Δημοτικό ΟΚ, να τους μάθουμε το TuxPaint και έναν απλούστατο κειμενογράφο, αλλά όχι στο Λύκειο, όπου είναι σημαντικό να εξοικειώνονται και με το κατάλληλο εργαλείο.

Πλέον μέχρι και τραγούδια με στίχους και ακόρντα να θέλω να γράψω, το vscode ανοίγω, έχει άπειρα plugins... και ό,τι χρειαστεί να κάνουμε πιο εύκολο, π.χ. αν αποφασίσουμε να διδάξουμε Javascript με εντολές ΓΡΑΨΕ και ΔΙΑΒΑΣΕ λες και είναι ΓΛΩΣΣΑ, τις κάνουμε με ένα plugin και τις βλέπουν δεξιά στο preview.

George Eco

Παράθεση από: alkisg στις 28 Μαρ 2021, 08:02:36 ΜΜ
... αν αποφασίσουμε να διδάξουμε Javascript με εντολές ΓΡΑΨΕ και ΔΙΑΒΑΣΕ λες και είναι ΓΛΩΣΣΑ, τις κάνουμε με ένα plugin και τις βλέπουν δεξιά στο preview.

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


alkisg

Να γράψω ένα ακόμα "σεντόνι";
Ας υποθέσουμε ότι θέλουμε να διδάξουμε μετατροπή από Φαρενάιτ σε Κελσίου, με τρεις διαφορετικές προσεγγίσεις:

1) Σειριακός· κλασσική ΑΕΠΠ

Είναι πολύ εύκολο να φτιάξουμε μια βιβλιοθηκούλα "αεππ" που θα περιέχει όλες τις συναρτήσεις της ΑΕΠΠ. Τότε, ο κώδικας Javascript θα ήταν:

Κώδικας: Javascript
import * as αεππ from 'αεππ.js'

var φαρενάιτ = αεππ.ΔΙΑΒΑΣΕ('Δώσε θερμοκρασία σε βαθμούς Φαρενάιτ: ')
var κελσίου = 5*(φαρενάιτ - 32) / 9
αεππ.ΓΡΑΨΕ('Σε βαθμούς Κελσίου, η θερμοκρασία είναι: ', κελσίου)


Και φυσικά μπορούμε να υλοποιήσουμε και συναρτήσεις "Δεδομένα()", "ΔιάβασεΑκέραιο()" και ό,τι άλλο επιθυμούμε.

2) Event-driven προγραμματισμός

Πάμε στο youtube, βάζουμε ένα βίντεο να παίζει και πατάμε κλικ στο γρανάζι κάτω δεξιά για να αλλάξουμε την ποιότητα. Σταμάτησε η αναπαραγωγή του βίντεο; ΟΧΙ.
Γιατί λοιπόν να μπλοκάρει η εκτέλεση των προγραμμάτων μας με τις εντολές ΔΙΑΒΑΣΕ;
Στον σύγχρονο κόσμο, όλες οι εντολές που δεν εκτελούνται άμεσα, παίρνουν ως παράμετρο μια "callback function / promise", και την καλούν όταν με το καλό ο χρήστης γράψει τα δεδομένα και πατήσει Enter.
Έτσι, η χρήση blocking τερματικού στον event-driven προγραμματισμό είναι αφύσικη και πιο δύσκολη. Ο σχετικός κώδικας Javascript είναι κάπως έτσι:
https://stackoverflow.com/questions/20086849/how-to-read-from-stdin-line-by-line-in-node

3) Event-driven ΚΑΙ οπτικός προγραμματισμός

Εδώ πλέον φτάσαμε στην εποχή μας. Λέμε στους μαθητές να σχεδιάσουν την παρακάτω μικρή ιστοσελίδα:
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_temp_converter_fahrenheit_to_celsius

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

George Eco

Άλκη μιλάμε για το αρχικό Πρόγραμμα Σπουδών, ή για το ερχόμενο; Διότι αν μιλάμε για το ερχόμενο, δεν έχω εικόνα και ωραίο θα ήταν να μας δώσεις μια ιδέα.

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

Γιατί να έχουμε ΓΛΩΣΣΑ; Θα ορισθεί κι επί χάρτου δηλαδή αντικειμενοστρέφεια και θα την υλοποιήσουμε με library σε js; Γιατί; Γιατί αφού μπορούμε κατ' ευθείαν σε python, js ή άλλες να διδάξουμε τα πάντα, με ένα εργαλείο που άμεσα κάνει δουλειά.

Γιατί να κάνουμε ΓΛΩΣΣception;

alkisg

Εννοώ για την περίπτωση όπου δεν είμαστε ακόμα έτοιμοι για διδασκαλία οπτικού και event-driven προγραμματισμού.
Αν θέλουμε να τα έχουμε ακόμα ως θεωρητικά κεφάλαια της ύλης, αντί να ενταχτούν ως διδακτέα στο νέο ΠΣ/βιβλίο/ΑΠΣ.

Δεν έχω πληροφορίες για το πότε θα βγουν, το είπα εξ' αρχής. Μακάρι όμως να ξεφύγουμε πια από τον σειριακό, terminal-based προγραμματισμό. Είναι μεγάλη αλλαγή για τα βιβλία και τους καθηγητές, αλλά ΟΧΙ για τους μαθητές. Αξίζει να γίνει.

George Eco


komni

Το VSCode μπορεί κανείς να το πειράξει με CSS και Javascript ώστε να κρύψει τα πιο περίπλοκα εργαλεία του(debugger, version control, κ.λπ.) και να το κάνει πιο εύχρηστο για αρχαριους. Παρόλα αυτά έχει πολύ δρόμο ακόμα για να το θεοποιήσουμε - το χρησιμοποιώ επαγγελματικά τα τελευταία 3 χρόνια και έχω συναντήσει πάρα πολλά προβλήματα(βλ. σχεδόν 5000 issues στο Github). Επιπλεον είναι γραμμένο σε electron.

Επίσης κάτι είδα για freelancing ??? ??? εδώ τελειώνουν σχολή και δεν είναι ικανοί να γράψουν σωστό κώδικα, πραγματικά το περιμένει κανείς από Λύκειο;

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

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

RIP bugman

alkisg

Κομνηνέ κανένα εργαλείο δεν είναι για να θεοποιηθεί, αλλά ο αριθμός των issues από μόνος του δεν είναι ένδειξη, χρειάζεται αντιπαραβολή ανοικτών vs κλειστών. Το vscode έχει 4754 ανοικτά αλλά και 103981 κλειστά, διεκπεραιωμένα, που είναι ιδιαίτερα καλή αναλογία. Και issue δεν σημαίνει πάντα bug, μπορεί να είναι feature request ή μέχρι και απορία/RTFM. Σε αντιπαράθεση, η γλώσσα TypeScript έχει 4841/24809, τέσσερις φορές λιγότερα διεκπεραιωμένα, κι αν μπορούσαμε να μετρήσουμε των Windows, του Linux ή της Python, θα ήταν πολλαπλάσια και με χειρότερο ratio.

Το "γραμμένο σε electron" δεν είναι κάτι αρνητικό. Λίγο-πολύ σημαίνει "γραμμένο στην αξιόπιστη μηχανή HTML GUI του Google Chrome, το Chromium, και στην αξιόπιστη μηχανή εκτέλεσης Javascript Nodejs/V8 ξανά της Google". Δηλαδή σε ποιο GUI framework να το έγραφαν, σε Qt με 139136 issues, GTK, Windows Forms; Δεν υποστηρίζουν ΚΑΙ εκτέλεση απευθείας στον browser, που είναι ο βασικός στόχος πολλών σύγχρονων προγραμμάτων. Το online vscode δεν θα χρειάζεται electron, αυτό είναι μόνο για την τοπική εκτέλεση.

Νομίζω δηλαδή ότι όσον αφορά το τεχνικό μέρος, το ψητό είναι:
Ο συνδυασμός HTML/Javascript ξεκίνησε για τους browsers και το Internet.
Μετά ο κόσμος συνειδητοποίησε ότι το Internet είναι σε πολλές περιπτώσεις πιο σημαντικό από το τοπικό λειτουργικό.
Και ότι η HTML είναι σε πολλές περιπτώσεις πιο δυνατή από τις υπόλοιπες βιβλιοθήκες GUI.
Και ότι είναι πιο βολικό να γράφουμε σε μία γλώσσα παρά σε πολλές· και να συντηρούμε ένα πρόγραμμα για όλα τα λειτουργικά.
Οπότε ξεκίνησαν προσπάθειες με Electron/Nodejs κλπ να τρέχει η Javascript και τοπικά.
Ε, αυτές οι προσπάθειες μπορεί ακόμα να έχουν κάποιες παιδικές ασθένειες, αλλά έχουν τόσα πλεονεκτήματα που δεν γυρίζει πίσω το ποτάμι.

Για το freelancing κλπ, φυσικά και δεν εννοούσα ότι η γνώση ενός μαθήματος Λυκείου θα βοηθήσει κάποιον να βρει δουλειά. Η παράγραφος αυτή αφορούσε απόφοιτους Πληροφορικής που ξέρουν Javascript σε σχέση με αυτούς που ξέρουν Python. Να τα πω λίγο πιο αναλυτικά.
Εδώ και 20 χρόνια έχουν δαπανηθεί εκατομμύρια εργατοώρες στην ΑΕΠΠ από χιλιάδες καθηγητές, μαθητές και ερευνητές· έχει δημιουργηθεί ένα τεράστιο γνωσιακό κεφάλαιο στην Ελλάδα γι' αυτή.
Ας πούμε λοιπόν ότι αυτά τα 20 χρόνια διδάσκονταν Javascript/Python αντί για ΑΕΠΠ. Τι επιπλέον δυνατότητες θα υπήρχαν;
Δεν θα ήταν πιο εύκολο εν μέσω κορονοϊού, ένας από αυτούς τους καθηγητές ή τους μαθητές να φτιάξει έναν διερμηνευτή σε javascript σαν τον δικό σου;
Δεν θα ήταν πιο εύκολο ένας από αυτούς να συμμετάσχει στην ανάπτυξη του epoptes.org που είναι σε Python, ή να ξεκινήσει ένα δικό του project, σε σχέση με το να ξέρει ΓΛΩΣΣΑ; Δεν χρειάζεται να γίνουν επαγγελματίες προγραμματιστές, αλλά οι αληθινές γλώσσες, αντίθετα με τη ΓΛΩΣΣΑ, τους δίνουν τη δυνατότητα να λύσουν ένα πρόβλημα που υπάρχει στην τάξη τους, στο γραφείο τους ή στο σπίτι τους. Και μία στις 100 να συμβεί αυτό, μιλάμε για πολλές περιπτώσεις, με τεράστια οφέλη. Πόσους έχουν ωφελήσει ο Επόπτης και ο διερμηνευτής σου;
Στα μαθήματα Πανεπιστημίου, συχνά ακούς τους καθηγητές να λένε "αυτό είναι ακριβώς αντίθετο από όπως το μάθατε στην ΑΕΠΠ". Δεν θα ήταν καλύτερο να είχαν διδαχτεί μια από τις γλώσσες που μαθαίνουν στο Πανεπιστήμιο; Προγραμματισμός δεν διδάσκεται μόνο στα τμήματα Πληροφορικής.

Ένα τέτοιο τεράστιο οικοσύστημα όπως είναι η Πληροφορική της Γ΄ Λυκείου έχει τεράστιες κοινωνικές και γνωσιακές προεκτάσεις. Θεωρώ ότι είναι καλύτερα να διαχέεται μια υπάρχουσα παρά μια φανταστική γλώσσα, ακόμα κι αν τελικά την χρησιμοποιήσει ένας στους 10 ή στους 100. Ο φιλόλογος του σχολείου έχει ακουστά την ΑΕΠΠ/ΓΛΩΣΣΑ, δεν θα ήταν καλύτερα να έχει ακουστά την Javascript; Να του πούμε "μην πατάς το κουμπί [Αναζήτηση] της σελίδας πολλές φορές, δεν θα φορτώσει πιο γρήγορα έτσι" και να έχει μια επιπλέον πιθανότητα να καταλάβει γιατί...

Υ.Γ. ο bugman διαγράφηκε μόνος του, δεν τον διέγραψε κάποιος διαχειριστής. Ο μόνος περιορισμός που του θέσαμε ήταν να μην μας ζαλίζει με την Μ2000 σε όλες τις συζητήσεις, παρά μόνο στο θέμα που είχε ανοίξει ειδικά για τη διαφήμισή της. Ε προφανώς δεν είχε άλλο λόγο συμμετοχής στο Στέκι πέρα από αυτόν, και έφυγε.


evry

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

evry

Ερώτηση φοιτήτριας σήμερα σε άσκηση όπου ζητάω ένα απλό πρόγραμμα σε R.
"Αφού το γράψουμε στο χαρτί πρέπει να το γράψουμε και στο R Studio?"

Αυτά είναι τα αποτελέσματα της ... ψευδογλώσσας.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dpa2006

#50
Παράθεση από: alkisg στις 26 Μαρ 2021, 12:58:34 ΜΜ
Όντως υπάρχει ένα μπλέξιμο σε αυτά, ίσως τα παρακάτω να βοηθήσουν:

       
  • Η HTML είναι "markup language", αντίστοιχη με την γραμμή εργαλείων μορφοποίησης Bold, Italic, Εισαγωγή πίνακα κλπ του Word. Δεν είναι γλώσσα προγραμματισμού.
  • Η CSS αντιστοιχεί με τα "στυλ μορφοποίησης" του Word ή του Powerpoint, όπου λέμε ότι η "Επικεφαλίδα 1" θα είναι παντού μπλε και η διαφάνεια 2 θα εμφανιστεί στριφογυριστά.
  • Η Javascript είναι γλώσσα προγραμματισμού. Από μόνη της δεν έχει καν δυνατότητες "scripting".
  • Το μοντέλο "DOM", document object model, είναι ο τρόπος με τον οποίο οι browsers κάνουν διαθέσιμο το περιεχόμενο των ιστοσελίδων στην Javascript. Για παράδειγμα, με την εντολή `document.getElementById("myImage").src = "landscape.jpg"`, η Javascript μπορεί να αλλάξει την πηγή μιας εικόνας. Το DOM ορίζεται ξεχωριστά, δεν είναι μέρος της γλώσσας Javascript. Το nodejs που χρησιμοποιεί Javascript για προγραμματισμό servers, δεν έχει καμία σχέση με scripting ούτε με το DOM.
  • Με τον όρο "scripting γλώσσα" εννοούμε κάποια γλώσσα η οποία χρησιμοποιείται για να ελέγξουμε ή να αυτοματοποιήσουμε κάποια εφαρμογή, όπως είναι η VBA για το Word.
  • Με τον συνδυασμό όλων των παραπάνω, η Javascript μπορεί να χρησιμοποιηθεί για "scripting" των browsers. Να έχουμε όμως υπόψη ότι το "scripting του Internet" είναι πια το ίδιο σημαντικό με το "...scripting του λειτουργικού" που κάνει η C. Ολοένα και περισσότερα προγράμματα προτιμούν το Internet ως πλατφόρμα εκτέλεσης, παρά να περιορίζονται σε συγκεκριμένα λειτουργικά συστήματα: https://en.wikipedia.org/wiki/Internet_OS.

Καλησπέρα σε όλους,
συμφωνώ με τα παραπάνω,
Αν κάποιος έχει διδαχθεί Θεωρία Αλγορίθμων, Θεωρία Υπολογισμού καταλαβαίνει τι εννοούμε με τον όρο Turing Complete όταν αναφερόμαστε σε Γλώσσα Προγραμματισμού...



https://en.wikipedia.org/wiki/Turing_completeness


https://el.wikipedia.org/wiki/%CE%A0%CE%BB%CE%B7%CF%81%CF%8C%CF%84%CE%B7%CF%84%CE%B1_%CE%A4%CE%BF%CF%8D%CF%81%CE%B9%CE%BD%CE%B3%CE%BA


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


Η επιλογή μου στην Python στο παραπάνω Poll έγινε με κριτήρια καθαρά χρήσης και εφαρμογών της ίδιας της Python.
Η άνθιση που γνωρίζει προέρχεται και από μη Πληροφορικούς Επιστήμονες, ειδικά από Data Science.
Αυτό είναι γνωστό
Πριν από πολλά χρόνια (1998-1999) έτυχε να την γνωρίσω μέσα από το
https://www.linuxinsider.gr/forum/genika/2468/magazhelluggr-diadiktyako-periodiko-toy-hellug
(κυκλοφορούσε και ένα περιοδικό σε εξειδικευμένα καταστήματα πώλησης υπολογιστών και ειδών Πληροφορικής για λίγα χρόνια..., αν θυμάμαι καλά 1-2...)


άρχισα στην 1.x την έπιασα στην 2.x,και πριν 4-5 χρόνια στην έκδοση 3.x
Νομίζω ότι αξίζει τον κόπο να ασχοληθεί κάποιος μαζί της.
Πλέον αποκλειστικά στην έκδοση 3.x γιατί ακολουθεί και η Python 4.x με αρκετά νέα χαρακτηριστικά.
Το γεγονός ότι ακολουθεί την Byte Code λογική όπως η Java μπορεί να εισάγει κάποιον που την έχει διδαχθεί πιο εύκολα σε γλώσσες όπως η Java και ας μην ξεχνάμε ότι Interpeted χααρακτηριστικά έχει αποκτήσει και η Java από την 11.x έκδοση της...
π.χ. με το JShell


https://tryjshell.org/



Φυσικά αξίζει και η JavaScript και τα διάφορα variant της,όπως TypeScript
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

komni

Παράθεση από: alkisg στις 30 Μαρ 2021, 11:44:12 ΠΜ
Κομνηνέ κανένα εργαλείο δεν είναι για να θεοποιηθεί, αλλά ο αριθμός των issues από μόνος του δεν είναι ένδειξη, χρειάζεται αντιπαραβολή ανοικτών vs κλειστών. Το vscode έχει 4754 ανοικτά αλλά και 103981 κλειστά, διεκπεραιωμένα, που είναι ιδιαίτερα καλή αναλογία. Και issue δεν σημαίνει πάντα bug, μπορεί να είναι feature request ή μέχρι και απορία/RTFM. Σε αντιπαράθεση, η γλώσσα TypeScript έχει 4841/24809, τέσσερις φορές λιγότερα διεκπεραιωμένα, κι αν μπορούσαμε να μετρήσουμε των Windows, του Linux ή της Python, θα ήταν πολλαπλάσια και με χειρότερο ratio.

Το "γραμμένο σε electron" δεν είναι κάτι αρνητικό. Λίγο-πολύ σημαίνει "γραμμένο στην αξιόπιστη μηχανή HTML GUI του Google Chrome, το Chromium, και στην αξιόπιστη μηχανή εκτέλεσης Javascript Nodejs/V8 ξανά της Google". Δηλαδή σε ποιο GUI framework να το έγραφαν, σε Qt με 139136 issues, GTK, Windows Forms; Δεν υποστηρίζουν ΚΑΙ εκτέλεση απευθείας στον browser, που είναι ο βασικός στόχος πολλών σύγχρονων προγραμμάτων. Το online vscode δεν θα χρειάζεται electron, αυτό είναι μόνο για την τοπική εκτέλεση.

Νομίζω δηλαδή ότι όσον αφορά το τεχνικό μέρος, το ψητό είναι:
Ο συνδυασμός HTML/Javascript ξεκίνησε για τους browsers και το Internet.
Μετά ο κόσμος συνειδητοποίησε ότι το Internet είναι σε πολλές περιπτώσεις πιο σημαντικό από το τοπικό λειτουργικό.
Και ότι η HTML είναι σε πολλές περιπτώσεις πιο δυνατή από τις υπόλοιπες βιβλιοθήκες GUI.
Και ότι είναι πιο βολικό να γράφουμε σε μία γλώσσα παρά σε πολλές· και να συντηρούμε ένα πρόγραμμα για όλα τα λειτουργικά.
Οπότε ξεκίνησαν προσπάθειες με Electron/Nodejs κλπ να τρέχει η Javascript και τοπικά.
Ε, αυτές οι προσπάθειες μπορεί ακόμα να έχουν κάποιες παιδικές ασθένειες, αλλά έχουν τόσα πλεονεκτήματα που δεν γυρίζει πίσω το ποτάμι.

Για το freelancing κλπ, φυσικά και δεν εννοούσα ότι η γνώση ενός μαθήματος Λυκείου θα βοηθήσει κάποιον να βρει δουλειά. Η παράγραφος αυτή αφορούσε απόφοιτους Πληροφορικής που ξέρουν Javascript σε σχέση με αυτούς που ξέρουν Python. Να τα πω λίγο πιο αναλυτικά.
Εδώ και 20 χρόνια έχουν δαπανηθεί εκατομμύρια εργατοώρες στην ΑΕΠΠ από χιλιάδες καθηγητές, μαθητές και ερευνητές· έχει δημιουργηθεί ένα τεράστιο γνωσιακό κεφάλαιο στην Ελλάδα γι' αυτή.
Ας πούμε λοιπόν ότι αυτά τα 20 χρόνια διδάσκονταν Javascript/Python αντί για ΑΕΠΠ. Τι επιπλέον δυνατότητες θα υπήρχαν;
Δεν θα ήταν πιο εύκολο εν μέσω κορονοϊού, ένας από αυτούς τους καθηγητές ή τους μαθητές να φτιάξει έναν διερμηνευτή σε javascript σαν τον δικό σου;
Δεν θα ήταν πιο εύκολο ένας από αυτούς να συμμετάσχει στην ανάπτυξη του epoptes.org που είναι σε Python, ή να ξεκινήσει ένα δικό του project, σε σχέση με το να ξέρει ΓΛΩΣΣΑ; Δεν χρειάζεται να γίνουν επαγγελματίες προγραμματιστές, αλλά οι αληθινές γλώσσες, αντίθετα με τη ΓΛΩΣΣΑ, τους δίνουν τη δυνατότητα να λύσουν ένα πρόβλημα που υπάρχει στην τάξη τους, στο γραφείο τους ή στο σπίτι τους. Και μία στις 100 να συμβεί αυτό, μιλάμε για πολλές περιπτώσεις, με τεράστια οφέλη. Πόσους έχουν ωφελήσει ο Επόπτης και ο διερμηνευτής σου;
Στα μαθήματα Πανεπιστημίου, συχνά ακούς τους καθηγητές να λένε "αυτό είναι ακριβώς αντίθετο από όπως το μάθατε στην ΑΕΠΠ". Δεν θα ήταν καλύτερο να είχαν διδαχτεί μια από τις γλώσσες που μαθαίνουν στο Πανεπιστήμιο; Προγραμματισμός δεν διδάσκεται μόνο στα τμήματα Πληροφορικής.

Ένα τέτοιο τεράστιο οικοσύστημα όπως είναι η Πληροφορική της Γ΄ Λυκείου έχει τεράστιες κοινωνικές και γνωσιακές προεκτάσεις. Θεωρώ ότι είναι καλύτερα να διαχέεται μια υπάρχουσα παρά μια φανταστική γλώσσα, ακόμα κι αν τελικά την χρησιμοποιήσει ένας στους 10 ή στους 100. Ο φιλόλογος του σχολείου έχει ακουστά την ΑΕΠΠ/ΓΛΩΣΣΑ, δεν θα ήταν καλύτερα να έχει ακουστά την Javascript; Να του πούμε "μην πατάς το κουμπί [Αναζήτηση] της σελίδας πολλές φορές, δεν θα φορτώσει πιο γρήγορα έτσι" και να έχει μια επιπλέον πιθανότητα να καταλάβει γιατί...

Υ.Γ. ο bugman διαγράφηκε μόνος του, δεν τον διέγραψε κάποιος διαχειριστής. Ο μόνος περιορισμός που του θέσαμε ήταν να μην μας ζαλίζει με την Μ2000 σε όλες τις συζητήσεις, παρά μόνο στο θέμα που είχε ανοίξει ειδικά για τη διαφήμισή της. Ε προφανώς δεν είχε άλλο λόγο συμμετοχής στο Στέκι πέρα από αυτόν, και έφυγε.

Το electron το είπα ως αρνητικό γιατί δεν πιστεύω ότι οι υπολογιστές του δημοσίου μπορούν να το τρέξουν.

Δεν διαφωνεί κανείς ότι σε έναν μαθητή που ενδιαφέρεται για το μάθημα είναι καλύτερο να του διδαχτεί μια κανονική γλώσσα προγραμματισμού. Το επιχείρημα είναι ότι οι περισσότεροι μαθητές δεν τους νοιάζει και δείχνοντάς τους Python, για παράδειγμα, το μόνο που θα καταφέρουμε είναι να τους κάνουμε overwhelm. Ακόμη και στο πανεπιστήμιο το ξέρουν αυτό όπου αντί για C++ οι πρωτοετείς διδάσκονται pazcal. Ο μαθητής που ενδιαφέρεται θα ψαχτεί από μόνος του και έτσι πρέπει να είναι - ότι υιοθετείται από το σχολείο γίνεται αυτομάτως ξενέρα. Δεν θα έχει κάποιο ενδιαφέρον να κάτσω να γράψω μια ιστοσελίδα που υπολογίζει π.χ. σε τι σχολές θα περάσω με βάση τους βαθμούς μου όταν όλοι οι συμμαθητές μου θα ξέρουν να το κάνουν.

Επίσης το Upwork που έγραψες δεν δείχνει όλες τις δουλειές σε έναν νέο χρήστη. Οι περισσότερες (και οι πιο καλοπληρωμένες) "ξεκλειδώνονται" ανάλογα με το πόσο έχει ήδη δουλέψει ο χρήστης στην ιστοσελίδα. Επιπλέον πρέπει να πάρουμε υπ' όψην μας το πόσο πληρώνουν οι δουλειές ανάλογα με την γλώσσα. Δική μου άποψη είναι ότι η Python πληρώνεται λίγο καλύτερα.


evry

#52
Τι εννοείς του δημοσίου? Δεν το κατάλαβα. Δηλαδή οι υπολογιστές του "ιδιωτικού" είναι άλλοι?
Παράθεση από: komni στις 03 Απρ 2021, 09:57:13 ΜΜ
Το electron το είπα ως αρνητικό γιατί δεν πιστεύω ότι οι υπολογιστές του δημοσίου μπορούν να το τρέξουν.

Δεν κατάλαβα ακριβώς ποιο είναι το επιχείρημα εδώ. Δηλαδή επειδή δεν τους νοιάζει να τα παρατήσουμε όλα? Μήπως δεν τους νοιάζει επειδή τόσο καιρό κάνουν ψευδογλώσσα χωρίς καμία πρακτική χρησιμότητα; Μήπως επειδή κάνουν μια γλώσσα στην οποία δεν έχει αναπτυχθεί καμία γνωστή εφαρμογή;
Μήπως αν δουν μια γλώσσα στην οποία θα κάνουν κάτι χρήσιμο αρχίσει να τους νοιάζει?
Επίσης από που προκύπτει ότι "δεν τους νοιάζει". Μήπως αυτό είναι και λίγο υποτιμητικό για τους μαθητές;
Παράθεση
Το επιχείρημα είναι ότι οι περισσότεροι μαθητές δεν τους νοιάζει και δείχνοντάς τους Python, για παράδειγμα, το μόνο που θα καταφέρουμε είναι να τους κάνουμε overwhelm.

Δεν είναι Πανεπιστήμιο αλλά Πολυτεχνείο και πιο συγκεκριμένα η μοναδική σχολή στον κόσμο που κάνουν την Pazcal επειδή είναι δική τους επινόησης. Δεν σημαίνει ότι αυτό είναι σωστό.
Σε όλα τα άλλα τμήματα ΗΜΜΥ στην Ελλάδα κάνουν είτε C (ΑΠΘ, Κρήτη, ΔΠΘ) είτε Python (Πάτρα ΗΜΤΥ) ή και τα δυο (Μηχανικοί Η/Υ Πάτρας). Το ίδιο ισχύει σε όλες τις πληροφορικές και σε όλα τα μαθηματικά. Επίσης κανείς δεν κάνει ψευδογλώσσα.
Κανένα πανεπιστημιακό τμήμα στον κόσμο και καμία χώρα στον κόσμο δεν διδάσκει ψευδογλώσσα χωρίς σύνδεση με πραγματική γλώσσα προγραμματισμού. Αυτό που συμβαίνει στην χώρα μας αποτελεί παγκόσμια πρωτοτυπία.
Ακόμα και η Pazcal που αναφέρεις είναι μια γλώσσα προγραμματισμού, ένα Pascalοειδές υποσύνολο της C που θεωρούν ότι είναι πιο εύπεπτο. Φυσικά το ερώτημα είναι γιατί δεν κάνουν κατευθείαν C χωρίς pointers και με λίγο STL για να μην ταλαιπωρούν τους φοιτητές.
Παράθεση
Ακόμη και στο πανεπιστήμιο το ξέρουν αυτό όπου αντί για C++ οι πρωτοετείς διδάσκονται pazcal.

Να καταργήσουμε τα σχολεία τότε, γιατί τα έχουμε;
Παράθεση
Ο μαθητής που ενδιαφέρεται θα ψαχτεί από μόνος του και έτσι πρέπει να είναι - ότι υιοθετείται από το σχολείο γίνεται αυτομάτως ξενέρα.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

#53
Παράθεση από: komni στις 03 Απρ 2021, 09:57:13 ΜΜ
Το electron το είπα ως αρνητικό γιατί δεν πιστεύω ότι οι υπολογιστές του δημοσίου μπορούν να το τρέξουν.

vscode requirements: 1.6 GHz, 1 GB RAM

Να υποθέσω ότι έχεις κατά νου το εργαστήριο του ΓΕΛ της Φανής; Έχει Η/Υ >10 ετών, αλλά dual core με >=2 GB RAM, το vscode τρέχει ανετότατα εκεί.
Το online vscode που φαίνεται στη σελίδα https://stackblitz.com/fork/js παίζει ακόμα και σε 20ετίας Pentium 4 με 1 GB RAM. Και το ΠΣΔ θα μπορούσε να στήσει ένα αντίστοιχο https://code.sch.gr αν θέλαμε να τρέχει παντού και σε P4 και σε κινητά, με αποθήκευση αρχείων στον χώρο https://myfiles.sch.gr των μαθητών, χωρίς καν εγκατάσταση.

Απαιτήσεις vscode == απαιτήσεις browser, αν κάποιος Η/Υ δεν σηκώνει browser είναι καιρός να αλλαχθεί, και οι περισσότεροι Pentium 4 της Ελλάδας έχουν ήδη αλλαχθεί την τελευταία τριετία. Ο πιο συνηθισμένος δημόσιος client πλέον είναι i3/ryzen/pentium με 4 GB RAM.

Παράθεση από: komni στις 03 Απρ 2021, 09:57:13 ΜΜ
ότι υιοθετείται από το σχολείο γίνεται αυτομάτως ξενέρα

Χαχα Κομνηνέ ωραίος αυτό δεν το είχα σκεφτεί! Αλλά όμως και αλήθεια να είναι, δεν μπορούμε να διδάσκουμε αουτσάιντερ στην εκπαίδευση για να μην ξενερώσουμε τον καλό. Αν οι συμμαθητές σου ήξεραν λίγη Javascript, ίσως και να κατανοούσαν καλύτερα το πόση δουλειά έριξες στο gloglossa, και να εκλάμβανες τον θαυμασμό τους ως ένα από τα θετικά κίνητρα.

Προγραμματισμός cross-platform-ιστο-εφαρμογών: ήδη το πιο "in" στην πράξη· θέμα χρόνου να γίνει και στην εκπαίδευση παγκοσμίως
Κλασσικός προγραμματισμός Python / C / C++ / Java: σταθερές αξίες, η Javascript θα τους "κλέβει" κάποιο μερίδιο καθώς οι εφαρμογές θα μεταβαίνουν στο Internet (π.χ. Scratch2 vs Scratch3, Office vs Google Docs, Visual Studio vs Visual Studio Code...), αλλά για τοπικές εφαρμογές θα βασιλέψουν για πολλά χρόνια ακόμα
Φανταστικός προγραμματισμός ΓΛΩΣΣΑ: αουτσάιντερ· κρίμα να διδάσκουμε αυτή

Νίκος Αδαμόπουλος

Παράθεση από: evry στις 04 Απρ 2021, 12:02:28 ΠΜ
Ακόμα και η Pazcal που αναφέρεις είναι μια γλώσσα προγραμματισμού, ένα Pascalοειδές υποσύνολο της C που θεωρούν ότι είναι πιο εύπεπτο. Φυσικά το ερώτημα είναι γιατί δεν κάνουν κατευθείαν C χωρίς pointers και με λίγο STL για να μην ταλαιπωρούν τους φοιτητές.

Επειδή γνωρίζω από το γιο μου,  πρόκειται απλά για κάποιες μακροεντολές που έχουν βάλει σε μια βιβλιοθήκη και τις χρησιμοποιεί όποιος φοιτητής θέλει προαιρετικά,  για κανά μήνα στο 1ο εξάμηνο, αντί για τις κανονικές for, scanf, printf, cin, cout, κλπ. Ουσιαστικά λοιπόν c/c++ μαθαίνουν και μάλιστα μέσα στο ίδιο εξάμηνο κάλυψαν δείκτες, αναφορές, μέχρι και ολίγον από κλάσεις και STL.

komni

Παράθεση από: evry στις 04 Απρ 2021, 12:02:28 ΠΜ
Τι εννοείς του δημοσίου? Δεν το κατάλαβα. Δηλαδή οι υπολογιστές του "ιδιωτικού" είναι άλλοι?

Ναι, είναι πιο γρήγοροι.

Παράθεση από: evry στις 04 Απρ 2021, 12:02:28 ΠΜ
Δεν κατάλαβα ακριβώς ποιο είναι το επιχείρημα εδώ. Δηλαδή επειδή δεν τους νοιάζει να τα παρατήσουμε όλα? Μήπως δεν τους νοιάζει επειδή τόσο καιρό κάνουν ψευδογλώσσα χωρίς καμία πρακτική χρησιμότητα; Μήπως επειδή κάνουν μια γλώσσα στην οποία δεν έχει αναπτυχθεί καμία γνωστή εφαρμογή;
Μήπως αν δουν μια γλώσσα στην οποία θα κάνουν κάτι χρήσιμο αρχίσει να τους νοιάζει?
Επίσης από που προκύπτει ότι "δεν τους νοιάζει". Μήπως αυτό είναι και λίγο υποτιμητικό για τους μαθητές;

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

Παράθεση από: evry στις 04 Απρ 2021, 12:02:28 ΠΜ
Να καταργήσουμε τα σχολεία τότε, γιατί τα έχουμε;

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

Παράθεση από: alkisg στις 04 Απρ 2021, 10:04:56 ΠΜ
vscode requirements: 1.6 GHz, 1 GB RAM

Να υποθέσω ότι έχεις κατά νου το εργαστήριο του ΓΕΛ της Φανής; Έχει Η/Υ >10 ετών, αλλά dual core με >=2 GB RAM, το vscode τρέχει ανετότατα εκεί.
Το online vscode που φαίνεται στη σελίδα https://stackblitz.com/fork/js παίζει ακόμα και σε 20ετίας Pentium 4 με 1 GB RAM. Και το ΠΣΔ θα μπορούσε να στήσει ένα αντίστοιχο https://code.sch.gr αν θέλαμε να τρέχει παντού και σε P4 και σε κινητά, με αποθήκευση αρχείων στον χώρο https://myfiles.sch.gr των μαθητών, χωρίς καν εγκατάσταση.

Ναι, σε αυτό το εργαστήριο έπαιρνε 5+ λεπτά να ανοίξει ο διερμηνευτής, αλλά τώρα που το ξανασκεύτομαι λογικά έφταιγε το wine. Και πάλι δεν ξέρω πόσο ισχύουν αυτά τα minimum requirements. Για ένα complete dev environment πρέπει να τρέχει VSCode + Browser + Webpack HMR(ώστε ο μαθητής να βλέπει απευθείας τις αλλαγές) το οποίο είμαι σίγουρος ότι θέλει πάνω απο 4 GB RAM.


evry

Μάλιστα
Παράθεση από: komni στις 05 Απρ 2021, 11:14:38 ΠΜ
Ναι, είναι πιο γρήγοροι.

Αντιλαμβάνεσαι ότι χρησιμοποιείς το επιχείρημα της προσωπικής εμπειρίας απέναντι σε εκπαιδευτικούς που παρακολουθούν το φόρουμ και έχουν προσωπική εμπειρία ακόμα και 20 έτη άρα έχουν μιλήσει με χιλιάδες μαθητές όλα αυτά τα χρόνια, ενώ η δική σου προσωπική εμπειρία αφορά μόνο τους συμμαθητές σου?
Πάλι δεν κατάλαβα από που φαίνεται, από ποια στατιστικά? Δηλαδή η πρώτη σχολή στις επιλογές των μαθητών που είναι οι ΗΜΜΥ δεν έχει αρκετή πληροφορική? Κάποιος που δεν του αρέσει καθόλου η πληροφορική θα πήγαινε εκεί? Επίσης πόσοι είναι οι εισακτέοι σε τμήματα πληροφορικής και πόσοι σε οικονομικά τμήματα? Γιατί νομίζω ότι τα τμήματα που είναι συναφή με την πληροφορική σε όλη την Ελλάδα πρέπει να είναι 30-40.
Παράθεση
Προκύπτει από προσωπική εμπειρία αλλά όποιος ζητάει αντικειμενικά στοιχεία μπορεί να κοιτάξει τα στατιστικά των πανελληνίων. Όπως εμένα δεν με νοιάζουν τα είδη κειμενικών δεικτών, πολλών άλλων δεν τους νοιάζει η πληροφορική και αυτό φαίνεται.

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

dpa2006

#57
Παράθεση από: komni στις 03 Απρ 2021, 09:57:13 ΜΜ

Το electron


Είναι βαρύ το Electron και γενικά ότι έχει σχέση με JavaScript 4 Windows, όπως και ο Atom...

Παράθεση
Δεν διαφωνεί κανείς ότι σε έναν μαθητή που ενδιαφέρεται για το μάθημα είναι καλύτερο να του διδαχτεί μια κανονική γλώσσα προγραμματισμού. Το επιχείρημα είναι ότι οι περισσότεροι μαθητές δεν τους νοιάζει και δείχνοντάς τους Python, για παράδειγμα, το μόνο που θα καταφέρουμε είναι να τους κάνουμε overwhelm. Ακόμη και στο πανεπιστήμιο το ξέρουν αυτό όπου αντί για C++ οι πρωτοετείς διδάσκονται pazcal. Ο μαθητής που ενδιαφέρεται θα ψαχτεί από μόνος του και έτσι πρέπει να είναι - ότι υιοθετείται από το σχολείο γίνεται αυτομάτως ξενέρα. Δεν θα έχει κάποιο ενδιαφέρον να κάτσω να γράψω μια ιστοσελίδα που υπολογίζει π.χ. σε τι σχολές θα περάσω με βάση τους βαθμούς μου όταν όλοι οι συμμαθητές μου θα ξέρουν να το κάνουν.



Pazcal... ??? !!!
Υποσύνολο της C....
Πραγματικά δεν πίστευα ποτέ πως θα χρειαζόταν να δημιουργηθεί υποσύνολο της C για να διδάξεις Αρχές Προγραμματισμού...
Δεν μπορώ να φανταστώ (όλους) τους λόγους που οδήγησαν σε αυτή την επιλογή...!


Βέβαια έχουν κάνει κάτι ανάλογο με την Αρχιτεκτονική Υπολογιστών και το
Τεχνολογία Λειτουργικών Συστημάτων και Λειτουργικά Συστήματα






Τεχνολογία Λειτουργικών Συστημάτων και Λειτουργικά Συστήματα Υποστηρηκτικό Υλικό


Το λογισμικό Τρίτων (τμήμα του, ο ΑΒΑΚΑΣ συγκεκριμένα) μετατράπηκε στον ΕΚΥ..
Ο οποίος αρχικά δινόταν ως εφαρμογή σε Macromedia (πριν εξαγοραστεί από την Adobe...) Director...
Ο Προσομοιωτής Παράστασης Αριθμών (και πράξεων) ήταν επίσης γραμμέςνος σε Shockwave Player
Πρωτοποριακά για την εποχή εκείνη, ο Τρίτων σε Java οπως και η Μέδουσα μια εφαρμογή για Γράφους Προβαδίσματος (που χρησμοποιούταν στις συρρουτίνες... και εξήγαγε κώδικα από το γράφημα που δημιουργούσε ο χρήστης...)
Αυτά μεταφέρθηκαν με τον ένα ή τον άλλο τρόπο στα μαθήματα του ΕΜΠ...



και μια ερώτηση αν μου επιτρέπεις.
Θα μπορούσε να δημιουργηθεί μια Desktop εκδοχή της gloglossa, παράλληλα με τις δικτυακές εφαρμογές?


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

alkisg

Παράθεση από: dpa2006 στις 05 Απρ 2021, 06:41:12 ΜΜ
Είναι βαρύ το Electron και γενικά ότι έχει σχέση με JavaScript 4 Windows, όπως και ο Atom...

Παιδιά να ξαναπώ ότι το vscode παίζει απευθείας μέσω οποιουδήποτε browser. Δεν χρειάζεται electron, ούτε τοπική εγκατάσταση, ούτε "dev environment με webpack HMR". Είναι πιο ελαφρύ από μια καρτέλα με το gmail ανοιχτό. Απλά κάντε κλικ στην παρακάτω σελίδα, ΕΙΝΑΙ το vscode, και δείτε αν παίζει στο PC, στο tablet ή στο κινητό σας:

https://stackblitz.com/edit/js-w7z9ky

Στις πιο αργές συσκευές που έχω αυτή τη στιγμή δίπλα μου, ένα raspberry pi και το κινητό μου, φορτώνει σε 5 δευτερόλεπτα.

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

Παράθεση από: pekap
Τέλος, να υπενθυμίσουμε ότι θα ξεκινήσει τις προσεχείς ημέρες, η ομάδα εργασίας που οργανώνει η Π.Ε.ΚΑ.Π, με στόχο να συμβάλλει στη διαμόρφωση του προγράμματος Σπουδών για το μάθημα της Πληροφορικής για το ΓΕΛ. Οι ομάδες εργασίας για το Δημοτικό και το Γυμνάσιο έχουν ήδη ξεκινήσει τις συναντήσεις τους. Όποιος επιθυμεί να συμμετάσχει στον ομάδα εργασίας για το ΓΕΛ, να στείλει σχετικό e-mail στο pekap<στο>pekap.gr

thaaanos

Εγώ θα πήγαινα σε συναρτησιακή Γλώσσα...

Πέτρος Κ.

Python στην Γ.
Αν και προβληματίζομαι σχετικά με το θέμα τις στοίχισης.
Είναι εύκολο για τους μαθητές να ορίζουν τα μπλοκ του κώδικα σε χαρτί;
Τι δείχνει η εμπειρία στα ΕΠΑΛ;



(Και ένα λίγο οφφ τοπικ: θα ήθελα την JS στην Β τάξη, ως συνέχεια της HTML που κάνουν στην Α)

evry

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

Μήπως θα ήταν καλύτερα να κάνουν στην Α τάξη HTML/Javascript μαζί? και μετά να συνεχίσουν στην B?

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

dpa2006

Παράθεση από: evry στις 06 Απρ 2021, 10:54:41 ΜΜ
Το θέμα με την εξέταση στο χαρτί έχει λυθεί. Αν δεις τα θέματα στο τέλος υπάρχει οδηγία να βάζουν κάθετες γραμμές ώστε να φαίνεται η στοίχιση.
Η ίδια οδηγία υπήρξε και στις οδηγίες διδασκαλίας και στο βιβλίο εκπαιδευτικού.
Νομίζω ότι αυτό είναι από τα μικρότερα προβλήματα που θα συναντήσει κάποιος αν διδάξει Python.
Στην αρχή δυσκολεύονται οι μαθητές στο περιβάλλον με τις στοιχίσεις αλλά μετά από λίγο καιρό το συνηθίζουν.

Μήπως θα ήταν καλύτερα να κάνουν στην Α τάξη HTML/Javascript μαζί? και μετά να συνεχίσουν στην B?

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

Εξαιρετική ιδέα!
Με τον τρόπο αυτό μαθαίνουν και κατανοούν τις βασικές Τεχνολογίες που υπάρχουν στο Front End Developing σήμερα...! :)
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

dpa2006

Για όσους δεν το γνωρίζουν ήδη

https://blogs.sch.gr/webinarspe1920/2020/03/02/webinar2020003/



Διδασκαλία αντικειμενοστραφούς προγραμματισμού Γ' ΓΕΛ
2. Πραγματοποιημένες Διαλέξεις
by Ανδρέας Αθανίτης
Κωδικός Διάλεξης: 2020003.
Ημερομηνία και Ώρα Σεμιναρίου: Τρίτη 10/03/2020 18:30-20:00
Εγγραφή/Αίτηση Συμμετοχής

[/color]Αξιολόγηση Σεμιναρίου[/size][/font]
ΣΤΟΙΧΕΙΑ ΟΜΙΛΗΤΗ – ΔΙΑΛΕΞΗΣ
Επώνυμο
Συρρής[/color]
Φωτογραφία
Όνομα
Ιωάννης
Ιδιότητα – Θέση Ομιλητή:
ΣΕΕ ΠΕ86 & Οργ Συντονιστής 2ου ΠΕΚΕΣ Β.Αιγαίου
Αφίσα σεμιναρίου:
Αφίσα Α3 για εκτύπωση σε pdf
Τίτλος Διάλεξης:
Διδασκαλία αντικειμενοστραφούς προγραμματισμού Γ' ΓΕΛ
Περίληψη:
Το σεμινάριο αφορά τη διδασκαλία του Αντικειμενοστραφούς Προγραμματισμού σύμφωνα με το βιβλίο Πληροφορικής Γ' ΓΕ.Λ., βιβλίο μαθητή, ενότητα 4.
Θα παρουσιαστούν και θα συζητηθούν οι βασικές έννοιες του αντικειμενοστραφούς προγραμματισμού και η διαφορά του από τον διαδικαστικό προγραμματισμό.
Θα δοθούν παραδείγματα (θεωρητικά) αντικειμενοστραφών προγραμμάτων και θεωρητικές ασκήσεις αποσαφήνισης των βασικών εννοιών των αντικειμενοστραφών προγραμμάτων (ιδιότητες, μέθοδοι, αντικείμενα, κλάσεις, διαγράμματα ιεραρχίας κλάσεων, πολυμορφισμός, διαγράμματα αντικειμένων και διαγράμματα κλάσεων σε αντικειμενοστραφή προγράμματα)
Για την καλύτερη κατανόηση των εννοιών θα παρουσιαστούν 2 προγράμματα σε γλώσσα Python.
Τέλος, θα δοθούν ερωτήσεις για τα σημαντικά σημεία της θεωρίας του κεφαλαίου.
E-mail | URL
stt3000012@stt.aegean.gr
[/t][/t]
Σελίδα Ομιλητή
Διαφάνειες ΠαρουσίασηςΑρχεία Κώδικα: Python_ΠαραδείγματαVideo Παρουσίασης


Δυστυχώς το επόμενο σεμινάριο με την κα Σγουροπούλου Κλειώ, αν και έχει ανοικοινωθεί δεν έχει πάρει ημερομονία ακόμη...  :(


Δίδεται η παρουσίαση σε PDF και ο κώδικας σε Python 3.x


Και ένα παλαιότερο σχετικό σεμινάριο,


https://blogs.sch.gr/webinarspe1920/2016/03/02/webinar2016003/




Αρχές αντικειμενοστρεφούς προγραμματισμού
2. Πραγματοποιημένες Διαλέξεις, Επιστήμη Η/Υ & Πληροφορικής
by Ανδρέας Αθανίτης
Κωδικός Διάλεξης: 2016003.
Ημερομηνία και Ώρα Σεμιναρίου: Τετάρτη 13/4/2016 18:30-20:00
Εγγραφή/Αίτηση Συμμετοχής[/size]
Αξιολόγηση Σεμιναρίου[/size]ΣΤΟΙΧΕΙΑ ΟΜΙΛΗΤΗ – ΔΙΑΛΕΞΗΣ
ΕπώνυμοΧατζηλυγερούδηςΦωτογραφίαΌνομαΙωάννηςΙδιότητα – Θέση Ομιλητή:Αναπληρωτής Καθηγητής – Τμήμα Μηχ/κών Η/Υ & Πληροφορικής, Πανεπιστήμιο ΠατρώνΑφίσα σεμιναρίου:  Webinar-38-afisa-Α3 σε pdfΤίτλος Διάλεξης:Αρχές αντικειμενοστρεφούς προγραμματισμούΠερίληψη:Ο αντικειμενοστρεφής προγραμματισμός (object-oriented programming) ξεκίνησε ως απάντηση σε προβλήματα του διαδικασιακού προγραμματισμού (procedural programming). Στη διάλεξη αυτή θα παρουσιαστούν οι βασικές αρχές στις οποίες στηρίζεται μια αντικειμενοστρεφής γλώσσα και κατ' επέκταση ένα αντικειμενοστρεφές πρόγραμμα. Θα αναλυθούν έννοιες όπως, ενθυλάκωση, απόκρυψη δεδομένων, διεπαφή αντικειμένου, κλάσεις και ιεραρχίες κλάσεων, στιγμιότυπα, σχέσεις κλάση-υποκλάση-υπερκλάση, κληρονομικότητα, αποστολή μηνυμάτων, πολυμορφισμός. Τα παραπάνω θα αναλυθούν χωρίς ιδιαίτερη αναφορά σε συγκεκριμένη γλώσσα προγραμματισμού.E-mail – URLihatz@ceid.upatras.grhttp://aigroup.ceid.upatras.gr/index.php/el/ihatzΣελίδα ΟμιλητήΔιαφάνειες 39oυ Webinar Hadzilygeroudis oop_principles


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

dpa2006

Καλησπέρα σε όλους
Να προσθέσω κάτι που θεωρώ πολύ σημαντικό για την επιλογή της Γλώσσας Python.
Η δυνατότητα να τη χρησιμοποιήσουμε ως εργαλείο στη Ρομποτική,
με δύο περιβάλλοντα (editors) τα οποία παρέχουν εγγενή υποστήριξη στη Microbit(αναφέρθηκε στο παραπάνω webinar)

1) τον Mu Editor
που χρησιμοποιείται στην Microbit
https://codewith.mu/en/tutorials/1.0/microbit

και
2) το Thonny, το οποίο εκτός από Ελληνικό Μενού έχει και δωρεάν Πρόσθετο για Microbit.
https://thonny.org/

https://pypi.org/project/thonny-microbit/

Νομίζω πως η χρησιμότητα τους είναι πολύ σημαντική και δεν χρειάζονται άλλες λεπτομέρειες.
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 στις 15 Απρ 2021, 07:37:43 ΜΜ
Καλησπέρα σε όλους
Να προσθέσω κάτι που θεωρώ πολύ σημαντικό για την επιλογή της Γλώσσας Python.
Η δυνατότητα να τη χρησιμοποιήσουμε ως εργαλείο στη Ρομποτική,

Καλά και με Raspberry μπορούμε κατ' ευθείαν στις GPIO να παίξουμε μπάλα.
Ωστόσο η ρομποτική  μπορεί να διδαχθεί ΕΛΑΦΡΩΣ πιο δύσκολα με arduino περιβάλλον.
Τι θέλω να πω; Η ρομποτική είναι ΕΝΑ ακόμα καλό feature που μπορούμε να έχουμε με τη Python, όχι όμως μόνο με αυτή.
Γενικότερα όμως, η Python μπορεί να βρει εφαρμογές... παντού, άρα και να στηρίξει μια STEM διαθεματική προσέγγιση, αν θέλουμε να μιλήσουμε για μοντέρνο σχολείο και ξεκολλήσουμε από το παραδοσιακό γερμανικό μοντέλο. Κι αυτό εύκολα, με έτοιμες classes και τα λοιπά. Αλλά ξεφεύγουμε από τη standard library σε όλα αυτά, να το θυμόμαστε αυτό.
Οπότε καλή η Python για όλα αυτά, αλλά χρειάζεται γενναίες αλλαγές στο Πρόγραμμα Σπουδών.
Μαζί σου είμαι dpa2006, δε διαφωνώ και μάλιστα να πω, πως ωραίο θα ήταν όπως έχουν πει συνάδελφοι πριν, σε προγενέστερες του Λυκείου τάξεις, να μάθουν και js τα παιδιά. Αν μη τι άλλο, είναι μια μοντέρνα scripting γλώσσα προγραμματισμού, όπως εξελίχθηκε ενδέχεται να τυποποιείται όλο και καλύτερα και στο χέρι μας είναι να διδάσκουμε τόσο Python όσο και js με πειθαρχία java κι όχι με ad-hoc αχταρμάδες spaghetti. Η js  μπορεί να διδαχθεί ως αντικειμενοστραφής ξέφραγο αμπέλι, γιατί μπορεί, σε αντιπαράθεση με τη Java που απαιτεί σωστό σχεδιασμό κλάσεων εξ αρχής. Αλλά with great power comes great responsibility όπως λένε στην Αγγλική, οπότε στο χέρι μας είναι τόσο η python όσο κι η js να διδάσκονται σωστά. Άλλωστε στα ΕΠΑΛ μια χαρά πάει το μάθημα ήδη.

nikosx

MicroBit με MakeCode και στη συνέχεια με Javascript και Python είναι δυνατός συνδυασμός με πολύ καλή διαδικτυακή κοινότητα (μαθήματα κτλ.) για να στηρίξει κάποιος πρόγραμμα σπουδών Πληροφορικής και Ρομποτικής σχεδόν σε όλες τις βαθμίδες.
Νίκος Ξένος
Καθηγητής Πληροφορικής
nxenos@sch.gr

alkisg

Καλημέρα! Για ρομποτική με Javascript είναι διαθέσιμα ένα σωρό περιβάλλοντα και plugins, για παράδειγμα για το microbit που είπες, o MakeCode editor είναι σε Javascript (https://microbit.org/code) ενώ υπάρχουν και Vscode plugins (https://marketplace.visualstudio.com/search?term=microbit&target=VSCode).

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

dpa2006

Παράθεση από: George Eco στις 16 Απρ 2021, 10:37:55 ΠΜ
Καλά και με Raspberry μπορούμε κατ' ευθείαν στις GPIO να παίξουμε μπάλα.
Ωστόσο η ρομποτική  μπορεί να διδαχθεί ΕΛΑΦΡΩΣ πιο δύσκολα με arduino περιβάλλον.
Τι θέλω να πω; Η ρομποτική είναι ΕΝΑ ακόμα καλό feature που μπορούμε να έχουμε με τη Python, όχι όμως μόνο με αυτή.
Γενικότερα όμως, η Python μπορεί να βρει εφαρμογές... παντού, άρα και να στηρίξει μια STEM διαθεματική προσέγγιση, αν θέλουμε να μιλήσουμε για μοντέρνο σχολείο και ξεκολλήσουμε από το παραδοσιακό γερμανικό μοντέλο. Κι αυτό εύκολα, με έτοιμες classes και τα λοιπά. Αλλά ξεφεύγουμε από τη standard library σε όλα αυτά, να το θυμόμαστε αυτό.
Οπότε καλή η Python για όλα αυτά, αλλά χρειάζεται γενναίες αλλαγές στο Πρόγραμμα Σπουδών.
Μαζί σου είμαι dpa2006, δε διαφωνώ και μάλιστα να πω, πως ωραίο θα ήταν όπως έχουν πει συνάδελφοι πριν, σε προγενέστερες του Λυκείου τάξεις, να μάθουν και js τα παιδιά. Αν μη τι άλλο, είναι μια μοντέρνα scripting γλώσσα προγραμματισμού, όπως εξελίχθηκε ενδέχεται να τυποποιείται όλο και καλύτερα και στο χέρι μας είναι να διδάσκουμε τόσο Python όσο και js με πειθαρχία java κι όχι με ad-hoc αχταρμάδες spaghetti. Η js  μπορεί να διδαχθεί ως αντικειμενοστραφής ξέφραγο αμπέλι, γιατί μπορεί, σε αντιπαράθεση με τη Java που απαιτεί σωστό σχεδιασμό κλάσεων εξ αρχής. Αλλά with great power comes great responsibility όπως λένε στην Αγγλική, οπότε στο χέρι μας είναι τόσο η python όσο κι η js να διδάσκονται σωστά. Άλλωστε στα ΕΠΑΛ μια χαρά πάει το μάθημα ήδη.

Συμφωνώ...
Δεν θα μπορρούσες να τα πεις καλύτερα και για μένα.
Γενικά είμαι υπέρ της πολλαπλής προσέγγισης και θα ήθελα όχι μόνο σε επίπεδο Τεχνικού Σχολείου αλλά και σε επίπεδο Γενικού Σχολείου να υπάρχει η δυνατότητα να έρχονται τα παιδιά σε επαφή με περισσότερες από μια εφαρμογές και Γλώσσες.
Ευσεβείς πόθοι...
:)
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

Παράθεση από: George Eco στις 18 Απρ 2021, 11:38:32 ΜΜ
Ευελπιστώ να ζήσουμε μεγάλες στιγμές.
Το ελπίζω και εγώ
και για να είμαι ειλικρινής το εύχομαι...
:)
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

Πέτρος Κ.

Παράθεση από: alkisg στις 16 Απρ 2021, 01:06:11 ΜΜ
Πάντως φάνηκε ότι οι περισσότεροι συνάδελφοι προτιμούν Python παρά Javascript, οπότε μάλλον έχει νόημα να γίνει αυτό που λέει ο Ευριπίδης, ώστε να εξοικοιωθούν και οι καθηγητές με την Javascript στην Α και Β τάξη, και στην επόμενη αλλαγή προγράμματος σπουδών μετά τη σύνταξή μας βλέπουμε... :)

...και νομίζω ότι δεν είναι ιδιαίτερα δύσκολο για την Β τάξη.

Αρκεί στις οδηγίες που λαμβάνουμε στην αρχή της χρονιάς, μία γραμμή που να αναφέρει : "η διδασκαλία των αλγορίθμων μπορεί προαιρετικά να γίνει με την χρήση των γλωσσών python ή javascript".

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

   

   

Κώστας Τ.

#72
Καλησπερα,

ωραια η συζητηση, αλλα εχετε αναρωτηθει οτι μιλαμε για μαθητες που σε ενα ποσοστο 20-30% χρειαζονται ολοκληρη την καλοκαιρινη περιοδο μεχρι να χωνεψουν τι κανει η Διαβασε;

Που για να καταλαβουν πως βγαζουμε ποσοστο φτανουμε Χριστουγεννα;

Συγγνωμη δηλαδη, αλλα ειναι σωστη η αποψη "αφου και τα υπολοιπα μαθηματα ειναι δυσκολα, οπως πχ οι μαθηματικοι διδασκουν αναλυση, ας το κανουμε και εμεις δυσκολο";

Εχετε καταλαβει οτι κανενας μαθητης της Α Λυκειου δεν εχει καταλαβει εντελως τιποτα απο την javascript; Εσεις δηλαδη θεωρειτε το φετινο εγχειρημα της javascript επιτυχες;

Ας πατησουμε λιγο στη γη.
Το μαθημα θελει βελτιωση; Ναι, 4 βιβλια ειναι ανεκδοτο.
Το μαθημα θελει αλλαγη γλωσσας; Οχι.

Ας το θεσω και διαφορετικα: αν οντως γυρισει το ΓΕΛ σε python, γιατι να μην τους δινουμε και το χαρτι της ειδικοτητας που παιρνουν τα παιδια του ΕΠΑΛ; Θα μου πεις κανουν και δικτυα στο ΕΠΑΛ (δουλευομαστε...)

Προσπαθηστε να περασετε την αλγοριθμικη, συνδυαστικη και δημιουργικη σκεψη. Τα υπολοιπα ειναι ουτοπικα.

ΥΓ: ας λυσουμε πρωτα τα "εσωτερικα" μας προβληματα, που οταν μπουν πιο "μαθηματικες" ασκησεις τα κανουμε μπαχαλο, βλ περσινο θεμα Β με τους πρωτους αριθμους. Ή οταν λεμε ακεραιοι αριθμοι εννουμε για καποιο μαγικο λογο μονο τους θετικους ακεραιους.



alkisg

Παράθεση από: Κώστας Τ. στις 24 Απρ 2021, 10:47:48 ΜΜ
δεν εχετε ενα ποσοστο 20-30% που χρειαζονται ολοκληρη την καλοκαιρινη περιοδο μεχρι να χωνεψουν τι κανει η Διαβασε;

Αυτό συμβαίνει επειδή κανένα από τα υπολογιστικά συστήματα που γνωρίζουν οι 16χρονοι δεν έχει "ΔΙΑΒΑΣΕ". Δεν έχουν δει ποτέ τερματικό/DOS. Πώς να το χωνέψουν;

Η "Δεδομένα" της Ψευδογλώσσας είναι πολύ καλύτερη από την "ΔΙΑΒΑΣΕ". Σε μια μόνο εντολή μπορούν να γίνουν 4 πράγματα:

  • Ορισμός των δεδομένων ενός προβλήματος (μοντελοποίηση).
  • Δήλωση μεταβλητής είτε με είτε χωρίς τύπους, ό,τι προτιμούμε.
  • Πραγματοποίηση της εισόδου από τον χρήστη, η οποία μπορεί να αντιστοιχιστεί σε HTML input boxes που οι μαθητές τα χρησιμοποιούν καθημερινά ως μηχανισμούς εισόδου.
  • Ή, πραγματοποίηση της εισόδου ως παράμετροι που ένας αλγόριθμος περνάει όταν καλεί άλλον αλγόριθμο. Έτσι μοντελοποιούμε καλύτερα και τον δομημένο προγραμματισμό, και την επαναχρησιμοποίηση των αλγορίθμων.
Για ποιο λόγο λοιπόν να διδάσκουμε την "ΔΙΑΒΑΣΕ"; Σε έναν "Διερμηνευτή της Javascriptοψευδογλώσσας" που θα χρησιμοποιούσε εντολή "Δεδομένα", τα αντίστοιχα προγράμματα θα ήταν πιο εύκολα, πιο κατανοητά, πιο μικρά, πιο ευπαρουσίαστα αλλά και πιο επαναχρησιμοποιήσιμα από ότι σε ΓΛΩΣΣΑ.

ripper

Παράθεση από: Κώστας Τ. στις 24 Απρ 2021, 10:47:48 ΜΜ
Ας πατησουμε λιγο στη γη.
Το μαθημα θελει βελτιωση; Ναι, 4 βιβλια ειναι ανεκδοτο.
Το μαθημα θελει αλλαγη γλωσσας; Οχι.

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

Κώστας Τ.

#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 πληρούν όλα τα κριτήρια που αναφέρατε.


alkisg

#90
Στο Φωτόδεντρο υπάρχουν 15.480 εκπαιδευτικά αντικείμενα είτε ομάδων ανάπτυξης είτε ανεξάρτητων χρηστών.
Η συντριπτική πλειονότητά τους έχει φτιαχτεί για να εμφανίζονται μέσω web.

Το μέλλον που θα μου άρεσε είναι:

  • Το Φωτόδεντρο να διαθέτει όλα τα web-based αντικείμενα και σε μορφή npm registry. Το npm, node package manager, είναι ένα κέντρο λογισμικού αντίστοιχο με αυτά του Android, του Ubuntu ή των Windows, αλλά για εφαρμογές html/javascript.
  • Κάθε καθηγητής ή μαθητής να συντηρεί τις web-based δραστηριότητές του στον προσωπικό του χώρο στο github. Δεν χρειάζονται καν γνώσεις προγραμματισμού, javascript ή git γι' αυτό, υπάρχουν ένα σωρό εργαλεία που εξάγουν υλικό σε μορφή ιστοσελίδας· παρουσιάσεις, βίντεο, animations, διαδραστικές εφαρμογές κλπ.
  • Να τις περιγράφει με ένα απλό αρχείο package.json και να κάνει αίτηση στο Φωτόδεντρο για συμπερίληψή τους.
  • Οι υπεύθυνοι του Φωτόδεντρου να κάνουν έλεγχο και εφόσον εγκρίνουν θα πατάνε απλά "clone" και "publish to our npm registry".
  • Οι χρήστες, δηλαδή όλοι οι εκπαιδευτικοί και οι μαθητές, να μπορούν πλέον να εγκαταστήσουν οποιαδήποτε δραστηριότητα τοπικά μέσω ενός γραφικού package manager ονόματι npm-gui ή μαζικά με εντολές τύπου `npm install -g @photodentro/l10763 @photodentro/u1235`.
Που κολλάει η Javascript;
Όταν όλοι οι καθηγητές και οι μαθητές θα μπορούν να δημοσιεύουν web-based εκπαιδευτικές δραστηριότητες στο σχετικό npm αποθετήριο,
γιατί να μην μάθουν μερικοί από αυτούς (π.χ. οι Πληροφορικοί και οι μαθητές Λυκείου) και λίγο javascript, ώστε να μπορέσουν να βοηθήσουν και την Αγγλικού στη δραστηριότητα "memory games in english" που θέλει να φτιάξει;

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

Αυτά τα τεράστια πλεονεκτήματα, δεν επισκιάζουν δραματικά τα μειονεκτήματα τύπου "δεν μου αρέσει η σύνταξη της τάδε εντολής της τάδε γλώσσας";
Υ.Γ. και η Python έχει τον "pip package manager", αλλά ούτε εκτελείται μέσω browser / κινητού κλπ, ούτε σε sandbox (θέματα ασφαλείας). Δεν βολεύει για διαμοιραζόμενα εκπαιδευτικά webapps.

George Eco

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

sstergou

#92
Παράθεση από: alkisg στις 08 Μαΐου 2021, 09:35:46 ΠΜ
Αυτά τα τεράστια πλεονεκτήματα, δεν επισκιάζουν δραματικά τα μειονεκτήματα τύπου "δεν μου αρέσει η σύνταξη της τάδε εντολής

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

Παραθέτω κάποια δείγματα κώδικα javascript για να δείξω τι εννοώ.

Κώδικας: javascript
var a = [1,2,3]
var c = '1,2,3';

a == b; // false
a == c; // true

t = null
t += 'ing'  //"nulling"


Number.MAX_VALUE > 0;   //true
Number.MIN_VALUE < 0;   //false

[] == ![];     //true

Number({});   // NaN
Number([]);   // 0

[1,2,3,15,30,7,5,45,60].sort() // [1,15,2,3,30,45,5,60,7]

Math.min() < Math.max(); // false

alert(111111111111111111111); // alerts 111111111111111110000 


42.toFixed(2);    // Syntax Error
42. toFixed(2);   // Syntax Error
42 .toFixed(2);   // "42.00" 
42 . toFixed(2);  // "42.00" 
42.0.toFixed(2);  // "42.00" 
42..toFixed(2);   // "42.00"


Βαριέμαι να παραθέσω παραπάνω παραδείγματα αλλά είναι αμέτρητα.
Στο τέλος αυτό που μετράρει είναι να έχεις απομνημονεύσει ένα σωρό χαζούς κανόνες. Μια απ'τα ίδια με την ΓΛΩΣΣΑ δηλαδή. Για μένα αυτό είναι το ρεζίλι της πληροφορικής.

Όσον αφορά τώρα το φωτόδεντρο και τα λογισμικά δεν έχω κάτι να πω.
Τα περισσότερα λογισμικά που έχω δει θα μπορούσαν άνετα να είναι webapps και ο τρόπος παραγωγής-διανομής που σκέφτηκες πολύ έξυπνος και οικονομικός.
Δωρεάν hosting για τα λογισμικά (github), δωρεάν (ή χαμηλού κόστους) διαμοιρασμός (npm) δωρεάν εργαλεία (vscode). Πιστεύω ότι πρέπει να υπάρξει προσοχή στη διαχείριση προσωπικών δεδομένων καθώς μιλάμε για ιδιωτική εταιρεία. btw όλες αυτές οι τεχνολογίες είναι ελεγχόμενες από την microsoft...

Αλλά ας το δεχτώ. Έστω ότι αυτό είναι το ιδανικό φορμά διαμοιρασμού και συνεργασίας πάνω στα εκπαιδευτικά λογισμικά.

Πρέπει αυτό να να ορίσει τη γλώσσα της Γ' Λυκείου; (όπως λέει και η ερώτηση στην αρχή του θέματος).
Η μήπως πρέπει να διδάσκουμε javascript στο δημοτικό, γυμνάσιο λύκειο και επάλ για να διευκολύνουμε το διαμοιρασμό;

Θα μπορούσαμε να χρησιμοποιύμε typescript,  dart, c++, python, scala και ότι άλλη γλώσσα θέλουμε αρκεί να υπάρχει εξαγωγή σε javascript, δεν καταλαβαίνω γιατί πρέπει να παιδιά να υποστούν αυτόν τον τραγέλαφο.


TLDR;
Javascript: Μαύρο χάλι
Διαμοιρασμός εκπαιδευτικου λογισμικού (διαφορετική συζήτηση)

Υ.Γ.
Memory games μπορούν να φτιάχνουν τα παιδιά στο δημοτικό. Στη Γ' Λυκείου περιμένω άλλα.

alkisg

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

Είναι πολύς κόσμος που κρίνει το συντακτικό ή το σημασιολογικό κάθε γλώσσας, δεν αναφερόμουνα σε σένα. Συμφωνώ ότι κάθε γλώσσα έχει τις κακοτοπιές της αλλά μπορούμε να τις αποφεύγουμε στη διδασκαλία. Δεν είναι απαραίτητο να αναφερθούμε στο γιατί η range(1000000000) εξαντλεί τη RAM ούτε στο [] == ![]. Στο ερωτηματολόγιο του καλοκαιριού υπήρχε τεράστια ασυμφωνία για το τι θα έπρεπε να τυπώσει η `ΓΙΑ μ ΑΠΟ -1 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ -3*μ ... ΓΡΑΨΕ μ`, αλλά παρ' όλα η πλειονότητα δήλωσε ότι η ΓΙΑ είναι σαφώς ορισμένη, αφού μπορούμε να περιορίσουμε τη χρήση της σε απλές περιπτώσεις.
Το βασικό πρόβλημα της ΓΛΩΣΣΑΣ δεν ήταν η σύνταξή της, αλλά (1) το ότι δεν ορίστηκε πλήρως, και (2) ότι δεν έχει πραγματική χρήση. Αν μας όριζαν επακριβώς τη σημασιολογία της ΓΙΑ, θα ξέραμε και ποιες περιπτώσεις να μην διδάξουμε, και δεν θα το συζητούσαμε περαιτέρω.

Υλοποίηση ενός memory game χρειάζεται πίνακες, ταξινόμηση, υποπρογράμματα random/shuffle, events κλπ, θα την κάνουν οι καλοί μαθητές του Λυκείου, δεν γίνεται στο Δημοτικό με Javascript (εκτός αν εννούσες με game-maker εργαλεία).
Στην επιλογή της γλώσσας για τη Γ΄ Λυκείου, θεωρώ ιδιαίτερα εντός θέματος την χρήση της ως καθημερινό και διαθεματικό εργαλείο.

sstergou

Παράθεση από: alkisg στις 10 Μαΐου 2021, 09:55:29 ΜΜ
Συμφωνώ ότι κάθε γλώσσα έχει τις κακοτοπιές της αλλά μπορούμε να τις αποφεύγουμε στη διδασκαλία.
Μακάρι να είναι έτσι αλλά αν μπουν οι πανελλήνιες στη μέση θα τραβάμε τα μαλλιά μας. Σε κάθε περίπτωση υπάρχουν γλώσσες γεμάτες κακοτοπιές και παγίδες και γλώσσες που σχεδιάστηκαν με περισσότερη προσοχή και έχουν λιγότερα προβλήματα τέτοιου είδους. Τίποτε δεν είναι αξεπέραστο αλλά όπως είπα και παραπάνω ως καθηγητής δεν θα ήθελα να εξηγήσω το type coercion σε κανέναν μαθητή γιατί είναι μια άχρηστη και ξεπερασμένη τακτική που οδηγεί σε σοβαρά bugs, κακή κατανόηση και κακή απόδοση. Κατά τη γνώμη μου δεν έχει καμία διδακτική αξία.

Παράθεση από: alkisg στις 10 Μαΐου 2021, 09:55:29 ΜΜ
Υλοποίηση ενός memory game χρειάζεται πίνακες, ταξινόμηση, υποπρογράμματα random/shuffle, events κλπ, θα την κάνουν οι καλοί μαθητές του Λυκείου, δεν γίνεται στο Δημοτικό με Javascript (εκτός αν εννούσες με game-maker εργαλεία).
Στην επιλογή της γλώσσας για τη Γ΄ Λυκείου, θεωρώ ιδιαίτερα εντός θέματος την χρήση της ως καθημερινό και διαθεματικό εργαλείο.

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

Να εξηγήσω τι εννοώ:

Λογισμικά παρουσιάσεων, animation, scratch, logo και ότι άλλο χωράει ο νους μας κάνει εξαγωγή σε javascript. Θα απαγορεύσουμε στον κόσμο να χρησιμοποιεί το λογισμικό που θέλει; Ή απλά θα πούμε "Αν εξάγει σε webapp τότε το φιλοξενούμε αρκεί να γράψεις ένα package.json".

Νομίζω το δεύτερο μιας και το πρώτο δεν μπορεί καν να ελεγθεί.

Από τη στιγμή που λοιπόν υπάρχει τεχικά η δυνατότητα να χρησιμοποιηθεί η Javascript ως βάση για τον διαμοιρασμό και το μιξάρισμα εκπαιδευτικών webapp γραμμένων σε ένα σωρό εργαλεία γιατί να την ορίσουμε σαν την μοναδική γλώσσα προγραμματισμού;

Θα μπορούσαν στο δημοτικό τα παιδιά να κάνουν logo και scratch και να τα δημοσιεύουν σαν webapps.
Στο γυμνάσιο και στο λύκειο η λογική αυτή μπορεί να επεκταθεί σε ένα σωρό προγράμματα και γλώσσες ειδικά για την διδασκαλία ενός μαθήματος ή μιας διδακτικής ενότητας.
Και η γλώσσα θα μπορούσε να εξάγει javascript για όποιον επιθυμεί(!).

Με λίγα λόγια γιατί να διαλέξουμε javascript από την στιγμή που δεν καν είναι απαραίτητη για να χτίσουμε την διαθεματικότητα με βάση την ίδια; Γιατί να μη διαλέξουμε μια καλύτερη γλώσσα για τη Γ' Λυκείου;

alkisg

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

1. Γιατί να επιλέξουμε μια γλώσσα που να επιτρέπει προγραμματισμό browser, αντί μια άλλη με καλύτερο συντακτικό;
1.1. Για τον ίδιο λόγο που μαθαίνουμε στα παιδιά μας Αγγλικά ως πρώτη επιλογή, κι ας είναι μια γλώσσα με χειρότερο συντακτικό, που δημιουργήθηκε εκ του προχείρου για να συνεννοηθούν άνθρωποι που μιλούσαν καλύτερες, αλλά διαφορετικές, γλώσσες. Επειδή αυτή τη στιγμή όποιος ξέρει Αγγλικά συνεννοείται με όλον τον υπόλοιπο κόσμο.
1.2. Για τον ίδιο λόγο που οι περισσότεροι έγραφαν προγράμματα για DOS αντί για καλύτερα σχεδιασμένα λειτουργικά. Επειδή αυτό στόχευσε να διαδοθεί σε όλα τα σπίτια ενώ τα άλλα ήταν πιο "επαγγελματικά". Αφού διαδόθηκε, για τις επόμενες 4 δεκαετίες όλος ο κόσμος έγραφε εφαρμογές για Windows.
1.3. Για τον ίδιο λόγο που πλέον οι εφαρμογές μετακινούνται από τα Windows στον ιστό. Επειδή το Internet και τα κινητά μας προσέφεραν καλύτερη επικοινωνία και διαμοιρασμό γνώσης, εξαπλώθηκαν παντού, και πλέον θέλουμε οι εφαρμογές μας να τρέχουν εκεί.

ΑΝ και εφόσον συμφωνήσουμε στο βήμα 1, τότε το επόμενο βήμα είναι:

2. Αντί για Javascript, να επιλέξουμε μια άλλη γλώσσα που να κάνει publish-to-web;
2.1. Δεν διαφωνώ καθόλου, έχω ήδη προτείνει και Typescript, και ΓΛΩΣΣΑ-to-Javascript, και Ψευδογλώσσα-to-Javascript, ενώ υπάρχει μέχρι και Python-to-Javascript.
2.2. Όμως οι block-based γλώσσες δεν έχουν την εκφραστική δύναμη των textual και είναι λόγος να τις απορρίψουμε για το Λύκειο. Αν πάμε να φτιάξουμε ένα memory game σε scratch θα δούμε ότι ο κώδικάς του δεν διαβάζεται, έχουν τραβήξει τον block-based προγραμματισμό από τα μαλλιά.
2.3. Τέλος, όσο πιο κοντά είναι ένα περιβάλλον σε native Javascript, τόσο πιο εύκολο θα είναι να βρούμε έτοιμες βιβλιοθήκες και εργαλεία, να διαμοιράσουμε και να επαναχρησιμοποιήσουμε υλικό. Η Typescript χρησιμοποιείται εκτενώς και είναι πιθανό να υποστηριχθεί επίσημα από πρότυπα και browsers, η transcrypt (Python) όχι ιδιαίτερα.

Η δικιά μου προτίμηση είναι Javascript, Typescript, Python-to-Javascript, Ψευδογλώσσα-to-Javascript. Θεωρώ όμως σημαντικότατο η γλώσσα που θα επιλεγεί για το Λύκειο, πέρα από την διδασκαλία αλγοριθμικής σκέψης που εξυπακούεται, να επιτρέπει στους μαθητές να φτιάξουν και εφαμογές που οι ίδιοι θα θεωρούν χρήσιμες. Και ναι αυτό ως επί το πλείστον σημαίνει GUI, browser και κινητά. Τα προγράμματα τύπου τερματικού θα τα άφηνα για το πανεπιστήμιο και μάλλον μόνο για τις θετικές σχολές (και πρέπει να είμαι από τους λίγους που περνάνε περισσότερο χρόνο σε τερματικό παρά σε browser! :D).

dpa2006

#96
Παράθεση από: alkisg στις 11 Μαΐου 2021, 07:13:16 ΠΜ
Νομίζω θα είναι αποδοτικότερο να απαντήσω σε μορφή βηματικού αλγορίθμου, με παραπομπές σε άλλες ιστορίες ή σε προηγούμενες σκέψεις.

1. Γιατί να επιλέξουμε μια γλώσσα που να επιτρέπει προγραμματισμό browser, αντί μια άλλη με καλύτερο συντακτικό;
1.1. Για τον ίδιο λόγο που μαθαίνουμε στα παιδιά μας Αγγλικά ως πρώτη επιλογή, κι ας είναι μια γλώσσα με χειρότερο συντακτικό, που δημιουργήθηκε εκ του προχείρου για να συνεννοηθούν άνθρωποι που μιλούσαν καλύτερες, αλλά διαφορετικές, γλώσσες. Επειδή αυτή τη στιγμή όποιος ξέρει Αγγλικά συνεννοείται με όλον τον υπόλοιπο κόσμο.
1.2. Για τον ίδιο λόγο που οι περισσότεροι έγραφαν προγράμματα για DOS αντί για καλύτερα σχεδιασμένα λειτουργικά. Επειδή αυτό στόχευσε να διαδοθεί σε όλα τα σπίτια ενώ τα άλλα ήταν πιο "επαγγελματικά". Αφού διαδόθηκε, για τις επόμενες 4 δεκαετίες όλος ο κόσμος έγραφε εφαρμογές για Windows.
1.3. Για τον ίδιο λόγο που πλέον οι εφαρμογές μετακινούνται από τα Windows στον ιστό. Επειδή το Internet και τα κινητά μας προσέφεραν καλύτερη επικοινωνία και διαμοιρασμό γνώσης, εξαπλώθηκαν παντού, και πλέον θέλουμε οι εφαρμογές μας να τρέχουν εκεί.

ΑΝ και εφόσον συμφωνήσουμε στο βήμα 1, τότε το επόμενο βήμα είναι:

2. Αντί για Javascript, να επιλέξουμε μια άλλη γλώσσα που να κάνει publish-to-web;
2.1. Δεν διαφωνώ καθόλου, έχω ήδη προτείνει και Typescript, και ΓΛΩΣΣΑ-to-Javascript, και Ψευδογλώσσα-to-Javascript, ενώ υπάρχει μέχρι και Python-to-Javascript.
2.2. Όμως οι block-based γλώσσες δεν έχουν την εκφραστική δύναμη των textual και είναι λόγος να τις απορρίψουμε για το Λύκειο. Αν πάμε να φτιάξουμε ένα memory game σε scratch θα δούμε ότι ο κώδικάς του δεν διαβάζεται, έχουν τραβήξει τον block-based προγραμματισμό από τα μαλλιά.
2.3. Τέλος, όσο πιο κοντά είναι ένα περιβάλλον σε native Javascript, τόσο πιο εύκολο θα είναι να βρούμε έτοιμες βιβλιοθήκες και εργαλεία, να διαμοιράσουμε και να επαναχρησιμοποιήσουμε υλικό. Η Typescript χρησιμοποιείται εκτενώς και είναι πιθανό να υποστηριχθεί επίσημα από πρότυπα και browsers, η transcrypt (Python) όχι ιδιαίτερα.

Η δικιά μου προτίμηση είναι Javascript, Typescript, Python-to-Javascript, Ψευδογλώσσα-to-Javascript. Θεωρώ όμως σημαντικότατο η γλώσσα που θα επιλεγεί για το Λύκειο, πέρα από την διδασκαλία αλγοριθμικής σκέψης που εξυπακούεται, να επιτρέπει στους μαθητές να φτιάξουν και εφαμογές που οι ίδιοι θα θεωρούν χρήσιμες. Και ναι αυτό ως επί το πλείστον σημαίνει GUI, browser και κινητά. Τα προγράμματα τύπου τερματικού θα τα άφηνα για το πανεπιστήμιο και μάλλον μόνο για τις θετικές σχολές (και πρέπει να είμαι από τους λίγους που περνάνε περισσότερο χρόνο σε τερματικό παρά σε browser! :D ).

Συμφωνώ σε πολύ μεγάλο ποσοστό με την παραπάνω τοποθέτηση.
Με μια διαφορά αν επιτρέπεται(επιτρέπετε),
όχι γλώσσες προγραμματισμού κλειστού κώδικα και συγκεκριμένων εταιρειών, αν και μεγάλος φαν και παλαιός χρήστης Turbo Pascal και Delphi...  :)


Και μια παρατήρηση για τη Javascript
Δεν μου άρεσε όταν πρωτοείδα την ακρίβεια των ακεραίων αριθμών περιορίζει την αναπαράσταση του αποτελέσματος σε 15 ψηφία...
Εκτός αν το κρύψουμε αυτό....
https://www.w3schools.com/js/js_numbers.asp


Παράθεση

Example
var x = 999999999999999;    // x will be 999999999999999
var y = 9999999999999999;   // y will be 10000000000000000
The maximum number of decimals is 17, but floating point arithmetic is not always 100% accurate:

Example
var x = 0.2 + 0.1;          // x will be 0.30000000000000004


To solve the problem above, it helps to multiply and divide:

Example
var x = (0.2 * 10 + 0.1 * 10) / 10;        // x will be 0.3


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

alkisg

Τέτοιοι περιορισμοί είναι εγγενείς στους περισσότερους επεξεργαστές και στις περισσότερες γλώσσες προγραμματισμού. Για παράδειγμα, στην Python, η παρακάτω εντολή τυπώνει False:
print(0.1 + 0.1 + 0.1 == 0.3)

Περισσότερα στο: https://alkisg.mysch.gr/steki/index.php?topic=8256.msg90258#msg90258
και η λύση που δίνει ο Διερμηνευτής στο τελευταίο bullet του: https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τύποι_δεδομένων/

Btw λέω στον γιο να κάνει ένα πρόγραμμα σε python που να μετατρέπει χρόνια σε μήνες.
Κάνει a = input(); print(12*a)
Δίνει είσοδο 15
Και του εμφανίζει 151515151515151515151515
...έμεινε λίγο κάγκελο μέχρι να του εξηγήσω πώς και γιατί...

dpa2006

Παράθεση από: alkisg στις 16 Μαΐου 2021, 01:14:08 ΜΜ
Τέτοιοι περιορισμοί είναι εγγενείς στους περισσότερους επεξεργαστές και στις περισσότερες γλώσσες προγραμματισμού. Για παράδειγμα, στην Python, η παρακάτω εντολή τυπώνει False:
print(0.1 + 0.1 + 0.1 == 0.3)

Περισσότερα στο: https://alkisg.mysch.gr/steki/index.php?topic=8256.msg90258#msg90258
και η λύση που δίνει ο Διερμηνευτής στο τελευταίο bullet του: https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τύποι_δεδομένων/

Btw λέω στον γιο να κάνει ένα πρόγραμμα σε python που να μετατρέπει χρόνια σε μήνες.
Κάνει a = input(); print(12*a)
Δίνει είσοδο 15
Και του εμφανίζει 151515151515151515151515
...έμεινε λίγο κάγκελο μέχρι να του εξηγήσω πώς και γιατί...
Σωστή παρατήρηση
Και με το δίκιο του...!
Υπάρχει πληροφόρηση για την χρήση των Python, Javascript ή άλλων γλωσσών σε Δευτεεοβάθμιες Διεθνώς...?
Από ότι βλέπω από Κύπρο πήραν πολύ συγκεκριμένες αποφάσεις στο θέμαα προγραμματισμός στο Σχολείο...
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

kLee

Παράθεση από: dpa2006 στις 18 Μαΐου 2021, 08:17:19 ΠΜ
Από ότι βλέπω από Κύπρο πήραν πολύ συγκεκριμένες αποφάσεις στο θέμαα προγραμματισμός στο Σχολείο...
Όπως??
Ανδροκλής Πολυμένης

Πληροφορικός

dpa2006

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

oldBugman

Πολύ μπροστά στη Κύπρο!
Τρίτη Γυμνασίου και ένα πολύ καλό βιβλίο με πολύ περιεχόμενο! Αρχιτεκτονική υπολογιστή, βάσεις δεδομένων...και αλγοριθμική.
http://archeia.moec.gov.cy/sm/24/pliroforiki_c_gymn_simeioseis.pdf
Δείτε το: Γ.7 Η γλώσσα προγραμματισμού PASCAL
Pascal κάνουν με το περιβάλλον Pame.


Νίκος Αδαμόπουλος

Παράθεση από: oldBugman στις 24 Ιουν 2021, 03:08:10 ΜΜ
Πολύ μπροστά στη Κύπρο!
Τρίτη Γυμνασίου και ένα πολύ καλό βιβλίο με πολύ περιεχόμενο! Αρχιτεκτονική υπολογιστή, βάσεις δεδομένων...και αλγοριθμική.
http://archeia.moec.gov.cy/sm/24/pliroforiki_c_gymn_simeioseis.pdf
Δείτε το: Γ.7 Η γλώσσα προγραμματισμού PASCAL
Pascal κάνουν με το περιβάλλον Pame.

Η αλγοριθμική καλύπτεται κυρίως με διαγράμματα ροής! Στο τέλος μόνο έχει 12 σελίδες με Pascal...
Δεν νομίζω ότι θεωρούμε την Pascal... "πολύ μπροστά"!

Πάντως στη Β' Λυκείου
http://archeia.moec.gov.cy/sm/181/pliroforiki_epistimi_i_y_katefth_b_lyk.pdf
βλέπω C++

και στη Γ' Λυκείου
http://archeia.moec.gov.cy/sm/417/pliroforiki_epist_HY_kat_c_lyk20180709.pdf
φτάνει και STL


oldBugman

Δεν ξέρω τι μάθημα κάνουν στη Γ γυμνασίου, αλλά το θεωρώ δυναμικό ξεκίνημα να έχουν την Pascal σε αυτή τη τάξη με έτοιμο περιβάλλον ανάπτυξης προγραμμάτων. Το ότι "προγραμματίζουν" οι μαθητές με μια γλώσσα προγραμματιμού με κείμενο (και όχι τύπου Scratch) είναι πολύ καλό! H Pascal είναι καλή γλώσσα για εκπαίδευση, αλλά το σημαντικό εδώ είναι ότι δίνεται μέσα από ένα περιβάλλον, που περιγράφεται στο βιβλίο. Σε αντίθεση με τη ΓΛΩΣΣΑ που δεν δόθηκε ένα περιβάλλον μαζί με το βιβλίο, και όχι στη Γ Γυμνασίου αλλά στη Γ Λυκείου!

dpa2006

#104
Καλημέρα σε όλους,
Για όσους συναδέλφους δεν γνωρίζουν τα Webinars ΠΕ89(ΠΕ19_ΠΕ20)
θα ήθελα να μου επιτραπεί να τα συστήσω.
https://blogs.sch.gr/webinarspe1920/


Αρχείο Πραγματοποιημένων Σεμιναρίων
https://blogs.sch.gr/webinarspe1920/archivedwebinars/

Έγιναν ήδη σεμινάρια για Αντικειμενοστρεφή Προγραμματισμό
Ειδικότερα αυτό που πραγματοποίησε ο Κος Συρρής είναι εξαιρετικό
https://blogs.sch.gr/webinarspe1920/2020/03/02/webinar2020003/
Το συστήνω ανεπιφύλάκτα σε όλους
Συνοδεύεται από υποστηρικτικό υλικό, Διαφάνεις και αρχεία κώδικα σε Python για τη διδασκαλία των αντικειμένων


Παράθεση
Το σεμινάριο αφορά τη διδασκαλία του Αντικειμενοστραφούς Προγραμματισμού σύμφωνα με το βιβλίο Πληροφορικής Γ' ΓΕ.Λ., βιβλίο μαθητή, ενότητα 4.[/size]Θα παρουσιαστούν και θα συζητηθούν οι βασικές έννοιες του αντικειμενοστραφούς προγραμματισμού και η διαφορά του από τον διαδικαστικό προγραμματισμό.Θα δοθούν παραδείγματα (θεωρητικά) αντικειμενοστραφών προγραμμάτων και θεωρητικές ασκήσεις αποσαφήνισης των βασικών εννοιών των αντικειμενοστραφών προγραμμάτων (ιδιότητες, μέθοδοι, αντικείμενα, κλάσεις, διαγράμματα ιεραρχίας κλάσεων, πολυμορφισμός, διαγράμματα αντικειμένων και διαγράμματα κλάσεων σε αντικειμενοστραφή προγράμματα)Για την καλύτερη κατανόηση των εννοιών θα παρουσιαστούν 2 προγράμματα σε γλώσσα Python.Τέλος, θα δοθούν ερωτήσεις για τα σημαντικά σημεία της θεωρίας του κεφαλαίου.



Αναφέρεται στην (νέα) ύλη της ΑΕΠΠ(Πληροφορική) της Γ Λυκείου για τον αντικειμενοστεφή προγραμματισμό


Η αναφορά του κου Σπύρου Παπαδάκη που αναφέρει ότι η Java δεν είναι κατάλληλη για λύκειο και πρώτα έτη Πανεπιστημίου με βρίσκει σύμφωνπ, αλλά δεν απορρίπτω άλλες απόψεις.  :)


Σελίδα Ομιλητή[/font]
Διαφάνειες ΠαρουσίασηςΑρχεία Κώδικα: Python_ΠαραδείγματαVideo Παρουσίασης


Στο ίδιο site
https://blogs.sch.gr/webinarspe1920/archivedwebinars/
μπορούν να βρεθούν και άλλα δυο σεμινάρια για αντικειμενοστρέφεια.[/font]
[/font][/color]



καλή ακρόαση.



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

dpa2006

#105
Καλημέρα,
όλο το υλικό για Πληροφορική Κύπρου στο παρακάτω σύνδεσμο
http://plirom.schools.ac.cy/index.php/el/

Δείγμα θεμάτων
http://archeia.moec.gov.cy/sm/423/c_lykeiou_pliroforiki_deigma_2017_solu.pdf

για
Γ΄ Λυκείου - Πληροφορική και Επιστήμη Υπολογιστών


http://plirom.schools.ac.cy/index.php/el/yliko/c-lykeiou-plirof-epistimi-ypologiston


Τυπολόγιο Συναρτήσεων στη γλώσσα προγραμματισμού C++[/t]08/07/2020
Σημειώσεις - Σχεδίαση Λογικών Διαγραμμάτων και Προκαταρκτική Εκτέλεση[/t]25/05/2018
Υλικό για μαθητές/τριες για την Ενότητα 2 και την Ενότητα 7[/t]16/07/2018
Προτεινόμενες Ασκήσεις Σχολικής Χρονιάς 2018-2019[/t]16/07/2018
Δομή Εξεταστικού Δοκιμίου και Εξεταστέα Ύλη (2017)[/t]22/09/2017
Δειγματικό Δοκίμιο (2017)[/t]22/09/2017
Δειγματικό Δοκίμιο - Ενδεικτικές Απαντήσεις (2017)[/t]22/09/2017
Ασκήσεις Γ΄Λυκείου[/t]29/08/2017[/size]




Στο παρακάτω λινκ




οι σημειώσεις C++
Με εντυπωσίασε ως βιβλίο.


http://archeia.moec.gov.cy/sm/417/pliroforiki_epist_HY_kat_c_lyk20180709.pdf


Το γενικό λινκ
http://plirom.schools.ac.cy/index.php/el/yliko/didaktiko-yliko


Γ' Λυκείου
Θέμα
Αρχείο
Ημερομηνία
Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών
Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών [/t]06/09/2018
Εφαρμογές Πληροφορικής Επιστήμης Η.Υ.
Εφαρμογές Πληροφορικής Γ' Λυκείου - Σημειώσεις [/t]17/08/2020
Εφαρμογές Πληροφορικής Γ' Λυκείου - Τετράδιο [/t]17/08/2020[/size]Εσπερινά Γυμνάσια - Λύκεια
Θέμα
Αρχείο
Ημερομηνία
Σημειώσεις Πληροφορικής - Α΄τάξη - Εσπερινό Γυμνάσιο[/t]02/09/2019
Πληροφορική - Α΄τάξη - Εσπερινό Γυμνάσιο - Τετράδιο Εργασιών[/t]02/09/2019
Σημειώσεις Β' Τάξης Εσπερινού Γυμνασίου [/t]31/08/2020
Τετράδιο (Φύλλα Εργασίας) Β' Τάξης Εσπερινού Γυμνασίου [/t]31/08/2020
Σημειώσεις Πληροφορικής - Α΄τάξη - Εσπερινό Λύκειο[/t]02/09/2019
Πληροφορική - Α΄τάξη - Εσπερινό Λύκειο - Τετράδιο Εργασιών[/t]02/09/2019
Σημειώσεις Β' Τάξης Εσπερινού Λυκείου [/t]31/08/2020
Τετράδιο (Φύλλα Εργασίας Β' Τάξης Εσπερινού Λυκείου [/t]31/08/2020[/size]Προπαρασκευαστική Μαθητεία
Θέμα
Αρχείο
Ημερομηνία
Σημειώσεις Πληροφορικής Προπαρασκευαστικής Μαθητείας[/t]02/09/2019
Τετράδιο (Φύλλα Εργασίας) Προπαρασκευαστικής Μαθητείας[/t]02/09/2019[/size]


Σε πόσα βιβλία Πληροφορικής Δευτεροβάθμιας ειδικότητας γνωρίζουμε να αναφέρεται η άθροιση με συμπλήρωμα του 2(2s complement)?
Στα βιβλία του τομέα Ηλεκτρονικής είχε αρκετά καλά βιβλία, ο οποίος συγχωνεύτηκε με τον τομέα Ηλεκτρολογίας.


Ενδεικτικές λύσεις 2017 - 2018
http://archeia.moec.gov.cy/sm/423/c_lykeiou_pliroforiki_deigma_2017_solu.pdf

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

dpa2006

Παράθεση από: oldBugman στις 24 Ιουν 2021, 04:01:48 ΜΜ
Το ότι "προγραμματίζουν" οι μαθητές με μια γλώσσα προγραμματιμού με κείμενο (και όχι τύπου Scratch) είναι πολύ καλό!

Όλες οι Pascal-οειδής γλώσσες θα έλεγα...

Καλό μήνα σε όλους!  :)
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

dpa2006

#107
Καλησπέρα και καλό μήνα σε όλους και καλό μήνα,
Ξέχασα να αναφέρω πως η C++ διδάσκεται σε δύο τάξεις, Β και Γ Λυκείου
Επίσης ψάχνω να βρω το έγγραφπ του σκεπτικού επιλογής της,δεν το βρήκα ακόμη...
Β Λυκείου:΅
http://archeia.moec.gov.cy/sm/181/pliroforiki_epistimi_i_y_katefth_b_lyk.pdf

Γ Λυκείου:
http://archeia.moec.gov.cy/sm/417/pliroforiki_epist_HY_kat_c_lyk20180709.pdf

και site με υλικο για κατέβασμα
https://www.hackerrank.com/b-lykeiou
https://www.hackerrank.com/c-lyceum

Με μια απλή εγγραφή έχουμε πρόσβαση στον κώδικα των βιβλίων


Και για να μην γράφω νέο ποστ οι αρχές που διέπουν την C++ για Β Λυκείου:


http://archeia.moec.gov.cy/sm/181/pliroforiki_epistimi_i_y_katefth_b_lyk.pdf


Σελίδα 89 από το παραπάνω λινκ:



Παράθεση

Εισαγωγή


Σε αυτό το εισαγωγικό κεφάλαιο παρουσιάζουμε τον τρόπο χρήσης των σημειώσεων, μία ιστορική αναδρομή στις γλώσσες προγραμματισμού και ειδικότερα στη C++ και το περιβάλλον του Code::Blocks (του IDE που θα χρησιμοποιήσουμε στο βιβλίο). Τέλος, γίνεται αναφορά σε άλλες επιλογές IDE (Integrated Development Environment), που θα μπορούσαν να χρησιμοποιηθούν. Σκοπός των σημειώσεων είναι να βοηθήσουν τους μαθητές και τους καθηγητές της Β' και Γ' Λυκείου να κατακτήσουν τους Δείκτες Επιτυχίας του μαθήματος Πληροφορικής και Επιστήμης Ηλεκτρονικών Υπολογιστών. Στο πλαίσιο της αναδόμησης και του εκσυγχρονισμού του μαθήματος, αποφασίστηκε από την ομάδα των Αναλυτικών Προγραμμάτων η εισαγωγή της γλώσσας προγραμματισμού C++ στη διδασκαλία της αλγοριθμικής σκέψης. Οι σημειώσεις ΔΕΝ αποτελούν εγχειρίδιο της C++. Δεν παρουσιάζουν τη χρήση δεικτών (pointers) ή κλάσεων (classes). Περιληπτικά, οι σημειώσεις ασχολούνται με τα ακόλουθα:



       
  • Βασικές δομές προγράμματος (ακολουθιακή, διακλάδωση, επανάληψη)
  • Δημιουργία συναρτήσεων από τον χρήστη
  • Πίνακες (μονοδιάστατοι – δισδιάστατοι)
  • Συμβολοσειρές (strings)
  • Αρχεία (Files)
  • Αφηρημένες δομές δεδομένων (structs)
  • Στοίβες και ουρές (stacks – queues)
Οι σημειώσεις είναι χωρισμένες σε πέντε κεφάλαια. Σε κάθε κεφάλαιο υπάρχουν αρκετά παραδείγματα ώστε να είναι ευκολότερη η επίτευξη των Δεικτών Επιτυχίας. Για έναν αριθμό αυτών των παραδειγμάτων έχουν ετοιμαστεί επεξηγηματικά βίντεο. Επίσης, ένας αριθμός παραδειγμάτων/ασκήσεων μπορεί να δοκιμαστεί διαδικτυακά (online), χρησιμοποιώντας την πλατφόρμα του HackerRank. Μέσω αυτής της πλατφόρμας, o μαθητής μπορεί να υποβάλει την λύση του, η οποία θα εξεταστεί για αριθμό δοκιμαστικών περιπτώσεων (test cases).


Στην προσπάθειά μας να δείξουμε ότι τα βήματα που πρέπει να ακολουθήσει κάποιος για να αναπτύξει ένα πρόγραμμα είναι ανεξάρτητα από τη γλώσσα προγραμματισμού, παραθέτουμε τις λύσεις ορισμένων παραδειγμάτων σε Pascal, Python και Java. Μέσα από αυτά ο μαθητής
μπορεί να έχει μία πρώτη επαφή και με γνωστές γλώσσες προγραμματισμού, που δεν θα διδαχτεί στο σχολείο, για σκοπούς σύγκρισης
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

evry

Πολύ σωστή η προσέγγισή τους.
έχει και links στο hacker rank !!!


Παράθεση από: dpa2006 στις 01 Ιουλ 2021, 09:49:48 ΜΜ
Καλησπέρα και καλό μήνα σε όλους και καλό μήνα,
Ξέχασα να αναφέρω πως η C++ διδάσκεται σε δύο τάξεις, Β και Γ Λυκείου
Επίσης ψάχνω να βρω το έγγραφπ του σκεπτικού επιλογής της,δεν το βρήκα ακόμη...
Β Λυκείου:΅
http://archeia.moec.gov.cy/sm/181/pliroforiki_epistimi_i_y_katefth_b_lyk.pdf

Γ Λυκείου:
http://archeia.moec.gov.cy/sm/417/pliroforiki_epist_HY_kat_c_lyk20180709.pdf

και site με υλικο για κατέβασμα
https://www.hackerrank.com/b-lykeiou
https://www.hackerrank.com/c-lyceum

Με μια απλή εγγραφή έχουμε πρόσβαση στον κώδικα των βιβλίων


Και για να μην γράφω νέο ποστ οι αρχές που διέπουν την C++ για Β Λυκείου:


http://archeia.moec.gov.cy/sm/181/pliroforiki_epistimi_i_y_katefth_b_lyk.pdf


Σελίδα 89 από το παραπάνω λινκ:
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dpa2006

Παράθεση από: evry στις 06 Ιουλ 2021, 10:20:40 ΜΜ
Πολύ σωστή η προσέγγισή τους.
έχει και links στο hacker rank !!!



Ναι συμφωνώ και εμένα μου άρεσε.
Δίνουν τον κώδικα των παραδειγμάτων για κατέβασμα...
Επίσης μου άρεσε η προσέγγιση του ίδιου παραδείγματος σε πολλαπλές Γλώσσες Προγραμματισμού
C++, Pascal, Python...
Παλιές (Pascal), νεότερες(η Python δεν είναι και τόσο νέα...1989) και διαχρονική αξία (C++)

και χρήση Διαγράμματος Ροής
Μου θύμισε λίγο τη φιλοσοφία του παλαιού βιβλίου Προγραμματισμού στα ΕΠΑΛ...
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

dpa2006

Και ένα άρθρο πολύ χρήσιμο πιστεύω...

https://thenewstack.io/what-should-be-a-students-first-programming-language/

What Should Be a Student's First Programming Language?
4 Jul 2021 6:00am, by David Cassel

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

dpa2006

Καλησπέρα,
χάριν πληρότητας να αναφέρω για όσους δεν γνωρίζουν υλοποιήσεις της Python στον Browser.

Running Python in the Browser
TRANSCRYPT. Transcrypt gives you a command-line tool you can run to compile a Python script into a JavaScript file. ...
BRYTHON. Brython lets you write Python in script tags in exactly the same way you write JavaScript. ...
SKULPT. (Skulpt is an[/size] [/size]entirely in-browser[/size] [/size]implementation of Python.
[/size]              No preprocessing, plugins, or server-side support required, just write Python and reload.[/size])
PYPY.
BATAVIA.
PYODIDE.
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

Spyrοs

Στο δίπτυχο Python / Javascript που είναι φανερά οι πιο δημοφιλείς επιλογές, σίγουρα θα επέλεγα Python. Θεωρώ ότι είναι πιο εύκολη στην εκπαίδευση, διδάσκεται ήδη στα ΕΠΑΛ με ό,τι αυτό συνεπάγεται, και είναι η νούμερο 1 επιλογή για machine learning, τεχνητή νοημοσύνη, ρομποτική (κάνοντας εύκολη μία "ρηχή" εισαγωγή σε αυτούς τους τομείς, αλλά και την μετέπειτα χρήση της γλώσσας σε σχετικά Πανεπιστημιακά τμήματα, όπου δεν θα γλιτώσεις εύκολα την Python σε αυτούς τους τομείς). Επίσης από τη στιγμή που οι browsers πλέον υποστηρίζουν WebAssembly νομίζω ότι μειώνεται ένα κύριο ατού της Javascript, μπορείς να γράψεις σε όποια γλώσσα θέλεις και να τρέξει σε online περιβάλλοντα.

Αν έπρεπε να επιλέξω μία επιπλέον γλώσσα ωστόσο, η οποία πέρα από εκπαιδευτικό ρόλο να έχει και δυνατότητες για άμεση χρησιμοποίηση σε πρακτικούς τομείς και με μεγάλη κοινότητα, θα διάλεγα την Go: https://en.wikipedia.org/wiki/Go_(programming_language)


  • Είναι μικρή σε μέγεθος (25 keywords) συγκριτικά με πολλές άλλες. Νομίζω ότι όταν υπάρχουν άπειρες δυνατότητες και τρόποι υλοποίησης σε μία γλώσσα μπερδεύει πολύ άτομα που μόλις ξεκινάνε να μαθαίνουν προγραμματισμό. Παλιότερα η Python είχε αυτό το μότο ("There should be one-- and preferably only one --obvious way to do it."), πλέον όμως όλο προσθέτουν και προσθέτουν νέες δυνατότητες που νομίζω έχει χαθεί αρκετά η μπάλα. Το ίδιο σε Javascript/Ecmascript. Παρομοίως για C#/Java κτλ.
  • Όταν γίνεται compile ο κώδικας κάνει static linking και παράγει ένα εκτελέσιμο που μπορούν οι μαθητές να το τρέξουν / μοιραστούν. Σε Python για το αντίστοιχο... καλά κρασιά. Σε JS θες ένα browser. Σε Java/Kotlin να έχεις εγκατεστημένο το JVM.
  • Σε βάζει σε ένα μονοπάτι για καλές προγραμματιστικές τεχνικές, πχ. με το Gofmt αυτόματα όλα τα προγράμματα έχουν ίδια tabs / κενά / γραμμές / μορφή, δεν σε αφήνει να κάνεις import βιβλιοθήκες που δεν χρησιμοποιείς, ίδιο brace style παντού κτλ. Σε όλες τις γλώσσες γίνονται αυτά, εδώ όμως είναι από default και δεν μπορείς να το αποφύγεις.
  • Εξαιρετική υποστήριξη στα περισσότερα IDEs (και υπάρχει και το GoLand της JetBrains ειδικά γι' αυτή).
  • Είναι αποδοτική, και πολλές real-life εφαρμογές την χρησιμοποιούν σε απαιτητικούς τομείς. Αν τη μάθει κανείς δεν θα πάει χαμένη η γνώση αυτή, κάπου θα βρει εφαρμογές.
  • Έχει πολύ καλές δυνατότητες concurrency και multi-threaded προγραμματισμού (goroutines).
  • Online editors; Το Go Playground (https://play.golang.org) που είναι φάτσα φόρα με το που πας στην επίσημη ιστοσελίδα τι είναι; Είναι open source προφανώς, μπορεί να εγκατασταθεί και σε server του υπουργείου αν χρειαστεί. Και υπάρχουν και εναλλακτικές λύσεις από τρίτους.
  • Μιας και ειπώθηκε παραπάνω για το μέλλον στις εφαρμογές web (παραφράζω λίγο), η Go φτιάχτηκε από την Google σαν μία γλώσσα με τα οποία μπορείς εύκολα να γράψεις εφαρμογές backend για servers. Γίνεται και με Javascript, αλλά ξεφεύγεις από vanilla JS και πρέπει να πας στο περιβάλλον του node.js που είναι πρακτικό... αν και μάλλον χαοτικό (μεγάλη συζήτηση). Συγκριτικά, το package system της Go δείχνει αρκετά πιο απλό.

Έχει μειονεκτήματα η Go; Ναι, και κυριότερο για τη συγκεκριμένη συζήτηση είναι νομίζω τα GUIs (... όπως σε όλες τις γλώσσες πλην της Javascript). Ωστόσο το Fyne φαίνεται πολλά υποσχόμενο (https://en.wikipedia.org/wiki/Fyne_(software) )

Τα υπόλοιπα νομίζω ότι στο αρχικό εκπαιδευτικό επίπεδο δεν πρόκειται να τα συναντήσει κανείς. Το κυριότερο παράπονο επί πολλά χρόνια ήταν πως δεν είχε generics (θα προστεθούν το 2022: https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md), ότι δεν έχει καλό error handling, πως είναι ισχυρογνώμων γλώσσα (ισχύει... αλλά όταν Rob Pike και Ken Thompson σου λένε "κάντο έτσι" δεν τους φέρνεις αντιρρήσεις ;D ) κτλ. Αυτά είναι προβλήματα μεγάλων εφαρμογών ή ήδη έμπειρων προγραμματιστών.

Τα είπα και ησύχασα.  8)

evry

Το βασικό μειονέκτημα της Go δεν είναι το interface αλλά η έλλειψη έρευνας / υλικού από την εκπαιδευτική κοινότητα.
π.χ. σε πόσα σχολεία/πανεπιστήμια κάνουν Go στο εξωτερικό? Με ποια αποτελέσματα? Τι δυσκολίες αντιμετώπισαν οι μαθητές/φοιτητές?
Επίσης είναι μια γλώσσα που έγινε από μια εταιρεία για την ανάπτυξη δικών της εφαρμογών  (όπως π.χ. η Hack του Facebook) και ακριβώς όπως έγινε τώρα μπορεί να εξαφανιστεί από την μια στιγμή στην άλλη για να πάρει τη θέση της μια άλλη γλώσσα.
Φυσικά από ότι φαίνεται αναπτύσσεται και θα μείνει αλλά η εκπαίδευση δεν είναι τόσο ευέλικτη όπως η βιομηχανία.
Για παράδειγμα τα βιβλία των ΕΠΑΛ θα πρέπει να πάνε σε Python 3.
Δεν είναι κάτι απλό αλλά δεν είναι και δύσκολο. Σε ένα καλοκαίρι θα μπορούσε να γίνει από 1-2 άτομα. Δυστυχώς δεν ασχολείται κανένας!

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

H Go ισως θα είχε νόημα να χρησιμοποιηθεί σε συγκεκριμένα μαθήματα στα πανεπιστήμια, π.χ. όπου υπάρχει ανάγκη για concurrency , multi threading παράλληλο προγραμματισμό κλπ αν είναι καλύτερη από άλλες εναλλακτικές.

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

pgrontas

Σχετικός σύνδεσμος που ανακάλυψα σήμερα καιίσως τροφοδοτήσει περαιτέρω τη συζήτηση. Μην μείνετε μόνο στη συγκεκριμένη σελίδα αλλά τα στοιχεία μπορεί να τα επεξεργαστεί κάνεις με πολλούς τρόπους ακολουθώντας τους συνδέσμους.
https://spectrum.ieee.org/top-programming-languages-2021
Δυστυχώς δεν έχει στοιχεία από εκπαίδευση, αλλά νομίζω ότι δεν είναι σωστο να πηγαίνουμε κόντρα στις γενικές τάσεις.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

Spyrοs

Παράθεση από: evry στις 11 Σεπ 2021, 12:47:27 ΜΜ
Το βασικό μειονέκτημα της Go δεν είναι το interface αλλά η έλλειψη έρευνας / υλικού από την εκπαιδευτική κοινότητα.
π.χ. σε πόσα σχολεία/πανεπιστήμια κάνουν Go στο εξωτερικό? Με ποια αποτελέσματα? Τι δυσκολίες αντιμετώπισαν οι μαθητές/φοιτητές?

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

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

Παράθεση από: evry στις 11 Σεπ 2021, 12:47:27 ΜΜ
Επίσης είναι μια γλώσσα που έγινε από μια εταιρεία για την ανάπτυξη δικών της εφαρμογών  (όπως π.χ. η Hack του Facebook) και ακριβώς όπως έγινε τώρα μπορεί να εξαφανιστεί από την μια στιγμή στην άλλη για να πάρει τη θέση της μια άλλη γλώσσα.

Αν και εδώ είναι λίγο άτυπη η σύγκριση με τη Go, καθώς η Hack και το HHVM απέτυχαν πλήρως να πάρουν έδαφος σε οτιδήποτε εκτός του Facebook και πλέον μόνο εκεί έχει χρήστες. Η Go έχει πολλαπλές υλοποιήσεις (πέρα από τη default και άλλες σε GCC και LLVM) και τεράστια κοινότητα που λαμβάνει μέρος στις αποφάσεις. Ασφαλώς βέβαια... η Google έχει το πάνω χέρι, οπότε θα μπορούσε να κατευθύνει τη γλώσσα αργότερα προς μία επιθυμητή κατεύθυνση. Δεν έχει δείξει σημάδια για κάτι τέτοιο πάντως.

dpa2006

#116
Ένα άρθρο πιστεύω χρήσιμο

Java vs. Python Coverage of Introductory Programming Concepts: A Textbook Analysis (5/2017)

και κάτι λίγο παλαιότερο

Which Programming Language Should Students Learn First? A Comparison of Java and Python (του 2015)
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

Vangelis

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

George Eco

Παράθεση από: Vangelis στις 16 Νοε 2021, 12:02:04 ΜΜ
Όπως όλοι γνωρίζετε βγήκαν τα Αναλυτικά προγράμματα σπουδών για την Πληροφορική.
Δεν καθορίζουν γλώσσα προγραμματισμού το αφήνουν ανοιχτό.
Το ΙΕΠ μιλάει για πολλαπλό βιβλίο. 
Άρα είναι πιθανό να δούμε τελείως διαφορετικά βιβλία με ΓΛΩΣΣΑ, Pyhton, Javascript και ότι άλλο φανταστεί ο κάθε συγγραφέας.
Άντε μετά να εξετάσεις αυτό το μάθημα Πανελλαδικά με κοινά θέματα.
Η εύκολη λύση είτε παραμένει μόνο ένα βιβλίο είτε καταργείται το μάθημα.

Το ενδεχόμενο να έχει ψευδογλώσσα και Python μόνο σε ένα βιβλίο, ενδεικτικά δε πέρασε δηλαδή από το μυαλό σας;
Το ενδεχόμενο να έχει ψευδογλώσσα και άλλες 3 γλώσσες προγραμματισμού στα παραδείγματα το ίδιο βιβλίο και να ορίζει το Υπουργείο ότι Πανελλήνιες θα δίνονται σε Python ας πούμε, ΓΙΑΤΙ δεν είναι εύκολη λύση;
Κι αν μη τι άλλο γιατί να εικάσω πως θα ακολουθηθεί μια εύκολη λύση;
Νομίζω άδικα ανησυχείτε, πολλές Σχολές ταυτίζονται σχεδόν με τη Πληροφορική οπότε...

Vangelis

Παράθεση από: George Eco στις 17 Νοε 2021, 08:54:09 ΠΜ
Το ενδεχόμενο να έχει ψευδογλώσσα και Python μόνο σε ένα βιβλίο, ενδεικτικά δε πέρασε δηλαδή από το μυαλό σας;
Το ενδεχόμενο να έχει ψευδογλώσσα και άλλες 3 γλώσσες προγραμματισμού στα παραδείγματα το ίδιο βιβλίο και να ορίζει το Υπουργείο ότι Πανελλήνιες θα δίνονται σε Python ας πούμε, ΓΙΑΤΙ δεν είναι εύκολη λύση;
Κι αν μη τι άλλο γιατί να εικάσω πως θα ακολουθηθεί μια εύκολη λύση;
Νομίζω άδικα ανησυχείτε, πολλές Σχολές ταυτίζονται σχεδόν με τη Πληροφορική οπότε...
Φυσικά και μου πέρασε αλλά δεν λύνει το πρόβλημα.    Ψευδογλώσσα και Python  το ενα βιβλίο, ψευδογλώσσα και Javascript το άλλο, ΓΛΩΣΣΑ το τρίτο, σκέτη  Pyhton  το άλλο, βάλε θέματα και βαθμολόγησε τα.
Αν τα βιβλία έχουν ψευδογλώσσα και τρεις γλώσσες και το υπουργείο δηλώσει ότι οι μαθητές θα εξεταστούν Pyhton θα υπάρχει συνάδελφος που θα κάνει παραδείγματα - ασκήσεις σε άλλη γλώσσα?.  Μην ξεχνάμε ότι το βιβλίο του ΑΕΠΠ είχε παραδείγματα σε άλλες γλώσσες.  Τι έγινε στην πράξη?.
Για μένα θα πρέπει να περιορίσουμε τις επιλογές σε ψευδογλώσσα και μια πραγματική  γλώσσα.
Τέλος  δεν κατάλαβα τι εννοείς με το "πολλές Σχολές ταυτίζονται σχεδόν με τη Πληροφορική"

George Eco

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

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

dpa2006

Παράθεση από: Vangelis στις 16 Νοε 2021, 12:02:04 ΜΜ
Όπως όλοι γνωρίζετε βγήκαν τα Αναλυτικά προγράμματα σπουδών για την Πληροφορική.
Δεν καθορίζουν γλώσσα προγραμματισμού το αφήνουν ανοιχτό.
Το ΙΕΠ μιλάει για πολλαπλό βιβλίο. 
Άρα είναι πιθανό να δούμε τελείως διαφορετικά βιβλία με ΓΛΩΣΣΑ, Pyhton, Javascript και ότι άλλο φανταστεί ο κάθε συγγραφέας.
Άντε μετά να εξετάσεις αυτό το μάθημα Πανελλαδικά με κοινά θέματα.
Η εύκολη λύση είτε παραμένει μόνο ένα βιβλίο είτε καταργείται το μάθημα.



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


Δεν είναι κατ' ανάγκη κακό το πολλαπλό βιβλίο, εξαρτάται πως θα χρησιμοποιηθεί και ποια ύλη θα ακολουθηθεί.

Βέβαια το πολλαπλό βιβλίο απέτυχε (και) στην ΑΕΠΠ το 1999-2000

Οι παλαιότεροι τα θυμούνται.
Το βιβλίο της μιας συγραφικής ομάδας καταργήθηκε λίγα χρόνια μετά.
Ν. Αντωνάκου, Ι. Βογιατζή, Ι. Κατωπόδη, Κ. Πατριαρχέα
Αν δεν κάνω λάθος πρέπει να κυκλοφόρησε βοήθημα από τους παραπάνω συγγραφείς αργότερα.

Δυστυχώς δεν βρήκα χρόνο να το σκανάρω(έχω και το τετράδιο μαθητή από τότε) αλλά και δεν έχω βρει PDF μορφή του στο Web όσο και να έψαξα.
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

alkisg

#122
Σημειώνω εδώ κάποια εργαλεία τα οποία θα μπορούσαν να χρησιμοποιηθούν από νέα βιβλία. Προτάσεις καλοδεχούμενες!

Javascript
- Τοπικά IDEs: vscode, fleet και πολλά άλλα
- Online IDE: https://vscode.dev, https://stackblitz.com/fork/js, https://codesandbox.io/s, https://replit.com, https://codepen.io, https://glitch.com, https://www.w3schools.com
- Εκπαιδευτικά IDE βασισμένα σε Javascript: https://gym.pencilcode.net/draw

Python:
- Τοπικά IDEs: vscode, thonny, fleet...
- Online IDEs (η Python όμως τρέχει στον server όχι στον browser): https://www.onlinegdb.com/online_python_debugger, https://replit.com/languages/python3
- Με εκτέλεση εντός του browser για πρόσβαση στην HTML (DOM): https://www.brython.info, https://www.transcrypt.org/, https://dev.yzsun.me/pyjs/
- Σε webassembly: https://pyodide.org/en/stable/console.html, https://alpha.iodide.io/notebooks/300/

Julia:
- https://www.julia-vscode.org/, https://junolab.org/

(to be continued...)

evry

Στο πρόγραμμα σπουδών του Γυμνασίου πάντως κάπου αναφέρεται και η Julia  :D. Βάλε και αυτήν για παν ενδεχόμενο
Επίσης δεν ξέρω αν είμαστε έτοιμοι ακόμα για online περιβάλλον. Ξέρω εργαστήρια ΗΥ που είτε δεν έχουν internet είτε έχουν πολύ χαμηλή ταχύτητα.

Δεν έχω δει κάτι καλύτερο από το Thonny για Python

ΥΓ. Για την ιστορία στην παραπάνω ψηφοφορία είχα ψηφίσει Javascript
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

ΟΚ έβαλα Julia αλλά δεν υπάρχει περίπτωση να ψάξω για εργαλεία Julia, ευχαρίστως όμως να συγκεντρώσω ό,τι προτείνουν αυτοί που θα ασχοληθούν με αυτήν!!!

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

dpa2006

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

MagicThanos

Μπορεί να είμαι λίγο αργοπορημένος αλλά υπάρχει και το Intelijj Edu των JetBrains που υποστηρίζει
*Java
*Kotlin
*Python
*Scala
*JavaScript
*C/C++
*Rust
*Go