Μήπως τελικά η Python δεν έχει εκπαιδευτικό χαρακτήρα;

Ξεκίνησε από Dimitris365, 14 Φεβ 2017, 10:52:16 ΜΜ

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

Dimitris365

Ουδέν σχόλιον.

pgrontas

Χωρίς να μπορώ να γνωρίζω με ποια κριτήρια έγινε η επιλογή της python για το μάθημα του προγραμματισμού νομίζω ότι είναι πολύ καλή επιλογή γιατί:

1. έχει πολύ απλη σύνταξη και λίγο θόρυβο (πάρα πολύ βοηθητικό στον εκπαιδευτικό  χαρακτήρα)
2. υποστηρίζει όλα τα υποδείγματα προγραμματισμού (procedural, functional, oo)
3. υπάρχουν πολλές βιβλιοθήκες με τις οποίες οι μαθητές μπορούν να πειραματιστούν

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

Τώρα τα μειονεκτήματα που αναφέρεις δεν μου φαίνονται και τόσο σημαντικά. Μάλιστα το script-ο-γλώσσα, αν εννοείς ότι υπάρχει περιβάλλον REPL μάλλον θετικό είναι για χρήση στην εκπαίδευση, γιατί ο μαθητής μπορεί να πειραματιστεί επιτόπου με τις εντολές χωρίς να χρειάζεται να γράψει όλοκληρο πρόγραμμα. Αυτό φαίνεται ότι έχει κριθεί θετικό και δεν είναι τυχαίο μάλιστα ότι ακόμα και γλώσσες όπως η C# αποκτούν και αυτές REPL mode.

Φυσικά κανείς δεν λέει ότι είναι τέλεια γλώσσα. Εμένα για παράδειγμα δεν μου αρέσει καθόλου το δυναμικό σύστημα τύπων, ειδικά όταν μιλάμε για μαθητές. Αλλά καμία γλώσσα δεν είναι τέλεια.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

itt

Παράθεση από: mimisss στις 14 Φεβ 2017, 10:52:16 ΜΜ
Όταν βλέπω μια script-ο-γλώσσα η οποία:


  • προσπαθεί από έκδοση σε έκδοση να αποφασίσει αν η print είναι συνάρτηση ή οχι
  • εισάγει τον ευφάνταστο τελεστή// επειδή δεν μπόρεσαν οι σχεδιαστές της να καθορίσουν σωστά το div και ως εκ τούτου μπήκε ακόμα ενα διδακτικό εμπόδιο στην εκμάθηση, ας πούμε της δυαδικής αναζήτησης (αλήθεια, ποιός μπορεί να πει ακριβώς τι κάνει αυτός ο τελεστής; )
  • επιτρέπει σε κώδικα όπως ο παρακάτω να λειτουργεί κανονικά (προσθέτοντας άλλο ένα ναι-μεν-αλλά στα τόσα και τόσα από τα οποία φαίνεται να διέπεται):
x=5

def f1():
    print x

f1()


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

Το αν είναι η print συνάρτηση ή όχι εξαρτάται από την έκδοση (sic). Άμα κάνουμε consolidate την έκδοση που χρησιμοποιούμε λοιπόν (όπως κάνει δηλαδή όλoς ο πλανήτης γη), problem solved.

O τελεστής // εκτελεί floor division, τώρα δεν κατάλαβα ακριβώς που διαφωνείς, ή γιατί τον χρησιμοποιείς αντί του / αλλά μπορείς να μας εξηγήσεις.

Ο κώδικας που παρέθεσες λειτουργεί κανονικά στις περισσότερες γλώσσες που υπάρχουν και έχουν παρόμοιους scoping κανόνες. Το ίδιο πράγμα θα κάνει στην C , στη C++, στη Java, στη C#, οπότε δεν βλέπω που είναι το πρόβλημα.

Τέλος, εσύ τι προτείνεις ως εναλλακτική στην python;


PS:

Η python είναι μια γλώσσα που μπορεί να χρησιμοποιήσει ο οποιοσδήποτε στον κλάδο του. Έχω φίλους αρχαιολόγους που σκριπτάρουν σε python για να κάνουν automate το cataloging ευρημάτων, δεν μπορώ εγώ προσωπικά να φανταστώ κάτι καλύτερο από python για διδασκαλία.

