Υλοποίηση Ψευδογλώσσας

Ξεκίνησε από komni, 27 Νοε 2020, 01:27:39 ΜΜ

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

Βοηθάει η ύπαρξη διερμηνευτή για την Ψευδογλώσσα τον μαθητή;

Ναι
17 (94.4%)
Όχι
1 (5.6%)

Σύνολο ψηφοφόρων: 18

evry

Άλκη υπάρχει το εξής θέμα το οποίο δεν το έχω ξεκαθαρίσει, πιο πολύ το βλέπω σαν την αιώνια διαμάχη bottom-up vs top-down.
Δηλαδή, θέλεις να μιλήσεις για επανάληψη. Τι είναι καλύτερο να δώσεις κάτι σαν το παρακάτω:

Κώδικας: Python
primes = [1, 2, 3, 5, 7, 11]
for number in primes:
   print( number*number )


που ισοδυναμεί με:

Κώδικας: Pascal
primes = [1, 2, 3, 5, 7, 11]
Για κάθε αριθμό στους πρώτους μέχρι το 12:
   Εμφάνισε το τετράγωνό του


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

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

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

pgrontas

#16
Κατά τη γνώμη μου η συζήτηση χάνει την ουσία.

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

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

Bonus points - food for thought:
Στην Α Λυκείου, επειδή τα παιδιά είχαν πρόβλημα να εγκαταστήσουν τα appinventor, alice κλπ. (τα οποία με την ευκαιρία θεωρώ ακατάλληλα και ότι αν παραμείνουν θα καταστρέψουν το μάθημα και θα μας ξανακάνουν επιλογής, αλλά αυτό είναι μια άλλη ιστορία) αποφάσισα  όσο κάνουμε τηλεεκπαίδευση να δείξω λίγο Python (με hands on προσέγγιση). Οι μαθητές μου δεν έχουν εμπειρία στον προγραμματισμό αλλά είναι φιλότιμα και έξυπνα παιδιά.
Στην εισαγωγή στην if λοιπόν έβαλα την κλασική άσκηση για τον χαρακτηρισμό επίδοσης μαθητή ανάλογα με το μέσο όρο του.
Οι μαθητές λοιπόν με εξέπληξαν και μου έμαθαν ότι το:

Παράθεση
if 18<mo<=20:
    print("Αριστα")

δουλεύει στην Python  Ναι δεν χρησιμοποιήσαν το and και θα πρέπει να τους κάνω σχετική συζήτηση του χρόνου, αλλά έλυσαν το πρόβλημα.
Αυτό δεν έχει αξία;
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

bugman

Όλες οι γλώσσες μπορούν να χρησιμοποιηθούν στην εκπαίδευση, αρκεί ως εργαλεία να περιοριστούν στο εκπαιδευτικό αντικείμενο. Τα παραδείγματα που αποτελούν syntatic sugar όπως αυτό της python, δεν πρέπει να αποτελέσουν ανάχωμα σε μια διαδικασία ένταξης της Python. Δεν θα είναι η γλώσσα που θα δείχνει το τρόπο επίλυσης αλλά ο στόχος της διδακτικής ώρας, που δεν θα ζητάει την οποιαδήποτε δυνατή λύση με τη γλώσσα που θα υποδεικνύει αλλά βάσει των δικών της περιορισμών.

Η ΓΛΩΣΣΑ μπορεί να εμπλουτιστεί με αλφαριθμητικά σε ένα καλύτερο σύνολο συναρτήσεων και να μπει και η συνένωση. Επίσης μπορεί να εμπλουτιστεί με αντικείμενα (ας πάρει το παράδειγμα της Μ2000, όπου τα αντικείμενα τα ονομάζει Ομάδες).
Επίσης η continue και η break είναι απαραίτητες (για μένα και η goto αλλά ας το παραβλέψουμε για τη ΓΛΩΣΣΑ).

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

