ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΙΙ

ΜΕΜ 107 - Εαρινό 2016



Γενικές πληροφορίες

Διδάσκων (Τμήμα Α): Παναγιώτης Χατζηπαντελίδης
Διδάσκων (Τμήμα Β): Ευάγγελος Χαρμανδάρης
Γραφείο: Ε 318, Κτήριο Μαθηματικού Γραφείο: Β 322, Κτήριο Μαθηματικού
Τηλ: 2810-393871
Τηλ: 2810-393735
Email:  p.chatzipa AT uoc dot gr Email: harman AT uoc dot gr
Web page: http://www.math.uoc.gr/~chatzipa
Web page: http://www.tem.uoc.gr/~vagelis
Ώρες γραφείου:
Ώρες γραφείου:

  • Ώρα και αίθουσα διδασκαλίας: 
    • Δευτέρα  9:00πμ - 11:00πμ, Αμφ Α201 και Α203 (κτήριο Μαθηματικού)
    • Τετάρτη 12:00μμ-1:00μμ,  Αμφ Α201 και Α203 (κτήριο Μαθηματικού)
  • Ασκήσεις - Εργαστήρια:  
    • Τετάρτη 1:00μμ - 3:00μμ   Γ105, Γ107, Γ109 (Πτέρυγα Γ)
    • Πέμπτη  10:00πμ -  1:00μμ  Γ105, Γ107, Γ109 (Πτέρυγα Γ)
                                       



Περιγραφή μαθήματος

Βασικοί αλγόριθμοι και η υλοποίηση τους, (γραμμική αναζήτηση, δυαδική αναζήτηση, ταξινόμηση). Εισαγωγή και εφαρμογές της δομής class της γλώσσας Python. Η βιβλιοθήκη numpy και εφαρμογές όπως η επίλυση γραμμικών συστημάτων, γραφικές παραστάσεις σε 2 και 3 διαστάσεις, ιστογράμματα, τυχαίοι αριθμοί, γράφοι.

Εργαστήρια: Εργαστηριακές ασκήσεις στη γλώσσα προγραμματισμού Python.



Γιατί Python;

    Η Python είναι μια αντικειμενοστραφής scripting γλώσσα που δημιουργήθηκε από τον Guido Van Rossum το 1991. Είναι η γλώσσα που σύμφωνα με τον δημιουργό της έχει φτιαχτεί για να είναι ευχάριστη και να παρέχει μηχανισμούς που διευκολύνουν τον προγραμματισμό, αλλά ταυτόχρονα να είναι και αναγνώσιμη. Πρόσφατα κάποιος είχε πει για την Python: “αν κάποιος ζητάει ταχύτητα και άπειρες βιβλιοθήκες, μπορεί να προγραμματίσει σε Perl. Αν κάποιος απαιτεί δυνατό Object-Oriented προγραμματισμό και Business Integration, τότε μπορεί χρησιμοποιήσει την Ruby. Την Python μπορεί να την χρησιμοποιήσει κάποιος που θέλει να γράφει όμορφα προγράμματα, που θα μπορεί να τα διαβάσει και να τα τροποποιήσει μετά από πολύ καιρό, χωρίς να πρέπει να σχολιάζει κάθε γραμμή”.


Εγκατάσταση Python στον υπολογιστή σας
  • Η Python είναι ενσωματωμένη (συνήθως) σε όλες τις υλοποιήσεις του Linux (Ubuntu, Fedora κλπ)
  • Μπορείτε να την εγκαταστήσετε στα συνηθισμένα λειτουργικά συστήματα (Windows, Linux, MacOS) π.χ. από την ιστοσελίδα της Python.org, της  Enthought (Canopy Express) ή της  Continuum (Anaconda).
  • Όσοι επιθυμήτε να εγκαταστήσετε το λειτουργικό σύστημα Linux, παράλληλα με το λειτουργικό σύστημα των Windows, μπορείτε να εγκαταστήσετε μια εικονική μηχανή (Virtual machine) Linux στον Η/Υ σας. Για να το κάνετε αυτό μπορείτε να κατεβάσετε το πρόγραμμα VirtualBox της Oracle (από εδώ). Αφού τρέξετε το πρόγραμμα VirtualBox στον Η/Υ, εγκαταστήστε την εικονική μηχανή (που βρίσκεται εδώ, σε συμπιεσμένη μορφή), επιλέγοντας από το Menu εντολών Machine την προσθήκη μηχανής (Add Machine). Μετά θα εμφανιστεί στις υπαρχουσες μηχανές η μηχανή Linux_VM. Επιλέγεται το start για να ξεκινήσει η μηχανή  Linux_VM. Μετά από λίγο  θα εμφανιστεί  το  login  περιβάλλον  του  Linux,  με   Username: archimides. Κάνετε login με password το username.



