Προς το περιεχόμενο

Γλωσσα προγραμματισμου LOGO;;


lexmark

Προτεινόμενες αναρτήσεις

Δημοσ.

Logo, τί μου θυμίσατε τώρα. Ούτε καν η δεκαετία του 90 δεν είχε μπει.............

Αναρωτιέμαι πόσο γρήγορα μπορεί να φτιάξει ένα fractal πλέον....... (σε έναν 8088 έκανε κάτι "χρόνια")

  • Απαντ. 35
  • Δημ.
  • Τελ. απάντηση
Δημοσ.

H logo φτιάχτηκε για πολύ μικρές ηλικίες, πρώτες τάξεις του δημοτικού ή λιγότερο.

Ήταν ενταγμένη στην γενικότερη φιλοσοφία του δημιουργού της, Seymour Papert, για

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

 

Όσοι είναι παλιοί, ας ανοίξουν το Micromad τ. 6 (1986) σελ. 78 που έχει μια συνέντευξη

του ίδιου του Seymour Papert και μιλάει γι αυτό το ζήτημα.

Η χρήση της σε μεγαλύτερες ηλικίες δεν προσφέρει σχεδόν τίποτε.

Δημοσ.
Κι εγώ την θυμαμαι πολύ καλά.

Παρέα με τον amstrad CPC και τον atari 400, πολύ παλιές εποχές.

Αλλά δεν την ασχοληθηκα ποτέ.

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

παλιά locomotive basic του amstrad που ως πρώτη και βασική γλώσσα ήταν πανίσχυρη και τα παιδεύουν με τέτοια παντελώς άχρηστα πράγματα.

 

Και για την "ΓΛΩΣΣΑ" που κάνουν τώρα στο λύκειο τα ίδια πιστεύω.

Άχρηστος χρόνος και ελάχιστο διανοητικό αποτέλεσμα.

Fortran έπρεπε να μαθαίνουν και μετά C++.

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

 

Η πανίσχυρη Locomotive BASIC διδασκότανε σε ορισμένα ιδιωτικά σχολεία εκείνου του καιρού τα οποία διέθεταν Amstrad CPC, αλλά δίχως τις έξτρα δυνατότητες της ώστε η ύλη να ταιριάζει με τις επιταγές του επίσημου εκπαιδευτικού προγράμματος που ήταν σε GW-BASIC (αν θυμάμαι καλά). Τώρα βέβαια αν ο καθηγητής ήταν «μερακλής» μπορούσε να επεκταθεί και σε πιο ενδιαφέρουσα θεματολογία, πχ. γραφικά, ήχος κτλ.

 

Όσον αφορά την αντικατάσταση της από την «ΓΛΩΣΣΑ» συμφωνώ μαζί σου, προτιμώ την διδασκαλία της BASIC, ειδικά σε structural/procedural μορφή, μάλιστα διαβάζοντας περιοδικά εποχής (πχ. Pixel –ας είναι καλά το retromaniax που τα διασώζει) μπορούσες να βρεις πολύ ενδιαφέροντα, έξυπνα, προγραμματάκια γραμμένα σε αυτήν τα οποία αρκετές φορές κάνανε κάτι ουσιαστικό μυώντας μια ολόκληρη γενιά στην «παιχνιδιάρικη» όψη του προγραμματισμού (καμία φορά συναντώ κόσμο που θυμάται ακόμα την BASIC από τα θρυλικά listings του Pixel –κάποιοι προχώρησαν περισσότερο το «άθλημα» κάποιοι άλλοι όχι, μα όλοι αναπολούν την BASIC :-p).

 

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

Δημοσ.

@DirectX

 

Για την locomotive basic, τα cpc, το ΕΠΤΑ κλπ μπορώ να πω πολλά αλλά ας μην πάμε τόσο πίσω.

 

Σχετικά με Fortran, καθώς η σχέση μου με τα μαθηματικά είναι τυπική (όσο χρειάζεται δηλαδή) προσωπικά δεν με

ενθουσιάζει και μάλλον θα δρούσε αποτρεπτικά στην ενασχόληση μου με την Πληροφορική.

 

Eγώ το λέω από την άποψη ότι στην εισαγωγή στον προγραμματισμό τα περισσότερα πράγματα είναι

του στυλ "διάβασε/τύπωσε τα στοιχεία ενός πίνακα", "γράψε μια συνάρτηση που να υπολογίζει το τάδε" κλπ.

Το βλέπουμε συνέχεια τι διδάσκουν στους αρχάριους.

