Undergraduate
studies

of informatics of university of piraeus

Courses of 5nd semester

Human Computer Interaction

Course Code
Course Type Core
Track
Teaching Hours 4 Theory + 2 Laboratory
ECTS: 5

• User interface system design.
• The human side in interaction.
• Classic and modern means of computer communication.
• Interaction models and user models.
• Objectives, methods, task analysis.
• Usability, software friendliness.

Upon completion of the course students will be able to:
• Know, understand and explain the principles of designing an interface system.
• Design user-friendly interface systems for any application.
• Implement user interface systems in a visual programming language.
• Evaluate the usability of interface systems developed by others.
• Identify the capabilities that one can expect from human users for designing improved, future interactive systems.
• Understand and classify tasks hierarchically.
• Apply hierarchical task analysis.
• Understand the importance of having help in an interactive interface system.
• Recognize the forms of help that can be provided in an interactive interface system.
• Design and develop easy-to-use help in an interactive interface system.
• Recognize the various user manuals that come with an interactive software.
• Analyze and compose clear instructions for use in interactive software.
• To compile, based on the above, the necessary user manuals that accompany an interactive software.
• To know, understand and explain theoretical models of interaction.
• Understand and implement the stages of the Norman model.
• Analyze alternative ways of designing interactions of an interface system according to Norman's model.
• Suggest and evaluate alternative ways of designing interactions of an interface system.

Professor
507/CB
+30.210.4142269

Information Systems

Course Code
Course Type Core
Track
Teaching Hours 4 Theory
ECTS: 5

Course Description The course aims in understanding the Information Systems (IS). It covers the subject not only from the perspective of Management Information Systems (MIS), but also from the perspective of Systems Analysis & Design (SAD). The students will get familiar with the modules of a IS and the most important types of information systems that are being utilized by organizations and businesses today. The students will get familiar with the methodologies of analyzing requirements and their transformation into system design. Finally, they will learn to use UML for constructing various models of IS and see how this leads to software development.

Basic course content:
• Basic concepts of information
• Modules of an IS
• Most important types of IS
• Methodologies of analyzing requirements and their transformation into system design.
• Development of IS and testing
• Use of UML for constructing different models of IS
• Analysis of case studies

By the end of this course students will be able to:
1. Identify the role and influence of information systems in the various functions of businesses.
2. Understand the concepts of information systems, not only from the perspective of Management Information Systems, MIS, but also from the perspective of Systems Analysis & Design, SAD.
3. Identify the modules of a information systems and the most important types of information systems that are utilized by the organizations and companies today.
4. Know the methodologies of analyzing user requirements and their transformation in system design.
5. We able to use UML for designing different models of IS.
6. Understand the ways that the aforementioned techniques lead to software development
7. Identify the basic principles in designing and developing an IS.
8. Clarify the basic methodologies designing and developing IS.
9. Getting familiar with different information systems that are utilized within the context of a “digital business”, e.g. Enterprise resource planning (ERP), Supply chain management (SCM) systems, decision support systems (DSS).

303/Lam.126
Phone Number/Fax:+30 210 4142578

Pattern Recognition

Course Code
Course Type Core
Track
Teaching Hours 4 Theory
ECTS: 5

Αναγνώριση Προτύπων (pattern recognition) είναι η επιστημονική περιοχή που έχει στόχο την ταξινόμηση αντικειμένων σε κατηγορίες (κλάσεις) και συμπεριλαμβάνει το επιστημονικό πεδίο της Μηχανικής Μάθησης (machine learning). Σκοπός, επομένως, του παρόντος μαθήματος είναι να παρουσιάσει με ενιαίο τρόπο τις ευρύτερα χρησιμοποιούμενες τεχνικές και μεθοδολογίες για προβλήματα αναγνώρισης προτύπων.
Το περιεχόμενο του μαθήματος χωρίζεται σε οκτώ ενότητες και κάθε ενότητα πραγματοποιείται σε μία ή περισσότερες διαλέξεις.

Ενότητα 1: Εισαγωγή στην Αναγνώριση Προτύπων

