Κατάλογος Μαθημάτων

Πληροφορίες μαθήματος: Εισαγωγή στη Γλώσσα Προγραμματισµού C++


Στην ιστοσελίδα αυτή παρουσιάζουμε πληροφορίες για το μάθημα Εισαγωγή στη Γλώσσα Προγραμματισµού C++, του Τμήματος Φυσικής, με βάση τον οδηγό σπουδών του Τμήματος.
Ο κατάλογος με τα προσφερόμενα μαθήματα του τρέχοντος ακαδημαϊκού έτους βρίσκεται εδώ.
Ο κατάλογος με πληροφορίες για όλα τα μαθήματα του Τμήματος βρίσκεται εδώ.

ΚωδικόςΦ-251
ΤύποςΓ
ECTS6
Ώρες4
ΕξάμηνοΧειμερινό
Διδάσκων/-οντεςΣ. Σταματιάδης
ΠρόγραμμαΤρίτη, 9:00-11:00, Αίθουσα Υπολογιστών 2 (θεωρία)
Τρίτη, 11:00-13:00, Αίθουσα Υπολογιστών 2 (ασκήσεις)
Ιστοσελίδαhttp://www.materials.uoc.gr/el/undergrad/courses/ETY215/
https://teleclass.materials.uoc.gr/courses/SEM3104/
Σκοπός ΜαθήματοςΤο μάθημα αποτελεί μια εισαγωγή στη γλώσσα προγραμματισμού C++. Παρουσιάζονται τα στοιχεία της γλώσσας σύμφωνα με το ISO Standard του 2014 και οι σύγχρονες μέθοδοι προγραμματισμού με έμφαση σε ό,τι χρειάζεται για την ανάπτυξη επιστημονικών κωδίκων. Η διάρκεια του μαθήματος δεν επιτρέπει μεν εμβάθυνση, είναι όμως επαρκής για την απόκτηση ενός καλού υποβάθρου για περαιτέρω ενασχόληση. Απευθύνεται σε προπτυχιακούς φοιτητές θετικών επιστημών με εισαγωγικές γνώσεις προγραμματισμού υπολογιστών και με διάθεση να μάθουν περισσότερα. Είναι επιθυμητό να έχουν επιτύχει σε εισαγωγικό μάθημα προγραμματισμού.
Διδακτέα Ύλη1. Εισαγωγή, τύποι και τελεστές της C++.
Συντακτικό της γλώσσας, δεσμευμένες λέξεις, κανόνες σχηματισμού ονομάτων.
Θεμελειώδεις τύποι μεταβλητών: λογικός, χαρακτήρα, ακεραίων, πραγματικών,
μιγαδικών αριθμών. "Τύπος" void. Απαριθμήσεις. Τρόποι δήλωσης και εμβέλεια μεταβλητών και σταθερών ποσοτήτων.
Αριθμητικοί τελεστές, προτεραιότητες. Χώροι ονομάτων.
Αναφορές και Δείκτες.
2. Εντολές επιλογής, εντολές επανάληψης.
Τελεστές σύγκρισης, Εντολή if, τελεστής (?:), εντολή switch.
Βρόχοι while, do while, for, range for. Εντολές continue, break.
3. Βασικές δομές αποθήκευσης
Διανύσματα - Πίνακες, στατικοί και δυναμικοί. Δομές (struct).
4. Ροές (streams)
Ροές αρχείων, Ροές strings, είσοδος-έξοδος δεδομένων, διαμορφώσεις.
5. Συναρτήσεις.
Ορισμός και κλήση συνάρτησης, συνάρτηση main. Overloading, συναρτήσεις template. Μαθηματικές συναρτήσεις της C++.
6. Χειρισμός σφαλμάτων
Συναρτήσεις assert, static_assert. Σφάλματα μαθηματικών συναρτήσεων.
Εξαιρέσεις (exceptions).
Β) Standard Library
1. Iterators
Εισόδου, εξόδου, μονής κατεύθυνσης, διπλής κατεύθυνσης, τυχαίας προσπέλασης.
2. Containers
array, vector, deque, list, set, multiset, map, multimap, unordered_set, unordered_multiset, unordered_map, unordered_multimap.
3. Αλγόριθμοι
Κατηγορίες αλγορίθμων
4. Λοιπές έννοιες
Αντικείμενα-Συναρτήσεις, συναρτήσεις λάμδα, προσαρμογείς (adapters).
Γ) Αντικειμενοστρεφής Προγραμματισμός
1. Βασικές ένοιες
Οργάνωση κώδικα, ενθυλάκωση (encapsulation), ιεραρχία - κληρονομικότητα (inheritance), πολυμορφισμός.
2. Κλάσεις
Συναρτήσεις δημιουργίας, καταστροφής, αντιγραφής, μετακίνησης.
Τελεστές εκχώρησης, σύγκρισης, λοιποί τελεστές.
Υπόδειγμα κλάσης (class template).
Δ) Λοιπά Θέματα.
1. Μεθοδολογία οργάνωσης προγραμμάτων.
2. Διασύνδεση με βιβλιοθήκες συναρτήσεων σε FORTRAN και C.
Βιβλιογραφία1. Σημειώσεις Διδάσκοντα: https://www.materials.uoc.gr/el/undergrad/courses/ETY213/notes.pdf
2) Bjarne Stroustrup. Programming - Principles and Practice Using C++ (Second Edition), Addison Wesley, Reading, MA, USA, 2014.
3) Stanley B. Lippman, Josée Lajoie and Barbara E. Moo. C++ Primer. Addison Wesley, Reading, MA, USA, fifth edition, August 2012.
4) Nicolai M. Josuttis. The C++ Standard Library: A Tutorial and Reference. Addison Wesley, Reading, MA, USA, March 2012.
5) Bjarne Stroustrup. The C++ Programming Language. Addison Wesley, Reading, MA, USA, fourth edition, 2013.

Πανεπιστήμιο Κρήτης - Τμήμα Φυσικής - Πανεπιστημιούπολη Βουτών - TK 70013 Βασιλικά Βουτών, Ελλάδα
τηλ: +30 2810 394300 - email: chair@physics.uoc.gr