ΝΕΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ, Φαίνεται κάτι στον ορίζοντα;

Ξεκίνησε από George Eco, 26 Μαΐου 2021, 01:14:18 ΜΜ

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

George Eco

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

ilias_s

Πριν 2 χρόνια είχε γίνει μία διημερίδα όπως είπες... Ένα μήνα μετά έγιναν εκλογές..! (έχω την αίσθηση πως έχει μπει "στο γύψο" μ' αυτά και μ' αυτά?)

Πάντως τα Λατινικά επανήλθαν (επανέρχονται δηλαδή του χρόνου)...

George Eco

Παράθεση από: ilias_s στις 28 Μαΐου 2021, 08:20:16 ΜΜ
Πριν 2 χρόνια είχε γίνει μία διημερίδα όπως είπες... Ένα μήνα μετά έγιναν εκλογές..! (έχω την αίσθηση πως έχει μπει "στο γύψο" μ' αυτά και μ' αυτά?)

Πάντως τα Λατινικά επανήλθαν (επανέρχονται δηλαδή του χρόνου)...

Δε νομίζω, γιατί ήδη ήταν "στο γύψο", οπότε ανέμενα σπάσιμο αυτής της απραξίας. Γι' αυτό ρωτάω.

ilias_s

Η ανακοίνωση για αναμόρφωση του ΠΣ των μαθημάτων πληροφορικής έγινε με κυβέρνηση ΣΥΡΙΖΑ. Από τότε που ανέλαβε η ΝΔ δε θυμάμαι να έγινε λόγος για συνέχιση αυτής της προσπάθεια ή για κάτι ανάλογο. Γι' αυτό κάνω λόγο για "γύψο".

George Eco

Καλά τα λες, αλλά ΝΟΜΙΖΩ πως υπήρχε ΠΣ που μπήκε στο γύψο όταν ανέβηκε ο ΣΥΡΙΖΑ. Εννοώ πως αυτό είχε κοπεί από το παρελθόν, μπορεί να κάνω λάθος, το θέμα είναι πως δεν έχω ιδέα τι γίνεται με αυτή την ιστόρία και γι' αυτό ρωτάω αν κανείς γνωρίζει κάτι για το τι συμβαίνει.
Θέλω να πω, μιλάνε για αξιολόγηση και τέτοια, μιλάνε για αναβάθμιση και τα συναφή, κι υποθέτω (βαριά υπόθεση) πως όλα θα τα ξεκινήσουν από το Πρόγραμμα Σπουδών. Είτε παίρνοντας μια παλαιότερη πρόταση επί των καιρών τους, είτε μη βάζοντας στο γύψο τη διαδικασία, είτε παρουσιάζοντας νέα πρόταση. Δε ξέρω τι μπορεί και τι όχι, ειλικρινά δε θέλω να πάρει πολιτική έκταση (δε ξέρω αν είναι δυνατόν αυτό) απλά θέλω να μάθω αν κάτι πάει να γίνει και προς ποια κατεύθυνση.


ilias_s

Ναι, καλά θυμάσαι ότι επί Λοβέρδου συζητούνταν (απ' όσο ξέρω) να αλλάξει η ΓΛΩΣΣΑ σε Python. Επίσης επί Λοβέρδου είχε επίσης "παγώσει" το "Νέο Λύκειο" του Αρβανιτόπουλου (που προέβλεπε την ΑΕΠΠ να γίνει από 2ωρο->6ωρο).

Τώρα το ΥΠΑΙΘ βλέπω να έχει εστιάσει σε άλλα θέματα. Ίσως να κάνω και λάθος, αλλά δε βλέπω να υπάρχει κινητικότητα στο θέμα των ΠΣ.

evry

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

ilias_s

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

mandarinos

#8
Να πω την two cents γνωμάρα μου κι εγώ!  :)

Το πρόβλημα "ποιά γλώσσα να διδαχθεί στα Λύκεια" είναι μπρος γκρεμός και πίσω ρέμα! Έριξα μιά ματιά στο παραπάνω επισυναπτόμενο ΦΕΚ, και ουσιαστικά σε πάει κατευθείαν σε γλώσσα τύπου Java. Δηλαδή, να μάθουν οι μαθητές να πιλοτάρουν αεροπλάνο, πρίν μάθουν οδήγηση αυτοκινήτου.
Απ' την άλλη, τί να μάθουν, ώστε ν' ανεβαίνουν κλιμακωτά σε γνώσεις μέχρι τον καθαρά επαγγελματικό προγραμματισμό; Logo και Scratch; σοβαροί να είμαστε!