Dimitris365

Παράθεση από: itt στις 15 Φεβ 2017, 12:00:09 ΜΜ
Το αν είναι η print συνάρτηση ή όχι εξαρτάται από την έκδοση (sic). Άμα κάνουμε consolidate την έκδοση που χρησιμοποιούμε λοιπόν (όπως κάνει δηλαδή όλoς ο πλανήτης γη), problem solved.

Ακριβώς. Αυτό δεν θα έπρεπε να χρειάζεται. Είναι breaking change (και δεν είναι η μόνη) που δημιουργεί ασυμβατότητα από έκδοση σε έκδοση. Ή μαθαίνει κάποιος μια γλώσσα προγραμματισμού ή όχι. Το να λες οτι ξέρεις Python έκδοση x.y.z είναι αστείο και προβληματικό τόσο σε εκπαιδευτικό όσο και σε επαγγελματικό επίπεδο. Σε καμία άλλη γλώσσα δεν συμβαίνει αυτό και νομίζω οτι και αυτό περιμένει ο (προγραμματιστικός) πλανήτης και οχι αυτό που λες.

Παράθεση από: itt στις 15 Φεβ 2017, 12:00:09 ΜΜ
O τελεστής // εκτελεί floor division, τώρα δεν κατάλαβα ακριβώς που διαφωνείς, ή γιατί τον χρησιμοποιείς αντί του / αλλά μπορείς να μας εξηγήσεις.

Ο τελεστής // χρησιμοποιείται στον αλγόριθμο δυαδικής αναζήτησης του σχολικού βιβλίου, σελ. 75.

Παράθεση από: itt στις 15 Φεβ 2017, 12:00:09 ΜΜ
Ο κώδικας που παρέθεσες λειτουργεί κανονικά στις περισσότερες γλώσσες που υπάρχουν και έχουν παρόμοιους scoping κανόνες. Το ίδιο πράγμα θα κάνει στην C , στη C++, στη Java, στη C#, οπότε δεν βλέπω που είναι το πρόβλημα.

Το πρόβλημα είναι οτι υπάρχουν δυο μέτρα και δυο σταθμά. Έτσι, έχεις πρόσβαση στη x αλλά αν θες να την αλλάξεις πρέπει να γράψεις μέσα στην f1:
global x


Απαράδεκτο. Σε καμία γλώσσα δεν συμβαίνει αυτό και σίγουρα οχι σε αυτές που αναφέρεις. Θα περίμενα να θεωρείται λάθος (μη δηλωμένης μεταβλητής) αν δεν υπάρχει η δήλωση global. Ειδικά στις αμιγώς αντικειμενοστρεφής java,c# είναι ιδιαίτερα δύσκολο να δωθεί ανάλογο παράδειγμα γιατί οι μεταβλητές είναι είτε class properties (static -> το οποίο βρίσκεται στη δήλωση της μεταβλητής) είτε object properties) αλλά έστω, στη c# ισχύει:
static void Main(string[] args)
{
    int x = 5;
    {
        Console.WriteLine(x);
    }
    Console.WriteLine(x);
}


ΑΛΛΑ ΚΑΙ:

static void Main(string[] args)
{
    int x = 5;
    {
        x++;
        Console.WriteLine(x);
    }
    Console.WriteLine(x);
}


απλούστερο, ευκολότερο, τιμιότερο.

Παράθεση από: itt στις 15 Φεβ 2017, 12:00:09 ΜΜ
Τέλος, εσύ τι προτείνεις ως εναλλακτική στην python;

Η Pascal είχε ασύγκριτα εκπαιδευτικά χαρακτηριστικά. Η java έχει το ασύγκριτο πλεονέκτημα οτι είναι αμιγώς αντικειμενοστρεφής και αμέσως θα έδινε ένα ΠΡΑΓΜΑΤΙΚΟ γνωστικό προσόν στους μαθητές (έναντι του να καθόμαστε και να ασχολούμαστε ακόμα με procedural προγραμματισμό).  Η "απλότητα" της Python εύκολα γυρίζει μπούμερανγκ, για παράδειγμα καλή τύχη στους διορθωτές γραπτών μεθαύριο όταν θα πρέπει να αποφασίσουν πως θα βαθμολογήσουν τα blocks κώδικα που θα έπρεπε οι μαθητές να γράψουν δεξιότερα στο τετράδιο για να ανήκουν σε κάποια δομή, ελλείψει σημείων στίξης.