Τέλος για τις αριθμητικές συναρτήσεις μια Τυχαίος() λείπει!

Υ.Γ.
Ψευδογλώσσα και περιβάλλον εκτέλεσης δεν έχει νόημα. Θα πρέπει ο μαθητής να μετατρέπει το κώδικα της ψευδογλώσσας σε ΓΛΩΣΣΑ.

George Eco

Παράθεση από: pgrontas στις 29 Νοε 2020, 11:31:15 ΠΜ
Κατά τη γνώμη μου η συζήτηση χάνει την ουσία. Το βασικό πλεονέκτημα της Python και της κάθε πραγματικής γλώσσας προγραμματισμού είναι ότι μπορεί να δώσει στους μαθητές εργαλεία για να είναι δημιουργικοί.

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

Παράθεση από: pgrontas στις 29 Νοε 2020, 11:31:15 ΠΜ
....αλλά με μια πραγματική γλώσσα θα μπορούσαν να υλοποιήσουν μικρά προγράμματα που να  τους ικανοποιούν την περιέργεια ή να καλύπτουν μικρές ανάγκες τους (ένα χαζό παράδειγμα: να οργανώσουν τις φωτογραφίες τους σε φακέλους ανάλογα με το έτος λήψης ή να πειραματιστούν με αλγόριθμους για σχεδιασμό γραφικών ή ό,τι άλλο θέλουν). Για να μην πούμε τι μπορούν να κάνουν στα μαθηματικά. Ή πόσο σημαντικό εφόδιο θα είναι στο πανεπιστήμιο.

Με άλλα λόγια μπορεί να είναι συνδετικός κρίκος σε STEM σενάρια προγραμματιστικά projects με διαθεματική προσέγγιση. Καλά τα λες.

Παράθεση από: pgrontas στις 29 Νοε 2020, 11:31:15 ΠΜ
Έχοντας αυτό το  αδιαμφισβήτητο πλεονέκτημα, η πραγματική γλώσσα δεν πρέπει να αποδείξει ότι είναι καλύτερη αλλά ότι δεν είναι χειρότερη. Δηλαδή ότι δεν θα λειτουργήσει απωθητικά για κάποιους μαθητές. Εκεί πρέπει να επικεντρωθεί η συζήτηση και η έρευνα.
Και στα δύο πιστεύω. Αλλά η δεύτερη οπτική που δίνεις συνάδελφε, είναι πιστεύω σημαντικό να τονισθεί. Παράλληλα με τα γιατί ναι, πρέπει να βλέπουμε και τα γιατί όχι, όταν θέλουμε να χρησιμοποιήσουμε ένα εργαλείο στην εκπαίδευση. Για Python ο λόγος γίνεται διότι Παγκοσμίως παρατηρείται το πόσο καλή είναι για διδασκαλία.


Παράθεση από: pgrontas στις 29 Νοε 2020, 11:31:15 ΠΜ
Ναι δεν χρησιμοποιήσαν το and και θα πρέπει να τους κάνω σχετική συζήτηση του χρόνου, αλλά έλυσαν το πρόβλημα.
Αυτό δεν έχει αξία;

Θες τη προσωπική μου γνώμη; Αυτό έχει τη μεγαλύτερη αξία! Το αν θα πρέπει να προσαρμοστούν τα παιδιά στη Γ Λυκείου στο "Αυτό δε το χρησιμοποιούμε, είναι εκτός ύλης" είναι προφανές θέμα, θα γίνει, αλλά θα ακολουθήσουν την οδηγία, αναγνωρίζοντας το γιατί. Θα έχουν όμως και γνώση που άμεσα εφαρμόζεται στο πραγματικό κόσμο, πέρα από τα πλαίσια του μαθήματος. Γιατί να  μην έχει αξία ΑΥΤΟ; Κατ' εμέ θα έπρεπε να είσαι περήφανος που τους προσφέρεις το κάτι τις παραπάνω. Αν στη Β τους το μαζέψεις εξηγώντας τις ευκολίες της Python και τους λογικούς τελεστές και την "ορθότερη" κατά το μάθημα εναλλακτική... μικρό το κακό. Ωστόσο ναι! Έλυσαν ένα πρόβλημα ΜΟΝΑ ΤΟΥΣ! Δοκιμάζοντας τι μπορούν να κάνουν με το εργαλείο! Πού είναι το κακό;  ;)


