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

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών

Πληροφορικής και Τηλεπικοινωνιών

Έτος: 2014-2015

Διδάσκων: Παναγιώτης Σταματόπουλος

Περιγραφή Μαθήματος

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

Video-Διαλέξεις

Διάλεξη 01: Γενικά περί προγραμματισμού υπολογιστών

Εισαγωγική ενότητα για τη χρησιμότητα του προγραμματισμού υπολογιστών στην αντιμετώπιση καθημερινών υπολογιστικών προβλημάτων.

Διάλεξη 02: Συνοπτική επισκόπηση της γλώσσας προγραμματισμού C

Επισκόπηση της γλώσσας προγραμματισμού C μέσω της παράθεσης μικρών προγραμμάτων που επιδεικνύουν το μεγαλύτερο μέρος των δυνατοτήτων της γλώσσας.

Διάλεξη 03: Τύποι δεδομένων και προγραμματιστικές δομές της C

Διάλεξη 04: Δομή προγραμμάτων C και συναρτήσεις

Δόμηση προγραμμάτων μέσω συναρτήσεων και εξωτερικών μεταβλητών.

Διάλεξη 05: Δείκτες και πίνακες στη C

Αναλυτική περιγραφή της δυνατότητας της C να αναπαριστά και να χειρίζεται διευθύνσεις θέσεων μνήμης και, μέσω αυτών, να διαχειρίζεται πίνακες.

Διάλεξη 06: Δομές δεδομένων στη C

Περιγραφή της δυνατότητας της C για να αναπράσταση σύνθετων οντοτήτων και εισαγωγή στις αυτοαναφορικές δομές της λίστας και του δυαδικού δέντρου.

Διάλεξη 07: Είσοδος/έξοδος στη C

Διάλεξη 08: Μέθοδοι ταξινόμησης και αναζήτησης

Παρουσίαση αλγορίθμων ταξινόμησης πινάκων και αναζήτησης σε πίνακες.