dpa2006

Παράθεση από: itt στις 15 Φεβ 2017, 12:00:09 ΜΜ
Το αν είναι η print συνάρτηση ή όχι εξαρτάται από την έκδοση (sic). Άμα κάνουμε consolidate την έκδοση που χρησιμοποιούμε λοιπόν (όπως κάνει δηλαδή όλoς ο πλανήτης γη), problem solved.

O τελεστής // εκτελεί floor division, τώρα δεν κατάλαβα ακριβώς που διαφωνείς, ή γιατί τον χρησιμοποιείς αντί του / αλλά μπορείς να μας εξηγήσεις.

Ο κώδικας που παρέθεσες λειτουργεί κανονικά στις περισσότερες γλώσσες που υπάρχουν και έχουν παρόμοιους scoping κανόνες. Το ίδιο πράγμα θα κάνει στην C , στη C++, στη Java, στη C#, οπότε δεν βλέπω που είναι το πρόβλημα.

Τέλος, εσύ τι προτείνεις ως εναλλακτική στην python;


PS:

Η python είναι μια γλώσσα που μπορεί να χρησιμοποιήσει ο οποιοσδήποτε στον κλάδο του. Έχω φίλους αρχαιολόγους που σκριπτάρουν σε python για να κάνουν automate το cataloging ευρημάτων, δεν μπορώ εγώ προσωπικά να φανταστώ κάτι καλύτερο από python για διδασκαλία.
Η Python χρησιμοποιείται σε ένα πολύ ευρύ πεδίο επιστημών,από Θεωρητικούς ως θετικούς επιστήμονες και πιο ειδικά στο πεδίο της επιστήμης της Πληροφορικής,Ηλεκτρονικών,Τηλεπικοινωνίες,Φυσική 2,Χημεία,Γεωλογία κλπ.
Άρα μια χαρά επιλογή ήταν και είναι η Python.
Τα όποια προβλήματα με τις διαφορές στις εκδόσεις μπορούν να αντιμετωπιστούν.
Python in Education
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

itt

Παράθεση από: mimisss
Ακριβώς. Αυτό δεν θα έπρεπε να χρειάζεται. Είναι breaking change (και δεν είναι η μόνη) που δημιουργεί ασυμβατότητα από έκδοση σε έκδοση. Ή μαθαίνει κάποιος μια γλώσσα προγραμματισμού ή όχι. Το να λες οτι ξέρεις Python έκδοση x.y.z είναι αστείο και προβληματικό τόσο σε εκπαιδευτικό όσο και σε επαγγελματικό επίπεδο. Σε καμία άλλη γλώσσα δεν συμβαίνει αυτό και νομίζω οτι και αυτό περιμένει ο (προγραμματιστικός) πλανήτης και οχι αυτό που λες.

Όχι από έκδοση σε έκδοση, από major version σε major version. Ο πλανήτης είτε παίζει με 2.7.Χ είτε με την 3. Δεν θεωρώ και εγώ ότι είναι η καλύτερη σελίδα στην ιστορία της python, αλλά σιγά το πρόβλημα.


Παράθεση από: mimisss
Ο τελεστής // χρησιμοποιείται στον αλγόριθμο δυαδικής αναζήτησης του σχολικού βιβλίου, σελ. 75.

Οκ.

Παράθεση από: mimisss
Το πρόβλημα είναι οτι υπάρχουν δυο μέτρα και δυο σταθμά. Έτσι, έχεις πρόσβαση στη x αλλά αν θες να την αλλάξεις πρέπει να γράψεις μέσα στην f1:
global x


