Undergraduate
studies

of informatics of university of piraeus

Courses of 3rd semester

Mathematical Programming

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

Course Description The course is part of the scientific field of operations research. The course is focused to linear programming, one of the main techniques for operations research, which offers the methodological approach and the framework for the solution of several problems of business administration. In particular, the following topics are covered in the course:
• Introduction to operations research
• The problem of linear programming
• Mathematical formulation of linear programming
• Modeling of linear programming problems
• Linear programs with two variables - Graphical solution
• The simplex algorithm
• Additional computational techniques
• Duality
• Sensitivity analysis
• Special network problems
• The transportation problem
• The problem of the supply chain
• The assignment problem
• Maximum flow problem
• Shortest Path Problem
• Minimum spanning tree
• Introduction to game theory

Upon successful completion of the course the students will acquire the ability to:
• decide if a problem of low or medium complexity can be modeled as a linear programming problem.
• understand in depth the algorithms for solving general and special linear programs.
• determine the most appropriate linear programming model that is suitable for the given problem.
• identify the variables and the parameters that will compose the linear model of the given problem.
• use appropriate software to solve linear programs and interpret the results.

Koronakos Grigoris

Object Oriented Application Development

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

General Skills

• Search, analysis and synthesis of data and information, using the necessary technologies
• Autonomous work
• Teamwork
• Project design and management
• Adaptation to new situations

Basic course content includes:

The subject of the course is the development of applications based on the object-oriented software development model. The programming language used as a base is C #, which is considered one of the most modern object-oriented languages. In the course, special emphasis is given to application development tools, integrated development environments (IDEs) and specifically the tool used is the Visual Studio Enterprise Edition. Using Visual Studio and C # as a programming language, students learn to develop desktop, web, and / or mobile applications quickly, efficiently, and most importantly with as little chance of making programming and / or logic errors.
• Polynomial interpolation of functions.
• Numerical integration.

Upon successful completion of this course students will be able to:
1. Use integrated software development environments
2. Produce applications at an efficient and fast pace
3. Know the basic principles of the C # language
4. Debug software with the most modern tools
5. Develops software for a wide range of fields, including windows applications, console applications, web applications, and mobile applications
6. Exposed to modern programming techniques aimed at the quality of the software produced, as well as the speed of development of complex and complex programs / projects
7. Learn to evaluate and locate software implemented with visual programming tools

540, Central Building

Operating Systems

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

The course covers the theoretical study and the practical training in the area of Operating Systems. In particular it includes the following:
• Basic concepts and principles of Operating Systems.
• Architecture, structure and categorization of Operating Systems.
• Processes, Threads.
• Inter-process communication.
• CPU scheduling.
• Memory systems.
• Virtual memory.
• Memory paging.
• Memory management algorithms. • File and directory management. • File Systems. • Input/Output system. • Deadlocks.

Upon completion of the course students are expected to:
1. Know the basic concepts and principles of Operating Systems (O.S),
2. Be able to describe the architecture, the structure and to distinguish the main categories of O.S.,
3. Define and understand the concepts of process and thread,
4. Will be able to utilize threats and processes to support multiprocessing,
5. Recognize computing deadlock conditions and understand ways of avoiding them during multiprocessing,
6. Be able to list CPU scheduling algorithms,
7. Describe memory managements systems and algorithms, such as memory paging and virtual memory,
8. identify the main memory management techniques, such as memory swapping and memory virtualization,
9. They will be familiar with virtual memory management and paging algorithms,
10. Distinguish and categorize file and directory management commands,
11. Will be able to determine the Input / Output system of an O.S.

302/Lam.126
+302104142123

Compilers

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

The course presents the theory of programming languages with an emphasis on automata theory, lexical analysis and syntactic analysis, i.e., the fundamental theory related to the design and development of the most important modules of a compiler. The course is split into the following sections:

Section 1: Introduction to the field of compilers
Section 2: Fundamentals of languages (language definitions, grammars, automata).
Section 3: Syntax definitions (sets, BNF, syntactic diagrams, EBNF).
Section 4: Lexical analysis (lexical analyzers, pattern matching, regular grammars and expressions, recovery from lexical errors, lexical units, implementing lexical analyzers, FLEX).
Section 5: Syntactic and Semantic analysis (strategies of syntactic analysis, top-down and bottom-up parsers, implementing syntactical analyzers, semantic analysis.
Section 6: Code generation (intermediate representations, examples).

With the successful completion of the course, the student will be able to:
• Understand and explain the concepts of language and grammar along with the respective symbolism.
• Understand and explain different ways of defining syntax (BNF, EBNF, syntactic diagrams).
• Understand and explain what a sentence and a derivation procedure is.
• Generate symbol strings for a grammar and create the syntactic tree of a derivation procedure.
• Understand regular expressions and the respective FLEX declarations.
• Understand stack automata, both the deterministic and non-deterministic ones.
• Use a stack automaton for pattern matching.
• Construct the minimum finite deterministic automaton given a regular expression.
• Understand, explain and apply syntactic analysis procedures.
• Understand, explain and compute the FIRST, FOLLOW, EMPTY, LOOKAHEAD sets and functions, construct predictive syntactic tables and recognize LL(1) grammars.
• Parse a symbol string given a syntactic analyzer.
• Compute priorities among symbols of a grammar.
• Construct the matrix of symbol priorities given a grammar.
• Understand, explain and compute the LEFT, RIGHT sets of a grammar.
• Understand the fundamentals of semantic analysis.

505, Central Building
+302104142128

207, Central Building
+302104142131

Probability and Statistics

Course Code
Course Type Obligatory
Track
Teaching Hours 4 Theory + 1 Tutorial
ECTS: 5

1. Random experiments – sample space - events – probability axioms.
2. Conditional probability - Independence.
3. Random variables – cumulative density functions and probability density functions – multidimensional random variables.
4. Distributions – expected value, variance, standard deviation.
5. Inequalities Markov, Chernoff, Chebyshev, Jensen.
6. Moments – Probability generating functions, Moment generating functions.
7. Discrete distributions (Bernoulli, Binomial, Geometric, Hypergeometric, Negative Binomial, Poisson).
8. Continuous distributions (Uniform, Exponential, Normal, Gamma, Beta) – Poisson Process - Central Limit Theorem.
9. Descriptive Statistics –Data correlation – Data transformation.
10. Statistical inference – Point estimation – unbiased, efficient, consistent estimators.
11. Special distributions (chi square, t, F) – Confidence intervals for the mean, variance of one or two populations – Generalization to non-normal samples.
12. Hypothesis testing.
13. Analysis of variance, Linear Regression.

After successfully completing this course, students will:
• have aquired the basic knowledge of concepts in Probability Theory and Statistics.
• understand and recognize the fundamental distributions describing stochastic phenomena.
• be able to select the appropriate tools from the theory in order to study stochastic phenomena.
• have become fluent in encoding stochastic problems using random variables.
• be able to apply the methodologies of Descriptive Statistics in order to process and display statistical data.
• be able to correlate and transform statistical data.
• be able to perform parameter estimation using various Statistical Inference methodologies.
• know how to perform statistical tests and infer useful conclusions on the given data.

Manes Konstantinos

Applications of Graph Theory

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

• Introduction.
• Undirected graphs: Basic definitions and results. Isomorphism. Operations. Connectivity. Bipartite Graphs. Planar Graphs. Matrix. Representation. Chromatic Number. Independence – Cover. Cost. Labelling. Multigraphs.
• Trees: Basic definitions and results. Ordered trees. Binary trees. Traversal of ordered and binary trees.
• Directed graphs: Basic definitions and results. Matrix. Representation. Operations. Kernel. Base. Applications: Decision Trees, Trees and Operations. Scheduling of production. Application in Time Scheduling.

Upon completion of the course, students will be able to:
1. understand basic definitions and basic theorems regarding directed and undirected graphs.
2. understand basic techniques for proving theorems in graph theory.
3. apply algorithms related to, for example, graph traversal, time planning, topological sorting, construction of decision trees.
4. model several algorithmic problems as graph problems.

Sapounakis Aristides

542, Central Building
+30 210 4142262

-, GL126
+30 210 4142347

Management

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

Modern organizations operate in a highly competitive and globalized context which is characterized by a high cost for acquiring and utilizing the necessary resources, turbulent social, economic and technological changes and an increasing demand for socially responsible management practices. It is therefore obvious that the effective management of organizations is a key element for achieving their goals and objectives.

The objectives of this course are the provision of the fundamental theoretical knowledge and the presentation of methods and techniques, so that future managers have a comprehensive view regarding the meaning and the content of Management, the actions and functions of Management, in order to run successfully a business unit.

At the end of this course, students will be able to:
• identify the internal and external environment of organizations,
• understand the role of the manager
• describe the 4 basic management functions
• identify and set organizational goals and objectives
• plan business actions and make decisions
• identify and understand the constituents of leadership so that they can portray relevant behavior at work through the processes of influence (communication, motivation, power)

Ntalianis Filotheos

Pedagogics

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

TOPICS:
1. Introduction (history, definitions)
2. Identification of pedagogical knowledge field
3. The science of Pedagogics and its epistemological directions
4. Critical pedagogy
5. Specialized fields of Applied Pedagogics
6. Educational Sciences – The identity of a hybrid cognitive domain
7. The content of socialization and education
8. Didactics methodology
9. Descriptive Research Scheme – Bipolar Research Scheme
10. The interpretive paradigm
11. The macro-sociological paradigm
12. The object of Didactics
13. The student
14. Educational technology
15. Teaching critical and creative thinking

Upon successful completion of the course the student is expected to:
1. Know the different pedagogical approaches and teaching methods/techniques relevant to their scientific field, along with the learning in the content of didactic methodology.
2. Distinguish the basic concepts of each pedagogic approach, by comparing their main characteristics and focusing on the adoption of the most appropriate for a specific teaching / learning process.
3. Be able to utilize the main ideas of Pedagogics in order to design an efficient learning environment
4. Know the plethora of Didactics methodologies that stimulate the learning process
5. Distinguish, to critically interpret and take into consideration several factors (age, pre-existing cognitive background, special education needs, multiculturalism, etc.) in order to successfully apply the most appropriate combination of methods for an effective teaching, pedagogical and learning approach.

4ος/Zeas
+302104142176

Informatics Law

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

The aim of the course is to analyze and explain basic concepts and issues related to the field of Informatics Law. The content of the course is divided into the following sections:

• Law in new technologies
• Right to participate in the right to information
• The protection of personal data
• The new General Data Protection Regulation
• The confidentiality of communication
• The framework of the EU Copyright and Information Society Guidelines
• The challenge of cross-border information flow and applicable law
• The issue of liability of intermediaries
• Legal Information Systems
• Electronic Banking (e-Banking)

Upon completion of the course, students will be able to:
1. Understand the interaction of law with new technologies.
2. Apply the protection of personal data, in particular in the light of the new General Data Protection Regulation.
3. Ensure the confidentiality of communication.
4. Manage applicable law in online shopping.
5. Recognize the issue of mediators' liability.
6. Identify and safeguard the issue of liability of internet service providers, social media page managers, etc.
7. Design and develop security mechanisms in Electronic Banking (e-Banking) and correction of failures, especially in cases of abnormal progress of procedures.
8. To know in depth the provisions provided for the legal treatment of spamming.
9. Discover ways to secure the probative value of emails.

Sinanioti Aristea

English ΙΙΙ

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

Familiarization with texts for:
-Διαφήμιση (μορφές)
- Promotion and re-marketing of products
- Economy and market
- Human resources management
- Environment and productivity
- Inflation
- Technology
- Industry and natural environment
- Insurance against business risks
- Safety in the workplace
- Stock Exchange
- Internet
- Advantages of electronic media
- Documentation
- Bank and business terminology

Teaching of syntax and grammar at an advanced level required for the initial stages of composing a scientific and academic text.

Upon successful completion of the course students will be able to:

1. Understand and process texts and articles of interdisciplinary interest related to software design, use and optimization in companies, financial institutions, etc. Contact with different and varied uses of software makes students able to use their knowledge aiming at designing, expanding and selling software that covers a wide range of services such as productivity management, efficient personnel management, service facilitation, human resources optimization, productivity growth, decision making, time saving, investments, transactions, etc.

2. To be receptive to the promotion and implementation of innovative applications, designing or rebuilding new, more efficient applications, contributing to a more creative, internationally competitive market, along with promoting research in their scientific field.

Mormori Pelagia

French ΙΙΙ

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

1. Wider culture subject of French speaking countries

2. Environmental subjects
3. Finance
4. Travel
5. Exchanges
6. Erasmus
7. Oral communication: Understanding specialized discussions
8. Oral communication: Interactive exercises
9. Oral communication: Monologue

Upon successful completion of the course students are expected to:
• Have an advanced knowledge of the French language in written and oral form,
• Comprehend specialized French texts from various sources (literature, scientific publications etc.), through which they develop an nterdisciplinary, overall skills development such as soft skills (conflict management, active hearing, cooperative-team spirit, etc.) as well as exchange of know-how in specialized topics of their scientific field.

4ος/Zeas
+302104142176