Βιβλία σε ηλεκτρονικη μορφή:
      • Beginning Python. From Novice to Professional. (Magnus Lie Hetland). Κωδικός Βιβλίου στον Εύδοξο: 170352. (Το βιβλίο είναι διαθέσιμο στην παραπάνω διεύθυνση. Η πρόσβαση στην διεύθυνση αυτή επιτρέπεται μόνο σε χρήστες που συνδέονται μέσω του Ακαδημαικού δικτύου)
      • Python Scripting for Computational Science (Langtangen, Hans Petter). Κωδικός Βιβλίου στον Εύδοξο: 174838. (Το βιβλίο είναι διαθέσιμο στην παραπάνω διεύθυνση. Η πρόσβαση στην διεύθυνση αυτή επιτρέπεται μόνο σε χρήστες που συνδέονται μέσω του Ακαδημαικού δικτύου)
      • Οδηγός Εκμάθησης Python Βήμα Βήμα (Dimitris Leventeas).
      • A byte of Python



    Εργαστηριακός Βαθμός:

        Κατά τη διάρκεια του εξαμήνου θα πραγματοποιηθούν 3 εργαστηριακές εξετάσεις. Ο μέσος όρος των εργαστηριακών εξετάσεων θα είναι ο εργαστηριακός βαθμός του μαθημάτος (Ε). Οι εξετάσεις θα γίνουν στις 9-10 Μαρτίου, 6-7 Απριλίου και 18-19 Μαίου.

    Βαθμός Τελικής Εξέτασης

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

    Β = 0.4 * E + 0.6 * T, αν Τ>3, αλλιώς Β = Τ.


    Βαθμός Bonus

         Κατά τη διάρκεια του εξαμήνου την ώρα των εργαστηρίων του μαθήματος θα σας δοθούν μικρές προγραμματιστικές ασκήσεις. Μερικές από αυτές, θα σας ζητηθεί να υποβάλλετε ηλεκτρονικά. Ο μέσος όρος αυτών των μικρών ασκήσεων θα αποτελέσει το βαθμό bonus του μαθήματος. Ο βαθμός bonus των εβδομαδιαίων εργαστηρίων θα μετρήσει μόνο αν Β>5.

    Τελικός Βαθμός

         Έτσι ο τελικός βαθμός του μαθήματος (ΤΒ) θα υπολογιστεί από τον τύπο

    ΤB = min{10, 0.15*bonus+Β}, αν Β>5, αλλιώς ΤΒ=Β.

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

    Παρατήρηση

         Οσοι έχουν εργαστηριακό βαθμό σε γλώσσα προγραμματισμού python από προηγούμενο εξάμηνο (εαρινό εξάμηνο του 2013-14 ή του 2014-15 μόνο), μπορούν να τον διατηρήσουν. Θα πρέπει να ενημερώσουν ηλεκτρονικά τους διδάσκοντες, στέλνοντας το ονοματεπώνυμο τους, τον ΑΜ, το βαθμό τους και τη χρονιά που εξετάστηκαν.

    Εξαιρέσεις από το βαθμολογικό σύστημα

         Σε εξαιρετικές περιπτώσεις, και πάντα με πλήρη αιτολόγηση του γιατί ζητάει κάποιος να εξαιρεθεί από τις εξετάσεις και τα εργαστήρια του εξαμήνου, θα μπορεί κάποιος να ζητήσει να εξεταστεί μόνο μέσα στην εξεταστική περίοδο, σε ειδική εξέταση, πάνω στον υπολογιστή, όπου θα έχει να γράψει προγράμματα και να λύσει ασκήσεις ανάλογης δυσκολίας και ποσότητας με αυτές του εξαμήνου. Αν επιθυμείτε να εξεταστείτε με αυτό τον τρόπο θα πρέπει να κάνετε αίτηση γι' αυτό μέχρι και την Παρασκευή 4/3/2016, στέλνοντας e-mail στους διδάσκοντες. Στην αίτησή σας θα πρέπει να εξηγείτε λεπτομερώς και με στοιχεία το γιατί δε μπορείτε να εξετάζεστε κατά τη διάρκεια του εξαμήνου. Το αν γίνει δεκτή η αίτησή σας θα το γνωρίζετε μερικές μέρες μετά και πάντως πριν από την πρώτη εργαστηριακή άσκηση. Αιτήσεις που στέλνονται μετά την ημερομηνία αυτή δε θα γίνονται δεκτές.

    Ενδιαφέροντα links




    Ηράκλειο, 9/2/2016