Απαράδεκτο. Σε καμία γλώσσα δεν συμβαίνει αυτό και σίγουρα οχι σε αυτές που αναφέρεις. Θα περίμενα να θεωρείται λάθος (μη δηλωμένης μεταβλητής) αν δεν υπάρχει η δήλωση global. Ειδικά στις αμιγώς αντικειμενοστρεφής java,c# είναι ιδιαίτερα δύσκολο να δωθεί ανάλογο παράδειγμα γιατί οι μεταβλητές είναι είτε class properties (static -> το οποίο βρίσκεται στη δήλωση της μεταβλητής) είτε object properties) αλλά έστω, στη c# ισχύει:
static void Main(string[] args)
{
    int x = 5;
    {
        Console.WriteLine(x);
    }
    Console.WriteLine(x);
}


ΑΛΛΑ ΚΑΙ:

static void Main(string[] args)
{
    int x = 5;
    {
        x++;
        Console.WriteLine(x);
    }
    Console.WriteLine(x);
}


απλούστερο, ευκολότερο, τιμιότερο.

Δεν έχεις πρόσβαση στο x, το x στο scope της συνάρτησης είναι διαφορετικό από το x στο εξωτερικό scope, για αυτό πρέπει να το δηλώσεις και ως global. Γιατί δεν είναι global. Πέρα βέβαια από το ότι δεν υπάρχει κανένας λόγος να κάνεις αυτό που έγραψες, στο αρχικό σου post δεν έγραφες καν αυτό που έγραψες τώρα.

Παράθεση από: mimisss
Η Pascal είχε ασύγκριτα εκπαιδευτικά χαρακτηριστικά.

Επειδή...;

Παράθεση από: mimisss
Η java έχει το ασύγκριτο πλεονέκτημα οτι είναι αμιγώς αντικειμενοστρεφής και αμέσως θα έδινε ένα ΠΡΑΓΜΑΤΙΚΟ γνωστικό προσόν στους μαθητές (έναντι του να καθόμαστε και να ασχολούμαστε ακόμα με procedural προγραμματισμό).

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

Παράθεση από: mimisss
  Η "απλότητα" της Python εύκολα γυρίζει μπούμερανγκ, για παράδειγμα καλή τύχη στους διορθωτές γραπτών μεθαύριο όταν θα πρέπει να αποφασίσουν πως θα βαθμολογήσουν τα blocks κώδικα που θα έπρεπε οι μαθητές να γράψουν δεξιότερα στο τετράδιο για να ανήκουν σε κάποια δομή, ελλείψει σημείων στίξης.

Απλά δεν θα ασχοληθούν;

ΚΑΛΟΓΙΑΝΝΗΣ ΝΕΣΤΟΡΑΣ

Η  PYTHON λόγω του ότι ειναι αντικειμενοστρεφείς γλώσσα για εκπαιδευτικό σκοπό δεν θα έπρεπε να διδάσκεται αν ήθελας ας έγραφαν ένα καλύτερο εγχειρίδιο για την PASCAL που είναι εκπαιδευτική γλώσσα και ας προσθεταν τις δομές δεδομένων και τους αλγόριθμους αναζήτησης και ταξινόμησης αλλά υλοποιημένους σε PASCAL . Μακάρι να αλλάξει στην επόμενη σχολική χρόνια . Φέτος κατά τη γνώμη μου οι υπεύθυνοι του υπουργείου για τα βιβλία του ΕΠΑΛ τομέα πληροφορικής απέτυχαν. Κακογραμμένα και ασύνδετες οι ενότητές τους. κρίμα!!!

itt

Παράθεση από: ΚΑΛΟΓΙΑΝΝΗΣ ΝΕΣΤΟΡΑΣ στις 15 Φεβ 2017, 10:50:05 ΜΜ
Η  PYTHON λόγω του ότι ειναι αντικειμενοστρεφείς γλώσσα για εκπαιδευτικό σκοπό δεν θα έπρεπε να διδάσκεται

H python είναι multi-paradigm, χωρίς να σε αναγκάσει να γράψεις σε κάποιο συγκεκριμένο. Αυτό που λες δεν στέκει.



ΚΑΛΟΓΙΑΝΝΗΣ ΝΕΣΤΟΡΑΣ

 Κοιτά το παραδέχομαι έκανα λάθος αλλά η ουσία είναι μία μπορεί ένας μαθητής ΕΠΑΛ να εξεταστεί σε μια τέτοια γλώσσα , και μάλιστα στο χαρτί (εννοώ) γραπτώς, τηρώντας όλους τους κανόνες κενών και αλλαγής γραμμών για τα όρια κάθε εντολής??
