Παρουσίαση/Προβολή
Προγραμματισμός ΙΙ
(CST264) - Χρήστος Τρυφωνόπουλος
Περιγραφή Μαθήματος
Γενικές πληροφορίες
- Διαλέξεις: κάθε Τετάρτη 11:00 - 13:00 και κάθε Πέμπτη 09:00 - 11:00
- Εργαστήρια: κάθε Τετάρτη @ 14:00 - 20:00 (πολλαπλά τμήματα)
- Όλη η επικοινωνία για το μάθημα θα γίνεται μέσω eClass
- πληροφορίες, ανακοινώσεις, διαφάνειες, ασκήσεις, βαθμολογία, ...
Διδάσκοντες
- Διαλέξεις: Καθ. Χρήστος Τρυφωνόπουλος (trifon@uop.gr)
- Εργαστήρια: Δρ. Παρασκευή Ραυτοπούλου, ΕΔΙΠ (praftop@uop.gr)
Βιβλία/σημειώσεις
- Η γλώσσα προγραμματισμού C. Brian W. Kernighan, Dennis M. Ritchie
- [κωδικός βιβλίου στον Εύδοξο: 13956]
- κύριο σύγγραμμα μαθήματος
-
Αρχές και τεχνικές προγραμματισμού με τη γλώσσα C. Jeri R. Hanly , Elliot B. Koffman
-
[κωδικός βιβλίου στον Εύδοξο: 102071593]
-
-
Η τέχνη και επιστήμη της C: Μια εισαγωγή στην Επιστήμη των Υπολογιστών. Eric S. Roberts
-
[κωδικός βιβλίου στον Εύδοξο: 13767]
-
-
Η γλώσσα C σε βάθος. Νίκος Μ. Χατζηγιαννάκης
-
[κωδικός βιβλίου στον Εύδοξο: 68384925]
-
- C: Από τη Θεωρία στην Εφαρμογή. Γιώργος Σ. Τσελίκης - Νίκος Δ. Τσελίκας
- [κωδικός βιβλίου στον Εύδοξο: 122079784]
- Διαφάνειες μαθήματος
Βαθμολόγηση
- Προγραμματιστικές εργασίες: 50% του τελικού βαθμού (+ 10% bonus)
- 2 προγραμματιστικές εργασίες (25% η κάθε μία) + 1 bonus (10%)
- για να δώσετε την 3η εργασία (bonus), χρειάζεστε ≥ 5 στις άλλες δύο
- μπορούν να κρατηθούν βαθμολογίες εργασιών για μία μόνο χρονιά, και εφόσον κρατηθούν όλες οι εργασίες (π.χ., δεν μπορείτε να κρατήσετε μερικές, και να ξανακάνετε τις υπόλοιπες)
- προθεσμία για να δηλώσετε αν θα κρατήσετε εργασίες όσοι τις κάνατε πέρυσι
- Τελική γραπτή εξέταση: 50% του τελικού βαθμού
- θα πρέπει ο βαθμός στη γραπτή εξέταση να είναι ≥ 5
- επαναληπτική εξέταση Σεπτεμβρίου: αναπληρώνει μόνο την τελική εξέταση του Ιουνίου, ο βαθμός των προγραμματιστικών εργασιών συνυπολογίζεται
- επί πτυχίω εξέταση Φεβρουαρίου (για έτος ≥ 5ο): αυτοτελής εξέταση, δεν χρειάζεται να έχετε κάνει projects σε αυτην την εξεταστική. Οπότε, ένας φοιτητής 5ου ή μεγαλύτερου έτους, μπορεί να περάσει το μάθημα και χωρίς να κάνει projects γράφοντας προβιβάσιμο βαθμό (>=5) στην εμβόλιμη εξεταστική του Φεβρουαρίου. Ο βαθμός που θα λάβει για την εμβόλιμη εξέταση θα είναι αυτός του γραπτού, ανεξαρτήτως αν έχει κάνει ή όχι projects. Όμως αν επιθυμει να συμμετέχει σε όλες τις εξεταστικές που δικαιούται (Ιούνιο, Σεπτέμβριο και Φεβρουάριο) θα πρέπει (α) να κάνει τα projects της τρέχουσας χρονιάς ή (β) να έχει κρατήσει τους βαθμούς των project από την προηγούμενη χρονιά.
- Προϋποθέσεις επιτυχίας στο μάθημα: προβιβάσιμος μέσος όρος ≥ 5 και η τελική γραπτή εξέταση ≥ 5
- Σημειώσεις:
- Οι εξεταστικές Ιουνίου και Σεπτεμβρίου απαιτούν να υπάρχει βαθμός project, αυτή του Φεβρουαρίου (για τους επί πτυχίω φοιτητές) όχι.
-
Απαλλακτικές ή επιπλέον εργασίες δεν δίνονται για κανένα λόγο.
Περιεχόμενα μαθήματος
Δείκτες και αριθμητική δεικτών. Δυναμική διαχείριση μνήμης. Δομές (structs), πίνακες με δομές. Απλές δομές δεδομένων (απλά και διπλά συνδεδεμένες λίστες, κυκλικές λίστες, ουρές, στοίβες) και συναρτήσεις χειρισμού τους. Αναδρομή. Χειρισμός χαρακτήρων και συμβολοσειρών. Παραγωγή ψευδοτυχαίων αριθμών. Ορίσματα γραμμής εντολών. Πέρασμα παραμέτρων κατ’ αξία και κατ’ αναφορά, δείκτες σε συναρτήσεις. Πράξεις κατά bit και δομή bitmap. Χειρισμός αρχείων κειμένου και δυαδικών αρχείων. Αρθρωτός προγραμματισμός – βιβλιοθήκες. Ο προεπεξεργαστής της C. Χρήσιμες εφαρμογές (makefile, profiling, κ.ά.). Αποσφαλμάτωση.
Ημερομηνία δημιουργίας
Πέμπτη 22 Οκτωβρίου 2020
-
Μαθησιακοί στόχοι
Στο τέλος του μαθήματος ο φοιτητής θα πρέπει:
- να σχεδιάζει την αλγοριθμική λύση απαιτητικών προβλημάτων
- να επιλύει προβλήματα χρησιμοποιώντας προχωρημένες έννοιες της γλώσσας C όπως οι σύνθετοι τύποι δεδομένων, η επικοινωνία με τα κανάλια εισόδου – εξόδου, η άμεση πρόσβαση στη μνήμη μέσω των δεικτών, ο αρθρωτός προγραμματισμός, κ.ά.
- να υλοποιεί ολοκληρωμένα προγράμματα χρησιμοποιώντας ως μέσο τη γλώσσα C
- να έχει αναπτύξει αλγοριθμική σκέψη ώστε να είναι προετοιμασμένος για άλλες γλώσσες και μοντέλα προγραμματισμού.
Μέθοδοι αξιολόγησης
Προγραμματιστικές εργασίες (ενδέχεται να συνοδεύονται από προσωπική εξέταση) ή/και ασκήσεις κατανόησης της ύλης, και 3ωρη γραπτή εξέταση. Οι εργασίες και οι ασκήσεις θα έχουν συνολικό βάρος 50% στον τελικό βαθμό, όπως και η τελική γραπτή εξέταση. Τα ποσοστά αυτά μπορεί να διαφοροποιούνται (μέχρι +/-10%) από έτος σε έτος.Για την επιτυχία ενός φοιτητή στο μάθημα απαιτείται προβιβάσιμος βαθμός (5 ή μεγαλύτερος) στην τελική γραπτή εξέταση καθώς και στον τελικό βαθμό όπως αυτός προκύπτει από τα εκάστοτε ποσοστά.