forum.math.uoa.gr

Forum του Τμήματος Μαθηματικών
Ημερομηνία 24 Νοέμ 2017, 09:16

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απάντηση στο θέμα  [ 10 δημοσιεύσεις ] 
Συγγραφέας Μήνυμα
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 09 Φεβ 2007, 09:23 
Χωρίς σύνδεση
Επίτιμος Administrator
Άβαταρ μέλους

Εγγραφη: 18 Φεβ 2006, 22:25
Δημοσ.: 1377
Τοποθεσια: Nowhere Land
Ωραία όλα αυτά που γράφεις, όμως νομίζω ότι ξεφεύγουν λίγο από το σκοπό του μαθήματος. Ο στόχος εδώ είναι να αναπτύξουμε στοιχειώδη αλγοριθμική σκέψη. Οι έννοιες του αντικειμενοστρεφή προγραμματισμού απαιτούν μια ωριμότητα και εμπειρία για τη σωστή κατανόηση της λογικής τους. Προπαντώς θα πρέπει να έχει προηχθεί μια γερή εισαγωγή στις έννοιες των δομών δεδομένων. (δε σχολίαζω γιατί η Java, μια γλώσσα καθαρά αντικειμενοστρεφής, επελέγη ως εισαγωγική για τον προγραμματισμό).

Συνεπώς, ελπίζω να μη σε πειράζει αν μεταφέρω το τόπικ στο forum της πληροφορικής :)

_________________
\exists x.\varphi(x) \rightarrow \forall x.\varphi(x)


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 09 Φεβ 2007, 10:39 
Χωρίς σύνδεση
Regular Forumer
Άβαταρ μέλους

Εγγραφη: 25 Μάιος 2006, 02:31
Δημοσ.: 1656
Τοποθεσια: Ηλιούπολη
Μην τον κακολογείς καθόλου, καιρό είχε να ανοίξει κάποιος ένα ενδιαφέρον θέμα.
locogr σε παρακαλώ συνέχισε! :)

_________________
Χρυσ/μος:πόσον ἐκοπίασεν ὁ Πλάτων μὲτοὺς μαθητᾶς του μὲτὸ νὰμᾶς συζητεῖ περὶ γραμμῆς καὶγωνίας καὶσημείου...αὐτὰ εἶναι διὰ τὴν ζωὴν περισσότερο ἄχρηστα ἀπὸ ἐκεῖνα τὰ ὑφάσματα-χωρὶς νὰ ὠφελήσει πολὺ ἢ ὀλίγον μὲ τὰς συζητήσεις αὐτᾶς ἐγκατέλειψε ἔτσι τὴν ζωή


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 09 Φεβ 2007, 12:25 
Χωρίς σύνδεση
Regular Forumer
Άβαταρ μέλους

Εγγραφη: 02 Ιούλ 2006, 21:08
Δημοσ.: 2095
Τοποθεσια: Βριλησσια
marm έγραψε:
Στέλνω μνμ,

[ΣΠΑΜ]
μνμ??? τις καραμελες???? πως ακριβως το κανεις αυτο γιατι πολυ θα ηθελα να στελνω και εγω κραμελες (βασικα να λαμβανω κυριως) :P :P :P :P :P :P :P[/ΣΠΑΜ]

_________________
Τι εννοείτε ακριβώς?
Those who can, do. Those who can't, teach...
Εικόνα


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 09 Φεβ 2007, 13:07 
Χωρίς σύνδεση
Άβαταρ μέλους

Εγγραφη: 22 Μαρ 2006, 18:10
Δημοσ.: 34
Τοποθεσια: Athens, Galatsi
eirik έγραψε:
Ωραία όλα αυτά που γράφεις, όμως νομίζω ότι ξεφεύγουν λίγο από το σκοπό του μαθήματος. Ο στόχος εδώ είναι να αναπτύξουμε στοιχειώδη αλγοριθμική σκέψη. Οι έννοιες του αντικειμενοστρεφή προγραμματισμού απαιτούν μια ωριμότητα και εμπειρία για τη σωστή κατανόηση της λογικής τους. Προπαντώς θα πρέπει να έχει προηχθεί μια γερή εισαγωγή στις έννοιες των δομών δεδομένων. (δε σχολίαζω γιατί η Java, μια γλώσσα καθαρά αντικειμενοστρεφής, επελέγη ως εισαγωγική για τον προγραμματισμό).