Τελείωσε η σχολική χρονιά και τώρα το υπουργείο αποφάσισε να εκδόσει τετράδιο μαθητή !!!
Ή πιστεύεται ότι όλα βαίνουν καλώς??
Εδώ να φανταστείτε ότι στα αντίστοιχα τμήματα ΤΕΙ ΠΛΗΡΟΦΟΡΙΚΗΣ πανελλαδικώς δεν έχει εισαχθεί η PYTHON και εκεί που έχει εισαχθεί τα πολύ βασικά και Απαιτούν από μαθητές να αφομοιώσουν μια τέτοια γλώσσα χωρίς μάλιστα να υπάρχει κατάλληλο υλικό ??
Γιατί και οι λύσεις των δραστηριοτήτων και οι δραστηριότητες του σχολικού βιβλίου είναι εντελώς  ακατάλληλες !!!
Θα έβαζαν τη C++  ή την C ΑΛΛΆ ΤΗΝ PYTHON ??

evry

Σχετικά με την παρουσία της Python στην εκπαίδευση για να μην δημιουργούνται ψευδείς εντυπώσεις:
Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities



Επίσης: Ελληνικά πανεπιστημιακά τμήματα στα οποία διδάσκεται Python

Ηλεκτρολόγοι Μηχανικοί και Τεχνολογίας Υπολογιστών, Πάτρα
Μηχανικοί Η/Υ και πληροφορικής
Ηλεκτρονικοί Μηχανικοί και Μηχανικοί Υπολογιστών, Χανιά
Μηχανικών και Η/Υ και Πληροφορικής, Ιωάννινα
Μαθηματικό Αθήνας
Μαθηματικό Πάτρας
Μαθηματικό Ιωαννίνων

και σίγουρα υπάρχουν και άλλα..
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Λάμπρος Μπουκουβάλας

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

Η Python είναι ΜΙΑ από τις καλές γλώσσες προγραμματισμού τόσο με γενική έννοια όσο ΚΑΙ για εκπαιδευτικούς σκοπούς και και χρησιμοποιείται από πολλά ιδρύματα, και ΤΕΙ Πληροφορικής και Πανεπιστήμια και Πολυτεχνεία. Υπάρχουν κι άλλες κατάλληλες, δεν είναι η μόνη. Η συγγραφική ομάδα την επέλεξε και καλά έκανε. Αν υπήρχε άλλη συγγραφική ομάδα, ενδεχομένως να επέλεγε άλλη γλώσσα και το ίδιο καλά θα έκανε κι αυτή. Και δεν είναι καθόλου σίγουρο ότι ένα άλλο βιβλίο με άλλη γλώσσα θα ήταν πιο καλογραμμένο. Μπορεί να ήταν, μπορεί και όχι.

Πολύ χρήσιμες οι απόψεις και οι εμπειρίες όλων, και χαίρομαι όταν τις μοιραζόμαστε με καλή διάθεση. Είμαι βέβαιος ότι αυτό είναι το κίνητρο όσων συμμετέχουν. Ας μην κάνουμε όμως την επιλογή της python πραγματικό μας πρόβλημα. Δεν είναι.
Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

Ο Θουκυδίδης  (που τον διαβάζουν οι ξένοι, αλλά όχι εμείς)  έγραφε: «Αταλαίπωρος τοις πολλοίς η ζήτησις της αληθείας, και επί τα ετοίμα μάλλον τρέπονται» (Ι, 20, 3). Οι περισσότεροι δηλαδή αναζητούν αβασάνιστα την αλήθεια και στρέφονται σε ό,τι βρίσκουν έτοιμο. Δεν προβληματίζονται...

evry

Παράθεση από: Λάμπρος Μπουκουβάλας στις 16 Φεβ 2017, 02:18:02 ΜΜ
Πολύ χρήσιμες οι απόψεις και οι εμπειρίες όλων, και χαίρομαι όταν τις μοιραζόμαστε με καλή διάθεση. Είμαι βέβαιος ότι αυτό είναι το κίνητρο όσων συμμετέχουν.
Εγώ πάλι δεν είμαι καθόλου βέβαιος