Από αυτήν την σκοπιά είναι ιδανική για λόγους που έχουμε συζητήσει αλλού.

H C/C++ είναι πολύ πιο αποτρεπτική για τους αρχάριους διότι δεν επιτρέπει την λύση τέτοιων απλών προβλημάτων με απλά μέσα.

Π.χ. για να ορίσεις και να χειριστείς σωστά έναν πίνακα πρέπει να ξέρεις και να χρησιμοποιήσεις πολλές έννοιες δύσκολες για έναν αρχάριο (δείκτες κλπ).

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

Η C/C++ απαιτεί πριν την χρησιμοποιήσεις να μελετήσεις σύνταξη με μια λεπτομέρεια που είναι δευτερεύουσα για την ανάπτυξη αλγοριθμικής σκέψης, ειδικά στα αρχικά στάδια προγραμματισμού.

Η basic και η fortran δεν έχουν αυτό το μειονέκτημα. Ειδικά στην τελευταία, το επίπεδο της σύνταξης είναι "προσαρμόσιμο" ανάλογα με τις γνώσεις σου, κάτι που δεν έχει η C/C++.

 

Παρεμπιπτόντως η VB πάσχει σε σημαντικό βαθμό από το μειονέκτημα που ανέφερα παραπάνω.

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

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

Π.χ. αν σε ρωτήσει κάποιος αρχάριος πώς υλοποιείται στην VB το read της fortran ή το cin της C++ για να δώσεις μια τιμή τι θα του πεις ;

Aνοίγεις φόρμα ...κλπ...Για μένα αυτό είναι λάθος. Στην basic αρκεί ένα απλό input και στην fortran όμοια, ένα απλό read. Στην C η scanf είναι πολύ στριφνότερη.

 

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

και επιπλέον δεν είναι άχρηστη σαν γνώση αργότερα.

Από αυτήν την άποψη η C και η "ΓΛΩΣΣΑ" είναι άστοχες επιλογές και χαμένος χρόνος.

Δημοσ.

Από αυτήν την άποψη η C και η "ΓΛΩΣΣΑ" είναι άστοχες επιλογές και χαμένος χρόνος.

 

Λίγο out of context, αλλά έχει άλλη δυναμική όταν μαθαίνεις "the hard way"...

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

Δημοσ.
@DirectX

 

Για την locomotive basic, τα cpc, το ΕΠΤΑ κλπ μπορώ να πω πολλά αλλά ας μην πάμε τόσο πίσω.

Yeap.. άλλες εποχές για άλλο topic.

Eγώ το λέω από την άποψη ότι στην εισαγωγή στον προγραμματισμό τα περισσότερα πράγματα είναι

του στυλ "διάβασε/τύπωσε τα στοιχεία ενός πίνακα", "γράψε μια συνάρτηση που να υπολογίζει το τάδε" κλπ.

Το βλέπουμε συνέχεια τι διδάσκουν στους αρχάριους.

Από αυτήν την σκοπιά είναι ιδανική για λόγους που έχουμε συζητήσει αλλού.

H C/C++ είναι πολύ πιο αποτρεπτική για τους αρχάριους διότι δεν επιτρέπει την λύση τέτοιων απλών προβλημάτων με απλά μέσα.

Π.χ. για να ορίσεις και να χειριστείς σωστά έναν πίνακα πρέπει να ξέρεις και να χρησιμοποιήσεις πολλές έννοιες δύσκολες για έναν αρχάριο (δείκτες κλπ).

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

Η C/C++ απαιτεί πριν την χρησιμοποιήσεις να μελετήσεις σύνταξη με μια λεπτομέρεια που είναι δευτερεύουσα για την ανάπτυξη αλγοριθμικής σκέψης, ειδικά στα αρχικά στάδια προγραμματισμού.

Η basic και η fortran δεν έχουν αυτό το μειονέκτημα. Ειδικά στην τελευταία, το επίπεδο της σύνταξης είναι "προσαρμόσιμο" ανάλογα με τις γνώσεις σου, κάτι που δεν έχει η C/C++.

 

Παρεμπιπτόντως η VB πάσχει σε σημαντικό βαθμό από το μειονέκτημα που ανέφερα παραπάνω.

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

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

Π.χ. αν σε ρωτήσει κάποιος αρχάριος πώς υλοποιείται στην VB το read της fortran ή το cin της C++ για να δώσεις μια τιμή τι θα του πεις ;

