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, Central Building
+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
302, Central Building
+302104142322
543, Central Building
+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
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.
540, Central Building
Game Theory and Applications
Course Code
Course Type Elective
Track –
Teaching Hours 4 Theory
ECTS: 5
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.
543, Central Building
+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