Ενότητα 2: Ταξινομητές που βασίζονται στη θεωρία αποφάσεων του Bayes:
Θεωρία Αποφάσεων του Bayes, H Γκαουσσιανή Συνάρτηση Πυκνότητας Πιθανότητας, Ταξινομητές Ελάχιστης Απόστασης, Ταξινομητής Ευκλείδειας Απόστασης, Ταξινομητής Mahalanobis Απόστασης, Εκτίμηση Μέγιστης Πιθανοφάνειας των παραμέτρων της Γκαουσσιανής Συνάρτησης Πυκνότητας Πιθανότητας
Μοντέλα Μίξης, Ο Αλγόριθμος Expectation-Maximization, Παράθυρα Parzen
Εκτίμηση Πυκνότητας Πιθανότητας με βάση τους k-πλησιέστερους γείτονες, Ο Ταξινομητής Naive Bayes, Ο Ταξινομητής Πλησιέστερων Γειτόνων

Ενότητα 3: Ταξινομητές που βασίζονται στη Βελτιστοποίηση Συνάρτησης Κόστους:
Ο αλγόριθμος Perceptron, H online έκδοση του αλγόριθμου Perceptron, Ταξινομητής Ελάχιστου Τετραγωνικού Σφάλματος, Περίπτωση πολλών κλάσεων, Μηχανές Διανυσματικής Στήριξης (ΜΔΣ/SVM): Η γραμμική περίπτωση, Επεκτάσεις για την περίπτωση πολλών κλάσεων, SVM: Η μη γραμμική περίπτωση, Ο Αλγόριθμος Perceptron με χρήση Πυρήνων, O Αλγόριθμος AdaBoost, Πολυστρωματικά Δίκτυα Perceptrons

Ενότητα 4: Μετασχηματισμοί Δεδομένων: Γένεση Χαρακτηριστικών και Μείωση Αριθμού Διαστάσεων:
Ανάλυση σε Κύριες Συνιστώσες (PCA), Ανάλυση σε Ιδιάζουσες Τιμές (SVD), Ανάλυση Γραμμικής Διάκρισης κατά Fisher, Ανάλυση σε Κύριες Συνιστώσες με Χρήση Πυρήνων, Μέθοδος Χαρτογράφησης Ιδιοτιμών του Laplacian Μητρώου

Ενότητα 5: Επιλογή Χαρακτηριστικών:
Αποκοπή Ακραίων Τιμών, Κανονικοποίηση Δεδομένων, Έλεγχος Υποθέσεων: t-Test,
Καμπύλη Receiver Operating Characteristic, Λόγος Διάκρισης κατά Fisher, Μέτρα Διαχωριστικής Ικανότητας μεταξύ κλάσεων, Απόκλιση, Απόσταση Bhattacharya και Φράγμα Chernoff, Μέτρα βασισμένα σε Μητρώα Διασποράς, Επιλογή Υποσυνόλου Χαρακτηριστικών, Βαθμωτή Επιλογή Χαρακτηριστικών, Διανυσματική Επιλογή Χαρακτηριστικών

Ενότητα 6: Σύγκριση με Πρότυπα Αναφοράς: Απόσταση Edit, Σύγκριση Ακολουθιών Πραγματικών Αριθμών, Δυναμική Χρονική Στρέβλωση στα πλαίσια της Αναγνώρισης Φωνής

Ενότητα 7: Κρυφά Μοντέλα Markov: Μοντελοποίηση, Αναγνώριση και Εκπαίδευση

Ενότητα 8: Ομαδοποίηση: Βασικές Έννοιες και Ορισμοί, Αλγόριθμοι Ομαδοποίησης, Ακολουθιακοί Αλγόριθμοι, Αλγόριθμος BSAS, Βελτίωση Ομαδοποίησης, Αλγόριθμοι Ομαδοποίησης Βασιζόμενοι στη Βελτιστοποίηση Συνάρτησης Κόστους, Αλγόριθμοι Σαφούς Ομαδοποίησης, Αλγόριθμοι Μη-Σαφούς Ομαδοποίησης, Άλλοι Αλγόριθμοι Ομαδοποίησης, Αλγόριθμοι Ιεραρχικής Ομαδοποίησης, Γενικό Σχήμα Συγχώνευσης, Εξειδικευμένοι Αλγόριθμοι Συγχώνευσης, Επιλογή της καλύτερης Ομαδοποίησης