Aνοίγεις φόρμα ...κλπ...Για μένα αυτό είναι λάθος. Στην basic αρκεί ένα απλό input και στην fortran όμοια, ένα απλό read. Στην C η scanf είναι πολύ στριφνότερη.

 

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

και επιπλέον δεν είναι άχρηστη σαν γνώση αργότερα.

Από αυτήν την άποψη η C και η "ΓΛΩΣΣΑ" είναι άστοχες επιλογές και χαμένος χρόνος.

 

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

Αυτή η μεθοδολογία εφαρμόζεται μέχρι σήμερα στα περισσότερα πανεπιστημιακά και τεχνολογικά ιδρύματα (παλαιότερα προτιμούσαν το Borland TC++ 3.0 IDE για DOS) αλλά επειδή γίνεται συνήθως σε υπερβολικό βαθμό μια σημαντική μερίδα αποφοίτων τα βρίσκουν μπαστούνια στον οπτικό προγραμματισμό ενώ το πρόγραμμα όφειλε να είναι πολύ πιο ισόρροπο στην διδασκαλία του ώστε από ένα σημείο και πέρα να εισάγει τους φοιτητές ομαλά και στα GUI.

 

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

Δημοσ.

Και για την "ΓΛΩΣΣΑ" που κάνουν τώρα στο λύκειο τα ίδια πιστεύω.

Άχρηστος χρόνος και ελάχιστο διανοητικό αποτέλεσμα.

Fortran έπρεπε να μαθαίνουν και μετά C++.

 

Οχι και fortan & c++, μη ξεχνας οτι γραφουν σε χαρτι.

Δημοσ.

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

Το αρχικό post αναφέρεται σε μαθήτρια του γυμνασίου.

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

 

 

Θεωρώ ότι στην αρχική προσσέγγιση είναι σημαντικό να αναπτυχθεί η αλγοριθμική σκέψη,

δηλ. η διαδικασία της λύσης των προβλημάτων κι' όχι η σύνταξη.

Πολύ (μα πάρα πολύ) χονδρικά ο αρχάριος πρέπει να μαθαίνει :

 

α) βασική χρήση του προγραμματιστικού περιβάλλοντος (χειρισμό compiler)

β) πώς να εισάγει δεδομένα από το πληκτρολόγιο και από αρχείο (είσοδος)

γ) πώς να τα επεξεργάζεται

δ) πώς να τα δείχνει στην οθόνη και να τα αποθηκεύει σε αρχείο (έξοδος)

 

Να βάλω και κάτι ακόμη :

ε) Επιπλέον, η συγκεκριμένη γνώση που θα αποκτήσει (πέραν της ανάπτυξης του αλγοριθμικού συλλογισμού)

είναι καλό να έχει μια συνέχεια και να μην είναι άχρηστη.

 

Το κύριο μέρος για την ανάπτυξη αλγοριθμικής σκέψης είναι το γ).

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

Ούτε και η χρήση του προγραμματιστικού περιβάλλοντος.

Και το γ) πρέπει να μπορεί να υλοποιείται (πρόγραμμα) χωρίς πολύ δύσκολες λεπτομέρειες που τον απομακρύνουν

από την βασική αλγοριθμική λύση του προβλήματος.

Η C δεν βοηθάει καθόλου μα καθόλου σε αυτό.

Η C++ είναι πιο εύχρηστη αν χρησιμοποιηθούν ρουτίνες από βιβλιοθήκες (π.χ. για τους πίνακες το vector της STL κλπ.)

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

Π.χ. οι όποιες ευκολίες έχει στην είσοδο/έξοδο κατάγονται από αντικείμενα

και σε πολλά σημεία χρησιμοποιούνται ιδιότητες απο εκεί (cout κλπ).

Αν μπορούν να απομονωθούν τέτοιους είδους ευκολίες χωρίς να εμφανιστούν γνωστικά κενά

(π.χ. απορίες του τύπου γιατί χρησιμοποιούμε το cout ή το vector τάδε με την τάδε σύνταξη) είμαι υπέρ της χρήσης της.

 

@DirectX

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

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

Μιλώ για κυρίως για το σχολείο, όχι για ΑΕΙ. Εκεί το πρόβλημα είναι τελείως διαφορετικό.

Π.χ. σε πολλά υπολογιστκά μαθήματα το matlab ή το mathematica προτιμώνται από τις παραδοσιακές γλώσσες για ποικίλους λόγους.

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

 

 

@Evgenios

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

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

