Advanced Artificial Intelligence Topics

Learning Outcomes

Upon successful completion of this course, students should be able to know and develop basic decision making abilities of intelligent agents who are capable of acting in the real world.

Specifically, students acquire knowledge and the abilities to develop and apply

  • planning algorithms
  • methods for re-planning and computing actions’ schedules for acing in the real world
  • knowledge representation and reasoning with ontologies and real-world data
  • basic principles and algorithms for (simple or advanced) decision making
  • algorithms for learning policies towards acting in the real world

Through a critical view of methods and by acquiring experience in building systems in paradigmatic cases.

Course Contents

  • Basic and advanced planning algorithms
  • Replanning and scheduling actions with duration.
  • Reasoning and representation with ontologies and data
  • Decision making principles and methods
  • Reinforcement learning, introduction.

Recommended Readings

  • Stuart Russel and Peter Norvig. Artificial Intelligenc­e: A Μodern Approach, Prentice Hall, 2nd edition (2003). http://aima.cs.berkeley.edu/.
  • Yoav Shoham, Kevin Leyton-Brown Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations, Cambridge University Press, 2009

Associated scientific Journals

  • Artificial Intelligence, Elsevier, ISSN: 0004-3702
  • Journal of Web Semantics, Elsevier, ISSN: 1570-8268

Information Systems Development Methodologies

Learning Outcomes

This course analyses the five main components of an Information System, the different types of IS and issues associated with the implementation and application of IS. With the completion of the course, the student will be in position:

  • to understand and become familiar with the key concepts and principles of information systems, addressing both architectural and implementation aspects.
  • to know the main characteristics of the programming languages used to implement information systems, as well as the key principles for the interconnection of different application components of an information system.
  • to implement IS projects using various programming techniques and methodologies, including modern tools for code generation and low/no-code development.
  • to incorporate modern methodologies and techniques like DevOps and CI/CD into the development process.

to assure the quality of large-scale software and systems in a production environment.

General Competences

  • Search for, analysis and synthesis of data and information by the use of appropriate technologies.
  • Adapting to new situations.
  • Decision-making.
  • Individual/Independent work.
  • Working in an interdisciplinary environment.
  • Project planning and management
  • Critical thinking.
  • Development of free, creative and inductive thinking.

Course Contents

  • Introduction to the field of Information Systems (IS) and a presentation of their basic concepts and structural components. The basic principles of systems theory, the life cycle of an Information System, and the IS-organization relationship will be examined (software, hardware, processes, and human resources).
  • Special emphasis will be given to business processes, as their automation via computers is the most significant reason for the adoption of IS by organizations. The study of business processes, their modeling, and their improvement will be covered.
  • Analysis of the main categories of modern information systems development methodologies (evolutionary, agile, etc.) for different project types, and a study of the most popular methodologies (AGILE, Waterfall, Spiral, Rapid Application Development – RAD, Rational Unified Process – RUP, etc.), as well as of the related tools and techniques.
  • To make IS development more understandable, practical methods like the critical path method are expected to be used. Subsequently, factors influencing IS adoption will be studied, along with issues related to the organizational changes brought about by IS development.
  • Study of DevOps methodologies and techniques and creation of continuous integration/continuous delivery (CI/CD) processes, automated testing, and operational monitoring.
  • Application of software quality assurance processes and operation of large-scale systems in a production environment.
  • In parallel, the socioeconomic impacts of information technology and IS will be studied, as well as their strategic role.

Suggested Bibliography

  • Βασιλακόπουλος Γ.: “Πληροφοριακά Συστήματα” 2η έκδοση, Εκδόσεις Τσότρα, 2018.
  • David Avison, Guy Fitzgerald, “Information Systems Development”, McGraw-Hill Education, 2002
  • Laudon K.C. & Laudon J.P.: “Management Information Systems”, 14th edition, Pearson Education (US). 2022.

Related scientific journals

  • Information Systems Journal, Wiley. https://onlinelibrary.wiley.com/journal/13652575
  • Information Systems Frontiers, Springer. https://link.springer.com/journal/10796
  • IEEE Transactions on Software Engineering. https://www.computer.org/csdl/journal/ts

Cloud Computing

Learning Outcomes

The main objective of this course is to introduce concepts related to the analysis, design and implementation of computation and storage clouds. With the completion of the course, the student will be in position:

  • to understand the necessary theoretical background for computing and storage clouds environments.
  • to know the methodologies and technologies for the development of applications that will be deployed and offered through cloud computing environments.
  • to be able to realize cloud infrastructures by using IaaS software, while also developing cloud applications by utilizing PaaS software.

