Εβδομαδιαίες ώρες διδασκαλίας: 2 θεωρία + 1 ασκήσεις πράξεις + 1 εργαστήριο
Tυπικό εξάμηνο διδασκαλίας: Α
Διδασκαλία: Η διδασκαλία του μαθήματος έχει τη μορφή 13 διαλέξεων και ισάριθμων εργαστηριακών ασκήσεων, στο πλαίσιο των οποίων υπάρχει η δυνατότητα ανάληψης εργασιών.
Ενδεικτικά προαπαιτούμενα: ─
Διδακτικές μονάδες: 5
Σκοπός και στόχοι του μαθήματος:
Το μάθημα αποσκοπεί στο να παράσχει στο φοιτητή τις βασικές γνώσεις προγραμματισμού. Το ενδιαφέρον εστιάζεται στον καλούμενο διαδικαστικό προγραμματισμό, βασικά στοιχεία του οποίου είναι η δόμηση του προγράμματος και η επαναλαμβανόμενη χρήση υποπρογραμμάτων, τα οποία είτε επιτελούν εργασίες γενικής φύσης είτε απευθύνονται σε ένα τμήμα του συνολικού προβλήματος. Στόχος είναι η κατανόηση των αρχών του προγραμματισμού και η εμπέδωση της φιλοσοφίας του, χρησιμοποιώντας ως μέσο τη γλώσσα προγραμματισμού υψηλού επιπέδου C.
Περίγραμμα μαθήματος:
|
Γενικά περί προγραμματισμού Η/Υ, εργαλεία ανάλυσης (φυσική γλώσσα, διάγραμμα ροής, ψευδοκώδικας), μεταγλωττιστής, συνδέτης, διαδικασίας αποσφαλμάτωσης και εκτέλεσης προγραμμάτων. |
|
Δομή προγράμματος, αρχεία κεφαλίδας, συνάρτηση main, λέξεις κλειδιά, δεσμευμένες λέξεις, αναγνωριστές, κανόνες δημιουργίας ευανάγνωστου προγράμματος. |
|
Μεταβλητές: δήλωση, ονοματοδοσία, τύποι και χρήση μεταβλητών. |
|
Μορφοποιημένες εντολές ανάγνωσης και εγγραφής. |
|
Ι/Ο κονσόλας, συναρτήσεις getchar, getch, getche, putchar. |
|
Πίνακες: δήλωση, απόδοση αρχικών τιμών, εγγραφή κι ανάγνωση πινάκων, αποθήκευση στη μνήμη, πολυδιάστατοι πίνακες. |
|
Συμβολοσειρές: δήλωση, απόδοση αρχικών τιμών, εγγραφή κι ανάγνωση συμβολοσειρών, αποθήκευση στη μνήμη. |
|
Συναρτήσεις συμβολοσειρών, αλφαριθμητικές σταθερές. |
|
Τελεστές – εκφράσεις: ορισμός, σύμβολα, σημειολογίες τελεστών, ένθετες εκφράσεις, προτεραιότητα – προσεταιριστικότητα τελεστών. |
|
Τελεστές αύξησης – μείωσης, τελεστές ανάθεσης, συσχετιστικοί – αριθμητικοί τελεστές, λογικοί τελεστές.τελεστής μετατροπής, τελεστής sizeof, υποθετικός τελεστής. |
|
Προτάσεις ελέγχου ροής, υπό συνθήκη διακλάδωση με if-else και switch. |
|
Προτάσεις επανάληψης, βρόχοι με συνθήκες εισόδου – εξόδου, οδηγούμενοι από γεγονός – μετρητή, βρόχοι for, βρόχοι while, do while. |
|
Μετατροπή βρόχων, διακοπτόμενοι βρόχοι – break, ένθετοι βρόχοι, ρητή διακλάδωση – goto, ο τελεστής κόμμα, κανόνες χρήσης προτάσεων ροής ελέγχου. |
|
Ένθετες δομές, πίνακες δομών, απαριθμητοί τύποι δεδομένων (enumerated). |
|
Εφαρμογή σε πραγματικά προβλήματα. |
Βασική Βιβλιογραφία:
- H. Deitel, P. Deitel, C Προγραμματισμός, Εκδόσεις Γκιούρδα, 2010.
- Π. Μαστοροκώστας, Διαδικαστικός Προγραμματισμός, Τ.Ε.Ι. Σερρών, 2006.
- E. Ούτσιος, Δομημένος Προγραμματισμός: Σημειώσεις Εργαστηρίου, Τ.Ε.Ι. Σερρών, 2003.
- Ν. Χατζηγιαννάκης, Η Γλώσσα C σε Βάθος, 3η Έκδοση, Εκδόσεις Κλειδάριθμος, 2009.
Συμπληρωματική Βιβλιογραφία:
- Collopy, Introduction to C Programming: A Modular Approach, Prentice Hall, 2002.
- H. Deitel, P. Deitel, Ασκήσεις - Προγράμματα σε C, Εκδόσεις Γκιούρδα, 2005.
- Κλ. Θραμπουλίδης, Διαδικαστικός Προγραμματισμός - C (Τόμος Α), Εκδόσεις Τζιόλα, 2003.
- Αλ. Καράκος, Αλγοριθμική Επίλυση Ασκήσεων με τη Γλώσσα Προγραμματισμού C, 2010.
- Κ.Ν. King, C Programming: A Modern Approach, W.W. Norton & Company, 1996.
- B.W. Kernighan, D.M. Ritchie, Η γλώσσα προγραμματισμού C, Εκδόσεις Κλειδάριθμος, 1990.
- D.E. Knuth, Τhe Art of Computer Programming, 3rd ed., Addison-Wesley, 1997.
- D. Martin, Πλήρης Οδηγός Χρήσης της C, Εκδόσεις Γκιούρδα, 2000.
- E. Roberts, H Τέχνη και Επιστήμη της C, Εκδόσεις Κλειδάριθμος, 2004.
- H. Schildt, Εγχειρίδιο εκμάθησης Turbo C, Εκδόσεις Κλειδάριθμος, 1989.
- Γ. Τσελίκης, Ν. Τσελίκας, C από τη Θεωρία στην Εφαρμογή, 2010.
- P. Van der Linden, Expert C Programming, Prentice Hall, 1994.
- M. Waite, S. Prata, D. Martin, Πλήρης Οδηγός Χρήσης της C, 6η έκδοση, Εκδόσεις Γκιούρδα, 2000.