Studies

Course catalogue

Data Structures
Course Code 321-3000
Semester 3
ECTS 5.00
Hours (Theory) 3
Hours (Lab) 2
Instructor Vlachou Akrivi
Course Content

Introduction - Basic concepts of algorithms and data structures, Abstract Data Types (ADT), Performance Algorithm, Analysis of algorithms, Asymptotic notations, Arrays (multidimensional, special forms, sparse), Lists (simply connected, circular, doubly linked), Stacks (with implementation table with a list implementation, applications), tails (realization with a round table with a list implementation, applications), Trees (quantitative data, representation of arrays and pointers, cross), priority Queue, heap Structure, Search (linear, binary, with interpolation), Sort (with option to import, bubble, quicksort, heap with merger), binary search trees, weighted search tree, hash (dictionary function and hash table, collisions, fragmentation chains, linear and double fragmentation), Graphs (a reconstruction table / list of neighborhood, breadth-first search, depth-first search). The design or selection of appropriate data structures for specific programming problems. The implementation and evaluation of different structures. Basic algorithmic techniques.

Learning Outcomes

The student that will complete successfully the course is expected that will be in position to:

  • Cite the characteristics of basic data structures.
  • Cite basic search and sorting algorithms in basic linear and linked structures of data.
  • Cite basic tree traversal and tree management algorithms.
  • Cite basic graph algorithms.
  • Cite three asymptotic notations.
  • Explain basic search and sorting algorithms in basic linear and linked structures of data.
  • Explain basic tree traversal and tree management algorithms.
  • Explain basic graph algorithms.
  • Select suitable algorithms for solving problems.
  • Modify properly known algorithms so that they can be exploited in the solution of a problem.
  • Comment the quality of a solution in relation to the execution time of the corresponding algorithm.
  • Implement known and new algorithms.
  • Modify known algorithms.
  • Analyze a complex problem.
  • Design the solution in an abstract level.
  • Evaluate the quality of solution proposed and make corrective actions if required.
  • Compare between various alternative choices for the solution of a problem.
  • Analyze the quality of a solution in relation to the execution time of separate modules.
  • Compose the solution of problem by combining individual pieces of the solution.
  • Implement the solution to a problem.
  • Evaluate the quality of designing a solution to a problem.
  • Evaluate the quality of implementing a solution to a problem.
  • Assess the correctness of a solution.
  • Compare and comment various alternative solutions to a problem.
  • Identify, assess and evaluate relative information via the proposed bibliographic sources and the use of Internet.

Prerequisites

Not required.

Teaching and Learning Methods

Activity Semester workload
Lectures 39 hours
Laboratory Exercises 26 hours
Personal study 56 hours
Laboratory exams 2 hours
Final exams 2 hours
Course total 125 hours (5 ECTS)

Assessment Methods / Grading

  • short-answer questions
  • problem solving,
  • laboratory work

 

Teaching Language

Greek (English for Erasmus students)

Contact
  • President: Skoutas Dimitrios
  • Secretariat Head: Karagianni Kalliopi
  • Undergraduate Secretariat: ICS Eng. Department
  • Postgraduate Secretariat: ICS Eng. Department
  • Email: dicsd [at] aegean [dot] gr
  • Phone: 2273082000
  • Address: Κτήριο Λυμπέρη, Παλαμά 2 & Γοργύρας, Τ.Κ. 83200
  • Website: www.icsd.aegean.gr
  • Office Hours: Δευτέρα - Παρασκευή: 8:00 - 16:00
Στατιστικά Σπουδών
Μέσος Όρος Βαθμού Πτυχίου

7.76

Μέσος χρόνος Απόκτησης Πτυχίου

6.5 έτη

Μαθήματα με εργαστήριο

46

Κύκλοι Σπουδών

6

Μαθήματα Υποχρεωτικά

36

Μαθήματα Κύκλου

8

Σύνολο μαθημάτων για πτυχίο

55

Διπλωματική Εργασία

Υποχρεωτική