Λάβετε, όμως, υπόψη σας και τους εξής παράγοντες:

  • Γενικά, οι εγχώριοι μαθητές με τη λογική αναλυτική σκέψη δεν τα πάνε καλά.
Έχει επικρατήσει η νοοτροπία του πώς θα περάσουν τις εξετάσεις με sos θέματα. Και περιμένεις από τέτοια άτομα ν' αποκτήσουν σωστές βάσεις στα γνωσιακά τους αντικείμενα; θα το πράξουν, μόνο αν αναγκαστούν. Δηλαδή, ίσως και ποτέ.

  • - Το κλάσμα "απόδοση / προσπάθεια" πρέπει να τείνει στο άπειρο. Κι όχι μονάχα για το τί μαθαίνεις από αντικείμενα της Πληροφορικής.
Εντάξει, όταν είσαι μαθητής, δεν σε νοιάζει ιδιαίτερα να ξοδέψεις χρόνο σε πράγματα που θ' αποδειχθούν σκουπίδια, και μετά να ξαναξοδέψεις. Αλλά, επιτέλους, η Πληροφορική παγκοσμίως πρέπει να σταματήσει να είναι μιά διαρκής ανατροπή! Έχουμε πχ τη Java: σε κάθε έκδοση αλλάζουν κάποια πράγματα· και δεν φτάνει αυτό, μαθαίνω ότι φιλοδοξεί να την αντικαταστήσει η Kotlin. Δηλαδή, κάτι αμέτρητες γραμμές κώδικα σε Java (και αντίστοιχα προγραμματιστικά ξενύχτια), ίσως πάνε στ' αζήτητα.
Έ, εντάξει, όταν έχουμε ριζικές αλλαγές, θ' αλλάξουμε κι εμείς. Αλλά, όταν δεν υπάρχει πραγματική ανάγκη, κάθε τρείς και λίγο θα γράφονται τα ίδια προγράμματα (πχ κειμενογράφοι) ξανά και ξανά - μόνο σε διαφορετικό compiler; δεν είναι λίγο χαζό;
Δες το Linux: τρομάξαμε να φτάσουμε στο σημείο να πατάμε σε 100% σίγουρο ΛΣ, κι όλοι (ακόμη και οι άσχετοι) να μη βλέπουν κάτι άλλο να κρατάει για τα επόμενα 30 χρόνια στο μέλλον. (Φέτος στις 17 Σεπτέμβρη γίνεται 30! Εξ ού και η αναφορά στην 30ετία.) Αλλά με τους επιτραπέζιους υπολογιστές να μας συνοδεύουν από το 1976 μέχρι σήμερα, δεν το λες και λίγο το διάστημα αυτό.

Με όλα τα παραπάνω κατά νούν, προτείνω:

