Final Year Project

The final year project is carried out under the supervision of one of the faculty members and involves – at a first stage – the identification of the subject/ technological problem to be addressed and  the associated data collection. The output of the project, namely the description of the problem formulation, the solution definition and implementation and the illustration of results and final conclusions, is presented in the final year project thesis.

The final year project aims to

  • Exercise and extend the student’s academic skills, by enabling in depth understanding of the context of (a part of) a discipline. This may be achieved by exploiting particular skills or knowledge acquired from taught courses.
  • Exercise and extend professional skills by testing the student’s ability to research, organise, report and present the results if his/her work and develop initiative and independent thinking.

Student Placement

Students can choose it only once during undergraduate studies (either the 7th or the 8th semester).

Educational Digital Systems

Learning Outcomes

With the completion of the course, the student will be able:

  • to know and understand the key concepts of exploiting digital technologies in teaching, learning and assessment of learning in K12 School Education.
  • to analyse, assess, select and justify a pedagogically appropriate educational technologies to support different teaching strategies in K12 School Education.
  • to design and create pedagogically grounded technology-supported teaching and learning scenarios for the K12 education.

The learning objectives of the course are aligned to the Greek State qualification framework for a teaching licence in K12 school education.

Course Contents

  • 1. Technology-Supported and Technology-Enhanced Teaching and Learning in School Education: Theoretical Underpinnings
  • 2. Integrating Technology in School Education (teaching, learning and assessment of learning): Models and Practice
  • 3. Taxonomy of Educational Technologies in School Education
  • 4. Educational Technologies for supporting different teaching and learning strategies
    • 4.1. Tutorials
    • 4.2. Drill and Practice
    • 4.3. Problem solving
    • 4.4. Modeling
    • 4.5. Virtual Labs and Simulations
    • 4.6. Inquiry-based Learning
    • 4.7. Collaborative Learning
    • 4.8. Assessment of Learning
    • o 4.9. Educational Games
  • 5. Digital School Infrastructure
    • 5.1. Interactive Boards
    • 5.2. ICT School Laboratory

Recommended Readings

  • Textbook in Greek (provided for free)
  • Additional Open Access Educational Resources available through the course management system

Data Processing Techniques

Learning Outcomes

The objective of this course is to familiarize students with: (a) learning access methods for large data volumes for various data formats, as well as scalable writing, (b) efficient data storage and retrieval with appropriate indexing techniques, (c) the design and implementation of data processing algorithms aiming at the development of efficient applications that manage data.

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

  • to develop data-centric applications with emphasis in efficiency and scalability
  • to use the most appropriate indexing methods for a given problem
  • to evaluate and improve the parts of data processing algorithms that incur high computational load
  • to apply the most suitable data processing techniques that match with data under analysis and for a given query workload
  • to develop efficient data processing algorithms

Course Contents

  • Operation of disk and main memory, serial and random access, cost and efficiency, data locality on disk and main-memory, direct and indirect access, main-memory data structures (arrays, priority queues, hashing)
  • Data access techniques for structured, semi-structured and unstructured data: relational DBs, XML, RDF, text documents, web pages, web APIs, social networks.
  • One-dimensional data and indexing, B-tree, variations (B+tree, B*tree), range queries, inverted indexes.
  • Spatial data, spatial data types, spatial queries, approximation in representation, distance measures, extensions for multidimensional data.
  • Spatial indexing techniques, grid file, spatial indexes (R-tree, QuadTree), space-filling curves (Hilbert, Z-order)
  • Similarity search, k-nearest neighbor search, branch-and-bound algorithms, locality sensitive hashing (LSH), approximate k-nearest neighbor.
  • Top-k search: algorithms based on pre-processing, online algorithms, Fagin’s algorithm, index-based algorithms.
  • Join queries, spatial joins, top-k joins.
  • Spatio-textual data, query types, indexing methods, processing algorithms.

Recommended Readings

  • Ramakrishnan R. & Gehrke J. (2002): Database Management Systems (3rd Edition), McGraw Hill.
  • N.Mamoulis (2011): Spatial Data Management, Synthesis Lectures on Data Management, Morgan & Claypool.

Design and Optimization of Networks

Learning Outcomes

The course presents principles and methodologies on the design, evaluation and optimization of networks and services, complementing the basic knowledge of architecture, protocols and functions of communication networks.

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

  • follow and utilize the approach of top-down network design, that is most commonly encountered on medium to large scale networking projects
  • understand and evaluate alternative design options at every stage of data networks design, (e.g. requirement and specification definition, logical and physical design, selection of appropriate technologies and protocols, addressing and naming of network devices, implementation, testing and optimization)
  • select and propose proper architectures, network technologies, protocols and politics, depending on the design, upgrade and/or optimization of the network at hand
  • implement, control and readjust solutions on new or redesign existing network projects
  • run and operate routing protocols simulation software and packet sniffing software

Course Contents

  • Introduction to the design and performance evaluation of networks and services.
  • Modelling and topological design of communication networks.
  • Modelling of network services traffic and work load.
  • Top-down network design under service requirements and various constraints.
  • Selection of most appropriate link, network and transport layer protocols.
  • Selection of most appropriate network architecture and network devices.
  • Network optimization techniques and algorithms, network reliability.
  • Performance measures.
  • Quality of service assurance.
  • Theoretical exercises and network design projects.