Αναγνώριση Προτύπων (pattern recognition) είναι η επιστημονική περιοχή που έχει στόχο την ταξινόμηση αντικειμένων σε κατηγορίες (κλάσεις) και συμπεριλαμβάνει το επιστημονικό πεδίο της Μηχανικής Μάθησης (machine learning). Σκοπός, επομένως, του παρόντος μαθήματος είναι να παρουσιάσει με ενιαίο τρόπο τις ευρύτερα χρησιμοποιούμενες τεχνικές και μεθοδολογίες για προβλήματα αναγνώρισης προτύπων.

Με την επιτυχή́ ολοκλήρωση του μαθήματος ο φοιτητής θα είναι σε θέση:
• Να διαθέτει προχωρημένες γνώσεις σε αλγορίθμους, τεχνικές και μεθοδολογίες αναγνώρισης προτύπων, όπως στην Μπεϋζιανή θεωρία ταξινόμησης, σε γραμμικούς και μη γραμμικούς ταξινομητές, σε Νευρωνικά δίκτυα, σε Κρυφά Μοντέλα Markov, σε αλγορίθμους ομαδοποίησης και τεχνικές επιλογής χαρακτηριστικών και μείωσης αριθμού διαστάσεων δεδομένων.
• Να αντιλαμβάνεται πώς συνδυάζονται γνώσεις πιθανοτήτων, στατιστικής, γραμμικής άλγεβρας και βελτιστοποίησης για τη δημιουργία αλγορίθμων αναγνώρισης προτύπων.
• Να αναλύει προβλήματα πραγματικών δεδομένων (ανοικτής πρόσβασης), στα οποία απαιτείται η σχεδίαση/ανάπτυξη/υλοποίηση συστημάτων ταξινόμησης αντικειμένων.
• Να εκτιμά το εφικτό των προβλημάτων αυτών, να επιλέγει τους κατάλληλους αλγορίθμους/τεχνικές και να προβαίνει στην αποτίμηση και συγκριτική μελέτη των επιδόσεων εναλλακτικών λύσεων.
• Να διαχειρίζεται τον φόρτο και την πολυπλοκότητα τέτοιων προβλημάτων πραγματικών δεδομένων σε περιβάλλον ομαδικής εργασίας.
• Να κατέχει προχωρημένες προγραμματιστικές δεξιότητες σε περιβάλλον ανάπτυξης λογισμικού Python/MATLAB/GNU Octave για την υλοποίηση αλγορίθμων, τεχνικών και μεθόδων ταξινόμησης αντικειμένων.
• Να εκτιμά και να επαναχρησιμοποιεί υφιστάμενες υλοποιήσεις συναρτήσεων ανοιχτού κώδικα, σχετικών με το πεδίο της αναγνώρισης προτύπων, όπως των συναρτήσεων της βιβλιοθήκης scikit-learn. • Να διακρίνει έννοιες συναφείς της αναγνώρισης προτύπων, στα συγγενή επιστημονικά πεδία της Μηχανικής Μάθησης, της Ανάλυσης Δεδομένων και της Τεχνητής Νοημοσύνης.

302,Central Building
+302104142322

543/CB
+30 210 4142314

Scientific Writing in Education

Course Code
Course Type Core
Track
Teaching Hours 4 Theory
ECTS: 5