stam12

#19
Ερώτημα: Τι θα γίνει με τον "online" διερμηνευτή γλώσσας, τώρα που καραργείται τo "flash player" μετά το Δεκέμβρη 2020; (στο "chrome" μου εμφανίζει σχετικό μήνυμα εδώ και καιρό)...

sstergou

Γεια σας συνάδελφοι παλιοί και νέοι!
komni μου φαίνεται αδιανόητο πως ένας μαθητής έφτιαξε ένα τέτοιο πρόγραμμα όπως το δικό σου. Είμαι περίεργος για το background σου :)

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

Είμαι ανοιχτός σε οποιαδήποτε πρόταση.

Ο κώδικας είναι open source - https://github.com/markoutso/pseudoglossa.gr.
Μπορώ να δώσω το image του server που το τρέχει (είναι το πιο φτηνό instance στο digital ocean),  με το σχήμα της βάσης αλλά χωρίς τα δεδομένα τα οποία θα διαγράψω.
Μπορώ να δώσω το domain, να βάλω linκ, να κάνω redirect ή οτιδήποτε άλλο.

Για τους επόμενους δύο μήνες (τουλάχιστον) δεν θα έχω χρόνο να εμπλακώ σε κάτι νέο.

Αν κάποιος από σας έχει κάποια ιδέα για το θέμα ευχαρίστως να βοηθήσω όσο μπορώ.
Όποιος θέλει να ασχοληθεί ας στείλει μήνυμα στο sstergou AT gmail.com. Το στέκι δεν το πολυεπισκέποτομαι πλέον.


Καλή συνέχεια!

komni

Παράθεση από: sstergou στις 03 Δεκ 2020, 12:03:47 ΠΜ
Είμαι περίεργος για το background σου :)
https://www.linkedin.com/in/komninoschat/

Παράθεση από: sstergou στις 03 Δεκ 2020, 12:03:47 ΠΜ
Εδώ και κάποιο καιρό σκέφτομαι και εγώ το τι πρέπει να γίνει με το pseudoglossa.gr.
Το πρόβλημα είναι ότι έχω απομακρυνθεί τόσο πολύ από την εκπαίδευση που δεν ξέρω καν τι διδάσκεται στις μέρες μας.

Είμαι ανοιχτός σε οποιαδήποτε πρόταση.

Ο κώδικας είναι open source - https://github.com/markoutso/pseudoglossa.gr.
Μπορώ να δώσω το image του server που το τρέχει (είναι το πιο φτηνό instance στο digital ocean),  με το σχήμα της βάσης αλλά χωρίς τα δεδομένα τα οποία θα διαγράψω.
Μπορώ να δώσω το domain, να βάλω linκ, να κάνω redirect ή οτιδήποτε άλλο.

Για τους επόμενους δύο μήνες (τουλάχιστον) δεν θα έχω χρόνο να εμπλακώ σε κάτι νέο.

Αν κάποιος από σας έχει κάποια ιδέα για το θέμα ευχαρίστως να βοηθήσω όσο μπορώ.
Όποιος θέλει να ασχοληθεί ας στείλει μήνυμα στο sstergou AT gmail.com. Το στέκι δεν το πολυεπισκέποτομαι πλέον.
Ευχαριστώ για την διάθεσή σας και για την δουλεία που έχετε κάνει πάνω στην ΑΕΠΠ! Σας έχω στείλει mail.

dpa2006

