Εισαγωγή στον Προγραμματισμό

Διδάσκων: Μιχάλης Πλεξουσάκης. Γραφείο: B-309, Τηλ: 281.039.3709, e-mail: plex@tem.uoc.gr
Ώρες γραφείου: Τρίτη 11-13, Πέμπτη 11-13 ή με rendez-vous.

Ώρες διαλέξεων: Δευτέρα, Τετάρτη 9-11, Α-203
Ώρες εργαστηρίων/ασκήσεων: Τρίτη 9-11, Πέμπτη 9-11, Παρασκευή 9-11

Δομή και λειτουργία ηλεκτρονικών υπολογιστών. Βασικές αρχές προγραμματισμού με τη γλώσσα Python. Δομή και βασικά στοιχεία της γλώσσας. Εργαστήρια: Το λειτουργικό σύστημα Linux. Κειμενογράφοι. Το ηλεκτρονικό ταχυδρομείο και το διαδίκτυο. Σελιδομετρητές και μηχανές αναζήτησης. Εργαστηριακές ασκήσεις στη γλώσσα προγραμματισμού Python.

Διδακτικό υλικό

Για τις ανάγκες του μαθήματος θα χρησιμοποιηθεί το ηλεκτρονικό σύγγραμμα Beginning Python. From Novice to Professional, του Magnus Lie Hetland, το οποίο διατίθεται ελεύθερα μέσω της υπηρεσίας συγγραμμάτων Εύδοξος. Το ηλεκτρονικό σύγγραμμα Python Scripting for Computational Science, του Hans Petter Langtangen, το οποίο επίσης διατίθεται ελεύθερα μέσω της υπηρεσίας Εύδοξος, δεν αποτελεί εγχειρίδιο της γλώσσας Python αλλά απευθύνεται σε ερευνητές στις υπολογιστικές επιστήμες ή προγραμματιστές με επαρκή γνώση της γλώσσας.

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

Οι παρακάτω σύνδεσμοι αποτελούν πηγές πληροφοριών για την γλώσσα Python στα Ελληνικά:

Στην ιστοσελίδα http://www.tem.uoc.gr/~plex/tem101-Fall2010/linux01.html θα βρείτε μια σύντομη εισαγωγή στο λειτουργικό σύστημα Linux.

Εγκατάσταση περιβάλλοντος εργασίας Python σε προσωπικό υπολογιστή

Αν ο προσωπικός υπολογιστής χρησιμοποιεί το λειτουργικό σύστημα Linux ή OS X τότε μάλλον έχετε ήδη εγκαταστημένo κάποιο περιβάλλον εργασίας για τη γλώσσα. Σε οποιαδήποτε περίπτωση, γράψτε στη γραμμή εντολών python για να το ελέγξετε. Αν θέλετε να εγκαταστήσετε στον προσωπικό υπολογιστή σας ένα περιβάλλον εργασίας για την γλώσσα Python ακολουθήστε τις οδηγίες που περιέχονται στην ιστοσελίδα https://www.enthought.com/products/canopy/. Η Python είναι ήδη εγκαταστημένη στους υπολογιστές των εργαστηρίων του Τμήματος.

Αξιολόγηση

Ο βαθμός, Β, του μαθήματος θα υπολογιστεί από τον τύπο B = 0.35 * E + 0.65 * T. Εδώ, E είναι ο μέσος όρος των εργαστηριακών ασκήσεων και T ο βαθμός στο τελικό διαγώνισμα. Ο ίδιος τύπος υπολογισμού του βαθμού του μαθήματος ισχύει και για την εξεταστική περίοδο του Σεπτεμβρίου.

Ανακοινώσεις