1. Subject submission (search scheme, title, plan, main problem and subject interest, purpose and search hypotheses, theoretical framework. Definition and investigation of research topic, suggested research method, expected results, indicative bibliography)
2. Mandatory parts and their structure (preface, table of contents, summary, keywords. Table of abbreviations, Introduction, Main topic, topic development. Conclusion, epilogue, suggestions, bibliography, annex.
3. Text form
- Title page
- Following pages
- Table of contents
- Main theme
- Bibliography
- Annex (index)
4. Presentation and evaluation
5. Bibliography – References (magazine articles, chapters in collective work, conferences, dissertations, electronic bibliography)

Upon successful completion of the course students are expected to:
1. Have familiarized themselves with methods of searching, hierarching and evaluating the validity and reliability of data sources.
2. Be able to prepare a scientific scheme, identifying ta building blocks (main problem, general interest, special purpose, research hypotheses, theoretical framework, selection of research methodology etc).
3. Compose a scientific paper, using data from different/conflicting sources, critically evaluating their scientific validity and the subject under study.
4. Utilize several methods of quoting bibliographic references, selecting the most appropriate in each case, acknowledging the uniformity of citations as an absolute rule of scientific writing.
5. Organize their material, observing the generally acceptable structure of a scientific publication, in a homogeneous yet personal manner, to the extent that it does not lead to bias.
6. Be able to critically analyze conflicting sources of information, check their validity and distinguish those which are subjective and / or unsubstantiated from the empirically substantiated ones.
7. Understand and observe the scientific moral code in data collecting methods as well as in writing a scientific publication.

4ος/Zeas
+302104142176

Advanced Computer Architecture

Course Code
Course Type Mandatory Direction
Track NCS
Teaching Hours 4 Theory
ECTS: 5

Course Description The course is a continuation of the background course Computer Architecture and aims to enhance the students’ knowledge in design and organization of modern high-performance processors.

It focusses on the study of the following topics:
1. Performance improvement using pipelining technique.
2. Memory hierarchy. Cache memory. Virtual memory.
3. Interfaces between processor, memory and input/output devices.
4. Dynamic scheduling. Branch prediction and speculation.
5. Multithreaded and multicore processors.

Upon successful completion of the course, the students:
• will have understood the architecture and organization of modern processors.
• will know the basic performance mechanisms of modern processors.
• will be able to use modern processor simulators and run/evaluate assembly programs.
• will be able to analyze the performance of computer programs and provide optimization tips to the programmers. • will be able to estimate the parameters that affect the performance and power consumption of a modern computer. • will have been updated about current research issues in the field of computer architecture.

302/Lam.126
+302104142425

Advanced Topics in Communications

Course Code
Course Type Mandatory Direction
Track NCS
Teaching Hours 4 Theory + 2 Laboratory
ECTS: 5

• Basic Principles of Wireless Communication, Physical Modeling of Wireless Channels, Wireless Transmission, Multiple Access and Channel Capacity.
• Next Generation Networks (NGN) and Applications, NGN Architectures, main features and platforms.
• Satellite Communications, DVB-T/T2 and DVB-S/SS2+ platforms, analysis and design of satellite links.
• Multi-step networks. Wireless Sensor Networks (WSNs),
• Power Control and Energy Saving, Resource Allocation, Routing

– Βασικές Αρχές Ασύρματης Επικοινωνίας, Φυσική Μοντελοποίηση Ασύρματων Καναλιών, Ασύρματη Μετάδοση, Πολλαπλή Πρόσβαση και Χωρητικότητα Καναλιών.
– Δίκτυα Επόμενης Γενιάς (NGN) και Εφαρμογές, Αρχιτεκτονικές NGN, κύρια χαρακτηριστικά και πλατφόρμες.
– Δορυφορικές Επικοινωνίες, πλατφόρμες DVB-T/T2 και DVB-S/S2+, ανάλυση και σχεδίαση δορυφορικών ζεύξεων.
– Δίκτυα πολλαπλών βημάτων. Ασύρματα Δίκτυα Αισθητήρων (WSNs).
– Έλεγχος Ισχύος και Εξοικονόμηση Ενέργειας, Κατανομή Πόρων, Δρομολόγηση.

With the successful completion of this module students will be able to:
1. Identify the basic concepts of wireless networks.
2. Introduce various wireless systems and standards and the basic cases of their operation.
3. It knows the principles of signal propagation and configuration and distinguishes the types of interference in the wireless environment of mobile communications.
4. Analyze traffic theories, and models of mobile radio radio-propagation, channel coding, and cellular communications issues
5. Model radio spectrum issues and analyze their impact on the performance of the communications system
6. Understand spectrum allocation techniques in multi-user systems and their impact on network capacity
7. Compare and contrast multi-access techniques in mobile communications systems, as well as wireless networks
8. Categorize network protocols, ad hoc and sensor networks, wireless MANS, local networks, and PANs.
9. Learn to simulate wireless networks and analyze simulation results
10. Analyze and propose broad solutions for a range of mobile communications scenarios

Professor
104/Lam.126
+30 210 4142479 | fax +30 210 4142119

Logic Programming

Course Code
Course Type Mandatory Direction
Track TSIS
Teaching Hours 2 Theory + 2 Laboratory
ECTS: 5

Course Description
1. Propositional and categorical logic and logical programming.
2. Categorical logic.
3. Principle of inferencing and its strategies.
4. Non-monotonous inferencing and logical programming.
5. The Prolog language and its simple applications. Data structures in Prolog.
6. Search strategy in Prolog. Recursive programming.
7. Separating logical programming. Logical constraint planning.
8. Parallel logical programming.
9. Post-logical programming.
10. Post-interpreters and advanced Prolog applications.

Upon completion of the course students are expected to:
1. understand and apply the basic principles of logical programming,
2. be able to develop an application in a Prolog language environment,
3. be able to integrate Data Structures into a program written in Prolog,
4. know and apply search strategies in programs written in Prolog,
5. be able to apply techniques of retrospective programming, split logic programming, parallel logical programming and meta-logical programming,
6. be able to develop meta interpreters and other advanced applications using the Prolog language.

303/Lam.126
+302104142476

Database Management Systems

Course Code
Course Type Mandatory Direction
Track ISY, TSIS
Teaching Hours 4 Theory + 2 Laboratory
ECTS: 5

The course offers knowledge about DBMS internals. In particular, it covers topics such as:
1. Files organization and indexing
2. Query processing and optimization
3. Transaction management (concurrency control, recovery process)
4. Advanced DBMS architectures (distributed/parallel, NoSQL)
5. Hands-on using popular DB systems (PostgreSQL, MongoDB)

Upon the successful completion of the course, the students will be able to:
• Understand topics related to the physical organization of Databases and the internals of a Database Management System (DBMS)
• Exploit on the above knowledge in order to be able to develop methods and tools over a DBMS
• Optimize queries using the theoretical background of query processing and optimization
• Get familiar with state-of-the-art DBMS architectures

501,Central Building
+302104142449

Cryptography

Course Code
Course Type Mandatory Direction
Track
Teaching Hours 4 Theory
ECTS: 5

1. Introduction
2. Evolution of cryptography through the years
3. Revision of necessary math background
4. Basic algorithm (Monoalphabetic substitution, One-Time-Pad, Ceasar Vigenere, Hill)
5. Symmetric algorithms (cipher modes: ECB, CBC, OFB κτλ) DES, AES
6. Stream ciphers: PRNG vs TRNG, LFSR, RC4 7. Public key algorithms (RSA algorithm, elliptic curves)
8. Homomorphic encryption
9. Hash functions
10. Digital signatures
11. Cryptographic applications and protocols 12. Cryptanalysis (Linear, differential, integer factorisation)
13. Development problems

Upon successful completion of the course the students will be able to:
• Assess the security that is offered by an encryption algorithm
• Identify and categorise the types and used of encryption algorithms
• Select the proper algorithm and the parameters for the proper mode for its successful use
• Develop/apply an encryption algorithm
• Understand in depth the applications and the protocols of cryptography
• Know the methods and parameters for the design and development of a protocol
• Trace and assess possible protocol vulnerabilities
• Use the above for the development and testing of programs.

Game Theory and Applications

Course Code
Course Type Elective
Track
Teaching Hours 4 Theory
ECTS: 5

Το μάθημα αποτελεί μια εισαγωγή στη Θεωρία Παιγνίων και στις Εφαρμογές της. Στόχος του μαθήματος είναι ο φοιτητής να μάθει τι πραγματεύεται αυτή η θεωρία, ποιος ο λόγος ύπαρξής της, καθώς και ποιές είναι οι μελλοντικές προοπτικές που έχει σε τομείς όπως η Πληροφορική.

Πιο συγκεκριμένα καλύπτει:
1. Γραμμικά Προγράμματα, Μέθοδος Simplex.
2. Εισαγωγή στη Θεωρία Παιγνίων, Μορφές παιγνίων.
3. Στρατηγικές, Κυρίαρχες στρατηγικές, Στρατηγική minimax, Μικτές στρατηγικές.
4. Παίγνια μη πλήρους πληροφόρησης.
5. Ισορροπία κατά Nash.

Μετά την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής:
• Θα γνωρίζει τα Γραμμικά Προγράμματα.
• Θα κατανοεί τη θεωρία των Παιγνίων.
• Θα εντοπίζει και θα διακρίνει τις μορφές Παιγνίων.
• Θα μπορεί να κατασκευάζει και να αναλύει απλά μοντέλα παιγνίων.
• Θα σχεδιάζει στρατηγικές γι’ αυτά τα παίγνια.
• Θα αναγνωρίζει σύγχρονα μοντέλα παιγνίων που αξιοποιούνται ήδη ή θα αξιοποιηθούν μελλοντικά στις εφαρμογές του τομέα της Πληροφορικής.

Fountas Evangelos

Special Topics on Operational Research

Course Code
Course Type Elective
Track
Teaching Hours 4 Theory
ECTS: 5

The course discusses Special Topics in Operations Research, i.e. nonlinear, integer and dynamic programming problems as well as the corresponding optimization techniques and algorithms for their solution. It also focuses on inventory management and supply chain management. In addition to understanding the basic concepts and theory, the aim of the course is to apply the presented methodologies to real world problems.

Topics

1. Convex Optimization
• Curved sets
• Convex Hull
• Convex and Concave Functions
• Local and Global Optimum

2. Nonlinear Programming
• Fractional programming problems
• Quadratic programming problems
• Derivatives of Vector-Valued Functions
• Lagrange multipliers
• Kuhn Tucker conditions
• Duality – Duality Gap
• Parametric Techniques-Approximation Algorithms
• Solving problems using optimization software (Excel and Matlab)

3. Integral Programming and Combined Optimization
• Modeling of Integer and Mixed Integer Programming problems
• Integer Programming Algorithms
• Heuristic Algorithms
• Integer Programming Applications
• Solving problems using optimization software (Excel and Matlab)

4. Dynamic Programming
• Bellman's principle of optimality
• Bottom-up approach
• Top-down approach
• Production and Storage-Inventory problem
• Solving problems using optimization software (Excel and Matlab)

5. Inventory Management
• Inventory Management Systems
• Demand-Demand Forecast
• Cost and Storage
• Management and Inventory Control Models

6. Supply Chain
• Structure of Supply Chain
• Modeling and Optimization of Supply Chain
• Facility Location Problem
• Costs and Performance of Supply Chain
• Inventory Management Problems in the Supply Chain
• Just In Time (JIT) System

Upon completion of the course, the students will be able to:
• Formulate and solve convex optimization problems.
• Distinguish the basic principles and concepts of non-linear programming, integer programming and dynamic programming.
• Recognize and model non-linear programming and integer programming problems.
• Distinguish the basic principles and concepts of non-linear programming, integer programming and dynamic programming.
• Identify and model non-linear programming and integer programming problems.
• Understand and use discrete optimization algorithms as well as integer programming algorithms.
• Apply the method of Lagrange multipliers.
• Recognize the relationship between the primal and dual models as well as the existence of a duality gap.
• Express the Kuhn ‐ Tucker optimality conditions.
• Identify and implement approximation techniques for solving mathematical problems.
• Model dynamic programming problems by breaking down a multi-stage decision-making problem into sub-problems, to formulate the retrospective relation of the problem and to determine its optimal solution.
• Model dynamic programming problems by breaking down a multi-stage decision-making problem into sub-problems and determine the optimal solution.
• Utilize optimization techniques for inventory management.
• Calculate inventory costs, storage and management issues and control supply as well as to control supply and demand.
• Recognize the issues relating to the planning and operation of the supply chain.
• Model and solve supply chain management problems.
• Model and solve facility location problems.
• Analyze real decision problems and construct the mathematical models that describe them, considering all the parameters and constraints of the given problem.
• Select and apply the appropriate optimization techniques and algorithms for solving given problems.
• Completely solve a mathematical programming problem either on paper or by using the appropriate software.
• Interpret the results obtained from the solution of a mathematical programming problem. • Use specialized optimization tools such as Matlab Optimization Toolbox.
• Use specialized software of data and results visualization (Matlab, Graph, GeoGebra).

Koronakos Grigoris

Theory of Computation

Course Code
Course Type Elective
Track
Teaching Hours 4 Theory
ECTS: 5

The subject of the course is the presentation of the basic concepts of the Theory of Calculation.

In particular, the following topics are studied:
Regular Languages, Finite Automata, Non-Deterministic Automata, Non-Regular Languages, Context-free Languages, Context-free Grammars, Pushdown Automata, Non Context-free Languages, Church-Turing Thesis, Turing machines, Turing machine variants, Definition of the algorithm, Decidability, Reductions, Time Complexity, Class P, Class NP, NP-completeness, The Cook-Levin theorem, Spatial Complexity, Savitch's theorem, class PSPACE, PSPACE-completeness.

Upon completion of the course, students will be able to:
1. Identify the capabilities and limitations of theoretical computation models.
2. Identify the inherent difficulty of a problem.
3. Formally prove that there is no fast algorithm to solve a difficult problem, in all likelihood.
4. Determine the space requirements of problem for its solution.
5. Evaluate alternatives given the aforementioned requirements.
6. Assess whether a problem is solvable by Computers or not.

301, Lam. 126
+302104142124

Learning Management Software

Course Code
Course Type Elective
Track
Teaching Hours 4 Theory
ECTS: 5

Languages, Regular Languages, Finite Automata, Non-determinism, Non-regular Languages and Pumping Lemma, Context-Free Languages, Context-Free Grammars, Pushdown Automata, Non-Context-Free Languages and Pumping Lemma, The Church-Turing Thesis, Turing Machines, Decidability, Time Complexity, NP-completeness, Reductions, Space Complexity, PSPACE-Completness, NL-completness, Intractability and Hierarchy Theorems, Approximation Algorithms.

Με την ολοκλήρωση του μαθήματος οι φοιτητές και φοιτήτριες του τμήματος θα αποκτήσουν την δυνατότητα:
• Συγκριτικής αξιολόγησης του συγκεκριμένου διδακτικού εργαλείου σε σχέση με τα ανταγωνιστικότερα συστήματα διαχείρισης μάθησης που είναι διαθέσιμα αυτή την στιγμή από την βιομηχανία λογισμικού.
• Αναγνώρισης και εμβάθυνσης στις θεμελιώδεις έννοιες που διέπουν τα συστήματα διαχείρισης μάθησης με αφορμή την διδασκαλία του συγκεκριμένου εργαλείου διαχείρισης μάθησης.
• Απόκτησης εμπειρίας στην δημιουργία μιας ψηφιακής τάξης η οποία θα υποστηρίζει τις δυνατότητες σύγχρονης και ασύγχρονης διδασκαλίας.
• Γνωριμίας με τα βασικά εργαλεία δημιουργίας περιεχομένου στο Moodle.
• Κατανόησης της δομή ενός μαθήματος στο Moodle και των εκπαιδευτικών στόχων που θα πρέπει να εξυπηρετήσει.
• Δημιουργίας του δικού του εκπαιδευτικού περιεχομένου.
• Διαχείρισης ενός μαθήματος.

543/CB
+30 210 4142314

Queuing Theory

Course Code
Course Type Elective
Track
Teaching Hours 4 Theory
ECTS: 5

The course's subject covers the theoretical and practical underpinnings of Queueing Theory, emphasizing on ICT. Topics covered include, among others, single-queue systems, the Markov models M / M / 1, M / M / c, M / M / D, M / M / 1 / K, M / M / 1 / K / K, as well as non-Markov models, such as the M / G / 1 system, systems simulation, etc. The course also offers practical applications of queue theory in telecommunications systems, cloud computing systems, operating systems, and, finally, distributed systems. All the theoretical concepts of Queueing Theory are further supplemented by relevant case studies from the international literature and practice. In more detail, the main elements of this course are:
• Fundamental characteristics of queues, functionality measures, the queue length process, implanted queue length procedures at arrival and departure times, the PASTA property, Little's theorem. Kendall Symbolism.
• Fundamental thought processes and performance measures.
• Markov chain models M / M / 1, M / M / c, M / M / ∞, M / M / 1 / K, M / M / 1 / K / K, open and closed Jackson networks.
• Markovian service systems with special features.
• Reverse stochastic processes. Reversible Markov chains.
• Simulation methodologies (programming languages, result analysis, simulation examples)
• Relevant Systems Modeling Software (Network Simulator, Performance Evaluation and Prediction System, Java Modeling Tools)

The course aims to develop basic skills regarding the modeling and mathematical analysis of systems, emphasizing Information and Communication Technologies (ICT) systems using Queuing theory's theoretical approaches. After the lectures, the students are expected to:
• describe the fundamental features of Queuing theory
• be able to analyze and model, with the appropriate technical tools, queuing systems,
• be able to use relevant system simulation techniques to control the performance and service rates of a system;
• be able to answer practical questions related to Queue Theory, such as 1) how long each customer waits on average in a queue system, 2) What is the average queue length formed 3) what will be the reduction, on average, in the service time of the system if an additional server is added etc.
• be exposed to the modern approaches regarding the analysis and modeling of Queuing systems, both in theory and practice.