Recommended Readings

  1. Spiros Arsenis, “Network Design and Implementation”, Kleidarithmos Publications.
  2. Priscilla Oppenheimer, “Top-Down Network Design”, 2nd Edition, Cisco Press.
  3. James D. McCabe, “Network Analysis, Architecture and Design”, 2nd Edition, Morgan Kaufmann Publishers Inc.
  4. Thomas Robertazzi, “Planning Telecommunication Networks”, IEEE Press.

e-Learning Systems

Learning Outcomes

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

  • to know and understand the key concepts of digital teaching and learning
  • to analyse, assess, select and justify pedagogically appropriate e-learning methods and tools for digital teaching and learning innovations.
  • to design and create pedagogically grounded online courses.

Course Contents

  • Online Teaching and Learning: Theoretical Underpinnings
  • Educational Design for Online Teaching and Learning
  • An hierarchical Open Access to Online Education framework: Elements (Open Educational Resources, Learning Activities and Lesson Plans, Online Courses, Digital Learning Spaces). Tools and Key Roles (Online Education Instructional Designers, e-Tutors, e-Learning Systems Administrators, Managers)
  • Open Educational Resources: Learning Objects, Educational Metadata, Repositories of Learning Objects. Case Studies: the National Repositories of Learning Objects
  • Learning Activities and Lesson Plans: Authoring Tools for Learning Activities and Lesson Plans, Repositories of Learning Activities and Lesson Plans. Case Studies: the National Repositories of Learning Activities and Lesson Plans
  • Design, Development and Delivery of Online Courses: Methodology for Designing Online Courses. Authoring Tools for Developing Online Courses. Course Management Systems. Case Study: Open edX, MOODLE
  • Digital Learning Spaces: 3D Virtual Classrooms and Laboratories

Recommended Readings

  • Textbook in Greek (provided for free)
  • Additional Open Access Educational Resources available through the course management system

Ιntelligent Agents and Multiagent Systems

Learning Outcomes

Upon successful completion of this course, students should be able to know principles, paradigmatic architectures and methods for developing single agent and multi agent systems, have a critical and informed view of strengths and limitations regarding agents and multi agent systems, towards designing and delivering such systems.

Specifically, students know and acquire the abilities to develop:

  • Architectures of single and multi-agent systems
  • Methods for agents coordination, collaboration and competition in specific settings and paradigmatic environments and problems
  • Agents’ communication methods and protocols

Via the critical view of agents technology and experience in developing such systems.

Course Contents

  • Agents: Principles, architectures and application examples
  • Deliberation vs Reaction: Architectures
  • Mental attitudes, states and their representation
  • Multi-agent Systems: Interactions and dependencies
  • Multiagent organizations and communication
  • Cooperation and collaboration
  • Agents communication

Recommended Readings

  • Michael Wooldridge, Introduction to MultiAgent Systems, 2008.
  • Yoav Shoham, Kevin Leyton-Brown Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations, Cambridge University Press, 2009.
  • Gerhard Weiss, Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence, MIT Press, 2000.
  • John Miller Scott Page, Complex Adaptive Systems: An Introduction to Computational Models of Social Life (Princeton Studies in Complexity), Princeton University Press, 2007.
  • David Easley, Jon Kleinberg, Networks, Crowds, and Markets: Reasoning About a Highly Connected World, Cambridge University Press 2010.

Associated scientific Journals

  • Autonomous Agents and Multi-Agent Systems, Springer, ISSN: 1387-2532
  • IEEE Distributed Systems, ISSN: 1541-4922

Systems Simulation

Learning Outcomes

he course presents simulation techniques with particular emphasis on discrete event simulation and applications in computer computational systems and communication networks.

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

  • design system models with the required details level that serves better the problem at hand
  • develop simulation programs in general purpose programming language (e.g C++) to simulate and evaluate the behavior of simpler systems
  • use more sophisticated simulation software for the study and performance evaluation of more complex communication networks and computational systems (e.g network simulator ns3 and CloudSim for cloud computing systems)
  • design experiments, collect measurements and interpret and evaluate simulation results

Course Contents

  • Introduction to dynamic discrete event systems.
  • Development of discrete system models, event-advance design, time-advance design, activity-based design.
  • Pseudorandom number generation, random variables generation.
  • Overview of simulation languages and platforms.
  • Development of simulation programs using general purpose programming languages.
  • Measurement techniques, traffic load and experiment design.
  • Statistical analysis of simulation experiments, transient and steady state, data collection, confidence intervals, variation reduction techniques.
  • Simulation exercises and examples of data networks and cloud computing systems. Theoretical results verification.

Recommended Readings

  1. Roumeliotis and Souravlas, “Simulation Techniques”, Epikentro Publications.
  2. Kouikoglou and Konstantas, “Simulation of Discrete Event Systems”, Disigma Publications, 2016.
  3. Harry Perros, “Computer Simulation Techniques – The Definitive Introduction”, free download from https://people.engr.ncsu.edu/hp/files/simulation.pdf
  4. Averill M. Law and W. David Kelton, “Simulation Modeling and Analysis”, McGraw-Hill, Inc.
  5. NS manual and tutorials, https://www.nsnam.org/documentation/