Το πρόγραμμα christmas.py τυπώνει ένα χριστουγεννιάτικο δένδρο με ή χωρίς στολίδια. Το πρόγραμμα verbs.py τυπώνει ένα ρήμα στο 3ο πρόσωπο. Το πρόγραμμα rot13.py κωδικοποιεί ένα μήνυμα αντικαθιστώντας κάθε γράμμα του μηνύματος με το γράμμα που βρίσκεται 13 θέσεις μετά στο αλφάβητο.

Το αρχείο python-lists.pdf είναι μια συνοπτική περιγραφή της δομής δεδομένων list της Python.

Δείτε την 1η εργαστηριακή άσκηση του μαθήματος. Ημερομηνία παράδοσης: 30 Οκτωβρίου 2013, 09:15. Η 2η εργαστηριακή άσκηση θα δωθεί στη διάρκεια των εργαστηρίων της εβδομάδας 29 Οκτ.-01 Νοε.

Οι εγγραφές στα εργαστήρια του μαθήματος θα γίνουν τη Δευτέρα 14 Οκτωβρίου. Επιλέξτε μία μόνο από τις ώρες Τρίτη 9-10, Τρίτη 10-11, Πέμπτη 9-10, Πέμπτη 10-11, Παρασκευή 9-10, Παρασκευή 10-11.

Οι φοιτητές παλαιότερων ετών που θα εγγραφούν στο μάθημα ΤΕΜ-101 έχουν τη δυνατότητα, αν θέλουν, να εξεταστούν στο τέλος του εξαμήνου πάνω στην ύλη του μαθήματος όπως αυτό διδάχθηκε το χειμερινό εξάμηνο 2012-13. Ο βαθμός του μαθήματος θα υπολογιστεί με τον τρόπο που αναγράφεται παραπάνω.

Ημερολόγιο μαθήματος

Επαναληπτικές ασκήσεις.

Επαναληπτικές ασκήσεις.

Επαναληπτικές ασκήσεις.

Μέθοδοι ταξινόμησης. Η μέθοδος bubble-sort.

Επανάληψη. Η δομή δεδομένων list.

Αρχεία (συνέχεια).

Αρχεία.

Προκαθορισμένα ορίσματα συναρτήσεων.

Αναδρομικές συναρτήσεις. Η συνάρτηση παραγοντικό. Μέθοδος δυαδικής αναζήτησης.

Συναρτήσεις. Ορισμός, παραδείγματα.

Λεξικά (dictionaries). Μορφοποιημένη έξοδος (formatted output). Παραδείγματα.

Δεν έγινε μάθημα λόγω αργίας.

Η εντολή ανακύκλωσης for. Παραδείγματα. List comprehension.

Λογικοί τελεστές. Προτεραιότητα. Η εντολή ανακύκλωσης while. Παραδείγματα.

Διατεταγμένες λίστες (tuples). Ο τύπος bool. Τελεστές σύγκρισης. Η εντολή ελέγχου if-elif-else. Παραδείγματα.

Δεν έγινε μάθημα λόγω αργίας.

Λίστες, συνέχεια.

Συμβολοσειρές (συνέχεια). Ακολουθίες (sequences) στην Python. Η δομή δεδομένων list. Διάνυση λιστών. Συναρτήσεις πάνω σε λίστες. Παραδείγματα.

Μετατροπές μεταξύ τύπων. Συμβολοσειρές (strings).

Μεταβλητές (συνέχεια). Οι τύποι int, long, float, complex. Οι τελεστές +=, -=, *=, /=. Μαθηματικές συναρτήσεις. Τα modules math και cmath. Παραδείγματα.

Ο μεταφραστής της Python ως αριθμομηχανή. Αριθμητικοί τελεστές και προτεραιότητα. Ακέραιοι, αριθμοί κινητής υποδιαστολής και μιγαδικοί αριθμοί. Μεταβλητές. Η συνάρτηση input(). Απλά προγράμματα στην Python.

Καλωσόρισμα. Γνωριμία με το λειτουργικό σύστημα Linux. Εντολές του Linux. Το περιβάλλον Python.