Παράθεση από: George Eco στις 27 Νοε 2020, 09:45:04 ΜΜ
Η ιδέα του wizard μπορεί να είναι ένα αρχικό μενού επιλογής. Δεν είναι κακή ιδέα. Κι εγώ δεν είμαι εναντίον ύπαρξης κάποιου εργαλείου, απλά παράθεσα την άποψή μου και την οπτική μου, για ένα φαινόμενο που χρόνια παρατηρώ. Το εργαλείο δε βοηθάει ποτέ. Ο τρόπος χρήσης από τον εκπαιδευτικό βοηθάει.

Συμφωνώ απόλυτα...!
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

stam12

Παράθεση από: sstergou στις 03 Δεκ 2020, 12:03:47 ΠΜ
Εδώ και κάποιο καιρό σκέφτομαι και εγώ το τι πρέπει να γίνει με το pseudoglossa.gr.
Το πρόβλημα είναι ότι έχω απομακρυνθεί τόσο πολύ από την εκπαίδευση που δεν ξέρω καν τι διδάσκεται στις μέρες μας.

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

komni

Υλοποίησα την Ψευδογλώσσα στο pseudo.gloglossa.gr.

Βοηθήστε με να βρω όποια bugs υπάρχουν και θα στείλω στον κ. Στέργου για να πάρουμε και το domain name ;D

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

pgrontas

Συγχαρητήρια και πάλι Κομνηνέ!

Δες λίγο αυτό:
Εμφάνισε 'α' > 'β' ή όχι 7 mod 5 > Τ_Ρ(4)
Προκύπτει το σφάλμα:
Περίμενα τον αριστερό τελεστέο να είναι τύπου Λογική, αλλά έλαβα μη συμβατό τύπο Αριθμός

Όμως η πράξη μπορεί να γίνει γιατί προηγείται ο συγκριτικός τελεστής από το όχι.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

komni

Παράθεση από: pgrontas στις 19 Ιαν 2021, 11:07:31 ΠΜ
Συγχαρητήρια και πάλι Κομνηνέ!

Δες λίγο αυτό:
Εμφάνισε 'α' > 'β' ή όχι 7 mod 5 > Τ_Ρ(4)
Προκύπτει το σφάλμα:
Περίμενα τον αριστερό τελεστέο να είναι τύπου Λογική, αλλά έλαβα μη συμβατό τύπο Αριθμός

Όμως η πράξη μπορεί να γίνει γιατί προηγείται ο συγκριτικός τελεστής από το όχι.

Καλησπέρα λέει κάτι το σχολικό πάνω σε αυτό; Στις γλώσσες που γράφω εγώ το όχι έχει μεγαλύτερη προτεραιότητα από τους συγκρητικούς.

geochatz

Συγχαρητήρια Κομνηνέ και σε ευχαριστούμε για την εντυπωσιακή δουλειά σου!
Σκέφτεσαι στην ψευδογλώσσα (και γιατί όχι και στην ΓΛΩΣΣΑ) να προσθέσεις και την συνάρτηση ΤΥΧΑΙΟΣ_ΑΚΕΡΑΙΟΣ(...,...);
Δίνει την ευκαιρία να ασχοληθούμε με αρκετές ενδιαφέρουσες ασκήσεις.

komni

Παράθεση από: geochatz στις 19 Ιαν 2021, 03:02:53 ΜΜ
Συγχαρητήρια Κομνηνέ και σε ευχαριστούμε για την εντυπωσιακή δουλειά σου!
Σκέφτεσαι στην ψευδογλώσσα (και γιατί όχι και στην ΓΛΩΣΣΑ) να προσθέσεις και την συνάρτηση ΤΥΧΑΙΟΣ_ΑΚΕΡΑΙΟΣ(...,...);
Δίνει την ευκαιρία να ασχοληθούμε με αρκετές ενδιαφέρουσες ασκήσεις.

Ευχαριστώ! Δεν την έχω ξανακούσει αυτή τη συνάρτηση.. Υπάρχει πουθενά στο σχολικό;