Course Contents

  • Introduction to cloud computing.
  • Objectives, challenges, application domains, advantages.
    • Computational and storage cloud architectures
    • Service level agreements, service lifecycle management
  • Infrastructure deployment, federation and management models.
    • Cloud service model, service provisioning and access models
    • Elasticity and scalability techniques
    • Information, account and billing management
  • Implementation and operation / management of computational clouds.
    • Software as a Service layer
    • Platform as a Service layer
    • Infrastructure as a Service layer
    • Virtualization and resource management
  • Implementation and operation / management of storage clouds.
    • Distributed object storage clouds
    • Data storage and retrieval based on content
    • Computational tasks execution in storage clouds
  • Quality of service approaches.
    • Requirements and parameters classification
    • Monitoring and control mechanisms
    • Quality of service guarantees
  • Laboratory exercises.
    • Google AppEngine
    • OpenStack
    • Apache Hadoop / MapReduce

Moreover, the EVDOXOS system is utilized to provide additional useful information to the students as well as exercises that respond to the corresponding thematic topics / sessions covered by the course.

Recommended Readings

  • Α. Velte, T. Velte, R. Elsenpeter, «Cloud Computing: A practical approach»
  • T. Erl, «Cloud Computing: Concepts, Technology & Architecture»
  • B. Sosinsky, «Cloud Computing Bible»G. Reese, «Cloud Application Architectures: Building Applications and Infrastructure in the Cloud»
  • R. Buyya, J. Broberg, A. M. Goscinski, «Cloud Computing, Principles and Paradigms»

Structured Representation of Information

Learning Outcomes

The course’s material includes standard technologies and languages of modeling/representation of data/metadata used on the web and web services and how they are implemented in practice with code development in XML, XSL, and XML Schema.

Upon successful completion of the course, the students will be in position to:

  • Explain the basic technologies and languages of data modeling/ representation of data/metadata used on the web and web services.
  • Design and develop programs using XML, XSL and XML Schema.
  • Evaluate metadata modeling and decide whether they follow the given requirements.

Course Contents

  • Introduction to markup languages and semantic web
  • Introduction to XML, basic structure of XML documents
  • Valid XML documents / Use of Document Type Definition (DTD)
  • Presentation of XML documents using CSS
  • XML namespaces
  • Presentation of XML documents using data binding
  • Presentation of XML documents using scripts of Document Object Model (DOM)
  • Transformation and presentation of XML documents using XSLΤ/XSL
  • Modelling of XML documents using XML Schema
  • XML applications

Recommended Readings

  • “XML Guide”, Edition: 1st, Author: S. Holzner, Publisher: M. Gkiourdas, 2009 (1st Book)
  • “XML step by step”, Author: M. J. Young, Publisher: Kleidarithmos Ltd, 2011 (2nd Book)
  • Notes and course slides

Business Process Management

Learning Outcomes

The objective of this course is to present fundamental principles of Business Process Management (BPM) and to study various methods and techniques for analyzing, modeling, automating, executing and optimizing business processes. The course will incorporate a laboratory component with well-known BPM software tools that allow students to practice some of the principles addressed.

Upon successful completion of this course student will be able to:

  • Create business process models by using BPMN based modelling tools
  • Execute business processes by using Business Process Management Systems
  • Analyze the performance of existing business processes and improve business processes that are not sufficient according to certain criteria
  • Create business process management strategies and business processes implementation plans within organizations

Course Content

  1. Business process definition, intra- and inter-organizational processes. Process-oriented organizations. Build processes’ business models. Virtual enterprises. Business processes and workflows.
  2. Process analysis techniques. Qualitative process analysis (e.g. Pareto analysis, value-added analysis, root-cause analysis). Quantitative process analysis (e.g. queuing analysis, simulation). Performance metrics (time, cost, quality).
  3. BPM life cycle. Discover, analyze, model, monitor, map, simulate, deploy. Business Process Reengineering-BPR and Business Process Improvement- BPI methodologies. Business Process modeling tools.
  4. The BPMN standard for business process modelling.
  5. Business process automation. Conceptual and executable process models.
  6. Business Processes Management Systems-BPMS (e.g. structure, architecture, standards).
  7. Process and activity life cycles. Workflow-based applications.
  8. Business processes and workflows, workflow categories, workflow dimensions, workflow management, workflow functional requirements, workflow specifications and execution languages.
  9. Workflow management using a specific BPMS software tool.
  10. Process Analytics. Metrics for evaluating business processes’ performance. Monitoring of standard metrics and process specific, user dined metrics.
  11. BPM methodologies (e.g. Six Sigma, Lean).
  12. Service-oriented and process-oriented information systems.

