Ανάπτυξη Αλγορίθμων

Τίτλος Μαθήματος ΑΝΑΠΤΥΞΗ ΑΛΓΟΡΙΘΜΩΝ ‐ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κωδικός 2102 Ώρες Διδασκαλίας Θεωρία: 2 Κατηγορία Μάθημα Γενικής Υποδομής Τύπος Υποχρεωτικό Διδάσκων Δρ. Αριστείδης Μπακάλης Εξάμηνο Α Πιστωτικές Μονάδες 4 Εργαστήριο: 2 ΣΤΟΧΟΙ ΤΟΥ ΜΑΘΗΜΑΤΟΣ Στόχος του μαθήματος είναι η εξοικείωση των φοιτητών με την ανάπτυξη εφαρμογών λογισμικού σε ένα σύγχρονο περιβάλλον προγραμματισμού με τη γλώσσα C και συγκεκριμένα η γνώση για τις τεχνικές, τις μεθόδους και τα εργαλεία ανάπτυξης λογισμικού, τη χρήση των τύπων δεδομένων, σταθερών, μεταβλητών και τελεστών, τις δομές ακολουθίας, ελέγχου, επανάληψης, τη χρήση συναρτήσεων, τη διαχείριση πινάκων, δομών, συμβολοσειρών (strings) και δεικτών (pointers) στη γλώσσα C. Επίσης στόχος είναι να κατανοήσουν τους βασικούς αλγορίθμους ταξινόμησης πινάκων και αναζήτησης δεδομένων σε πίνακες, την έννοια της πολυπλοκότητας των αλγορίθμων και τις τεχνικές ανάπτυξης σύντομων, ευέλικτων και αποδοτικών προγραμμάτων καθώς και τη διαχείριση λαθών. Τέλος μέσω του εργαστηρίου αναμένεται οι φοιτητές να εξοικειωθούν με τη χρήση ολοκληρωμένου περιβάλλοντος προγραμματισμού σε C, καθώς και τη χρήση συναρτήσεων βιβλιοθήκης της C για ανάπτυξη σύνθετων και εξελιγμένων προγραμμάτων. ΠΕΡΙΕΧΟΜΕΝΟ ΤΟΥ ΜΑΘΗΜΑΤΟΣ Εισαγωγή στον προγραμματισμό Η/Υ, αλγόριθμοι και δεδομένα, μεταβλητές, σταθερές, τελεστές, τύποι δεδομένων, είσοδος και έξοδος δεδομένων. Εργαλεία ανάπτυξης αλγορίθμων (ψευδοκώδικας, διάγραμμα ροής, γλώσσες προγραμματισμού). Δομές ακολουθίας, ελέγχου και επανάληψης. Διαδικασίες και συναρτήσεις, πέρασμα παραμέτρων με τιμή και αναφορά. Πίνακες, δομές, συμβολοσειρές, δείκτες. Συναρτήσεις βιβλιοθήκης. ΔΙΔΑΚΤΙΚΕΣ ΚΑΙ ΜΑΘΗΣΙΑΚΕΣ ΜΕΘΟΔΟΙ Η διδασκαλία του μαθήματος πραγματοποιείται μέσα από την παράδοση μαθημάτων θεωρίας υπό μορφή διαφανειών οπότε και είναι απαραίτητη η χρήση Laptop & Data video projector. Για το εργαστηριακό μέρος του μαθήματος απαιτείται η χρήση του προγράμματος ανάπτυξης εφαρμογών DevC++ ή Visual Studio. ΜΕΘΟΔΟΙ ΑΞΙΟΛΟΓΗΣΗΣ / ΒΑΘΜΟΛΟΓΗΣΗΣ Γραπτές εξετάσεις για το θεωρητικό μέρος. Ανάθεση εργασιών (projects) και παρουσίασή τους καθώς και τελική εξέταση για το εργαστηριακό μέρος. ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ 1. D. E. Knuth, Η Τέχνη του Προγραμματισμού, Τόμοι Α’ και Β’, Εκδόσεις ΤΖΙΟΛΑ. 2. Brian W. Kernighan, Dennis M. Ritchie, Η Γλώσσα Προγραμματισμού C, εκδόσεις Κλειδάριθμος, 1990. 3. Ellis Horowitz, Βασικές αρχές γλωσσών προγραμματισμού, 2η έκδοση, εκδόσεις Κλειδάριθμος. Τ.Ε.Ι. Πάτρας - Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
29