Παράθεση από: Λάμπρος Μπουκουβάλας στις 16 Φεβ 2017, 02:18:02 ΜΜ
Ας μην κάνουμε όμως την επιλογή της python πραγματικό μας πρόβλημα. Δεν είναι.
Και όμως φίλε μου αυτό είναι το πραγματικό πρόβλημα!!!
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dimitrios67

Παράθεση από: evry στις 16 Φεβ 2017, 01:24:12 ΜΜ
Σχετικά με την παρουσία της Python στην εκπαίδευση για να μην δημιουργούνται ψευδείς εντυπώσεις:
Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities

Επίσης: Ελληνικά πανεπιστημιακά τμήματα στα οποία διδάσκεται Python

Ηλεκτρολόγοι Μηχανικοί και Τεχνολογίας Υπολογιστών, Πάτρα
Μηχανικοί Η/Υ και πληροφορικής
Ηλεκτρονικοί Μηχανικοί και Μηχανικοί Υπολογιστών, Χανιά
Μηχανικών και Η/Υ και Πληροφορικής, Ιωάννινα
Μαθηματικό Αθήνας
Μαθηματικό Πάτρας
Μαθηματικό Ιωαννίνων

και σίγουρα υπάρχουν και άλλα..

Ευριπίδη,
μπορουμε να θεωρησουμε "δυνατο" επειχειρημα υπερ της Python το οτι πολλα Πανεπιστήμια διδασκουν Python για εισαγωγη στον Προγραμματισμό?.
Οι μαθητες στην Ελλαδα, εχουν μαθει την "κονσερβα" του σχολικού βιβλίου και μεχρι να προσαρμοσθούν
στην "ακαδημαϊκή" λογική του textbook και των διαφανειών, περναει πολυς καιρός.

Αυτο με τη διορθωση των γραπτων στο "χαρτί" θα ειναι ενα πολυ μεγαλο προβλημα....
το οποίο σημαινει οτι η Python ΔΕΝ ειναι για το χαρτι, αλλα μονον για τον υπολογιστη.

Προσφατα διαβαζα κατι αλγοριθμους γραμμενους σε ψευδοκώδικα  Python-like και πραγματικά μπερδευτηκα παρα πολύ....
Αν εχεις εναν βροχο που να περιεχει καποιες εντολες και εναν αλλον βροχο, ο οποιος περιεχει και εντολες αλλα και δομή επιλογης κλπ,
τοτε ο κωδικας γινεται εξαιρετικά δυσαναγνωστος...

Λεει ο συναδελφος (και πολυμαθης οντως...(respect)) itt, οτι φιλοι του αρχαιολογοι κλπ χρησιμοποιουν την Python.
Ειναι ομως "επαρκες" κριτηριο για την καταλληλοτητα μιας γλώσσας προγραμματισμού προς διδασκαλία εισαγωγης στον προγραμματισμό,
το οτι τη χρησιμοποιουν και αλλοι "εκτος" κλαδου Πληροφορικής?

Μηπως τελικά με την Python ενας φοιτητης θα "ψιλοασχοληθει" με τον προγραμματισμό, θα "ψιλομαθει" να γραφει προγραμματα κλπ,
αλλα δεν θα μαθει "στιβαρό" προγραμματισμό οπως με τη C, ή "πραγματικό" προγραμματισμό, όπως π.χ. με τη Java?

Προσωπικά θα ημουν υπερ μιας Pascal-οειδους γλώσσας, (οπως και η ΓΛΩΣΣΑ, κανω ενα course "from ΓΛΩΣΣΑ to C", και δουλευει μια χαρα,
μπορω να συννενοηθώ τελεια ....).

Οπωσδηποτε το θεμα δεν εξαντλειται σε ενα φορουμ.
Διοτι αλλο το εισαγωγικό μαθημα προγραμματισμού στο 1ο ετος (ας θυμηθουμε τι ειχε γινει με τη Java σε "γνωστο" τμημα της Αθηνας)
και αλλο η γλώσσα προγραμματισμού για τη Β,Γ Λυκείου ειτε ΕΠΑΛ είτε ΓΕΛ.

Ελπιζω η κοινοτητα μας, να διοργανωσει καποα συζητηση-συνεδριο ή κατι αλλο,
για το πολύ βασικό αυτο θεμα...