Όπως και εσύ ανέφερες, η γλώσσα που επιλέχτηκε ως εισαγωγική για τις έννοιες του προγραμματισμού είναι η Java, μια αντικειμενοστραφής γλώσσα. Αυτό βεβαίως δυσκολεύει όσους δεν έχουν ασχοληθεί με τον προγραμματισμό αφού μπλέκει περισσότερα πράγματα. Θα ήταν προτιμότερο μια γλώσσα σαν τη C ή σαν τη Matlab, όπως ήταν παλαιότερα για να μπορέσει κάποιος να κατανοήσει τον προγραμματιστικό τρόπο σκέψης και το πως πρέπει κάποιος να κατασκευάζει σωστούς αλγορίθμους. Ειδικά για τους συμφοιτητές μας, θεωρώ ότι η Matlab είναι η ιδανική γλώσσα που πρέπει να διδασκεται. Είναι πιο απλή, χρησιμοποιείται και σε άλλα μαθήματα της σχολής μας, και φυσικά μπορεί να φανεί χρήσιμη ως εργαλείο για πολλά από τα μαθήματα της σχολής μας. Επειδή όμως ξέφυγα από το θέμα δεν θα γράψω άλλα, γιατί αυτά και συ τα ξέρεις χωρίς να σου τα αναφέρω.

Ο λόγος που πήρα αυτή την πρωτοβουλία ήταν ότι οι συμφοιτητές μας, marm και fractaldemon, οι οποίοι προσπάθησαν να γράψουν κάποιες ασκήσεις πάνω σε Java, είδα ότι δεν γνώριζαν περί μεθόδων. Επειδή όμως, όπως μου ανέφεραν, στη Java τα πιο πολλά τα μάθανε παπαγαλία (απλά τα χρησιμοποιούν, χωρίς να ξέρουν γιατί), θεώρησα σωστό να πω μερικά βασικά πράγματα ώστε να κατανοήσουν το πως δουλεύουν οι μέθοδοι. Θα μπορούσα απλά να γράψω ένα παράδειγμα μεθόδου και να το μάθαιναν παπαγαλία. Τώρα αν εσύ θεωρείς ότι ξεφεύγουν από το σκοπό του μαθήματος, είναι προσωπική σου εκτίμηση, και αν θέλεις μπορώ να μην γράψω τίποτα άλλο. Άλλωστε, ότι γράφω, το γράφω στον ελεύθερό μου χρόνο, δεν έχω κανένα όφελος και θα μπορούσα να ασχοληθώ με πράγματα τα οποία ενδιαφέρουν εμένα.

eirik έγραψε:
Συνεπώς, ελπίζω να μη σε πειράζει αν μεταφέρω το τόπικ στο forum της πληροφορικής :)

Δεν με πειράζει (και να με πείραζε όμως τι θα άλλαζε; Εσύ είσαι ο admin όχι εγώ!!:wink: ). Άλλωστε αρχικά δεν είχα καν ανοίξει νέο topic. Το είχα σαν post στο "Μια άσκηση (Java)". O συν-admin σου μου πρότεινε να το μεταφέρει σε νέο topic.


Άρια έγραψε:
Μην τον κακολογείς καθόλου, καιρό είχε να ανοίξει κάποιος ένα ενδιαφέρον θέμα.
locogr σε παρακαλώ συνέχισε! smile


Σε ευχαριστώ! :)

_________________
Εν οίδα ότι ουδέν οίδα


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 09 Φεβ 2007, 16:50 
Χωρίς σύνδεση
Regular Forumer
Άβαταρ μέλους

Εγγραφη: 23 Νοέμ 2006, 10:32
Δημοσ.: 1888
locogr έγραψε:
Τώρα αν εσύ θεωρείς ότι ξεφεύγουν από το σκοπό του μαθήματος, είναι προσωπική σου εκτίμηση, και αν θέλεις μπορώ να μην γράψω τίποτα άλλο.


Και γιατί δεν πρέπει να ξεφύγει από το σκοπό του μαθήματος;;; Και αν κάποιος θέλει να μάθει περισσότερα;;;Ειδικά τώρα που το θέμα αυτό μπήκε σε ξεχωριστό post και δεν είναι στη JAVA I (που μπορεί να σου έλεγε κανείς ότι τρομάζεις τους αρχάριους) δε βλέπω που είναι το πρόβλημα.
Συνέχισε!Δώσε μας τα φώτα σου! :thumbup:

