Προγραμματισμός I

Κωδικός μαθήματος
προ-1
Μονάδες ECTS
6
Εξάμηνο
Εξάμηνο Α
Κατηγορία μαθήματος
Κατεύθυνση
Κορμού
Περιγραφή μαθήματος
ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Περιεχόμενα: Εισαγωγή. Τύποι δεδομένων και μεταβλητές. Είσοδος/Έξοδος δεδομένων. Τελεστές. Εντολές ροής ελέγχου προγράμματος. Επαναληπτικοί βρόχοι. Πίνακες. Αλφαριθμητικά. Δείκτες. Συναρτήσεις. Αλγόριθμοι αναζήτησης/Ταξινόμησης πινάκων. Δομές και Ενώσεις. Δυναμική Διαχείριση Μνήμης. Αρχεία κειμένου και δυαδικά αρχεία.

ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Στο τέλος του μαθήματος ο φοιτητής θα μπορεί να:

  • αναγνωρίζει, να δημιουργεί, να μεταγλωττίζει και να εκτελεί ένα πρόγραμμα σε C.
  • αναγνωρίζει τους τύπους δεδομένων, να δηλώνει μεταβλητές και να χρησιμοποιεί τελεστές που υποστηρίζει η γλώσσα προγραμματισμού C καθώς επίσης και να διαβάζει δεδομένα από το πληκτρολόγιο και να τα εμφανίζει στην οθόνη με χρήση των συναρτήσεων βιβλιοθήκης scanf() και printf(), αντίστοιχα.
  • ελέγχει τη ροή ενός προγράμματος με χρήση των εντολών if-else και switch ή με χρήση του τριαδικού τελεστή και να δημιουργεί και να εκτελεί επαναληπτικούς βρόχους με χρήση των εντολών for, while και do-while.
  • δημιουργεί και να χειρίζεται μονοδιάστατους και διδιάστατους πίνακες, να χρησιμοποιεί δείκτες και να χειρίζεται πίνακες με σημειογραφία δεικτών, να χειρίζεται τον τύπο δεδομένου char και να δημιουργεί και να χρησιμοποιεί αλφαριθμητικά είτε με σημειογραφία πίνακα είτε με σημειογραφία δείκτη.
  • δηλώνει και να υλοποιεί συναρτήσεις και να χρησιμοποιεί τις δημοφιλέστερες έτοιμες συναρτήσεις από τις βιβλιοθήκες της C, να διακρίνει τις διαφορές κατά την κλήση συνάρτησης με χρήση τιμής από την κλήση συνάρτησης με αναφορά και να μπορεί να υλοποιεί και να χρησιμοποιεί τέτοιου είδους συναρτήσεις.
  • εκτελεί, χρησιμοποιεί και υλοποιεί βασικούς αλγορίθμους αναζήτησης σε πίνακες (γραμμική/δυαδική αναζήτηση) και ταξινόμησης πίνακα (αλγόριθμος επιλογής, αλγόριθμος εισαγωγής και αλγόριθμος φυσαλίδας) και να χρησιμοποιεί συναρτήσεις όπως οι: malloc(), free(), memcpy(), memmove(), memcmp() για τη δυναμική δέσμευση και διαχείριση μνήμης.
  • αναγνωρίζει τη διαφορά μεταξύ δομών και ενώσεων, να ορίζει και να χειρίζεται δομές και ενώσεις, να δημιουργεί τους δικούς του τύπους δεδομένων, να ξεχωρίζει τις διαφορές μεταξύ αρχείων κειμένου και δυαδικών αρχείων και να δημιουργεί προγράμματα που ανοίγουν και κλείνουν αρχεία, διαβάζουν δεδομένα από αρχεία, γράφουν και παραθέτουν δεδομένα σε αρχεία (και κειμένου και δυαδικά).
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

Αξιολόγηση: Γραπτή εξέταση στο τέλος του εξαμήνου. Παράδοση εργαστηριακών ασκήσεων (κάθε εβδομάδα ή κάθε δεύτερη εβδομάδα), οι οποίες θα συνεισφέρουν σε ποσοστό 10%-20% στην τελική βαθμολογία. Είναι πιθανόν να δοθούν και προαιρετικές εργασίες που θα συνεισφέρουν σε ποσοστό 10%-20% στην τελική βαθμολογία ή/και να διεξαχθεί ενδιάμεση γραπτή εξέταση (πρόοδος) που θα συνεισφέρει επίσης σε ποσοστό 10%-20% στην τελική βαθμολογία.

Μέθοδοι Αξιολόγησης: Επίλυση προβλημάτων, Γραπτή εργασία, Εργαστηριακή εργασία.

URL ΜΑΘΗΜΑΤΟΣ ΣΤΟ ECLASS

https://eclass.uop.gr/courses/167/

ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

Βιβλιογραφία: 

  1. Γ. Σ. Τσελίκης, Ν. Δ. Τσελίκας, C: Aπό τη Θεωρία στην Εφαρμογή, 4η έκδοση, 2023. ISBN: 9786188676206. Κωδικός στον Εύδοξο: 122079784
  2. B. Kernighan. D. Ritchie, Η Γλώσσα Προγραμματισμού C, 2η έκδοση, Κλειδάριθμος, 2008. Κωδικός στον Εύδοξο: 13956