2009-2010 (Τμήμα Πληροφορικής με Εφαρμογές στη Βιοϊατρική, Πανεπιστήμιο Στερεάς Ελλάδας)

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

Οι Γλώσσες Προγραμματισμού C και C++. Ανάπτυξη Προγραμμάτων με Δομημένο τρόπο. Λέξεις Κλειδιά. Προσδιοριστές. Τύποι Δεδομένων. Έλεγχος Προγράμματος. Συναρτήσεις.  Μεταβλητές. Εμβέλεια και Διάρκεια Ζωής Μεταβλητών. Πίνακες. Δείκτες. Σχέση Δεικτών και Πινάκων. Αναφορές και Διευθύνσεις Μνήμης. Χαρακτήρες. Ακολουθίες Χαρακτήρων. Μορφοποίηση Εισόδου και Εξόδου Προγραμμάτων. Δομήσεις και Προσπέλαση Μελών των Δομήσεων. Ενώσεις. Απαριθμήσεις. Χειρισμοί Παραστάσεων σε Δυαδική Μορφή.  Πρόσβαση σε Αρχεία. Επεξεργασία Αρχείων. Προεπεξεργασία και Μεταγλώττιση Προγραμμάτων. Προχωρημένα Θέματα Προγραμματισμού. Δομές Δεδομένων. Η C++ είναι βελτιωμένη C.  Αφαιρετική Άποψη Δεδομένων.  Κλάσεις. Κληρονομικότητα. Πολυμορφισμός. Υπερφόρτωση Τελεστών. Εικονικές Συναρτήσεις. Είσοδος και Έξοδος Προγραμμάτων με Ροές. Πρότυπα. Εξαιρέσεις.

Συνδιδασκαλία με Γ. Φούρλα. Χειμ. Εξάμηνο 2009 - 2010.

Πρόγραμμα: Τρίτη 12.00-15.00 Αίθ. 1 (Θεωρία), 

                     Τρίτη 16.00-18.00, Πέμπτη 12.00-14.00, Πέμπτη 16.00-18.00,

Θεωρία Υπολογισμού

Επαγωγικές αποδείξεις και αναδροµικοί ορισµοί. Εισαγωγή µοντέλων υπολογισµού. Πρωτογενείς αναδροµικές συναρτήσεις και σχέσεις. Μερικές αναδροµικές συναρτήσεις και ελαχιστοποίηση. Μηχανική υπολογισιµότητα. Μηχανές Turing και Turing υπολογίσιµες συναρτήσεις. Θέση Church-Turing. Τα βασικά θεωρήµατα: Κανονικού τύπου, απαρίθµησης και παραµέτρων (s-m-n). Αναδροµικά απαριθµήσιµα σύνολα και ανεπίλυτα προβλήµατα. Ορισιµότητα και αριθµητική ιεραρχία. Turing αναγωγισιµότητα και βαθµοί αναποκρισιµότητας. Υπολογιστική πολυπλοκότητα. Αιτιοκρατικές και µη-αιτιοκρατικές µηχανές Turing. Οι κλάσεις P και NP. Πολυωνυµικοί µετασχηµατισµοί και NP-πληρότητα. Το θεώρηµα του Cook. NP-πλήρη προβλήµατα και αναγωγές.

Χειμ. Εξάμηνο 2009 - 2010.

Πρόγραμμα: Δευτέρα 12.00-15.00 Αίθ. 2 (θεωρία) και Τρίτη 18.00-20.00 Αίθ. 3 (ασκήσεις-συνήθως κάθε δεύτερη εβδομάδα)

Τα μαθήματα ξεκινούν στις 6-Οκτ-2009.

Ανακοινώσεις

26-Νοε-2009

Η πρόοδος στο μάθημα 'Θεωρία Υπολογισμού' θα γίνει την Τρίτη 1-Δεκεμβρίου-2009 και ώρα 18.00-20.00 στην αίθουσα 3.

Ασκήσεις


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

- "Εισαγωγή στη Θεωρία Υπολογισμού", M. Sipser, Πανεπιστημιακές Εκδόσεις Κρήτης, 2007.

- "Στοιχεία Θεωρίας Υπολογισμού", H. R. Lewis, Χ. Παπαδημητρίου, Εκδόσεις Κριτική, 2005.