Iκανοποιούνται μεν τα α)-δ) που λέω πιο πάνω αλλά αφηρημένα πέραν του δέοντος και μαθαίνουν κάτι που πρακτικά είναι τελείως άχρηστο, χωρίς καμιά γνωστική συνέχεια.

Αν μάθαιναν απλή basic θα είχε το νόημα ότι θα μπορούσαν να σχοληθούν και με το οπτικό περιβάλλον μετά (ή ταυτόχρονα ή πιο ταλαντούχοι).

Για την fortran δεν γίνεται λόγος, ικανοποιεί τα α)-ε) με τον καλύτερο σχεδόν τρόπο.

Δημοσ.

στην εξέταση πάντως γράφεις σε χαρτί...

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

Δημοσ.

το χαρτί και το μολύβι

 

είναι ο πιό γρήγορος* τρόπος

 

για να "καταγράψεις" τη σκέψη

 

 

* και ο πιό φθηνός !

 

 

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

Το αρχικό post αναφέρεται σε μαθήτρια του γυμνασίου.

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

 

 

Θεωρώ ότι στην αρχική προσσέγγιση είναι σημαντικό να αναπτυχθεί η αλγοριθμική σκέψη,

δηλ. η διαδικασία της λύσης των προβλημάτων κι' όχι η σύνταξη.

Πολύ (μα πάρα πολύ) χονδρικά ο αρχάριος πρέπει να μαθαίνει :

 

α) βασική χρήση του προγραμματιστικού περιβάλλοντος (χειρισμό compiler ?)

 

.

Δημοσ.

Εγώ προσωπικά θα κάνω φέτος στο σχολείο logo, απ'όσο έχω δει στο βιβλίο είναι αμαρτία να λέμε πως κάνουμε προγραμματισμό...

Δημοσ.

Π.χ. αν σε ρωτήσει κάποιος αρχάριος πώς υλοποιείται στην VB το read της fortran ή το cin της C++ για να δώσεις μια τιμή τι θα του πεις ;

Aνοίγεις φόρμα ...κλπ...Για μένα αυτό είναι λάθος.

 

Σε VB.NET θα του πεις να δημιουργησει μια εφαρμογη κονσολας (ConsoleApplication) και οτι η read της fortran και η cin της C++ υλοποιειται στην VB.NET με την Read ή ReadLine.

 

Παράδειγμα:

Dim x As Short = 0

x = Console.ReadLine

Δημοσ.
Σε VB.NET θα του πεις να δημιουργησει μια εφαρμογη κονσολας (ConsoleApplication) και οτι η read της fortran και η cin της C++ υλοποιειται στην VB.NET με την Read ή ReadLine.

 

Παράδειγμα:

Dim x As Short = 0

x = Console.ReadLine

Στην C όμως δεν είναι τόσο απλό...
Δημοσ.
Εγώ προσωπικά θα κάνω φέτος στο σχολείο logo, απ'όσο έχω δει στο βιβλίο είναι αμαρτία να λέμε πως κάνουμε προγραμματισμό...

Στα λόγια μου είσαι. Συλλυπητήρια....

 

 

@gtroza

 

Γράφω "βασική χρήση". Όπερ σημαίνει να μάθουν να ανοίγουν ένα project file και να κάνουν compile.

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

 

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

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

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

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

σ' αυτά η fortran και η basic (όχι η VB) ανταποκρίνονται άριστα :

 

α) παρέχουν το απαραίτητο επίπεδο εφαρμογής που απαιτείται (δηλ. γραφή πραγματικού προγράμματος),

β) προσαρμόζονται στην εκάστοτε γνωστική στάθμη των μαθητών (ειδικά η fortran) τόσο από πλευράς εργαλείων (compiler ποικίλης πολυπλοκότητας και ευκολιών)

όσο και από το περιεχόμενό τους καθεαυτό (η σύνταξη μπορεί να κυμαίνεται από απλοϊκή για παιδιά της 6ης δημοτικού και του γυμνασίου μέχρι ιδιαιτέρως πολύπλοκη),

γ) έχουν εκπαιδευτική συνέχεια. Η fortran χρησιμοποιείται για σοβαρή δουλειά από επιστήμονες και μακράν δεν είναι απαξιώσιμη ενώ η γνώση της basic

μπορεί να καταλήξει στην VB και στο οπτικό περιβάλλον.

 

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

 

@geo1st487

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

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

Τα είπα στο post #23, να μην επαναλαμβάνομαι...

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...