Εισαγωγή στον Προγραμματισμό Υπολογιστών (3125)
Αντώνης Δημάκης
Το μάθημα Εισαγωγή στον Προγραμματισμό Υπολογιστών διδάσκεται στο 1ο εξάμηνο του προπτυχιακού προγράμματος σπουδών του Τμήματος Πληροφορικής. Είναι υποχρεωτικό μάθημα του πυρήνα πληροφορικής του προγράμματος σπουδών.
Είναι εισαγωγικό μάθημα στον προγραμματισμό και έχει ως σκοπό να γνωρίσει ο πρωτοετής φοιτητής θεμελιώδεις έννοιες δόμησης προγραμμάτων όπως συναρτήσεις, δεδομένα, ελέγχο ροής εκτέλεσης, επαναληπτικούς και αναδρομικούς υπολογισμούς, προγραμματισμό με αντικείμενα, και βασικό χειρισμό αρχείων.
Καθώς η γλώσσα προγραμματισμού που χρησιμοποιείται στα πλαίσια του μαθήματος είναι η Python, οι φοιτητές θα εξοικειωθούν με τα βασικά στοιχεία της.
- Περιγραφή υπολογισμών
- συναρτήσεις
- επαναληπτικοί υπολογισμοί
- συναρτήσεις υψηλότερου επιπέδου
- αναδρομικοί υπολογισμοί
- Περιγραφή πληροφορίας
- αφηρημένα δεδομένα
- ακολουθίες
- μεταλλασσόμενα δεδομένα (mutable data)
- Στοιχεία αντικειμενοστραφούς προγραμματισμού
- αντικείμενα & τάξεις
- κληρονομικότητα, πολυμορφισμός
- Χειρισμός ειδικών καταστάσεων με εξαιρέσεις (exceptions)
- Χειρισμός αρχείων, συσκευών εισόδου/εξόδου
- Ροές (streams)
- Διερμηνεία προγραμμάτων (*αν υπάρξει χρόνος)
Το μάθημα Εισαγωγή στον Προγραμματισμό Υπολογιστών διδάσκεται στο 1ο εξάμηνο του προπτυχιακού προγράμματος σπουδών του Τμήματος Πληροφορικής. Είναι υποχρεωτικό μάθημα του πυρήνα πληροφορικής του προγράμματος σπουδών.
Είναι εισαγωγικό μάθημα στον προγραμματισμό και έχει ως σκοπό να γνωρίσει ο πρωτοετής φοιτητής θεμελιώδεις έννοιες δόμησης προγραμμάτων όπως συναρτήσεις, δεδομένα, ελέγχο ροής εκτέλεσης, επαναληπτικούς και αναδρομικούς υπολογισμούς, προγραμματισμό με αντικείμενα, και βασικό χειρισμό αρχείων.
Καθώς η γλώσσα προγραμματισμού που χρησιμοποιείται στα πλαίσια του μαθήματος είναι η Python, οι φοιτητές θα εξοικειωθούν με τα βασικά στοιχεία της.
- Περιγραφή υπολογισμών
- συναρτήσεις
- επαναληπτικοί υπολογισμοί
- συναρτήσεις υψηλότερου επιπέδου
- αναδρομικοί υπολογισμοί
- Περιγραφή πληροφορίας
- αφηρημένα δεδομένα
- ακολουθίες
- μεταλλασσόμενα δεδομένα (mutable data)
- Στοιχεία αντικειμενοστραφούς προγραμματισμού
- αντικείμενα & τάξεις
- κληρονομικότητα, πολυμορφισμός
- Χ
Το μάθημα Εισαγωγή στον Προγραμματισμό Υπολογιστών διδάσκεται στο 1ο εξάμηνο του προπτυχιακού προγράμματος σπουδών του Τμήματος Πληροφορικής. Είναι υποχρεωτικό μάθημα του πυρήνα πληροφορικής του προγράμματος σπουδών.
Είναι εισαγωγικό μάθημα στον προγραμματισμό και έχει ως σκοπό να γνωρίσει ο πρωτοετής φοιτητής θεμελιώδεις έννοιες δόμησης προγραμμάτων όπως συναρτήσεις, δεδομένα, ελέγχο ροής εκτέλεσης, επαναληπτικούς και αναδρομικούς υπολογισμούς, προγραμματισμό με αντικείμενα, και βασικό χειρισμό αρχείων.
Καθώς η γλώσσα προγραμματισμού που χρησιμοποιείται στα πλαίσια του μαθήματος είναι η Python, οι φοιτητές θα εξοικειωθούν με τα βασικά στοιχεία της.
- Περιγραφή υπολογισμών
- συναρτήσεις
- επαναληπτικοί υπολογισμοί
- συναρτήσεις υψηλότερου επιπέδου
- αναδρομικοί υπολογισμοί
- Περιγραφή πληροφορίας
- αφηρημένα δεδομένα
- ακολουθίες
- μεταλλασσόμενα δεδομένα (mutable data)
- Στοιχεία αντικειμενοστραφούς προγραμματισμού
- αντικείμενα & τάξεις
- κληρονομικότητα, πολυμορφισμός
- Χ
Περίγραμμα
Περιεχόμενο μαθήματος
- Περιγραφή υπολογισμών
- συναρτήσεις
- επαναληπτικοί υπολογισμοί
- συναρτήσεις υψηλότερου επιπέδου
- αναδρομικοί υπολογισμοί
- Περιγραφή πληροφορίας
- αφηρημένα δεδομένα
- ακολουθίες
- μεταλλασσόμενα δεδομένα (mutable data)
- Στοιχεία αντικειμενοστραφούς προγραμματισμού
- αντικείμενα & τάξεις
- κληρονομικότητα, πολυμορφισμός
- Χειρισμός ειδικών καταστάσεων με εξαιρέσεις (exceptions)
- Χειρισμός αρχείων, συσκευών εισόδου/εξόδου
- Ροές (streams)
- Διερμηνεία προγραμμάτων (*αν υπάρξει χρόνος)
Εκπαιδευτικές Δραστηριότητες
Διαλέξεις: 9-11 Τρίτη & Παρασκευή στο αμφιθέατρο Β
Εργαστήρια:
Τμήμα
Ημέρα & ώρα
Διδάσκων
Αίθουσα
0
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
1
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
2
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
3
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
4
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
5
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
6
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
7
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ
Ασκήσεις: 4 ή 5 σειρές ασκήσεων διάρκειας περίπου 2 εβδομάδων η καθεμία
Εργαστηριακή εξέταση: προγραμματιστική εξέταση στο χώρο των εργαστηρίων, Η εργαστηριακή εξέταση όλων των φοιτητών θα γίνει την τελευταία εβδομάδα μαθημάτων.
Τελική εξέταση: γραπτή εξέταση που περιλαμβάνει συγγραφή προγράμματος (στο χαρτί - όχι σε Η/Υ) κατά τη διάρκεια της εξεταστικής περιόδου Οι ημ/νίες των εξετάσεων ανακοινώνονται στην κεντρική σελίδα του ΟΠΑ.
Συγγράμματα
Διανομή από Σύστημα Εύδοξος:
Ελεύθερη διανομή από διαδίκτυο:
1.Εισαγωγή στον προγραμματισμό με την Python, Ν. Α. Αγγελιδάκης, 2015
2.Εισαγωγή στον Προγραμματισμό με αρωγό τη γλώσσα Python, Γ. Μανής, 2015
Η δομή και παρουσίαση της ύλης βασίζεται στα δύο πρώτα κεφάλαια του ηλεκτρονικού σύγγραμματος (στα αγγλικά):
Composing Programs, John DeNero, 2015: βασισμένο με τη σειρά του στο Structure and Interpretation of Computer Programs, Abelson, Sussman & Sussman, 1979 [online έκδοση]Ανθρώπινο Δυναμικό
Διδάσκων:
Αντώνης Δημάκης (dimakis@aueb.gr)
γραφείο: Τροίας 2, 506, 5ος όροφος
Ώρες γραφείου: Τρίτη 1-3, Παρασκευή 1-3 (και online μέσω MS Teams)
Διδάσκοντες εργαστηρίων:
Χρήστος Καλέργης (xsk@aueb.gr)
Μαρία Τογαντζή (mst@aueb.gr)
Μελίνα Ραπτάκη (mraptaki@aueb.gr)
Ευάγγελος Κολυβάς (ekolyvas@aueb.gr)
Χριστόδουλος Σαντοριναίος
Διορθωση ασκήσεων
η διδακτική ομάδα και επιπλέον διορθωτές
Τρόποι αξιολόγησης / εξέτασης
Ο τελικός βαθμός στα μάθημα προκύπτει κατά 60% από τον βαθμό στην εξεταστική περίοδο Ιανουαρίου, κατά 30% από τον βαθμό των ασκήσεων και κατά 10% από τον βαθμό στην εργαστηριακή εξέταση (η οποία πραγματοποιείται κατά την τελευταία εβδομάδα μαθημάτων).
Μέθοδοι διδασκαλίας
Αυτό το εξάμηνο όλες οι διαλέξεις και τα εργαστήρια θα γίνουν αποκλειστικά δια ζώσης.
- Περιγραφή υπολογισμών
- συναρτήσεις
- επαναληπτικοί υπολογισμοί
- συναρτήσεις υψηλότερου επιπέδου
- αναδρομικοί υπολογισμοί
- Περιγραφή πληροφορίας
- αφηρημένα δεδομένα
- ακολουθίες
- μεταλλασσόμενα δεδομένα (mutable data)
- Στοιχεία αντικειμενοστραφούς προγραμματισμού
- αντικείμενα & τάξεις
- κληρονομικότητα, πολυμορφισμός
- Χειρισμός ειδικών καταστάσεων με εξαιρέσεις (exceptions)
- Χειρισμός αρχείων, συσκευών εισόδου/εξόδου
- Ροές (streams)
- Διερμηνεία προγραμμάτων (*αν υπάρξει χρόνος)
Διαλέξεις: 9-11 Τρίτη & Παρασκευή στο αμφιθέατρο Β
Εργαστήρια:
Τμήμα |
Ημέρα & ώρα |
Διδάσκων |
Αίθουσα |
|
|
0 |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
||
1 |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
|
|
2 |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
|
|
3 |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
|
|
4 |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
|
|
5 |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
|
|
6 |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
|
|
7 |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
ΘΑ ΑΝΑΚΟΙΝΩΘΟΥΝ |
|
Ασκήσεις: 4 ή 5 σειρές ασκήσεων διάρκειας περίπου 2 εβδομάδων η καθεμία
Εργαστηριακή εξέταση: προγραμματιστική εξέταση στο χώρο των εργαστηρίων, Η εργαστηριακή εξέταση όλων των φοιτητών θα γίνει την τελευταία εβδομάδα μαθημάτων.
Τελική εξέταση: γραπτή εξέταση που περιλαμβάνει συγγραφή προγράμματος (στο χαρτί - όχι σε Η/Υ) κατά τη διάρκεια της εξεταστικής περιόδου Οι ημ/νίες των εξετάσεων ανακοινώνονται στην κεντρική σελίδα του ΟΠΑ.
Ελεύθερη διανομή από διαδίκτυο:
Διδάσκων: |
Αντώνης Δημάκης (dimakis@aueb.gr) γραφείο: Τροίας 2, 506, 5ος όροφος Ώρες γραφείου: Τρίτη 1-3, Παρασκευή 1-3 (και online μέσω MS Teams) |
Διδάσκοντες εργαστηρίων: |
Χρήστος Καλέργης (xsk@aueb.gr) |
Μαρία Τογαντζή (mst@aueb.gr) |
|
Μελίνα Ραπτάκη (mraptaki@aueb.gr) |
|
Ευάγγελος Κολυβάς (ekolyvas@aueb.gr) | |
Χριστόδουλος Σαντοριναίος | |
Διορθωση ασκήσεων |
η διδακτική ομάδα και επιπλέον διορθωτές |
Ο τελικός βαθμός στα μάθημα προκύπτει κατά 60% από τον βαθμό στην εξεταστική περίοδο Ιανουαρίου, κατά 30% από τον βαθμό των ασκήσεων και κατά 10% από τον βαθμό στην εργαστηριακή εξέταση (η οποία πραγματοποιείται κατά την τελευταία εβδομάδα μαθημάτων).
Αυτό το εξάμηνο όλες οι διαλέξεις και τα εργαστήρια θα γίνουν αποκλειστικά δια ζώσης.
- (3/10) Διάλεξη 0: Πληροφορίες για το μάθημα
- (6/10) Διάλεξη 1: Εισαγωγή
- (10/10) Διάλεξη 2: Τιμές, εκφράσεις
- (13/10) Διάλεξη 3: Τελεστές
- (17/10) Διάλεξη 4: Κλήσεις, ονόματα, αποτίμηση κλήσεων
- (20/10) Διάλεξη 5: Μη γνήσιες συναρτήσεις. Ορισμός συναρτήσεων
- (24/10) Διάλεξη 6: Περιβάλλον αποτίμησης ονομάτων, αποτίμηση συναρτήσεων
- (27/10) Διάλεξη 7: Εντολές εκτέλεσης υπό συνθήκη
- (31/10) Διάλεξη 8: Συναρτήσεις υψηλότερου επιπέδου: συναρτήσεις συναρτήσεων
- (3/11) Διάλεξη 9: Συναρτήσεις υψηλότερου επιπέδου: συναρτήσεις που επιστρέφουν συναρτήσεις
- (7/11) Διάλεξη 10: Αναδρομικές συναρτήσεις
- (10/11) Διάλεξη 11: Αναδρομικές συναρτήσεις (συν.)
- (14/11) Διάλεξη 12: Αφαιρέσεις δεδομένων
- (21/11) Διάλεξη 13: Ακολουθίες, επεξεργασία ακολουθιών
- (24/11) Διάλεξη 14: Ακολουθίες (συν.). Μεταλλασσόμενα δεδομένα
- (28/11) Διάλεξη 15: Μεταλλασσόμενα δεδομένα: λίστες
- (1/12) Διάλεξη 16: Ταξινόμηση, αναζήτηση
- (5/12) Διάλεξη 17: Tuples, λεξικά, σύνολα. Αντικειμενοστραφής προγραμματισμός
- (8/12) Διάλεξη 18: Αντικειμενοστραφής προγραμματισμός (συν.)
- (12/12) Διάλεξη 19: Αντικειμενοστραφής προγραμματισμός (συν.)
- (15/12) Διάλεξη 20: Παράγωγες ακολουθίες
- (19/12) Διάλεξη 21: Εξαιρέσεις
- (22/12) Διάλεξη 22: Απορίες, γενικότερα θέματα προγραμματισμού
- (9/1) Διάλεξη 23: Ρεύματα (streams), αρχεία και επικοινωνία υπολογιστών
- Εργαστήριο 0: Περιβάλλον προγραμματισμού της Python
- Εργαστήριο 1: Τελεστές, εκφράσεις κλήσης [λύσεις]
- Εργαστήριο 2: Είσοδος/έξοδος με input/print, ορισμός συναρτήσεων [λύσεις]
- Εργαστήριο 3: Επαναληπτικοί υπολογισμοί [λύσεις]
- Εργαστήριο 4: Συναρτήσεις υψηλότερου επιπέδου [λύσεις]
- Εργαστήριο 5: Αναδρομικοί υπολογισμοί [λύσεις]
- Εργαστήριο 6: Αφαιρέσεις δεδομένων, ακολουθίες [λύσεις]
- Εργαστήριο 7: Χειρισμός λιστών, tuples, συμβολοσειρών, λεξικών [λύσεις]
- Εργαστήριο 8: Αντικειμενοστραφής προγραμματισμός [λύσεις]
- Εργαστήριο 9: Iterators και Generators [λύσεις]
- Εργαστήριο 10: εξέταση 8/1 έως 12/1
Οδηγίες
Το εργαστήρια αρχίζουν από την Τετάρτη 11 Οκτωβρίου. Για να παρακολουθήσετε δεν απαιτείται να το δηλώσετε κάπου, απλά πηγαίνετε στο τμήμα εργαστηρίου που ανήκετε:
- Εάν έχετε ολοκληρώσει την εγγραφή σας στο ΟΠΑ και έχετε ιδρυματικό λογαριασμό, τότε θα βρείτε το τμήμα σας στον παρακάτω πίνακα χρησμοποιώντας τα 3 τελευταία ψηφία του αριθμού μητρώου (ΑΜ). (Το ίδιο ισχύει για τους φοιτητές από άλλα τμήματα.)
- Εάν δεν έχει ολοκληρωθεί η εγγραφή σας στο ΟΠΑ είτε δεν έχετε ιδρυματικό λογαριασμό, τότε ανήκετε στο τμήμα 7 στον πίνακα που ακολουθεί.
Τμήμα |
Ημέρα & ώρα |
Διδάσκων |
Αίθουσα |
3 τελευταία ψηφία AM |
1 |
Δευτέρα 11:00-13:00 |
Χ. Σαντοριναίος |
CSLAB 2 |
144 - 179 |
2 |
Δευτέρα 13:00-15:00 |
Μ. Τογαντζή |
Αίθουσα 1 Κ. Υ. |
000 - 035 |
3 |
Τετάρτη 17:00-19:00 |
Μ. Τογαντζή |
Αίθουσα 1 Κ. Υ. |
036 - 071 |
4 |
Τετάρτη 17:00-19:00 |
Μ. Ραπτάκη |
CSLAB 2 |
180 - 215 |
5 |
Πέμπτη 9:00-11:00 |
Χ. Καλέργης |
Αίθουσα 2 Κ. Υ. |
072 - 107 |
6 |
Πέμπτη 13:00-15:00 |
? |
CSLAB 2 |
108 - 143 και 216 - 251 |
7 |
Παρασκευή 13:00-15:00 |
Χ. Καλέργης |
CSLAB 1 |
252 - ή χωρίς ΑΜ Μόνο με δικό σας υπολογιστή αν δεν έχετε ΑΜ |
Σημειώσεις:
- Είναι σημαντικό να πηγαίνετε στο τμήμα που ανήκετε ειδικά στην αρχή του εξαμήνου όπου δεν θα υπάρχουν κενές θέσεις στα άλλα τμήματα.
- Όλα τα εργαστήρια (Αίθουσες 1 & 2 Κέντρου Υπολογιστών (Κ. Υ.), CSLAB 1, CSLAB 2) βρίσκονται στην πτέρυγα Δεριγνύ. Το CSLAB 1 βρίσκεται στο 2ο όροφο, τα υπόλοιπα στον 3ο.
-
Φοιτητές από άλλα τμήματα (εκτός πληροφορικής) μπορούν να αποκτήσουν πρόσβαση στους υπολογιστές των εργαστηρίων CSLAB 1 και 2 ζητώντας το από τον κ. Ιωάννη Σαζόνοφ, (γραφείο εντός του CSLAB 2).