Suggested Bibliography

  • John Jeston and Johan Nelis (2008): Business Process Management, Second Edition: Practical Guidelines to Successful Implementations, Butterworth-Heinemann, Boston, ISBN: 0750669217.
  • Artie Mahal (2010): How Work Gets Done: Business Process Management, Basics and Beyond, Technics Publications, New Jersey, ISBN: 193550407.
  • Matias Weske, (2010): Business Process Management: Concepts, Languages, Architectures, Springer, New York, ISBN: 3642092640.
  • Simha Magal and Jeffry Word (2009): Essentials of Business Processes and Information Systems, Wiley, New York, ISBN: 0470418540.
  • Howard Smith and Peter Fingar (2003): Business Process Management: The third wave. Meghan Kiffer, ISBN: 0929652339.
  • Mark McDonald, (2010): Improving Business Processes, Harvard Business Review Press, Boston, ISBN: 142212973.
  • Business process management Journal, Emerald.
  • International Journal of Business Process Integration and management, Inderscience Publishers.

Quantum Computing

Learning Outcomes

The course seeks to familiarize students with the basic principles governing the use of quantum pheonomena for solving computational problems. It focuses on the presentation of the mathematical background that is required to model quantum phenomena related to computational processes and to the analysis of quantum operations and algorithms capable of being executed by quantum computers. Furthermore, the course analyzes the relation between classical and quantum computations and provides a survey of the many open problems that exist in the quantum computing field. At a more applied level the course describes modern programming environments for quantum computing.

Course Contents

  • Mathematical Background
    • Elements of Linear Algebra, Elements of Complex Analysis
  • Elements of Quantum Mechanics
    • Quantum mechanical behavior in electrons and photons (spin, polarization) – Quantum Mechanical Experiments
  • Qubits and their Attributes
    • Representation, Superposition, Tensor Product, Entanglement, Measurement, Bell’s Inequality
  • Classical Logic, Gates and Circuits
  • Quantum Gates and Circuits
  • Quantum Algorithms
    • Deutsch-Josza, Simon, Grover, QFT, Shor
  • Programming Environments for Quantum Computing

Recommended Readings

  • Nielsen, M. A., Chuang, I. L., Quantum Computation and Quantum Information, Cambridge University Press, 2010.
  • Instructor’s Notes

Database Systems

Learning Outcomes

The students upon the successful completion of the course will be able:

  • to apply the appropriate techniques for programming and managing database systems
  • to know the basic storage and data organization structures.
  • to apply query processing, query optimization and transaction management mechanisms.
  • to understand the mechanisms that ensure the integrity of the system in the case of multiple concurrent users with access to the same data and database recovery methods in case of failure.

Course Contents

  • Introduction to Database Management Systems (DBMSs). Fundamental concepts of DBMSs, database applications, overview of data models.
  • Data storage and file organization.
  • Query processing methods
  • Query optimization methods.
  • Transaction management: characteristics of a transaction management system.
  • Concurrency Control.
  • Database recovery methods.
  • Parallel and Distributed databases: design, query processing and transaction management in distributed systems.

Recommended Readings

  • Ramakrishnan R. & Gehrke J. (2002): Database Management Systems (3rd Edition), McGraw Hill.
  • Elmasri R. & Navathe S.B. (2007): Fundamentals of Database Systems (5th Edition), Addison-Wesley.

Network Security

Learning Outcomes

The aim of the course is to present and analyze the measures implemented on a network infrastructure, the policies adopted by the network administrator to protect the network and its resources against unauthorized access, and the effectiveness (or lack of) of them. The course focuses on the security of wired-fixed networks that use Internet technology. The mechanisms and security protocols that ensure the operation of the above networks and the data of their users are presented and analyzed.

Upon successful completion of the course, the student will be familiarized with and will apply different security measures and techniques applied to wired networks that aim to provide security services to users of a network as well as to its providers.

Course Contents

  • Security at lower layers.
  • Network layer security solutions.
  • Application layer security solutions.
  • Key management protocols; identity management protocols.
  • Firewalls.
  • Trust management.
  • Distributed authentication systems and intrusion detection systems.

Recommended Readings

  • Stallings W. (2007): Network Security Essentials, Applications and Standards, 3rd Edition, Prentice Hall.
  • Kaufman C., Perlman R. & Speciner M. (2002): Network Security: Private Communication in a Public World, 2nd Edition, Prentice Hall.