Εισαγωγή στον Προγραμματισμό


Το μάθημα εντάσσεται στα υποχρεωτικά μαθήματα του Προγράμματος Σπουδών του Τμήματος Πληροφορικής και Τηλεπικοινωνιών, διδάσκεται στο 1ο εξάμηνο και είναι υποχρεωτικό για όλους τους φοιτητές. Η διδασκαλία του θεωρητικού μέρους διαρκεί 26 ώρες και τα φροντιστήρια (επίδειξη συγκεκριμένων προγραμμάτων) 26 ώρες, επίσης. Κάθε φοιτητής συμμετέχει και σε ένα εργαστηριακό τμήμα, με μέγιστο αριθμό φοιτητών ανά τμήμα ίσο με 30, στο οποίο γίνεται πρακτική εξάσκηση στον προγραμματισμό. Η εργαστηριακή εξάσκηση διαρκεί 26 ώρες συνολικά. Στις διαλέξεις του μαθήματος, αρχικά γίνεται μία σύντομη εισαγωγή στην επιστήμη των υπολογιστών, περιγράφοντας συνοπτικά τις έννοιες του υλικού και του λογισμικού. Στη συνέχεια, η έμφαση δίνεται στην αλγοριθμική επίλυση προβλημάτων που συναντώνται στην καθημερινή ζωή και μετά στην αντιμετώπιση προβλημάτων υπολογισμού (μαθηματικών και άλλων) με τη βοήθεια αλγορίθμων. Τέλος, παρουσιάζονται αναλυτικά οι δυνατότητες της γλώσσας προγραμματισμού C και το μεγαλύτερο μέρος του μαθήματος αφιερώνεται στον προγραμματισμό με τη γλώσσα αυτή. Στα εργαστήρια, ακολουθούνται συγκεκριμένα σενάρια αντιμετώπισης προβλημάτων μέσω συγγραφής προγραμμάτων στη γλώσσα προγραμματισμού C, όπως αυτά περιγράφονται στα σχετικά εργαστηριακά φυλλάδια.


Στόχοι Μαθήματος

Ο στόχος του μαθήματος είναι να εισαγάγει τον πρωτοετή φοιτητή στην ιδέα της κατασκευής αλγορίθμων για την αντιμετώπιση προβλημάτων και της συγγραφής προγραμμάτων σε συγκεκριμένη γλώσσα προγραμματισμού, την C. Δίνεται έμφαση στην εξοικείωση με τον προγραμματισμό των φοιτητών που προέρχονται από την Θετική κατεύθυνση του Λυκείου, δεδομένου ότι οι της Τεχνολογικής κατεύθυνσης έχουν ήδη κάποια βάση στα σχετικά θέματα, λόγω του μαθήματος Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον που έχουν διδαχθεί στην Γ' Λυκείου. Το μάθημα στοχεύει να αποτελέσει το υπόβαθρο για όλα τα προγραμματιστικά μαθήματα (κορμού και επιλογής) που ακολουθούν στο Πρόγραμμα Σπουδών του Τμήματος.


Προαπαιτούμενες Γνώσεις

Προαπαιτούμενη γνώση αποτελούν τα μαθηματικά Γυμνασίου/Λυκείου.


Περιεχόμενα

Γενικά περί υπολογιστών και προγραμματισμού υπολογιστών. Ιστορική αναδρομή. Η δομή του υπολογιστή. Η πληροφορία στον υπολογιστή. Λογισμικό και γλώσσες προγραμματισμού. Απαιτήσεις από μια διαδικαστική γλώσσα προγραμματισμού. Εκτελέσιμα προγράμματα. Μεταγλώττιση και σύνδεση. Η γλώσσα προγραμματισμού C. Προγραμματιστικά περιβάλλοντα για την C. Ο μεταγλωττιστής gcc. Παραδείγματα απλών προγραμμάτων στην C. Χαρακτηριστικά και δυνατότητες της C. Μεταβλητές, σταθερές, τύποι και δηλώσεις. Εντολές αντικατάστασης, τελεστές και παραστάσεις. Η ροή του ελέγχου. Δομή προγράμματος, συναρτήσεις και εξωτερικές μεταβλητές. Εμβέλεια και χρόνος ζωής μεταβλητών. Αναδρομή. Διευθύνσεις θέσεων μνήμης, δείκτες και πίνακες. Δυναμική δέσμευση μνήμης. Συμβολοσειρές. Πίνακες δεικτών, δείκτες σε δείκτες και πολυδιάστατοι πίνακες. Δείκτες σε συναρτήσεις. Ορίσματα γραμμής εντολών. Απαριθμήσεις, δομές, αυτο-αναφορικές δομές (λίστες, δυαδικά δέντρα), ενώσεις, πεδία bit και δημιουργία νέων ονομάτων τύπων. Είσοδος και έξοδος. Χειρισμός αρχείων. Προεπεξεργαστής της C και μακροεντολές. Αλγόριθμοι ταξινόμησης πινάκων και αναζήτησης σε πίνακες. Οδηγίες σωστού προγραμματισμού. Συχνά προγραμματιστικά λάθη στην C.

ΤΑΥΤΟΤΗΤΑ ΜΑΘΗΜΑΤΟΣ

Βαθμίδα:

Τύπος:

Προπτυχιακό

(A+)


Εκπαιδευτές: Παναγιώτης Σταματόπουλος
Τμήμα: Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Ίδρυμα: Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών
Θεματική Περιοχή: Επιστήμες Υπολογιστών, Πληροφορικής, Τηλεπικοινωνιών
Άδεια Χρήσης: CC - Αναφορά - Μη Εμπορική Χρήση - Παρόμοια Διανομή

Επισκεφτείτε το μάθημα

ΜΟΙΡΑΣΤΕΙΤΕ ΤΟ ΜΑΘΗΜΑ
ΣΧΕΤΙΚΑ ΜΑΘΗΜΑΤΑ