ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Algorithms and Data Structures

1. ΓΕΝΙΚΑ

ΣΧΟΛΗ School of Engineering
ΤΜΗΜΑ Department of Computer, Informatics and Telecommunications Engineering
ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Undergraduate
ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ %cf%80%ce%bb%cf%8503042 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 3rd
ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Algorithms and Data Structures
ΑΥΤΟΤΕΛΕΙΣ ΔΙΔΑΚΤΙΚΕΣ ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ
σε περίπτωση που οι πιστωτικές μονάδες απονέμονται σε διακριτά μέρη του μαθήματος π.χ. Διαλέξεις, Εργαστηριακές Ασκήσεις κ.λπ. Αν οι πιστωτικές μονάδες απονέμονται ενιαία για το σύνολο του μαθήματος αναγράψτε τις εβδομαδιαίες ώρες διδασκαλίας και το σύνολο των πιστωτικών μονάδων.
ΕΒΔΟΜΑΔΙΑΙΕΣ ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ ΠΙΣΤΩΤΙΚΕΣ ΜΟΝΑΔΕΣ
Lectures 2 5
Practice Exercises 1
Laboratory Exercises 1
Προσθέστε σειρές αν χρειαστεί. Η οργάνωση διδασκαλίας και οι διδακτικές μέθοδοι που χρησιμοποιούνται περιγράφονται αναλυτικά στο 4.    
ΤΥΠΟΣ ΜΑΘΗΜΑΤΟΣ
Γενικής Υποδομής (ΓΥ),Ειδικής Υποδομής (ΕΥ), Γενικών Γνώσεων (ΓΓΔ) και Επιστημονικής Περιοχής (ΔΔΤΝ, ΕΔ, ΕΥΣ, ΗΛ, ΠΑ) .
 Special Background
ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ ΜΑΘΗΜΑΤΑ:  
ΓΛΩΣΣΑ ΔΙΔΑΣΚΑΛΙΑΣ και ΕΞΕΤΑΣΕΩΝ:  Greek
ΤΟ ΜΑΘΗΜΑ ΠΡΟΣΦΕΡΕΤΑΙ ΣΕ ΦΟΙΤΗΤΕΣ ERASMUS Ναι
ΗΛΕΚΤΡΟΝΙΚΗ ΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ (URL) https://elearning.cm.ihu.gr/course/view.php?id=270

2. ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Μαθησιακά Αποτελέσματα
Περιγράφονται τα μαθησιακά αποτελέσματα του μαθήματος οι συγκεκριμένες  γνώσεις, δεξιότητες και ικανότητες καταλλήλου επιπέδου που θα αποκτήσουν οι φοιτητές μετά την επιτυχή ολοκλήρωση του μαθήματος.

Να αποκτήσουν οι φοιτητές το απαραίτητο θεωρητικό και πρακτικό υπόβαθρο για την κατανόηση και το χειρισμό απλών και σύνθετων δομών δεδομένων κύριας μνήμης παράλληλα με τη μελέτη δημοφιλών αλγορίθμων και να εξοικειωθούν με τη χρήση των δομών δεδομένων σε αλγορίθμους διαφόρων προβλημάτων με στόχο την πιο αποδοτική επίλυσή τους με χρήση Η/Υ. Επίσης, δίνεται η δυνατότητα στους φοιτητές να υλοποιήσουν μία εφαρμογή που χρησιμοποιεί δομές δεδομένων και αλγορίθμους μέσα από μία ατομική εργασία που εκπονούν και η οποία τους ανατίθεται κατά τη διάρκεια του εξαμήνου.

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

3. ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

The course provides a systematic analysis of data structures, including linear lists, stacks, queues, pointers and dynamic data structures such as linked lists. Non-linear data structures such as binary trees, B-trees, tries are also analyzed. Memory demand is analyzed, the restrictions and efficiency of data structures are discussed. Comprehensive analysis of fast and slow sorting algorithms is presented, including bubble sort, insertion sort, selection sort, quicksort etc. Searching and recursive algorithms are explained. Hashing tables and graphs are also introduced. Finally, students will be given the opportunity to design and implement a program in C, using large data structures with random numbers and various sorting algorithms, testing the efficiency of each sorting technique.

4. ΔΙΔΑΚΤΙΚΕΣ και ΜΑΘΗΣΙΑΚΕΣ ΜΕΘΟΔΟΙ - ΑΞΙΟΛΟΓΗΣΗ

