Το μάθημα «Προγραμματισμός Ι» έχει ενταχθεί στο δεύτερο επίπεδο μαθημάτων. 

Στόχοι μαθήματος: Στο μάθημα αυτό παρουσιάζεται η μεθοδολογία προγραμματισμού με γλώσσες συναρτησιακού (δομημένου) προγραμματισμού. Η παρουσίαση γίνεται χρησιμοποιώντας  τη γλώσσα C. Στο τέλος του μαθήματος οι φοιτητές θα πρέπει να είναι σε θέση να ετοιμάσουν χρησιμοποιώντας τη γλώσσα C οποιαδήποτε εφαρμογή και επιπλέον να χρησιμοποιήσουν με μικρό διάστημα προσαρμογής οποιαδήποτε άλλη γλώσσα δομημένου προγραμματισμού.

Διδακτικές ενότητες: Οι διδακτικές ενότητες του μαθήματος φαίνονται στον ακόλουθο πίνακα: 

     Ενότητα 1

      Γνωριμία με τη C (1)

  • Το ελάχιστο πρόγραμμα

  • Τρόπος γραφής, σχόλια

  • Βασικά στοιχεία για την είσοδο και την έξοδο

  • Σταθερές, πίνακες

  • Γνωριμία με τις συναρτήσεις
     Ενότητα 2

      Γνωριμία με τη C (2)

  • Μεταβλητές και ακέραιοι, ονόματα μεταβλητών

  • Bits και χαρακτήρες

  • Τύποι και τελεστές, μετατροπές τύπων

  • Λογικές εκφράσεις, Τελεστές

  • Προτεραιότητα υπολογισμών
     Ενότητα 3

      Δομές ελέγχου

  • Η έννοια του μπλοκ εντολών

  • If else / else if / switch

  • while / for / do while

  • break / continue

  • Δομημένος προγραμματισμός vs goto και labels
     Ενότητα 4

      Συναρτήσεις – εμβέλεια μεταβλητών

  • Πέρασμα με τιμή – τοπικές μεταβλητές

  • Επιστροφή τιμής

  • Συναρτήσεις με τύπο

  • Εμβέλεια μεταβλητών – static και register

  • Αναδρομή

  • Εντολές προεπεξεργαστή
     Ενότητα 5

      Πίνακες και συμβολοσειρές

  • Συμβολοσειρές (strings)

  • Συναρτήσεις strings

  • Πίνακες ακεραίων – πραγματικών

  • Πίνακες σαν ορίσματα συναρτήσεων

  • Πολυδιάστατοι πίνακες
     Ενότητα 6

      1η εβδομάδα αξιολόγησης

     Ενότητα 7

      Δείκτες

  • Δείκτες και διευθύνσεις

  • Δείκτες και ορίσματα

  • Δείκτες και πίνακες

  • Αριθμητική δεικτών

  • Δείκτες συναρτήσεων

  • Περίπλοκες δηλώσεις
     Ενότητα 8

      Είσοδος – έξοδος

  • Stdio.H

  • Διαφορές DOS/Unix/Windows

  • Formatted είσοδος - έξοδος

  • Λίστα ορισμάτων

  • Προσπέλαση αρχείων

  • stderr – stdout – stdin

  • είσοδος – έξοδος γραμμών
     Ενότητα 9

      Επεξεργασία αρχείων

  • Ορίσματα main

  • Αρχεία κειμένου

  • Εγγραφή και ανάγνωση χαρακτήρων

  • Open – create – close – unlink

  • Binary αρχεία

  • Αναζήτηση (seek)

     Ενότητα 10

      Εγγραφές και ενώσεις

  • Δήλωση τύπου typedef

  • Struct – πίνακες δομών – δείκτες σε δομές – πολυεπίπεδες δομές

  • Union – Ενώσεις

  • Πεδία bit

     Ενότητα 11

      Διαχείριση μνήμης

  • Δυναμική δέσμευση και αποδέσμευση μνήμης

  • Πίνακες δεικτών

  • Δείκτες πινάκων

  • Λίστες

  • Δισδιάστατες δομές δεδομένων
 

Προαπαιτούμενες γνώσεις: Βασικές γνώσεις γνωριμίας με τους υπολογιστές.

 

Επιθυμητές γνώσεις: Καλή γνώση χειρισμού λειτουργικών συστημάτων (Windows και Unix).

 

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

  1. KernighamD.M. Ritchie “H Γλώσσα Προγραμματισμού C - ΑNSI C”, Εκδόσεις: Κλειδάριθμος, 1990.

  2. Waite Group, “C: Βήμα προς Βήμα”, Εκδόσεις: Γκιούρδας.

  3. Deitel & Deitel, “C Προγραμματισμός”, Εκδόσεις: Γκιούρδας, 2003.

  4. H. Schildt, Οδηγός της C 3rd edition, Εκδόσεις: Γκιούρδας.