ευχαριστώ






Λάμπρος Μπουκουβάλας

Πάντως η python είναι σαφώς-σαφέστατα πιο εύκολη για τα παιδιά στις δομές επιλογής και επανάληψης (εκ του αποτελέσματος στην τάξη - το βλέπω και στο μάθημα γενικής, που έχω όοολη τη γ' λυκείου, τόσο φέτος όσο και πέρισυ). Με την pascal, πέραν των απλών περιπτώσεων, ενδεικτικά αναφέρω ότι "έχαναν την μπάλα" με τα συνεχή begin-end, ενώ στην python ασχολούνται μόνο με for & while αντί να έχουν και την repeat της pascal. Επίσης, οι δικοί μου παλαιοί μαθητές ποτέ δεν μπόρεσαν να καταλάβουν τα περί procedure & function της Pascal. Φέτος έχω ένα μεγάλο τμήμα πληροφορικής, με ποσοστό αδιάφορων μαθητών >95%. Κι όμως, καταλαβαίνουν μια χαρά την def και τις συναρτήσεις... Στο τμήμα αυτό έχω 2 μαθητές έξυπνους μεν, όχι όμως εργατικούς, που τους είχα και πέρισυ. Πιο πολύ τους αρέσει η python.

Δεν υποστηρίζω τον Ευριπίδη, ούτε τη συγγραφική ομάδα. Δεν είχα διδαχθεί ποτέ την python στο βασικό μου πτυχίο (όταν σπούδαζα την ήξερε μόνο ο δημιουργός της). Έστρωσα κάτω τον ποπάϋ μου και διαβάζοντας διαπίστωσα ότι η python είναι καλή και εφαρμόζεται άνετα στην τάξη. Άλλωστε δεν απευθυνόμαστε σε προγραμματιστές φοιτητές, κι ας έχει το βιβλίο επεκταθεί σε πολλά θέματα.
Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

Ο Θουκυδίδης  (που τον διαβάζουν οι ξένοι, αλλά όχι εμείς)  έγραφε: «Αταλαίπωρος τοις πολλοίς η ζήτησις της αληθείας, και επί τα ετοίμα μάλλον τρέπονται» (Ι, 20, 3). Οι περισσότεροι δηλαδή αναζητούν αβασάνιστα την αλήθεια και στρέφονται σε ό,τι βρίσκουν έτοιμο. Δεν προβληματίζονται...

itt

#14
Παράθεση από: dimitrios67Λεει ο συναδελφος (και πολυμαθης οντως...(respect)) itt, οτι φιλοι του αρχαιολογοι κλπ χρησιμοποιουν την Python.
Ειναι ομως "επαρκες" κριτηριο για την καταλληλοτητα μιας γλώσσας προγραμματισμού προς διδασκαλία εισαγωγης στον προγραμματισμό,
το οτι τη χρησιμοποιουν και αλλοι "εκτος" κλαδου Πληροφορικής?

Ναι ήταν ένα anecdotal που απλά έχω δει. Το point είναι, πώς δεν απευθυνόμαστε σε προγραμματιστές, ούτε καν οι φοιτητές σε σχολές πληροφορικής δεν σημαίνει ότι θα γίνουν προγραμματιστές, οπότε μια γλώσσα που μπορεί να χρησιμοποιηθεί σε άπειρα επιστημονικά πεδία και να κάνεις σοβαρή δουλειά (*), για μένα είναι ένα μεγάλο prequisite. Και αυτή η γλώσσα προφανώς και δεν είναι ούτε η Pascal (έλεος), ούτε η Java.

* Υπό την έννοια ότι δεν κάνεις μόνο automation, αλλά και τρέχεις αλγόριθμους για στατιστική, αριθμητική ανάλυση etc.

Παράθεση
Μηπως τελικά με την Python ενας φοιτητης θα "ψιλοασχοληθει" με τον προγραμματισμό, θα "ψιλομαθει" να γραφει προγραμματα κλπ,
αλλα δεν θα μαθει "στιβαρό" προγραμματισμό οπως με τη C, ή "πραγματικό" προγραμματισμό, όπως π.χ. με τη Java?

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