_________________
"Πριν ξεκινήσουμε να συζητάμε, πρέπει πρώτα να ορίζουμε τις έννοιες για να μπορέσουμε να συνεννοηθούμε" - Σωκράτης


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 09 Φεβ 2007, 17:24 
Χωρίς σύνδεση
Regular Forumer
Άβαταρ μέλους

Εγγραφη: 28 Φεβ 2006, 00:25
Δημοσ.: 4858
Τοποθεσια: Χολαργός
Ο eirik ήθελε με αυτή την παρατήρηση, να δικαιολογήσει την μεταφορά του topic. Σε αυτό έχει δίκιο. Γιατί ξεφεύγει από τα πλαίσια του μαθήματος. Δεν είπε να μην συνεχίσει απλά να το κάνει σε αυτό εδώ το χώρο, για να μην μπερδεύονται οι φοιτητές.
Εννοείτε ότι κάθε προσπάθεια για να εμπλουτιστεί το forum μας αλλά και να βοηθηθούν οι φοιτητές είναι ευπρόσδεκτη.

_________________
Η Θυρα13 ειναι αυτο που δε μπορεις να φανταστεις αν δε το ζεις


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 09 Φεβ 2007, 17:51 
Χωρίς σύνδεση
Regular Forumer
Άβαταρ μέλους

Εγγραφη: 23 Νοέμ 2006, 10:32
Δημοσ.: 1888
trelosnikos έγραψε:
Ο eirik ήθελε με αυτή την παρατήρηση, να δικαιολογήσει την μεταφορά του topic. Σε αυτό έχει δίκιο. Γιατί ξεφεύγει από τα πλαίσια του μαθήματος. Δεν είπε να μην συνεχίσει απλά να το κάνει σε αυτό εδώ το χώρο, για να μην μπερδεύονται οι φοιτητές.
Εννοείτε ότι κάθε προσπάθεια για να εμπλουτιστεί το forum μας αλλά και να βοηθηθούν οι φοιτητές είναι ευπρόσδεκτη.


Ένταξει αυτό φαντήστηκα και εγώ. Απλά ήθελα να πω στον locogr να συνεχίσει αυτά που ήθελε να πει για τον αντικειμενοστραφή προγραμματισμό.

_________________
"Πριν ξεκινήσουμε να συζητάμε, πρέπει πρώτα να ορίζουμε τις έννοιες για να μπορέσουμε να συνεννοηθούμε" - Σωκράτης


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 09 Φεβ 2007, 22:16 
Χωρίς σύνδεση
Επίτιμος Administrator
Άβαταρ μέλους

Εγγραφη: 18 Φεβ 2006, 22:25
Δημοσ.: 1377
Τοποθεσια: Nowhere Land
Θα ήθελα να παρουσιάσω ορισμένα επιχειρήματα γιατί ο αντικειμενοστρεφής προγραμματισμός δεν ενδείκνυται για αρχάριους. Μια κλάση εξ ορισμού είναι μια δομή δεδομένων εφοδιασμένη με συναρτήσεις που τρέχουν αποκλειστικά στο scope των αντικειμένων της. Συνεπώς μια σωστή κατανόηση των πρακτικών του αντικειμενοστρεφή προγραμματισμού προαπαιτεί καλή γνώση των παρακάτω εννοιών:
  • Γνώση και εμπειρία της έννοιας της συνάρτησης.
  • Γνώση και εμπειρία της έννοιας της δομής.
  • Κατανόηση του scoping των μεταβλητών.
  • Κατανόηση της διάκρισης ανάμεσα στο call by value και στο call by reference.
Η γνώση αυτών και άλλων εννοιών είναι απαραίτητη ώστε ο μαθητής να αντιληφθεί:
  • σε τι διαφέρει το αντικείμενο από την κλάση του και τι σχέση έχουν πολλά αντικείμενα της ίδιας κλάσης μεταξύ τους. (instantiation).
  • τι ακριβώς σημαίνουν οι δηλωτές "public", "private" και "protected".

Δεδομένου μάλιστα ότι λόγω των καταλήψεων υπάρχουν τμήματα όπου δεν έχουμε καν προλάβει να μιλήσουμε για την if, καταλαβαίνεις ότι ομιλία πέρι κλάσεων σε αυτό επίπεδο είναι σαν να προσπαθεις να αποδείξεις το Bolzano-Weierstrass στον Απειροστικό Ι με χρήση συμπάγειας.