ΤΡΟΠΟΣ ΠΑΡΑΔΟΣΗΣ
Πρόσωπο με πρόσωπο, Εξ αποστάσεως εκπαίδευση κ.λπ.
  • Θεωρητική από έδρας διδασκαλία με συζήτηση και ενεργή συμμετοχή των φοιτητών. Κατά τη διάρκεια του μαθήματος γίνονται παρουσιάσεις σε PowerPoint, καθώς και παρουσίαση και ανάλυση αλγορίθμων.
  • Εργαστηριακές ασκήσεις και εργασίες σχεδίασης και υλοποίησης προγραμμάτων.
ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ
Χρήση Τ.Π.Ε. στη Διδασκαλία, στην Εργαστηριακή Εκπαίδευση, στην Επικοινωνία με τους φοιτητές
  • Χρήση εξειδικευμένου λογισμικού.
  • Υποστήριξη της μαθησιακής διαδικασίας μέσω της ηλεκτρονικής πλατφόρμας E-Learning ή E-Class.
  • Ηλεκτρονικές Ασκήσεις Αυτοαξιολόγησης.
  •  Επικοινωνία με φοιτητές μέσω e-mail και της ιστοσελίδας του μαθήματος.
ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ
Περιγράφονται αναλυτικά ο τρόπος και μέθοδοι διδασκαλίας. Διαλέξεις, Σεμινάρια, Εργαστηριακή Άσκηση, Άσκηση Πεδίου, Μελέτη & ανάλυση βιβλιογραφίας, Φροντιστήριο, Πρακτική (Τοποθέτηση), Κλινική Άσκηση, Καλλιτεχνικό Εργαστήριο, Διαδραστική διδασκαλία, Εκπαιδευτικές επισκέψεις, Εκπόνηση μελέτης (project), Συγγραφή εργασίας / εργασιών, Καλλιτεχνική δημιουργία, κ.λπ. Αναγράφονται οι ώρες μελέτης του φοιτητή για κάθε μαθησιακή δραστηριότητα καθώς και οι ώρες μη καθοδηγούμενης μελέτης ώστε ο συνολικός φόρτος εργασίας σε επίπεδο εξαμήνου να αντιστοιχεί στα standards του ECTS

Teaching Organization

ActivitySemester workload
Lectures26
Practice Exercises13
Laboratory Exercises13
Writing laboratory reports20
Autonomous Study53
Total125
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ
Περιγραφή της διαδικασίας αξιολόγησης Γλώσσα Αξιολόγησης, Μέθοδοι αξιολόγησης, Διαμορφωτική ή Συμπερασματική, Δοκιμασία Πολλαπλής Επιλογής, Ερωτήσεις Σύντομης Απάντησης, Ερωτήσεις Ανάπτυξης Δοκιμίων, Επίλυση Προβλημάτων, Γραπτή Εργασία, Έκθεση / Αναφορά, Προφορική Εξέταση, Δημόσια Παρουσίαση, Εργαστηριακή Εργασία, Κλινική Εξέταση Ασθενούς, Καλλιτεχνική Ερμηνεία, Άλλη / Άλλες. Αναφέρονται ρητά προσδιορισμένα κριτήρια αξιολόγησης και εάν και που είναι προσβάσιμα από τους φοιτητές.

Ο τελικός βαθμός του μαθήματος διαμορφώνεται από το βαθμό του θεωρητικού μέρους (που περιλαμβάνει γραπτή τελική εξέταση), καθώς και από ατομικές εργασίες που ανατίθενται στους φοιτητές και αξιολόγηση των εργαστηριακών δεξιοτήτων τους.

  1. Η γραπτή τελική εξέταση του θεωρητικού μέρους περιλαμβάνει:
    • Ερωτήσεις πολλαπλής επιλογής.
    • Επίλυση προβλημάτων εφαρμογής των γνώσεων που αποκτήθηκαν.
    • Ερωτήσεις σύντομης απάντησης.
    • Συγκριτική αξιολόγηση στοιχείων θεωρίας.
  2. Η αξιολόγηση του εργαστηριακού μέρους του μαθήματος περιλαμβάνει:
    • Την αξιολόγηση των προγραμματιστικών δεξιοτήτων που αποκτήθηκαν μέσω εξέτασης εβδομαδιαίων εργασιών και
    • την εξέταση μίας τελικής ατομικής εργασίας (project) που ανατίθεται σε κάθε φοιτητή.

5. ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

Συγγράμματα

Συγγράμματα μέσω του συστήματος ΕΥΔΟΞΟΣ:

  1. Robert Sedgewick, ΑΛΓΟΡΙΘΜΟΙ ΣΕ C, ΜΕΡΗ 1-4: ΘΕΜΕΛΙΩΔΕΙΣ ΕΝΝΟΙΕΣ, ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ, ΤΑΞΙΝΟΜΗΣΗ, ΑΝΑΖΗΤΗΣΗ
    3η Έκδοση, Εκδόσεις Κλειδάριθμος, 2006.
  2. Παπουτσής Ιωάννης, Εισαγωγή στις δομές δεδομένων και στους αλγόριθμους 1η Έκδοση, Εκδόσεις Σταμούλη, 2010.

Συγγράμματα που διανέμονται μέσω του Ιδρύματος ή της ηλεκτρονικής σελίδας του μαθήματος:

  1. Ε. Ούτσιος, Δομές Δεδομένων, Σημειώσεις Θεωρίας, 2020.
  2. Ε. Ούτσιος, Δομές Δεδομένων, Σημειώσεις Εργαστηρίου, 2020.

Συμπληρωματική προτεινόμενη βιβλιογραφία:

  1. Γ. Κόλλιας, Γ. Μανωλόπουλος, Δομές Δεδομένων, τόμος Α΄.
  2. Nicklaus Wirth, Algorithms + Data Structures = Programs, 1976.
  3. S. Sahni, Μετάφραση Ι. Μανωλόπουλος και Ι. Θεοδωρίδης, Δομές Δεδομένων, Αλγόριθμοι και Εφαρμογές στη C++, Εκδόσεις Τζιόλα, 2004.
  4. Π. Μποζάνης, Αλγόριθμοι: Σχεδιασμός και Ανάλυση, Εκδόσεις Τζιόλα, 2003.
  5. Robert Lafore, Data Structures & Algorithms in JAVA, 2nd Edition, 2003.
  6. Leendert Ammeraal, Προγραμματισμός και Δομές Δεδομένων στην C, Εκδόσεις Γκιούρδας, 1989.