Δείτε τις λύσεις των ερωτήσεων της 4ης εργαστηριακής άσκησης.
Διδάσκων: Μιχάλης Πλεξουσάκης. Γραφείο Β-309, Τηλ: 2810-39-3709, Ε-mail: plex@uoc.gr
Ώρες γραφείου: Τρίτη 11-1, Παρασκευή 11-1 ή με rendez-vous.
Ώρες διαλέξεων: Δευτέρα 11-13, Τετάρτη 13-15, Α201, Α203.
Ώρες εργαστηρίων: Δευτέρα 15-17, Τετάρτη 9-11, Παρασκευή 15-17
e-learning: Σύστημα Διαχείρησης Μάθησης
Εγγραφή στα εργαστήρια: http://doodle.com/poll/gxrnuhy6nqqihycf
Περιγραφή
Το μάθημα ΜΕΜ-104 Γλώσσα Προγραμματισμού Ι απευθύνεται σε φοιτητές με μικρή ή μηδενική εμπειρία στον προγραμματισμό. Φιλοδοξεί να δείξει στο ακροατήριό του το ρόλο που έχουν οι υπολογισμοί στη λύση προβλημάτων και να τους βοηθήσει να γράψουν χρήσιμα προγράμματα γρήγορα. Για να εξυπηρετήσει τους συγκεκριμένους στόχους, επιλέχθηκε η γλώσσα προγραμματισμού Python. Η γλώσσα αυτή γράφτηκε από τον Ολλανδό προγραμματιστή Guido van Rossum στα τέλη της δεκαετίας 1980-90. Η έκδοση 2.0 δημοσιεύτηκε στις 16 Οκτωβρίου 2000 και η έκδοση 3.0, η οποία δεν είναι, εν γένει, συμβατή (compatible) με τις προηγούμενες εκδόσεις, στις 3 Δεκεμβρίου 2008. Για τις ανάγκες του μαθήματος θα χρησιμοποιήσουμε την έκδοση 3.5 αλλά συχνά θα αναφερόμαστε στην Python 2, αν υπάρχουν διαφορές.
Η Python είναι μια γλώσσα προγραμματισμού με απλό συντακτικό, εξαιρετική αναγνωσιμότητα, φορητότητα (portability) και μοντέρνα χαρακτηριστικά
που την κάνουν κατάλληλη ως πρώτη γλώσσα προγραμματισμού. Η επιτυχία της οφείλεται σε μεγάλο βαθμό στο γεγονός ότι είναι ερμηνευόμενη
γλώσσα (interpreted language). Αυτό σημαίνει ότι ο μεταγλωττιστής της Python παράγει ενδιάμεσο κώδικα (bytecode) ο οποίος μπορεί να
εκτελεστεί από τον διερμηνέα (interpreter) σε πολλά διαφορετικά υπολογιστικά περιβάλλοντα. Διερμηνείς για τη γλώσσα Python υπάρχουν για όλα
τα δημοφιλή λειτουργικά συστήματα (Windows, Linux, MacOS). Αν ο προσωπικός σας υπολογιστής χρησιμοποιεί το λειτουργικό σύστημα Linux ή το
MacOS τότε η Python είναι ήδη εγκαταστημένη (βεβαιωθείτε όμως ότι έχετε τον διερμηνέα για την Python 3 γράφοντας python3
στη γραμμή εντολών).
Διαφορετικά, μπορείτε να εγκαταστήσετε το περιβάλλον εργασίας Python με το όνομα Canopy από την ιστοσελίδα της
Enthought.
Οι ελεύθερα προσβάσιμοι υπολογιστές του Τμήματος χρησιμοποιούν το λειτουργικό σύστημα Linux και έχουν, φυσικά, εγκατεστημένο το διερμηνέα για την Python 3. Περιέχουν επίσης, το κέλυφος IDLE, δηλαδή έναν διαδραστικό διερμηνέα της Python με ενσωματωμένο κειμενογράφο. Τα εργαστήρια του μαθήματος θα γίνονται σε αυτά τα υπολογιστικά συστήματα, αλλά μπορείτε να χρησιμοποιείτε τον δικό σας φορητό υπολογιστή.
Διδακτικό υλικό
Τα παρακάτω βιβλία, διαθέσιμα από την Ηλεκτρονική υπηρεσία διαχείρισης συγγραμμάτων Εύδοξος, είναι προτεινόμενα βοηθήματα για το μάθημα:
- Υπολογισμοί και Προγραμματισμός με την Python, John V. Guttag. Εκδόσεις Κλειδάριθμος ΕΠΕ. 1η έκδοση, 2015. Κωδικός Βιβλίου στον Εύδοξο: 50656350.
- Μαθαίνετε εύκολα python, Δημήτριος Καρολίδης. Εκδόσεις Καρολίδη, 2016.
- Ξεκινώντας με την Python, Tony Gaddis. Εκδότης Da Vinci Μ.Ε.Π.Ε., 1η έκδοση 2014. Κωδικός Βιβλίου στον Εύδοξο: 41955494.
- Εισαγωγή στους Υπολογιστές με τη γλώσσα Python, Νικόλαος Αβούρης, Κυριάκος Σγράμπας, Βασίλειος Πάλιουρας, Μιχαήλ Κούκιας. Εκδότης Εταιρεία Αξιοποίησης και Διαχείρισης Περιουσίας Πανεπιστημίου Πατρών, 2η έκδοση 2013. Κωδικός Βιβλίου στον Εύδοξο: 33154040.
- Εισαγωγή στον προγραμματισμό με αρωγό τη γλώσσα Python, Γεώργιος Μάνης. Εκδότης Ελληνικά Ακαδημαϊκά Ηλεκτρονικά Συγγράμματα και Βοηθήματα - Αποθετήριο "Κάλλιπος", 2016 (ηλεκτρονικό βιβλίο). Κωδικός Βιβλίου στον Εύδοξο: 320152
- Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με Python, Κωνσταντίνος Μαγκούτης, Χρήστος Νικολάου. Εκδότης Ελληνικά Ακαδημαϊκά Ηλεκτρονικά Συγγράμματα και Βοηθήματα - Αποθετήριο "Κάλλιπος", 2016 (ηλεκτρονικό βιβλίο). Κωδικός Βιβλίου στον Εύδοξο: 320102.
- Python Scripting for Computational Science, Hans Peter Langtangen. Εκδότης Heal-Link/Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών, 2η έκδοση 2006 (ηλεκτρονικό βιβλίο). Κωδικός Βιβλίου στον Εύδοξο: 174838.
- Beginning Python, Magnus Lie Hetland. Εκδότης Heal-Link/Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών (ηλεκτρονικό βιβλίο). Κωδικός Βιβλίου στον Εύδοξο: 170352.
Καλές αναφορές στο λειτουργικό σύστημα Unix/Linux αποτελούν τα ηλεκτρονικά συγγράμματα Unix Tutorial for Beginners, η μετάφρασή του στα Ελληνικά Μαθήματα Unix για αρχάριους και οι σημειώσεις Εισαγωγή στο λειτουργικό σύστημα Linux του διδάσκοντα.
Αξιολόγηση
Ο βαθμός του μαθήματος B θα υπολογιστεί από τον βαθμό του τελικού διαγωνίσματος T και τον μέσο όρο των εργαστηριακών ασκήσεων E σύμφωνα με τον τύπο
B = 0.4 * E + 0.6 * T, αν T > 3, αλλιώς B = T
Ο ίδιος τύπος υπολογισμού του τελικού βαθμού ισχύσει και για την εξεταστική περίοδο του Σεπτεμβρίου καθώς και για κάθε εμβόλιμη εξεταστική που μπορεί να δοθεί.
Οι εργαστηριακές εξετάσεις του μαθήματος θα πραγματοποιηθούν τις ακόλουθες ημερομηνίες: 17-21 Οκτωβρίου, 31/10-4 Νοεμβρίου,
21-25 Νοεμβρίου και 5-9 Δεκεμβρίου. Τυχόν αλλαγές θα γίνουν γνωστές εγκαίρως.
Οσοι έχουν εργαστηριακό βαθμό σε γλώσσα προγραμματισμού Python από προηγούμενο εξάμηνο (χειμερινό εξάμηνο του 2014-15 ή του 2015-16 μόνο),
μπορούν να τον διατηρήσουν. Θα πρέπει να ενημερώσουν ηλεκτρονικά τον διδάσκοντα στέλνοντας το ονοματεπώνυμο τους, τον ΑΜ, το βαθμό τους
και τη χρονιά που εξετάστηκαν.
Ανακοινώσεις
Η εξέταση της 3ης εργαστηριακής άσκησης θα γίνει την Τετάρτη 7 Δεκεμβρίου κατά την ώρα του μαθήματος (13-15). Η εξέταση της 4ης εργαστηριακής άσκησης θα γίνει την Παρασκευή 9 Δεκεμβρίου την ώρα του εργαστηρίου (15-17).
Λίστες. Δείτε το 8ο φυλλάδιο ασκήσεων και τις λύσεις τους.
Δείτε τις λύσεις των ερωτήσεων της 2ης εργαστηριακής άσκησης.
Η εξέταση της 2ης εργαστηριακής άσκησης θα γίνει, ΓΙΑ ΟΛΟΥΣ τους φοιτητές, τη Δευτέρα 21 Νοεμβρίου ξεκινώντας στις 11.00. Οι φοιτητές που παρακολουθούν το εργαστήριο της Δευτέρας παρακαλούνται να έρθουν στα εργαστήρια της Τετάρτης ή της Παρασκευής.
Πλειάδες. Δείτε το 7ο φυλλάδιο ασκήσεων.
Δείτε τις λύσεις των ασκήσεων της 1ης εργαστηριακής άσκησης.
Την Παρασκευή 9 Δεκεμβρίου θα δοθεί συμπληρωματική εξέταση για όσους θα ήθελαν να βελτιώσουν το βαθμό τους στις εργαστηριακές ασκήσεις. Ο βαθμός σε αυτή την εξέταση θα μπορούσε να αντικαταστήσει ένα μόνο βαθμό σε προηγούμενη εργαστηριακή εξέταση.
Το μάθημα της 19ης Οκτωβρίου θα γίνει στο εργαστήριο Γ-109.
Από τη Δευτέρα 10 Οκτωβρίου, τα εργαστήρια του μαθήματος γίνονται δίωρα, με ώρες έναρξης όλων των τμημάτων τη Δευτέρα στις 3, την Τετάρτη στις 9 και την Παρασκευή στις 3.
Την Τετάρτη 12 Οκτωβρίου, την ώρα του μαθήματος θα γίνει η δοκιμή για τον τρόπο εξέτασης των εργαστηριακών ασκήσεων. Βεβαιωθείτε ότι γνωρίζετε τον κωδικό πρόσβασης.
Από τη Δευτέρα 26/9, τα εργαστήρια της Δευτέρας και της Παρασκευής θα γίνονται πλέον 3-5 το απόγευμα. Μην ξεχάσετε να δηλώσετε ώρες εργαστηρίου χρησιμοποιώντας τον σύνδεσμο στην κορυφή της σελίδας.
Οι διαλέξεις της πρώτης εβδομάδας μαθημάτων θα γίνουν στα εργαστήρια Γ-105, Γ-107, Γ-109 του τμήματος. Το εργαστήριο της Τετάρτης δεν θα γίνει.
Ημερολόγιο μαθήματος
Συμπερίληψη λίστας. Γραφικές παραστάσεις. Δείτε τις σημειώσεις για τη διάλεξη της 5ης Δεκεμβρίου.
Αρχεία. Δείτε τις σημειώσεις για τη διάλεξη της 28ης Νοεμβρίου.
Ακολουθίες. Μέθοδοι για ακολουθίες. Μορφοποίηση εξόδου. Δείτε τις σημειώσεις για τη διάλεξη της 23ης Νοεμβρίου.
Δεν έγινε μάθημα λόγω εργαστηριακής άσκησης.
Λίστες. Δείτε τις σημειώσεις για τη διάλεξη της 16ης Νοεμβρίου.
Συναρτήσεις. Δείτε τις σημειώσεις για τη διάλεξη της 14ης Νοεμβρίου.
Συναρτήσεις. Δείτε τις σημειώσεις για τη διάλεξη της 9ης Νοεμβρίου.
Συναρτήσεις. Δείτε τις σημειώσεις για τη διάλεξη της 2ας/7ης Νοεμβρίου.
Συναρτήσεις. Δείτε τις σημειώσεις για τη διάλεξη της 31ης Οκτωβρίου.
Συναρτήσεις. Δείτε το 5ο φυλλάδιο ασκήσεων.
Συναρτήσεις. Δείτε τις σημειώσεις για τη διάλεξη της 24ης/26ης Οκτωβρίου.
Μερικές σημειώσεις για το Linux.
Δείτε τις σημειώσεις για τη διάλεξη της 17ης Οκτωβρίου.
Δοκιμές για την διαδικασία των εργαστηριακών ασκήσεων.
Ασκήσεις πάνω σε ανακυκλώσεις και διακλαδώσεις. Δείτε τις σημειώσεις για την διάλεξη της 10ης Οκτωβρίου. Τα προγράμματα binsearch.py, christmas.py, dna.py, mastermind.py, max.py, robot.py και sudoku.py.
Μερικές ασκήσεις στις εντολές ανακύκλωσης.
Εντολές ανακύκλωσης. Η εντολή for. Δείτε τις σημειώσεις για την διάλεξη της 5ης Οκτωβρίου.
Εντολές ανακύκλωσης. Η εντολή while. Δείτε τις σημειώσεις για την διάλεξη της 3ης Οκτωβρίου.
Μερικές ασκήσεις στην είσοδο δεδομένων.
Μερικές ασκήσεις πάνω στις εντολές διακλάδωσης της Python.
Εντολές διακλάδωσης. Ακολουθίες χαρακτήρων και είσοδος δεδομένων. Δείτε τις σημειώσεις για τις διαλέξεις της 26ης/28ης Σεπτεμβρίου.
Μερικές απλές ασκήσεις που μπορούν να λυθούν με λίγες εντολές της Python.
Αντικείμενα, εκφράσεις, αριθμητικοί τύποι. Μεταβλητές. Δείτε τις σημειώσεις για τις διαλέξεις της 19ης/21ης Σεπτεμβρίου.