Προσωπικά διαφωνώ με την χρήση της Java στην Πληροφορική Ι και θεωρώ ότι αποτελεί τη χειρότερη δυνατή επιλογή για εισαγωγή στον προγραμματισμό (ίσως μετά το Brainf*ck). Υποχρεωτικά οι μισές γραμμές του κώδικα θα πρέπει να γράφονται παπαγαλία ενώ μπερδεύουμε τους μαθητές με άχρηστη (στα πλαίσια του μαθήματος) πληροφορία. Επειδή ωστόσο δεν επιλέγω εγώ την ύλη του μαθήματος, είμαι υποχρεωμένος να φέρω εις πέρας το μάθημα παρά τις μαθησιακές αντιξοότητες, με την παπαγαλία υποχρεωτικά στο πακέτο (την όποια προσωπικά αποστρέφομαι).

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

_________________
\exists x.\varphi(x) \rightarrow \forall x.\varphi(x)


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 09 Φεβ 2007, 22:44 
Χωρίς σύνδεση
Άβαταρ μέλους

Εγγραφη: 22 Μαρ 2006, 18:10
Δημοσ.: 34
Τοποθεσια: Athens, Galatsi
Δεν διαφωνώ μαζί σου. Ίσα ίσα που συμφωνώ ότι η Java για αρχάριους δεν ενδείκνυται. Όμως είναι απαράδεκτο να κάνουν τα περισσότερα πράγματα παπαγαλία! Για αυτό προσπάθησα στο thread να είμαι όσο πιο απλός γίνεται. Δεν μπορώ να μπω σε βαθιές έννοιες. Θεωρώ όμως ότι πέντε βασικά πράγματα πρέπει να είναι κατανοητά και από τους αρχάριους. Συνεπώς προσπαθώ να βοηθήσω όπως μπορώ. Και φυσικά όσοι πιο πολλοί βοηθάμε τόσο το καλύτερο.

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

Anyway, όλα καλά!! :) :happy:
No problem από τη μεριά μου. Και θα χαρώ να συνεισφέρεις και συ και τα υπόλοιπα παιδιά του forum (και των Labs) στο να γίνει το thread πιο εποικοδομητικό και ενδιαφέρον για όλους αυτούς που δεν θέλουν απλώς να είναι παπαγάλοι. :)

_________________
Εν οίδα ότι ουδέν οίδα


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 09 Φεβ 2007, 23:10 
Χωρίς σύνδεση
Επίτιμος Administrator
Άβαταρ μέλους

Εγγραφη: 18 Φεβ 2006, 22:25
Δημοσ.: 1377
Τοποθεσια: Nowhere Land
Από την άλλη θεωρώ ότι η Java δεν ενδείκνυται γενικώς. Αλλά αυτό είναι άλλη ιστορία :P

Είναι αδύνατον να αποφύγεις την παπαγαλία αν δεν έχεις εξαντλήσει τις βαθιές έννοιες. Χαρακτηριστικό παράδειγμα, για το οποίο ερωτούμαι αρκετές φορές στο μάθημα, είναι η παρακάτω γραμμή, που εμφανίζεται σε κάθε πρόγραμμα του μαθήματος:
Κώδικας:
public static void main(String Args[])

Το public ας υποθέσουμε ότι μπορείς να το εξηγήσεις κάπως με δικά σου λόγια. Το static είναι προβληματικό καθώς θέλει κατανόηση του instantiation, το void μπορείς να το εξηγήσεις από το 5ο μάθημα και μετά που έχουν διδαχθεί οι μεθόδοι, ενώ άντε να εξηγήσεις ότι το String Args[] είναι τα ορίσματα της γραμμής εντολών αποθηκευμένα σε ένα array από strings (τα strings τα αναφέρουμε απλά στο 3ο μάθημα, ενώ τα γενικευμένα arrays είναι εκτός ύλης). Αυτομάτως, βλέπεις ότι το μόνο που θα μπορούσες θεωρητικά να εξηγήσεις από το πρώτο μάθημα είναι η main. Άρα? Παπαγαλία... Και φυσικά δεν συμβαίνει μόνο εκεί.

Φυσικά μια γενικευμένη εισαγωγή στην φιλοσοφία του OO δεν είναι κακή ιδέα, αλλά τονίζω ότι σκοπός του μαθήματος είναι μια εισαγωγή στο procedural programming.

_________________
\exists x.\varphi(x) \rightarrow \forall x.\varphi(x)


Κορυφή
 Προφίλ  
 
Τελευταίες δημοσιεύσεις:  Ταξινόμηση κατά  
Δημιουργία νέου θέματος Απάντηση στο θέμα  [ 10 δημοσιεύσεις ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μελη σε συνδεση

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group