- "Αυτόματα και Τυπικές Γραμματικές", Ε. Ζάχος, 2008.

- "Υπολογισιμότητα και Πολυπλοκότητα", Ε. Ζάχος, 2004.

Τα δύο πρώτα βιβλία υπάρχουν στη βιβλιοθήκη του Τμήματος.

Αντικειμενοστρεφής Προγραμματισμός

Ειδικά θέματα και τεχνικές προγραμματισμού με τη γλώσσα C. Δυναμικές μεταβλητές, κλήση με αναφορά, αναδρομή, εγγραφές. Σύνθετες δομές δεδομένων και εφαρμογές. Επεξεργασία αρχείων. Αφηρημένοι τύποι δεδομένων, στατικός και δυναμικός τρόπος υλοποίησης. Απόδοση αλγορίθμων και δομών δεδομένων. Πολυπλοκότητα. Εισαγωγή στις δομές δεδομένων. Γραμμικές λίστες: απλά και διπλά συνδεδεμένες λίστες, στοίβες, ουρές, κυκλικές λίστες, ταξινομημένες λίστες. Η γλώσσα C++. Εισαγωγή στη γλώσσα Java.

Εαρ. Εξάμηνο 2009 - 2010.

Πρόγραμμα: Τετάρτη 10.00-13.00 Αίθ. 1 (Θεωρία), 

                     Δευτέρα 12.00-16.00, Πέμπτη 12.00-14.00, 15.00-17.00 Εργ. 1 (Εργαστήριο)

Τα μαθήματα ξεκινούν στις 10αρ-2010.

Ανακοινώσεις

4-Οκτ-2010

Τελικά αποτελέσματα περιόδου Σεπτεμβρίου.

Όποιος θέλει να δει το γραπτό του παρακαλώ να έρθει στο γραφείο μου την Τετάρτη 6-Οκτ-2010 και ώρα 12.00-13.00.

15-Ιουλ-2010

Τελικά αποτελέσματα

22-Μαϊου-2010

13-Μαϊου-2010

Παρακαλώ κατεβάστε και μελετήστε τους κώδικες:

- example_oop.c 

       (απλό πρόγραμμα σε C για εισαγωγή δεδομένων σε struct και εκτύπωση)

- example_oop.cpp

       (το ίδιο χρησιμοποιώντας κάποια χαρακτηριστικά της C++)

- example_oop2.cpp

       (το ίδιο χρησιμοποιώντας περισσότερα χαρακτηριστικά της C++)

- decbin.cpp

       (ένα πρόγραμμα σε C++ το οποίο μετατρέπει ακέραιους από δεκαδική σε δυαδική μορφή και τους προσθέτει)

12-Μαϊου-2010

Εδώ μπορείτε να δείτε τα θέματα της προόδου και ενδεικτικές απαντήσεις.

Απαντήσεις προόδου.

24-Απρ-2010

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

22-Απρ-2010

Παρακαλώ κατεβάστε τον κώδικα που δίνεται εδώ στον οποίο υλοποιούνται  συνδεδεμένες λίστες και βασικές τους πράξεις. Στο κυρίως πρόγραμμα γίνεται απλή χρήση των συναρτήσεων που έχουν υλοποιηθεί. Παρακαλώ μελετήστε το για να συζητήσουμε τυχόν απορίες κατά τη διάρκεια των μαθημάτων και του εργαστηρίου.

21-Απρ-2010

15-Απρ-2010

16-Μαρ-2010

22-Φεβ-2010

20-Φεβ-2010

Εργαστηριακές Ασκήσεις

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

- "Η Γλώσσα Προγραμματισμού C", Brian W. Kernighan & Dennis M. Ritchie, Εκδόσεις Κλειδάριθμος, 1990.

- "C Προγραμματισμός", Deitel & Deitel, Εκδόσεις Μ. Γκιούρδας, 2001

Τα δύο παραπάνω βιβλία υπάρχουν στη βιβλιοθήκη του Τμήματος.

Compilers για τη C

Στην παρακάτω διεύθυνση μπορείτε να βρείτε πληροφορίες και να κάνετε download τον compiler της C που χρησιμοποιούμε στο εργαστήριο.

DEV C/C++ compiler


Ενημέρωση: 25-Νοε-2011                                                                                                                            email: emarkou@ucg.gr