302,Central Building
+30 210 4142137
fax +30 210 4142472

English V

Course Code
Course Type Foreign Language
Track
Teaching Hours 4 Theory
ECTS: 3

- Layout of business letters, effective writing styles for letters, scientific papers and electronic messages
- Translation
- Terminology of scientific texts
- Advantages - disadvantages of letters and emails
- Letter writing etiquette and emails (netiquette)
- Authentic interdisciplinary texts and terminology exercises at an advanced level.

Upon successful completion of the course students:
1. Compose letters, CVs and / or emails for:
- reservations
- enquiries and replies to enquiries for services, prices, etc.
- orders
- credit
- payments and payment recovery
- agencies
- insurances
- banking
- Job finding
2. Understand the terminology regarding the aforementioned units
3. Translate texts from English to Greek and vice versa
4. Recognize important information contained in scientific articles related to their field of study.
5. Use the above mentioned for writing their scientific projects as part of their course requirements.
6. Attend international conferences in cutting-edge fields related to their scientific subject.
7. Process and understand authentic texts on issues related to venture capital, graphic representations, business research, commercial enterprises, small and medium enterprises, payment methods, etc.

Mormori Pelagia

French V

Course Code
Course Type Foreign Language
Track
Teaching Hours 4 Theory
ECTS: 3

1. Vocabulary specialized in Informatics.
2. Translation of specialized texts to and from French.
3. Human or Machine Translation of texts referring to Compilers, Cryptography, OOP Languages, Databases, Dynamic Systems. etc.
4. Search for scientific publications in reliable databases.

Upon successful completion of the course students are expected to:
• Have an exceptional knowledge of the French language in written and oral form.
• Compose specialized text.
• Translate text of general and specialized content to and from French.
• Comprehend scientific articles.
• Collect information from such sources and incorporate it in the scientific paper they are expected to present.
• Know basic functions and capabilities of software for machine translation.
• Be able to translate text concerning the scientific field of Informatics.

4ος/Zeas
+302104142176