ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ (ICE1-1004)
ΝΙΚΟΛΑΟΣ ΒΑΣΙΛΑΣ - ΝΙΚΟΛΑΟΣ ΖΑΧΑΡΗΣ
Δομή Υπολογιστή. Αρχές Δομημένου Προγραμματισμού. Μεταγλώττιση. Σύνδεση. Εκτελέσιμα προγράμματα. Η γλώσσα προγραμματισμού C. Μεταβλητές, τύποι δεδομένων, παραστάσεις και εκχωρήσεις. Απλή είσοδος/έξοδος. Βρόχοι. Κατασκευές ελέγχου. Πίνακες. Συναρτήσεις. Εμβέλεια μεταβλητών. Αναδρομή. Δείκτες. Δυναμική δέσμευση μνήμης. Συμβολοσειρές. Δομές. Μορφοποιημένη είσοδος/έξοδος. Ο προεπεξεργαστής της C. Μακροεντολές. Ανακατεύθυνση εισόδου/εξόδου. Ροές δεδομένων. Αρχεία κειμένου. Δυαδικά αρχεία. Σειριακή/τυχαία προσπέλαση αρχείων. Ειδικά θέματα (τα ορίσματα της main(), απαριθμητοί τύποι δεδομένων, ενώσεις). Εργαστήριο σε προγραμματιστικό περιβάλλον της C για την εμπέδωση της γλώσσας.
ΛιγότεραΔομή Υπολογιστή. Αρχές Δομημένου Προγραμματισμού. Μεταγλώττιση. Σύνδεση. Εκτελέσιμα προγράμματα. Η γλώσσα προγραμματισμού C. Μεταβλητές, τύποι δεδομένων, παραστάσεις και εκχωρήσεις. Απλή είσοδος/έξοδος. Βρόχοι. Κατασκευές ελέγχου. Πίνακες. Συναρτήσεις. Εμβέλεια μεταβλητών. Αναδρομή. Δείκτες. Δυναμική δέσμευση μνήμης. Συμβολοσειρές. Δομές. Μορφοποιημένη είσοδος/έξοδος. Ο προεπεξεργαστής της C. Μακροεντολές. Ανακατεύθυνση εισόδου/εξόδου. Ροές δεδομένων. Αρχεία κειμένου. Δυαδικά αρχεία. Σειριακή/τυχαία προσπέλαση αρχείων. Ειδικά θέματα (τα ορίσματα της main(), απαριθμητοί τύποι δεδομένων, ενώσεις). Εργαστήριο σε προγραμματιστικό περιβάλλον της C για την εμπέδωση της γλώσσας.
Δομή Υπολογιστή. Αρχές Δομημένου Προγραμματισμού. Μεταγλώττιση. Σύνδεση. Εκτελέσιμα προγράμματα. Η γλώσσα προγραμματισμού C. Μεταβλητές, τύποι δεδομένων, παραστάσεις και εκχωρήσεις. Απλή είσοδος/έξοδος. Βρόχοι. Κατασκευές ελέγχου. Πίνακες. Συναρτήσεις. Εμβέλεια μεταβλητών. Αναδρομή. Δείκτες. Δυναμική δέσμευση μνήμης. Συμβολοσειρές. Δομές. Μορφοποιημένη είσοδος/έξοδος. Ο προεπεξεργαστής της C. Μακροεντολές. Ανακατεύθυνση εισόδου/εξόδου. Ροές δεδομένων. Αρχεία κειμένου. Δυαδικά αρχεία. Σειριακή/τυχαία προσπέλαση αρχείων. Ειδικά θέματα (τα ορίσματα της main(), απαριθμητοί τύποι δεδομένων, ενώσεις). Εργαστήριο σε προγραμματιστικό περιβάλλον της C για την εμπέδωση της γλώσσας.
Περίγραμμα

Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια πρέπει να:
- κατανοεί το συντακτικό και να έχει εξοικείωση με το προγραμματιστικό περιβάλλον της C (π.χ. editor, compiler, βιβλιοθήκες λογισμικού, εγχειρίδια αναφοράς, online help)
- χειρίζεται με σχετική ευκολία τις βασικές προγραμματιστικές κατασκευές: τύπους δεδομένων, μεταβλητές, σταθερές, εκχωρήσεις τιμών, παραστάσεις, βρόχους και κατασκευές ελέγχου
- κατανοεί και να μπορεί να χρησιμοποιήσει τους αφηρημένους τύπους δεδομένων (πίνακες, συμβολοσειρές), τις συναρτήσεις, την αναδρομή, την εμβέλεια των μεταβλητών, τους δείκτες και τις δομές
- χρησιμοποιεί και να είναι εξοικειωμένος με την μορφοποιημένη είσοδο/έξοδο, τον προεπεξεργαστή της C, τα αρχεία και τα ορίσματα της main
- είναι ικανός να αναλύει υπάρχοντα δομημένα προγράμματα υπολογιστών σε γλώσσα C και να καθορίζει τη λειτουργία τους
- είναι ικανός να σχεδιάσει και να εφαρμόσει λύσεις προβλημάτων στον υπολογιστή μέσω προγραμματισμού στη γλώσσα C.
- Kernighan B., Ritchie D., Η Γλώσσα Προγραμματισμού C, 2η έκδ., Κλειδάριθμος, 1990.
- Μαστοροκώστας Π., Διαδικαστικός Προγραμματισμός – Η Γλώσσα C, ΣΕΑΒ, 2015.
- Καρολίδηs Δ., Μαθαίνετε εύκολα C, 2η έκδ., Εκδόσεις Άβακας, 2021.
- Καρανικόλας Ν., Εμβάθυνση στον Προγραμματισμό με τη Γλώσσα C, Εκδόσεις Νέων Τεχνολογιών, 2009.
- Χατζηγιαννάκης Ν., Η Γλώσσα C σε Βάθος, 5η έκδ., Κλειδάριθμος, 2017.
- Τσελίκης Γ., Τσελίκας Ν., C Από τη Θεωρία στην Εφαρμογή, 3η έκδ., 2016.
- Aitken P., Jones, Πλήρες Εγχειρίδιο της C, 6η έκδ., Γκιούρδας, 2006.
- Roberts E., Η Τέχνη και Επιστήμη της C, Κλειδάριθμος, 2004.
- M., Deitel P.J., C Προγραμματισμός, Γκιούρδας, 2003.
- Prata S., C Primer Plus, 5th ed., The Waite Group, SAMS, 2004.
- Harbison S.P., Steele G.L., C: A Reference Manual, 5thed., Prentice Hall, 2002.
- Bronson G.J., A First Book of ANSI C, 4th ed., Course Technology, 2006.
- Wikibooks, Programming in C, (A comprehensive look at the C programming language and its features ) -http://en.wikibooks.org/wiki/Programming:C
Ι. Γραπτή τελική εξέταση (60%) που περιλαμβάνει:
- Ερωτήσεις σύντομης απάντησης
- Ερωτήσεις πολλαπλής επιλογής
- Επίλυση προβλημάτων
ΙΙ. Εκπόνηση εργαστηριακών ασκήσεων και τελική εξέταση εργαστηρίου (40%)
ΣΗΜΕΙΩΝΕΤΑΙ ΟΤΙ ΓΙΑ ΤΗΝ ΟΛΟΚΛΗΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΙΝΑΙ ΥΠΟΧΡΕΩΤΙΚΗ Η ΕΠΙΤΥΧΗΣ ΕΠΙΔΟΣΗ ΤΟΣΟ ΣΤΗ ΘΕΩΡΙΑ (Θ) ΟΣΟ ΚΑΙ ΣΤΟ ΕΡΓΑΣΤΗΡΙΟ (Ε). ΑΥΤΟ ΣΗΜΑΙΝΕΙ ΟΤΙ ΓΙΑ ΝΑ ΥΠΟΛΟΓΙΣΤΕΙ Ο ΤΕΛΙΚΟΣ ΒΑΘΜΟΣ (ΤΒ) ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΠΡΕΠΕΙ Θ >= 5 και Ε >= 5. Ο ΤΕΛΙΚΟΣ ΒΑΘΜΟΣ ΣΤΗΝ ΠΕΡΙΠΤΩΣΗ ΑΥΤΗ ΥΠΟΛΟΓΙΖΕΤΑΙ ΩΣ ΤΒ = 0.6*Θ + 0.4*Ε ΚΑΙ ΑΥΤΟΣ ΕΙΝΑΙ Ο ΕΝΙΑΙΟΣ ΒΑΘΜΟΣ ΠΟΥ ΕΜΦΑΝΙΖΕΤΑΙ ΣΤΟ ΦΟΙΤΗΤΟΛΟΓΙΟ. ΑΝ ΔΕΝ ΕΧΟΥΝ ΟΛΟΚΛΗΡΩΘΕΙ ΜΕ ΕΠΙΤΥΧΙΑ ΚΑΙ ΤΑ ΔΥΟ ΜΕΡΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ, ΔΕΝ ΘΑ ΔΙΝΕΤΑΙ ΒΑΘΜΟΣ ΓΙΑ ΤΟ ΦΟΙΤΗΤΟΛΟΓΙΟ ΑΛΛΑ ΘΑ ΚΡΑΤΙΕΤΑΙ ΜΕΧΡΙ ΝΑ ΠΕΡΑΣΤΕΙ ΚΑΙ ΤΟ ΑΛΛΟ ΜΕΡΟΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ.