Προγραμματισμός για Μηχανικούς
Γενικά
- Κωδικός: 22
- Εξάμηνο: 2o
- Επίπεδο Σπουδών: Προπτυχιακό
- Τύπος μαθήματος: Υποχρεωτικό
- Γλώσσα διδασκαλίας και εξετάσεων: Ελληνικά
- Το μάθημα διατίθεται σε φοιτητές Erasmus
- Μέθοδοι Διδασκαλίας (Ώρες/εβδ.): Θεωρία (2) / Εργαστήριο (2)
- Μονάδες ECTS: 5
- Σελίδα μαθήματος: https://exams-sm.the.ihu.gr/enrol/index.php?id=30
- Διδάσκοντες: Μανωλάκης Δημήτριος
Περιεχόμενα μαθήματος
Συναρτήσεις: Δήλωση, Ορισμός, κλήση.
Παράμετροι και τρόποι κλήσης συναρτήσεων, επιστροφή περισσότερων από μια τιμές. Εμβέλεια παραμέτρων.
Δείκτες (pointers). Δυναμική κατανομή μνήμης.
Συναρτήσεις και πίνακες.
Αλφαριθμητικά και συναρτήσεις χειρισμού τους.
Σειριακά αρχεία, δημιουργία και προσπέλαση.
Δομές (structs). Πίνακες δομών.
Εισαγωγή στις δυναμικές δομές δεδομένων: λίστες, στοίβες και ουρές.
Εργαστηριακές ασκήσεις.
Μαθησιακοί Στόχοι
Μετά την επιτυχή παρακολούθηση του θεωρητικού και του εργαστηριακού μέρους μαθήματος προσδοκάται ότι ο φοιτητής:
• Θα έχει εμβαθύνει τις γνώσεις του σχετικά με τη δόμηση ενός προγράμματος από υποπρογράμματα,
• Θα έχει κατανοήσει τις έννοιες των δεικτών μνήμης.
• Θα γνωρίζει και θα είναι εξοικειωμένος με τις βασικές διαδικασίες για είσοδο/έξοδο δεδομένων μέσω αρχείων, τις συναρτήσεις χειρισμού συμβολοσειρών και την δυναμική κατανομή μνήμης
• Θα αποκτήσει γνώση για σύνθετους τύπους δεδομένων ορισμένων από τον χρήστη και για δομές δεδομένων.
• Θα μπορεί να αναλύει, συνθέτει και αναπτύσσει προγράμματα που δομούνται από υποπρογράμματα.
Γενικές Ικανότητες
Ευχέρεια στη ανάπτυξη σύνθετων προγραμμάτων που αποτελούνται από υποπρογράμματα.
Εντοπισμός και διόρθωση λαθών σε προγράμματα δομημένου προγραμματισμού.
Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών.
Αυτόνομη εργασία.
Ομαδική εργασία.
Μέθοδοι Διδασκαλίας
Διαλέξεις, Εργαστηριακές Ασκήσεις, Διαδικτυακή καθοδήγηση. Προβολή Διαφανειών με υπολογιστή
Χρήση υπολογιστών για ανάπτυξη προγραμμάτων.
Χρήση ηλεκτρονικού ταχυδρομείου.
Χρήση διαδικτυακών βοηθημάτων διδασκαλίας (moodle/eclass, πλατφόρμες τηλεδιάσκεψης).
Στις πλατφόρμες ηλεκτρονικής διδασκαλίας (moodle/eclass) είναι ανεβασμένα: Αναλυτικές Σημειώσεις, Ερωτήσεις Αξιολόγησης, Εκφωνήσεις Εργαστηριακών Ασκήσεων με αναλυτικές οδηγίες.
Αξιολόγηση Φοιτητών
Γλώσσα Αξιολόγησης: Ελληνική/ (Αγγλική αν χρειαστεί)
Θεωρητικό Μέρος: Μια τελική εξέταση που περιλαμβάνει ερωτήσεις σύντομης απάντησης, ερωτήσεις σύντομης ανάπτυξης, ανάλυση τμημάτων κώδικα, σύνθεση τμημάτων κώδικα, ανάπτυξη πλήρων προγραμμάτων.
Εργαστηριακό Μέρος: Πρακτική εξέταση σε υπολογιστή στο εργαστήριο όπου αξιολογείται η ικανότητα και επιδεξιότητα του φοιτητή στην ανάπτυξη προγραμμάτων. Παράλληλα γίνεται συνεχής αξιολόγηση των εργαστηριακών ασκήσεων κατά την εκτέλεσή τους. Κριτήρια αξιολόγησης στην κάθε αξιολόγηση είναι η ορθότητα της λειτουργίας και, δευτερευόντως, η αποτελεσματικότητα του κώδικα.
Ο τελικός βαθμός προκύπτει από το 80% του βαθμού του θεωρητικού μέρους και από το 20% του βαθμού στο εργαστηριακό μέρος.
Συνιστώμενη Βιβλιογραφία
Η γλώσσα C++ σε βάθος, Ν.Μ. Χατζηγιαννάκης, Εκδόσεις Κλειδάριθμος, 2η έκδοση
Αντικειμενοστρεφής προγραμματισμός με τη C++, του R. Lafore, 2006, Εκδόσεις Κλειδάριθμος, 2006
Η γλώσσα C σε βάθος, Ν.Μ. Χατζηγιαννάκης, Εκδόσεις Κλειδάριθμος,
C++ Προγραμματισμός, Deitel, Εκδόσεις Γκιούρδας, 2003, ISBN
-Συναφή επιστημονικά περιοδικά:
Computing in Science & Engineering (co-published by IEEE and AIP)
IEEE Transactions on Computers
IEEE Transactions on Software Engineering
Science of Computer Programming
-Σχετικοί Ιστότοποι:
www.tutorialspoint.com/cprogramming/
http://www.tutorialspoint.com/cplusplus/
http://www.learn-c.org/
http://www.cplusplus.com/
http://www.cprogramming.com