(α) Γι' αρχή μιά γλώσσα όχι ιδιαίτερα δύσκολη: την assembly x86. Τα mnemonics είναι άμεσα κατανοητά, οι "δομές" μιάς γλώσσας προγραμματισμού υπάρχουν όλες (ακόμη και το goto!) και κανένας δεν σε αναγκάζει να πλακωθείς απ' την αρχή σε δομημένο προγραμματισμό, για να φτιάξεις προγραμματάκια των εκατό γραμμών.
(β) Συν πέντε-δέκα πραγματάκια από το στήσιμο του Pentium. (Διότι τα μαθητούδια μας θα δίνουν πχ add 3, 5 και θα περιμένουν να δουν αποτέλεσμα στην οθόνη. Αλλά κάποιος πρέπει να τους σφυρίξει ότι το αποτέλεσμα πρέπει πρώτα να το ξετρυπώσεις απ' τον συγκεκριμένο register.)
(γ) Συν άλλα πέντε-δέκα πραγματάκια από το στήσιμο του ΗΥ. (Πχ modes μιάς κάρτας οθόνης.)
Έτσι, βγαίνει ένα ωραίο και χρήσιμο βιβλίο 250 σελίδων απάνω-κάτω.

Θα μπορούσε πχ η assembly να ξεκινήσει απ' τη Β' Λυκείου, να συνεχίζεται στη Γ', και στη Γ' να κάνουνε και C.
(Αφού καταλάβουν ότι η C γράφτηκε, για να μην κάνουν οι προγραμματιστές πολλαπλό κόπο, γράφοντας τα ίδια προγράμματα για διαφορετικές assembly. Συν ν' αρχίσουν να μπαίνουν στη νοοτροπία ενός επαγγελματία προγραμματιστή - που ζητάει συγκεκριμένα εργαλεία, επειδή πάντα θα έχει μπροστά του συγκεκριμένα υπολογιστικά προβλήματα: στάνταρ αλγορίθμους -κατάταξη, κλπ-, "νοικοκύρεμα" των μεγάλων προγραμμάτων, να βρεί όσο γίνεται ταχείς αλγόριθμους, κλπ.)

Τώρα, θα μου πεις ότι η C δείχνει την ηλικία της (μισός αιώνας φέτος!), και δεν είναι παραθυρική. Έ, ας μάθουν και τίποτε στο πανεπιστήμιο! (Τα function calls των X - κι όλων των λινουξάδικων GUI's.)

Πιστεύω ότι αυτή είναι μιά κατά το μάλλον, ή ήττον σωστή λύση γιά διδασκαλία, και θα τους μείνει σαν καλό εφόδιο για παραπέρα. (Δεν καταργείται τόσο εύκολα η assembly!... Γιά σκεφτήτε, συμβατότητα μέχρι 8086/8088 πίσω στον χρόνο!)

Αυτά!

dpa2006

#9
Παράθεση από: mandarinos στις 03 Ιουν 2021, 01:58:02 ΜΜ

Εντάξει, όταν είσαι μαθητής, δεν σε νοιάζει ιδιαίτερα να ξοδέψεις χρόνο σε πράγματα που θ' αποδειχθούν σκουπίδια, και μετά να ξαναξοδέψεις. Αλλά, επιτέλους, η Πληροφορική παγκοσμίως πρέπει να σταματήσει να είναι μιά διαρκής ανατροπή! Έχουμε πχ τη Java: σε κάθε έκδοση αλλάζουν κάποια πράγματα· και δεν φτάνει αυτό, μαθαίνω ότι φιλοδοξεί να την αντικαταστήσει η Kotlin


Φίλος επαγγελματίας προγραμματιστής σε Java από το 2000 μου έλεγε πως η Java κατάντησε βαρίδι...
Ο ίδιος βλέπει πλέον το μέλλον στη Kotlin...!
Η C είναι Γλώσσα Λειτουργικών Συστημάτων ακόμα και σήμερα.
Δεν ξέρουμε (?) σε τι έχει γραφεί ο πυρήνας των Windows, αλλά γνωρίζουμε σε τι γράφηκε ο πυρήνας του Unix και Linux...

https://www.kernel.org/

Άρα δύσκολα θα αντικατασταθεί η 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

oldBugman

Κώδικας σε Kotlin από εδώ: https://kotlinlang.org/docs/basic-syntax.html

val PI = 3.14
var x = 0

fun incrementX() {
    x += 1
}


Η θέαση της x μεταβλητής μπορεί να γίνει στην συνάρτηση incrementX (η οποία επειδή δεν γυρνάει τιμή καλείται σαν διαδικασία). Κατά μια έννοια η x είναι γενική (ή καθολική) μεταβλητή (global).

Αυτό δεν μπορεί να γίνει στη ΓΛΩΣΣΑ, η οποία υποστηρίζει μόνο τοπικές μεταβλητές, και όχι γενικές μεταβλητές.

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

George Eco

#11
Η Java μπορεί να διδαχτεί εύκολα. Αλλά για πρώτη γλώσσα δε ξέρω αν θα τη πρότεινα κι εγώ. Ίσως πρώτη γλώσσα για φοιτητές, σε μάθημα με τίτλο Αντικειμενοστραφής Προγραμματισμός. Προτιμώ τη Python3 γιατί μπορείς να διδάξεις φαινομενικά διαδικαστικό προγραμματισμό και σιγά σιγά να εισάγεις την αντικειμενοστρέφεια.


"Γενικά, οι εγχώριοι μαθητές με τη λογική αναλυτική σκέψη δεν τα πάνε καλά.

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

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

Τώρα στο θέμα με την Assembly, το πρόβλημα είναι πως είναι πολύς κόπος για μικρό αποτέλεσμα - όφελος. Θα συμφωνήσω όμως με τη C. Η γλώσσα C μπορεί μια χαρά να διδαχθεί, με ή χωρίς pointers, αλλά και πάλι, νομίζω πως πολύ καλύτερο θα ήταν να διδάσκαμε υψηλότερου επιπέδου γλώσσα στη Γ Λυκείου.


"Φίλος επαγγελματίας προγραμματιστής σε Java από το 2000 μου έλεγε πως η Java κατάντησε βαρίδι..."

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

oldBugman, εδώ θα πρέπει από του χρόνου (κανονικά πριν ένα χρόνο) να διδάσκεται αντικειμενοστραφής προγραμματισμός, και γλώσσα προγραμματισμόυ έχουν ακόμα τη ΓΛΩΣΣΑ, τι λέμε τώρα; :)

Γι΄ αυτό και τόσα άλλα ρωτάω. Πως να το πω κομψά; Κουράστηκα να διδάσκω στα παιδιά μια γλώσσα ορισμένη σε ένα βιβλίο που ξεχνά στο αλφάβητο να συμπεριλάβει τα [] και :

oldBugman

Εδώ  έχω ένα ωραίο κείμενο για το πρώτο πρόγραμμα που γράφτηκε ποτέ με την χρήση αντικειμένων, από τον Sutherland το 1962.
https://georgekarras.blogspot.com/2019/04/blog-post.html

ΠαράθεσηΚάποτε ρώτησαν τον Sutherland, "Πώς είναι δυνατόν να έχει κάποιος φτιάξει το πρώτο διαδραστικό πρόγραμμα γραφικών, την πρώτη μη διαδικαστική γλώσσα προγραμματισμού, τη πρώτη αντικειμενοστραφή εφαρμογή, και όλα αυτά σε έναν χρόνο". Η απάντηση ήταν "Λοιπόν, δεν ήξερα ότι ήταν δύσκολο!"

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

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

Πριν βγει το πρόγραμμα σπουδών δεν συζητάμε τι είναι πραγματικά τα αντικείμενα;

evry

Ο καθένας ανάλογα με τις γνώσεις του , την εμπειρία του και την πορεία του, μπορεί να προτείνει όποια γλώσσα ή διδακτική στρατηγική θεωρεί κατάλληλη.
Έτσι μπορούμε να προτείνουμε assembly, C, Java, Kotlin, Python, Smalltalk, Go ή δεν ξέρω τι άλλο.
Το θέμα είναι όμως το εξής:

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

George Eco

Άυτό το "λιγάκι" του @evry είναι που πρέπει να προσέξουμε πολύ εδώ.
Γιατί το Πρόγραμμα Σπουδών, πρέπει να θυμάται πάντα πως μιλάμε για μαθητές Δημοτικού, Γυμνασίου, Λυκείου κι όχι φοιτητές.
Bugman το Πρόγραμμα Σπουδών (Π.Σ. στο εξής) ελπίζω να δώσει επίκαιρη κι άρτια γνώση.
Δεν είναι εύκολο εγχείρημα.
Οποιοσδήποτε κι αν καταπιαστεί με το να φτιάξει ένα σωστό Π.Σ. θα καταλάβει αμέσως πως πρόκειται για hot potato θέμα.
Θα πρέπει να ξεκινήσεις από το μηδέν, ίσως κι από Δημοτικό.
Πώς όμως; Ποια θα είναι η σχέση με τα άλλα μαθήματα και πώς θα προσεγγιστεί η γνώση.

Θέλω να πω, μπορούμε να πετύχουμε ένα πιο STEM Π.Σ. άραγε;
Τα μαθήματα μπορούν να γίνουν διαθεματικά και σε ποιο βαθμό άραγε;
Υπάρχει δυνατότητα να εφαρμοστούν μοντέρνες μέθοδοι διδασκαλίας, πέραν της παραδοσιακής διάλεξης - αγόρευσης- μονολόγου;
Πώς και σε ποιο βαθμό;
Ποια εργαλεία θα βοηθήσουν βέλτιστα σε ομαδοσυνεργατικά project;
Μπορεί το παιδί να ψάξει στο internet να βρει κάτι να τον βοηθήσει να χτίσει ένα project;

Αν αρχίσουμε να ρωτάμε δε θα έχουμε τελειωμό. ΕΧΩ υπομονή, αλλά θέλω να ξέρω τι γίνεται.
Αν περιμένω να χτιστεί κάτι όμορφο, μη παρεξηγηθεί το thread που άνοιξα, χαλάλι η αναμονή!!!
Αλλά αν περιμένω επειδή έμεινε κάτι στο ράφι για ακόμα μια φορά, ε τότε κάτι πρέπει να γίνει.
Όποιο κι αν είναι το θέμα, εγώ θέλω να μάθω που βαδίζουμε.

ApoAntonis

Παράθεση από: evry στις 02 Ιουν 2021, 08:52:30 ΠΜ
Το 2015 είχε παραδοθεί στο ΙΕΠ νέο πρόγραμμα σπουδών για το 6ωρο μάθημα της Γ Λυκείου μαζί με τον οδηγό εκπαιδευτικού που περιείχε έτοιμες δραστηριότητες. Το πρόγραμμα σπουδών περιείχε στοιχεία πολυπλοκότητας, αρκετά θεωρητικά στοιχεία ενός μαθήματος εισαγωγής στην πληροφορική και χρησιμοποιούσε την γλώσσα Python. Το ΦΕΚ είχε εκδοθεί (το επισυνάπτω).
Στη συνέχεια άλλαξε η κυβέρνηση και μπήκε στο ράφι χωρίς δεύτερη κουβέντα.

Το φύλλο έχει ημερομηνία 23 Ιανουαρίου 2015, το γραφείο του υπουργού έχει υπογράψει στις 19
και στις 25 είχαμε εκλογές.

Δίνεται η εντύπωση ότι το συγκεκριμένο ΦΕΚ μπήκε στο ράφι, ενώ συνολικά ο νόμος 4310 δεν εφαρμόστηκε (ο νόμος έχει χίλια πράγματα μέσα, αναφέρομαι στην Γ' Λυκείου). 

Το αξιοσημείωτο είναι ότι η Πληροφορική εμφανίζεται στο Επιστημονικό Πεδίο Εξειδίκευσης
β - Θετικές και Τεχνολογικές Επιστήμες
και ΘΑ υπήρχε επιλογή από τους μαθητές ανάμεσα σε Πληροφορική και Χημεία.

mandarinos

"Έχετε δοκιμάσει να διδάξετε προγραμματισμό σε μαθητές με τις γλώσσες που προτείνετε?"

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

Ειδικά στη Γ', χάρηκαν όταν είδαν πόσο εύκολη είναι η assembly.

Δυστυχώς, όμως, ο ενθουσιασμός τους μηδενίστηκε, όταν τους έδειξα το εγχειρίδιο της Intel (εδώ: https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf), κι όταν τους είπα ότι δεν πετάμε εντολές κουτουρού, αλλά απευθυνόμαστε σε συγκεκριμένες θέσεις μνήμης και registers.
(Δυστυχώς * 2), δεν φάνηκε ότι είχε κανείς την όρεξη ν' αρχίσει σιγά-σιγά να βρίσκει την άκρη με το hardware, ρωτώντας σε forums έμπειρων Λινουξάδων για έτοιμες απαντήσεις. (Όπως τους είπα, επίσης.)

Βέβαια, προσωπική μου νοοτροπία είναι: σε κάθε 100 παιδιά που έχω κάθε χρόνο σε μιά τάξη, θεωρώ καλό να ενδιαφερθεί έστω ένα. Οπότε, έχω αρκετή υπομονή να βρεθεί αυτό το ένα!

Εννοείται, ο κάθε συνάδελφος θα δεί την κατάσταση όπως κρίνει αυτός.

oldBugman

#17
Ιστορία!
Ξεκίνησα προγραμματισμό με Assembly πριν 40 χρόνια! Τότε όμως υπήρχε ένας 8bit επεξεργαστής 6502 με ελάχιστες εντολές, λίγους καταχωρητές και μια μικρή στοίβα των 256bytes. Μελέτησα Ζ80 και 68000, αλλά δεν με ενθουσίασε! Μετά από χρόνια ασχολήθηκα και με 80x86 τύπου Assembly και ειδικότερα με τις εντολές του συνεπεξεργαστή κινητής υποδιαστολής! Στην πτυχιακή εργασία μου έφτιαξα και μια ρουτίνα σε assembly 6502 για εκτύπωση σε Epson RX εκτυπωτή, επειδή δεν υπήρχε driver τότε να κατεβάσει ένα screen shot από την οθόνη ενός BBC Model B σε ένα εκτυπωτή ακίδων!

Πρόταση:
Υπάρχουν online εικονικοί υπολογιστές για εξάσκηση στη Assembly (καλύτερα x86). Όμως ως μάθημα θα το ήθελα να γίνεται σε έναν μήνα (το πολύ τέσσερα μαθήματα) όπου θα εξηγούνται: Ο Συσσωρευτής, και οι λειτουργίες του (πρόσθεση με χρήση flag curry, αφαίρεση με χρήση flag borrow, ολίσθηση bits, περιστροφή bits, εφαρμογή OR, AND, XOR). Η μνήμη και η εντολή mov μαζί με βασικούς τρόπους προσπέλασης, καθώς και τι είναι Data Bus, Address Bus και μερικά ακόμα χρήσιμα σήματα, καθώς και τι είναι εικονική μνήμη. Η κλήση ρουτινών και η χρήση σημαιών για την εκτέλεση επαναλήψεων. Τέλος η λειτουργία του Interrupt (διακοπή τρέχοντος προγράμματος, εκτέλεσης μιας ρουτίνας εξυπηρέτησης, και επιστροφή), τόσο του Hardware όσο και του Software Interrupt για χρήση του λειτουργικού.

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

Παραπάνω μαθήματα στην Assembly είναι άσκοπο να γίνουν κατά την γνώμη μου! Όταν υπάρχει η C++ η assembly παίζει μόνο για ιστορικούς λόγους και ίσως για κανένα 8bit microcontroler.

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

Μου αρέσει που το κουβεντιάζουμε στα σοβαρά να μάθουμε assembly στους μαθητές...
:D

evry

Μα γιατί? Το θέμα είναι να γίνει σωστά, δηλαδή κάνουμε που κάνουμε assembly να χρησιμοποιούμε και τον vi editor,
γιατί αλλιώς δεν έχει νόημα
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

Εγώ πάντως αν είναι να πάμε σε assembly προτείνω την MIXAL του ιδεατού υπολογιστή MIX που είχε εισάγει το 1968 ο Knuth στο περίφημο The Art of Computer Programming από όπου η ΑΕΠΠ έχει ξεσηκώσει πολλά πράγματα, και τα "κριτήρια" των αλγορίθμων. Ήταν ειδικά μελετημένη για την εκπαίδευση, έδινε μάλιστα και λύση για το πρόβλημα με τις συγκρίσεις των πραγματικών αριθμών χρησιμοποιώντας μια ειδική global μεταβλητή EPSILON, αντίστοιχη με την επιλογή "περιορισμός των συγκρίσεων πραγματικών αριθμών στο 8ο δεκαδικό ψηφίο..." του Διερμηνευτή.

Διδάσκεται ακόμα σε κάποια Πανεπιστήμια Πληροφορικής. Απ' ότι πήρε το αυτί μου, σε κάθε έτος υπάρχουν μέχρι και 2 φοιτητές που την καταλαβαίνουν, αποκομίζοντας έτσι τεράστια τεχνογνωσία για την εσωτερική οργάνωση του υπολογιστή, της μνήμης, των αναπαράστασης των μεταβλητών, των unions της C κλπ...! :P :D

Ό,τι πρέπει για να αντικαταστήσουμε την ΑΕΠΠ με αυτήν! Έτσι, ίσως και 100 μαθητές στην Ελλάδα να γράφουν πάνω από τη βάση στις Πανελλαδικές! ;D


dpa2006

Καλησπέρα σε όλους,
Θα μπορούσαμε να διδάξουμε (διδάσκουμε) Assembly αν προχωρούσε το πρόγραμμα του 1997
Η ιδέα της διδασκαλίας του βιβλίου Τεχνολογία Υπολογιστικών Συστημάτων και Λειτουργικά Συστήματα μαζί με το υποστηρικτικό λογισμικό
http://www.pi-schools.gr/download/lessons/computers/lykeio/books/technology-operating-system/sw-test.htm
ΑΒΑΚΑ (ο οποίος διδάσκεται ως ΕΚΥ στο ece.ntua.gr) δεν ήταν άσχημη...
http://www.cslab.ece.ntua.gr/courses/CompIntr/EKY/


http://www.pi-schools.gr/download/lessons/computers/lykeio/books/texnologia.html


Και θα είχαμε εισάγει έναν απλό επεξεργαστή και ALU για να διδάσκουμε μια απλή Assembly ενός απλού Επεξεργαστή




Όποιος επιθυμεί μπορεί να "μοντάρει" το λογισμικό από το παραπάνω λίνκ
το είχα χρησιμοποιήσει παλαιότερα (2000-2004) σε ΙΕΚ.
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

seibei

Παράθεση από: evry στις 06 Ιουν 2021, 02:47:00 ΜΜ

Τα έχουμε δοκιμάσει στην τάξη? Με τι αποτελέσματα; Έχετε δοκιμάσει να διδάξετε προγραμματισμό σε μαθητές με τις γλώσσες που προτείνετε?
Στην θεωρία όλα ωραία είναι αλλά όπως ξέρουμε όλοι η θεωρία από την πράξη απέχει .... "λιγάκι".

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

Θα μπορούσε και θα έπρεπε για εμένα να μπει και στην Γ' ΓΕΛ, (με ένα καλογραμμένο βιβλίο εννοείται...).

evry

Συμφωνώ απόλυτα. Συνοψίζεις σε 2 γραμμές όλα τα πλεονεκτήματά της.

Παράθεση από: seibei στις 17 Ιουν 2021, 06:54:07 ΜΜ
Διδάσκω εδώ και 5 χρόνια την Python σε ΕΠΑΛ. Νομίζω οτι η απλή της σύνταξη, η απουσία δήλωσης των μεταβλητών, η ευελιξία των λιστών της αλλά κυρίως η ύπαρξη interpreter (γράψε, πάτα enter, δες το αποτέλεσμα), την καθιστά ένα ιδανικό εργαλείο εκμάθησης προγραμματισμού.

Θα μπορούσε και θα έπρεπε για εμένα να μπει και στην Γ' ΓΕΛ, (με ένα καλογραμμένο βιβλίο εννοείται...).

Δεν αναφερόμουν στην Python, αλλά σε άλλες γλώσσες που προτάθηκαν και οι οποίες δεν υπάρχει περίπτωση να σταθούν σε σχολείο.
Η Python πλέον είναι δοκιμασμένη στα ΕΠΑΛ και σε κάποιες περιπτώσεις και στο Γυμνάσιο (την χρησιμοποιώ εδώ και 6 χρόνια).
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dpa2006

Παράθεση από: seibei στις 17 Ιουν 2021, 06:54:07 ΜΜ
Διδάσκω εδώ και 5 χρόνια την Python σε ΕΠΑΛ. Νομίζω οτι η απλή της σύνταξη, η απουσία δήλωσης των μεταβλητών, η ευελιξία των λιστών της αλλά κυρίως η ύπαρξη interpreter (γράψε, πάτα enter, δες το αποτέλεσμα), την καθιστά ένα ιδανικό εργαλείο εκμάθησης προγραμματισμού.

Θα μπορούσε και θα έπρεπε για εμένα να μπει και στην Γ' ΓΕΛ, (με ένα καλογραμμένο βιβλίο εννοείται...).

Ναι και όχι πέντε(5) βιβλία πλέον...


Ξεφύγαμε ακόμη και από το πολλαπλό βιβλίο, τότε είχαμε 4...(2x(Βιβλίο Μαθητή + Τετράδιο Μαθητή))
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

ripper


Ποιο είναι πιο πιθανό άραγε;

Αλλαγή "γλώσσας" ή ένα βιβλίο (αντι 5) μαθητή με ΓΛΩΣΣΑ;

George Eco

Whitespace. (Βγάζω jet και πετάω μακρυά).  :D :D
Καλή η ερώτηση για το τι είναι πιθανότερο. Συμμαζεμένο βιβλίο σε ΓΛΩΣΣΑ ή φέρει πειν νέο βιβλίο python;