| 1 | 1/11/2011 | Διαδικαστικά θέματα. |
| 2 | 2/11/2011 | Γενικά περί υπολογιστών. Γενικά περί προγραμματισμού υπολογιστών. Ιστορική αναδρομή. |
| - | 4/11/2011 | Ειδικό μάθημα για πρωτοετείς φοιτητές από τη θετική κατεύθυνση. |
| 3 | 8/11/2011 | Κάποια υπολογιστικά προβλήματα. Έκδοση των αποτελεσμάτων των πανελληνίων εξετάσεων για εισαγωγή σε ΑΕΙ και ΤΕΙ. Εκπλήρωση υποχρεώσεων λήψης πτυχίου από φοιτητές του Τμήματος, υπολογισμός φόρου, έκδοση λογαριασμών Ο.Τ.Ε. και Δ.Ε.Η., υπολογισμός αριθμού βουλευτών που εκλέγουν τα κόμματα στις εθνικές εκλογές, πρόβλεψη αποτελεσμάτων εθνικών εκλογών με βάση δημοσκοπήσεις εξόδου, πρόγνωση καιρού, κρατήσεις αεροπορικών εισιτηρίων, αυτόματη κατασκευή ωρολογίων προγραμμάτων, αυτόματη εξαγωγή προγράμματος εξετάσεων. Πώς μαθαίνεται ο προγραμματισμός. Η δομή του υπολογιστή. Η πληροφορία στον υπολογιστή. Εισαγωγή στα συστήματα αρίθμησης. |
| 4 | 9/11/2011 | Συστήματα αρίθμησης (δεκαδικό, δυαδικό) και μετατροπές αριθμών μεταξύ αυτών. Οκταδικό και δεκαεξαδικό συστήματα αρίθμησης. Οργάνωση κύριας και δευτερεύουσας μνήμης. Τι χρειαζόμαστε από μία γλώσσα προγραμματισμού. |
| - | 11/11/2011 | Ειδικό μάθημα για πρωτοετείς φοιτητές από τη θετική κατεύθυνση. |
| - | 15/11/2011 | Κατάληψη φοιτητών. Δεν έγινε μάθημα. |
| - | 16/11/2011 | Κατάληψη φοιτητών. Δεν έγινε μάθημα. |
| 5 | 18/11/2011 | Πώς κατασκευάζουμε εκτελέσιμο πρόγραμμα. Η διαδικασία της μεταγλώττισης και σύνδεσης. Προγραμματιστικά περιβάλλοντα για την C. Παραδείγματα χρήσης του gcc. Το πρώτο πρόγραμμα στην C (helloworld.c). |
| 6 | 22/11/2011 | Πρόγραμμα υπολογισμού του π (picomp.c). Ενημέρωση για την πλατφόρμα MSDNAA (δωρεάν διάθεση του λογισμικού της Microsoft). |
| 7 | 23/11/2011 | Πρόγραμμα υπολογισμού της ημερομηνίας του Πάσχα (easter.c). Συζήτηση για την 1η άσκηση. Παρουσίαση από την κοινότητα ΕΛΛΑΚ του Πανεπιστημίου Αθηνών. |
| - | 25/11/2011 | Ειδικό μάθημα για πρωτοετείς φοιτητές από τη θετική κατεύθυνση. |
| 8 | 29/11/2011 | Δομές επανάληψης στην C. Τελεστές σύγκρισης και λογικοί τελεστές. Συνθήκες ως παραστάσεις και παραστάσεις ως συνθήκες. Συναρτήσεις time, srand και rand. Πρόγραμμα υπολογισμού Μ.Κ.Δ. και Ε.Κ.Π. (gcdlcm.c). |
| 9 | 30/11/2011 | Πρόγραμμα κατασκευής μαγικού τετραγώνου 5x5 (magic.c). Συναρτήσεις getchar και putchar. Περί EOF. |
| 10 | 2/12/2011 | Πρόγραμμα μετατροπής πεζών χαρακτήρων στην είσοδο σε κεφαλαίους (capitalize.c). Μεταβλητές και τύποι δεδομένων στην C. Ακέραιες σταθερές στην C. Σταθερές κινητής υποδιαστολής στην C. Συμβολοσειρές. Τύποι δεδομένων και δηλώσεις στην C. Αρχικοποιήσεις μεταβλητών. Προσδιοριστές unsigned, signed και const. Εντολές αντικατάστασης, τελεστές και παραστάσεις. Αριθμητικοί τελεστές. Μετατροπές τύπων. Μοναδιαίοι τελεστές αύξησης και μείωσης. Τελεστές σύγκρισης και λογικοί τελεστές. Συνθήκες ως παραστάσεις και αντίστροφα. Εισαγωγή στους τελεστές πράξεων με bit. |
| 11 | 6/12/2011 | Συνέχεια με τους τελεστές πράξεων με bit. Τελεστές αντικατάστασης. Παραστάσεις υπό συνθήκη. Προτεραιότητες τελεστών. Εντολές αντικατάστασης σαν παραστάσεις. Ροή ελέγχου στην C. Εντολή if. Εντολή switch. |
| 12 | 7/12/2011 | Εντολές βρόχου while. Εντολή βρόχου for. Εντολές break και continue. Εντολή goto και ετικέτες. Δομή προγραμμάτων C. Συναρτήσεις. Ορισμός συναρτήσεων. τυπικές παράμετροι. Επιστρεφόμενες τιμές. Πρωτότυπο συνάρτησης. Πρώτη συζήτηση για το πρόγραμμα ύψωσης σε δύναμη (powers.c). |
| - | 9/12/2011 | Ειδικό μάθημα για πρωτοετείς φοιτητές από τη θετική κατεύθυνση. |
| 13 | 13/12/2011 | Συνέχεια με το πρόγραμμα ύψωσης σε δύναμη (powers.c). Πρόγραμμα υπολογισμού παραγοντικού (factorial.c). Τοπικές (αυτόματες) μεταβλητές. Στοίβα για φύλαξη τοπικών μεταβλητών. Αναδρομικές συναρτήσεις. |
| 14 | 14/12/2011 | Πρόγραμμα υπολογισμού παραγοντικού με αναδρομή (recfact.c). Συνάρτηση getinteger και πρόγραμμα μετατροπής μεταξύ δεκαδικών και δυαδικών αριθμών (convdecbin.c). Περί αρχείων επικεφαλίδας. Υπολογισμός όρων της ακολουθίας Fibonacci αναδρομικά. |
| 15 | 16/12/2011 | Υπολογισμός όρων της ακολουθίας Fibonacci επαναληπτικά. Εξωτερικές μεταβλητές. Στατικός χώρος φύλαξης εξωτερικών μεταβλητών. Προσδιοριστές extern και static. Εμβέλεια και χρόνος ζωής μεταβλητών. Δείκτες. Τελεστές έμμεσης αναφοράς και διεύθυνσης μνήμης. |
| 16 | 20/12/2011 | Κλήσεις συναρτήσεων με δείκτες στα ορίσματα. Περί ανάγνωσης ακεραίων (και όχι μόνο). Συνάρτηση scanf. Πίνακες. Διάσταση πινάκων. Σχέση πινάκων και δεικτών. |
| 17 | 21/12/2011 | Πέρασμα πινάκων σαν ορίσματα σε συναρτήσεις. Δυναμική δέσμευση μνήμης. Συνάρτηση malloc. Συνάρτηση free. Τελεστής sizeof. Πίνακες με παραμετρική διάσταση. Πίνακες δεικτών και δείκτες σε δείκτες. Πολυδιάστατοι πίνακες. Δυναμική δέσμευση και αποδέσμευση διδιάστατων πινάκων. |
| 18 | 10/1/2012 | Πρόγραμμα κατασκευής ιστογράμματος συχνοτήτων γραμμάτων στην είσοδο (histogram.c). Συμβολοσειρές. Συναρτήσεις strlen, strcpy, strcmp και strcat για συμβολοσειρές. Υλοποιήσεις των συναρτήσεων strcpy και strcmp. |
| 19 | 11/1/2012 | Υλοποιήσεις των συναρτήσεων strlen και strcat. Ορίσματα γραμμής εντολών. Αρχικοποίηση πινάκων. Δείκτες σε συναρτήσεις. Πρόγραμμα διαχείρισης ορισμάτων στη γραμμή εντολής (cmdlineargs.c). Πρόγραμμα πρόσθεσης πολυψήφιων αριθμών (addnumbs.c). |
| 20 | 13/1/2012 | Απαριθμήσεις. Δομές. Δηλώσεις δομών και μεταβλητών τύπου δομών. Παρουσίαση της 4ης άσκησης από τον συνεργάτη του μαθήματος Ορέστη Πολυχρονίου. |
| 21 | 17/1/2012 | Επιτρεπτές λειτουργίες με δομές. Τελεστές . και ->. Παραδείγματα χρήσης δομών και δεικτών σε δομές. Εισαγωγή στις αυτο-αναφορικές δομές. |
| 22 | 18/1/2012 | Πρόγραμμα εύρεσης τριγώνων μεγίστου και ελαχίστου εμβαδού (triangles.c). Συνέχεια με τις αυτο-αναφορικές δομές. Συνδεδεμένες λίστες. Δυαδικά δέντρα. Ταξινομημένα δυαδικά δέντρα. |
| 23 | 20/1/2012 | Δημιουργία νέων ονομάτων τύπων (εντολή typedef). Ενώσεις και πεδία bit. Πρώτη συζήτηση για το πρόγραμμα διαχείρισης συνδεδεμένων λιστών (listmanagement.c). |
| 24 | 24/1/2012 | Συνέχεια με το πρόγραμμα διαχείρισης συνδεδεμένων λιστών (listmanagement.c). Πρώτη συζήτηση για το πρόγραμμα διαχείρισης δυαδικών δέντρων (treemanagement.c). |
| 25 | 25/1/2012 | Συνέχεια με το πρόγραμμα διαχείρισης δυαδικών δέντρων (treemanagement.c). Είσοδος και έξοδος. Πρότυπη βιβλιοθήκη εισόδου/εξόδου της C. Προκαθορισμένα ρεύματα (stdin, stdout και stderr). Ανακατεύθυνση πρότυπης εισόδου και πρότυπης εξόδου. Σωληνώσεις. Συναρτήσεις getchar, putchar, puts, fopen, fclose, fgets, feof, getc, putc, fseek και ftell. |
| 26 | 31/1/2012 | Συναρτήσεις ungetc, fprintf, fscanf, sprintf, sscanf, fread, fwrite, fflush και perror. Πρόγραμμα αντιγραφής αρχείων (filecopy.c). |
| 27 | 1/2/2012 | Πρόγραμμα εκτύπωσης γραμμών εισόδου με αντίστροφη σειρά (revinput.c). Ο προεπεξεργαστής της C. Οδηγία #include. Οδηγία #define και μακροεντολές. Μεταγλώττιση υπό συνθήκη. Οδηγίες #if, #else, #elif, #endif, #ifdef και #ifndef. Ταξινόμηση πινάκων. Γενικά περί πολυπλοκότητας αλγορίθμων. |
| 28 | 3/2/2012 | Μέθοδοι ταξινόμησης πινάκων. Η μέθοδος της φυσαλίδας. Η μέθοδος της επιλογής. Η μέθοδος της εισαγωγής. Η γρήγορη μέθοδος. Αναφορά στις μεθόδους ταξινόμησης της συγχώνευσης και του Shell. Πρόγραμμα επίδειξης μεθόδων ταξινόμησης (sorting.c). Αναζήτηση σε πίνακες. Σειριακή αναζήτηση και δυαδική αναζήτηση. Πρώτη συζήτηση για το πρόγραμμα επίδειξης μεθόδων αναζήτησης σε πίνακες (searching.c). |
| 29 | 7/2/2012 | Μέθοδος ταξινόμησης του σωρού. Συνέχεια με το πρόγραμμα επίδειξης μεθόδων αναζήτησης σε πίνακες (searching.c). Επιθυμητά χαρακτηριστικά ενός προγράμματος C. Συχνά προγραμματιστικά λάθη στην C. Συζήτηση προηγούμενων θεμάτων εξετάσεων. |
| 30 | 8/2/2012 | Συζήτηση προηγούμενων θεμάτων εξετάσεων. |