cs@cs.ucy.ac.cy | +357-22-892700

| | | | MyCS Portal |

Postgraduate Programme Courses Description

CS601 Distributed Systems

Type: Restricted Choice for MCS, PM

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: Ch. Georgiou

Objectives: Familiarization with fundamental concepts and principles of distributed systems in both breadth and depth. Development of capabilities of designing, analyzing and programming distributed systems.

Content: Basic concepts and principles of distributed systems. Communication, processes and synchronization. Naming. Distributed file systems and distributed operating systems. Security and cryptography in distributed systems. Distributed shared memory and its consistency. Fault-tolerance. Distributed algorithms and distributed programming. Design and development of applications in distributed environments. Case-studies of specific distributed systems (eg. PlanetLab). Practical exposition with programming project or programming exercises.

Prerequisites: ----------

Bibliography:

  1. A. S. Tanenbaum and M. van Steen, Κατανεμημένα Συστήματα: Αρχές και Υποδείγματα, Εκδόσεις Κλειδάριθμος, 2005. (English Version: A. S. Tanenbaum and M. van Steen, Distributed Systems: Principles and Paradigms, Pearson Education, 2nd Edition, 2007).
  2. G. Goulouris, J. Dollimore and T. Kindberg, Distributed Systems - Concepts and Design, 4th Edition, Addison-Wesley, 2005.

Teaching methods: Lectures (3 hours weekly) and Recitation/Laboratory Lecture (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework (programming assignments).

CS603 Using Software Architectures for the Design and Development of Software Systems

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: .................

Objectives: The course will cover the basic principles, concepts and contemporary techniaues in using Software Architectures as the driving paradigm for the design and development of modern software systems. The role of Software Architectures in the broader field of Software Engineering will be addressed, with emphasis on the important paradigm of software reuse.

Content: TBasic concepts. Design of a software architecture. Connectors. Modelling. Visual Representation. Design patterns for software architectures. Analysis and implementation. Non functional properties. Security and trust. Standards. The human factor. Domain-specific Software Engineering.

Prerequisites: Undergraduate course equivalent to the CS343 (Software Engineering)

Bibliography:

  1. R. Taylor, N. Medvidovic, E. Dashofy, Software Architecture: Foundations, Theory, and Practice, 2010, Wiley.

  2. L. Bass, P. Clemens, R. Kazman, Software Architecture in Practice, 4th Edition, 2022, Pearson.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly). \

Assessment: Midterm exam, final exam, homework and group project.

CS604 Artificial Intelligence

Type: Restricted Choice for MCS, PM

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: Y. Dimopoulos and Chr. Christodoulou

Objectives: This course covers specialized topics in Artificial Intelligence, such as modeling and solving constraint satisfaction and knowledge representation problems, symbolic learning, learning with various forms of neural networks, including deep learning and reinforcement learning.

Content: Introduction to Artificial Intelligence. Topics in Constraint Satisfaction. Satisfiability and Optimization in Logic. Answer Set Programming. Topics in Machine Learning, Data Mining, and Reasoning under Uncertainty. Introduction to Artificial Neural Networks. Single layer and Multi layer Perceptrons. Backpropagation learning algorithm. Deep Learning and Convolutional Neural Networks. Recurrent Neural Networks. Self-organizing Maps. Radial-basis Function Networks. Reinforcement Learning. Hopfield Neural Networks and Boltzmann Machines.

Prerequisites: ----------

Bibliography:

  1. S. Russel, P. Norvig, Artificial Intelligence: A Modern Approach, 3rd Edition, Prentice Hall, 2014.
  2. S. Haykin, Neural Networks and Learning Machines, 3rd Edition, Pearson Education, 2009.

Teaching methods: Lectures (3 hours weekly) and Recitation (2 hours weekly).

Assessment: Final exam, midterm exam and homework.

CS605 Advanced Computer Architecture

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: Y. Sazeidis

Objectives: Students will learn: (a) current methodology for performance evaluation and comparison of computer systems; (b) basic and advanced concepts in the organization of modern microprocessors; and (c) current trends in the computer architecture area. Also, with the use of different tools, presented in the course, students will perform research projects in certain computer architecture topics.

Content: Performance evaluation and comparison, as well as benchmarking programs; Basic microarchitecture concepts of modern processors; Pipelining, instruction-level parallelism, prediction, speculation, memory hierarchy, and static/dynamic instruction scheduling; Examples of modern processors; Current research projects in the area of computer architecture.

Prerequisites: Undergraduate course equivalent to the CS221 (Computer Organization and Assembly Programming) and undergraduate course equivalent to the CS222 (Operating Systems).

Bibliography:

  1. J. Henessy, D. Patterson, Computer Architecture: A Quantitative Approach, 3rd Edition, Morgan Keufmann, 2002.
  2. Selected research articles from the international literature.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam, homework (final project, intermediate assignments), class participation and brief presentation.

CS606 Computer Networks and the Internet

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: V. Vassiliou

Language: English

Objectives: Understanding (at a graduate level) of the basic concepts and matters regarding Computer Networks and the Internet. Familiarization with modern views of Computer Networks and exposure to the related open research problems.

Content: Introduction to Internet and Networking Technologies. TCP/IP suite of protocols, Quality of Service (QoS), New Networking Architectures. Protocols and Standards (e.g. DiffServ, IPv6, MPLS). Network Performance Evaluation (e.g. queueing theory, and simulation tools). Traffic Modeling and Traffic Engineering. Congestion Control and Resource Allocation. Network Design and Optimization.

Prerequisites: Undergraduate course equivalent to the CS324 (Communications and Networks)

Bibliography:

  1. L. Peterson, B. Davies, Computer Networks: A Systems Approach, 5th Edition, Morgan Keufmenn, 2011.
  2. J. F. Kurose, K. W. Ross, Computers Networking – A Top Down Approach to the Internet, 7th Edition, Addison-Wesley, 2016.

Teaching methods: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam and homework (Individual or Group Project and laboratory exercises).

CS607 Visual Computing

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: C. Pattichis / Y. Chrysanthou

Objectives: -----------

Content: Binary image processing, intensity transformations, the discrete Fourier transform, linear and nonlinear filtering, image compression, image analysis, basic principles of video processing. Basic principles of 3Dgraphics: polygonal representations, transformations, local and world coordinate system, scene graph, camera and field of view specification, orthographic and perspective projection, clipping in 2D & 3D, polygon rasterization, back face elimination, visible surface determination with the Z-byffer method and Binary Space Partitioning Trees, local illumination - flat, Phong & Gouraud shading, real-time graphics, applications.

Prerequisites: Programming in C, basic linear algebra

Bibliography:

  1. A. Watt, F. Policarpo, The Computer Image, Addison–Wesley, 1998.
  2. R. C. Gonzalez, R. E. Woods, Digital Image Processing, 2nd Edition, Addison–Wesley, 2002.
  3. M.Slater, A. Steed, Y. Chrysanthou, Computer Graphics and Virtual Environments: From Realism to Real-Time, Addison-Wesley, 2001.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam 40%, Midterm Exam 20%, Exercises and Project 40%.

CS646 Advanced Topics in Databases

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: D. Zeinalipour

Objectives: The main objectives of this graduate-level course are to provide an in-depth understanding of advanced concepts and research directions in the field of databases. The course is organized in three parts: (i) Fundamentals of Database Systems Implementation; (ii) Distributed, Web and Cloud Databases; (iii) Spatio-temporal Data Management, Sensor Data Management, other selected and advanced topics from the recent scientific literature.
Content: (i) Fundamentals of modern Database Management Systems (DBMSs): storage, indexing, query optimization, transaction processing, concurrency and recovery. (ii) Fundamentals of Distributed DBMSs, Web Databases and Cloud Databases (NoSQL / NewSQL): Semi-structured data management (XML/JSON, XPath and XQuery), Document data-stores (i.e., CouchDB, MongoDB, RavenDB), Key-Value data-stores (e.g., BerkeleyDB, MemCached), Introduction to Cloud Computing (GFS, NFS, Hadoop HDFS, Replication/Consistency Principles), "Big-data" analytics (MapReduce, Apache's Hadoop, PIG), Column-stores (e.g., Google's BigTable, Apache's HBase, Apache's Cassandra), Graph databases (e.g., Twitter's FlockDB) and Overview of NewSQL (Google's Spanner and Google's F1). (iii) Spatio-temporal data management (trajectories, privacy, analytics) and index structures (e.g., R-Trees, Grid Files) as well as other selected and advanced topics, including: Embedded Databases (sqlite), Sensor / Smartphone / Crowd data management, Energy-aware data management, Flash storage, Stream Data Management, etc.
Prerequisites: Undergraduate course equivalent to the CS342 (Database Systems)

Bibliography:

  1. S. Abiteboul, I. Manolescu, P. Rigaux, M.-C. Rousset, P. Senellart, Web Data Management, Cambridge University Press, 2011.
  2. R. Elmasri, S. Navathe, Fundamentals of Database Systems, 6th Edition, Addison-Wesley, 2011.
  3. T. Özsu, P. Valduriez, Principles of Distributed Database Systems, 3rd Edition, Springer Press, 2011.
  4. R. Ramakrishnan, J. Gehrke, Database Management Systems, 3rd Edition, McGraw-Hill, 2003.

Teaching methods: Lectures (3 hours weekly), and Laboratory sessions (1.5 hours weekly).

Assessment: Midterm, final exam and homework (assignments and presentation).

CS651 Data Management for Mobile Computing

Type: Specialization Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: ---------

Objectives: Introduction to fundamental concepts, applications and limitations of mobile computing. Familiarization with practical applications and research topics of current interest in the field of Mobile Computing.

Content: Introduction (wireless technologies, architectures, applications, limitations). Software architectures for mobile computing. Theoretical models for mobile computing. Support for information recovery. Information Management. Dynamic redirection of computations. Indicative applications and open problems.

Prerequisites: Undergraduate course equivalent to the CS446 (Advanced Topics in Databases) and undergraduate course equivalent to the CS324 (Communications and Networks)

Bibliography:

  1. E. Pitoura, G. Samaras, Data Management for Mobile Computing, Kluwer Academic Publisher, 1998.

Teaching methods: Lectures (3 hours weekly) and Recitation (1 hour weekly).

Assessment: Final exam, midterm exam and homework.

CS653 Computer Games Software Technology

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: ------------

Objectives: Study in depth of the technologies of Electronic Commerce. Introduction to the software technology of client/server systems of e-Commerce and to Business Models of e-Commerce.

Content: Game structure and design, computer animation, movement and deformation, interactive cameras, visual simulation of physically-basedmodels, special effects using particle systems, collision detection, articulated characters, navigation and other behavioural models for autonomous characters.

Prerequisites: ---------

Bibliography:

  1. R. Parent, Computer Animation: Algorithms and Techniques, Morgan Kaufmann, 2002.
  2. A. Watt, M. Watt, Advanced Animation and Rendering Techniques, Addison-Wesley, 1992.
  3. I. Millngton, Artificial Intelligence for Games, Morgan Kaufmann, 2006.

Teaching methods: Lectures (3 hours weekly) and Laboratory (2 hours weekly).

Assessment: Final exam, midterm exam and homework.

CS655 Advanced Parallel Processing ΙΙ

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: P. Trancoso

Objectives: Introduction to fundamental architectural concepts and methods for parallel program execution. Examine the challenges and difficulties for parallel computing.

Content: Support for parallel program execution, parallel architectures, different types of multiprocessor interconnection networks, compilation of parallel programs, and performance analysis of various parallel applications.
Prerequisites: Undergraduate course equivalent to the CS420 (Computer Architecture) or undergraduate course equivalent to the CS605 (Advanced Computer Architecture I) or the consent of the instructor.

Bibliography:

  1. J. Henessy, D. Patterson, Computer Architecture: A Quantitative Approach. Third Edition, Morgan Kaufmann, 2002.
  2. D. E. Culler, J. P. Singh. Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufmann, 1998.
  3. Selected research articles from the international literature.

Teaching methods: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework (group project and exercises).

CS656 Computer Graphics: Modeling and Realism

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: Y. Chrysanthou

Objectives: This course goes beyond the basics of digital image synthesis, looking at issues such as photo-realistic rendering, modeling and animation. A big component for this are the creation of realistic and detailed models as well as the faithful simulation of light transport. We will see how these can be applied to virtual and augmented reality. Students will acquire both the theoretical foundations as well as practical skills since a significant part of the course is the student project.

Content: Modeling, parametric and implicit surfaces, camera specification, projections of primitives. Graphics Pipeline. Local and global illumination, shadows, ray tracing and radiosity. Real-time rendering of large environments. Acceleration techniques.

Prerequisites: C Programming and basic Linear Algebra.

Bibliography:

  1. M. Slater, A. Steed, Y. Chrysanthou, Computer Graphics and Virtual Environments: From Realism to Real-Time, Addison-Wesley, 2001.
  2. A. Watt, 3D Computer Graphics, 3rd Edition, Addison-Wesley, 2001.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework (group project and exercises).

CS657 Wireless Networks

Type: Restricted Choice for MCS, PM

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: A. Pitsillides

Objectives: Introduction to wireless networks (mobile/local/cellular/Ad-hoc/Sensor) with an emphasis on the fundamental concepts and principles of the technologies which are important for the design, application, evaluation and development of these systems. The course will also cover new architectures and topologies, existing and proposed standards, as well as open research issues.

Content: Wireless environment, Interference and other problems in wireless communications, basic principles of wireless local and metropolitan area networks, and cellular wireless networks. Newer architectures and technologies of wireless networks and wireless communication (e.g., ad-hoc and sensor networks, VANETS). Resource management techniques, Next Generation wireless networks of 3rd, 4th and 5th generation (LTE, 4G, 5G, 6G), design and planning of wireless networks, protocols for wireless and mobile networks. Internet of Things (IoTs), new trends in Wireless Communication, such as Programmable Wireless Environments and Intelligent Surfaces.

Prerequisites: Undergraduate course equivalent to the CS324 (Communications and Networks)

Bibliography:

  1. H Karl, A. Willing, Protocols and Architectures for Wireless Sensor Networks, Wiley, 2005.
  2. K. Sohraby, D. Minoli, T. Znati, Wireless Sensor Networks: Technology, Protocols, and Applications, Published Online, 2006.
  3. Κ. Sohraby, D. Minoli, Taieb, Wireless Sensor Networks: Technology, Protocols, and Applications, 2006.

Teaching methods: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam and homework (including Individual or Group Project and laboratory exercises).

CS658 Digital Video Processing

Type: Restricted Choice for MCS, PM

Level: Graduate

Semester: ----------

Credit: 8 ECTS units

Instructor: C. Pattichis

Objectives: Basic familiarization with the application of current technology for processing and coding video.

Content: Basic of analog and digital video. Frequency domain analysis of video signals, spatial and temporal frequency response of the human visual system. Scene, camera, and motion modeling, 3D motion and projected 2D motion, models for typical camera/object motions. 2D motion estimation. Basic compression techniques. Waveform-based coding. Video compression standards (H.261 and H.263, MPEG-1, MPEG-2, MPEG-4, MPEG-7, MPEG-21).

Prerequisites: ----------

Bibliography:

  1. Y. Wang, J. Ostermann,  Y. Q. Zhang, Video Processing and Communications, Prentice Hall, 2002.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework (laboratory exercises, additional exercises, final study).

CS659 Design on Embedded Systems

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: ----------

Credit: 8 ECTS units

Instructor: ---------

Objectives: ---------

Content: A review of embedded system processors. Organization of embedded systems: CPUs, RAM, ROM, buses, peripherals, sensors, actuators, interfacing. Examples of widely used processors buses and peripherals. Interfacing with peripherals: sampling, interrupts, advantages and disadvantages. Process distribution between hardware and software. Tools for the development of embedded systems and real-time operating systems. Hands-on experience with the development and implementation of embedded systems.

Prerequisites: Knowledge on the subjects of Digital Systems, Computer Organization and Assembly Programming

Bibliography:

  1. F. Vahid, T. Givargis, Embedded System Design: A Unified Hardware/Software Introduction, John Wiley & Sons, 2002.
  2. W. Wolf, High-Performance Embedded Computing: Architectures, Applications and Methodologies, Morgan Kaufman.
  3. W. Wolf, Computers as Components: Principles of Embedded Computing System Design, Morgan Kaufman.
  4. P. Raghavan, A. Lad, S. Neelakandan, Embedded Linux System Design and Development, Auerbach Publications

Teaching methods: Lectures (3 hours weekly) and Recitation (1 hour weekly) Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework.

CS660 Information Retrieval and Search Engines

Type: Restricted Choice for MCS, PM

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: G. Pallis

Objectives: The objective of this course is to examine the main computer science principles that lie behind Google and other search engines. To this end, the course will focus on basic and advanced techniques for text-based information systems: efficient text indexing; Boolean and vector space retrieval models; evaluation and interface issues; text classification and clustering. The course will also focus on Web search including crawling, link-based algorithms, and Web metadata.

Content: Introduction to Information Retrieval. Boolean Retrieval.Text encoding: tokenisation, stemming, lemmatisation, stop words, phrases. Dictionaries and Tolerant retrieval. Index Construction and Compression. Scoring and Term Weighting. Vector Space Retrieval. Evaluation in information retrieval. Relevance feedback/query expansion. Text classification and Naive Bayes. Vector Space Classification. Flat andHierarchical Clustering.Web Search Basics.Web crawling and indexes. Link Analysis.

Prerequisites: Algorithms, Data Structures, Internet Technologies and Linear Algebra

Bibliography:

  1. C. D. Manning, P. Raghavan, H. Schutze, An Introduction to Information Retrieval, Cambridge University Press, 2008.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework.

CS662 Machine Learning and Data Mining

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: --------

Credit: 8 ECTS units

Instructor: C. Pattichis

Objectives: Introduction of the fundamental principles, algorithms and techniques that support the development and implementation of data mining systems leading in the extraction of knowledge.

Content: Data Warehouse and OLAP Technology for Data Mining. Data Processing. Data Mining Primitives, Languages, and System Architectures. Concept Description: Characterization and Comparison. Mining Association Rules in Large Databases. Classification and Prediction. Cluster Analysis. Mining Complex Types of Data. Applications and Trends in Data Mining.

Prerequisites: --------

Bibliography:

  1. J. Han, M. Kamber, Data Mining – Concepts and Techniques, Morgan Kaufmann, 2000.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework (case studies, exercises, oral presentation of a case study).

CS663 Computational Logic

Type: Restricted Choice for MCS, PM

Level: Graduate

Semester: ----------

Credit: 8 ECTS units

Instructor: A. Kakas

Objectives: Familiarization with fundamental concepts and applications of Computational Logic. Familiarization with current research trends in Computational Logic.

Content: Historical introduction. Review of Classical Logic. Abduction and induction. Knowledge representation and knowledge. Reasoning about Actions and Change. Application of Computational Logic. Declarative Programming. Autonomous Agents. Knowledge-based Robotics. Intelligent Information Integration.

Prerequisites: Undergraduate course equivalent to the CS324 (Communications and Networks)

Bibliography:

  1. Selected research articles from the international literature.

Teaching methods: Lectures (3 hours weekly) and Recitation (1 hour weekly).

Assessment: Final exam and homework.

CS664 System Analysis and Verification

Type: Restricted Choice for MCS, PM

Level: Graduate

Semester: -----------

Credit: 8 ECTS units

Instructor: A. Philippou

Objectives: Familiarization with current technologies for modeling, analysis and verification of computer systems.

Content: Formal methods for system specification and analysis. Concurrent systems and interleaving and partial-order semantics. Transition systems and Kripke structures. Temporal logic (linear and branching). Automatic verification and model-checking. Process algebras: syntax, semantics, equivalence relations and axiom systems. Real-time system analysis (timed automata, timed process algebras and timed temporal logic). The tools SPIN and Concurrency Workbench.

Prerequisites: ----------

Bibliography:

  1. D. Peled, Software Reliability Methods, Springer-Verlag, 2001.
  2. C. Baier, J.-P. Katoen, Principles of Model Checking. MIT Press, 2008
  3. L. Aceto, A. Ingólfsdóttír, Κ. G. Larsen, J. Srba, Reactive Systems: Modelling, Specification and Verification. Cambridge University Press, 2007.
  4. Selected research articles from the international literature.

Teaching methods: Lectures (3 hours weekly) and Recitation (1 hour weekly).

Assessment: Final exam, midterm exam and homework.

CS665 Constraint Solving Methods

Type: Restricted Choice for MCS, PM

Level: Graduate

Semester: --------

Credit: 8 ECTS units

Instructor: Y. Dimopoulos

Objectives: A significant number of problems in Computer Science over a wide spectrum ranging from Computer Vision and Artificial Intelligence to the Management of Computer Networks and Scheduling are special cases of Constraint Satisfaction problems. This course covers advanced techniques for solving such problems and describes how they can be used in tackling real-life applications.

Content: Review of basic concepts from Constraint Satisfaction over Finite Domains. Advanced Consistency Techniques in Binary and non-Binary problems. Constraint Satisfaction and Propositional Logic: new algorithms and reduction techniques. Logic Programs with negations and the systems SMODELS and DLV. Relation between Constraint Satisfaction and Propositional Satisfiability. Redundant Constraints. Planning and Constraint Satisfaction. Satisfaction of Temporal Constraints. Introduction to Distributed Constraint Satisfaction. Problem solving with CHIP.

Prerequisites: CS604 or CS433

Bibliography:

  1. R. Dechter, Constraint Processing, Morgan Kaufmann, 2003.
  2. Selected research articles from the international literature.

Teaching methods: Lectures (3 hours weekly) and Recitation/Laboratory sessions (1 hour weekly).

Assessment: Final exam, midterm exam and programming exercises.

CS667 / MAI647 Computational Neuroscience

Type: Restricted Choice for MCS, PM, MAI

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: Ch. Christodoulou

Objectives: Computational Neuroscience is an emerging and dynamically developing field aiming to elucidate the principles of information processing by the nervous system. This course aims to develop and apply computational methods for studying brain and behaviour as well as understanding the dynamics of the conscious mind.

Content: Introduction to Computational Neuroscience. Basic neurobiology: from the brain to single neurons; biophysics of single neurons. Conductance-based neuron models: the generation of action potentials and the Hodgkin and Huxley (HH) equations/model. Spiking neuron models and response variability: leaky integrate-and-fire type neuron models, spike time variability. Two dimensional (2D) neuron models: reduction of the four dimensional HH model to a 2D model; phase plane analysis of 2D models/nullclines; FitzHugh-Nagumo model; neuronal dynamics. Modelling synapses/inputs to neurons. Neuron models beyond HH – more ion channels and their functions. Cable Theory: passive/active membranes; modelling axons and dendrites; action potential propagation. Compartmental models. Neural coding: firing rate; rate code; temporal code; neural operational modes – temporal integration/coincidence detection. Synaptic Plasticity: Hebbian learning; Spike-Timing Dependent Plasticity. Bottom-up/top-down modeling of the brain: modeling of self-control behaviour as an example of top-down modeling. Modelling consciousness.

Prerequisites: Linear Algebra, Differential Equations

Bibliography:

  1. P. Dayan, L. Abbott, Theoretical Neuroscience: Computational and Mathematical Modelling of Neural Systems, MIT Press, 2001.
  2. D. Sterratt, B. Graham, A. Gilles and D. Willshaw, Principles of Computational Modelling in Neuroscience, Cambridge University Press, 2011.
  3. W. Gerstner, W. M. Kistler, R. Naud, L. Paninski, Neuronal Dynamics: From single neurons to networks and models of cognition, Cambridge: Cambridge University Press, 2014.
  4. C. Koch, Biophysics of Computation: Information Processing in Single Neurons, Oxford University Press, 1998.
  5. E. M. Izhikevich, Dynamical Systems in Neuroscience: the Geometry of Excitability and Bursting, MIT Press, 2007.

Teaching methods: Lectures (3 hours weekly) and Recitation/Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and laboratory exercises /oral presentations of selected research papaers.

CS668 Mechanical Vision

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: C. Pattichis / Y. Chrysanthou

Objectives: The objective of this course is to understand the basic issues in mechanical vision and the major approaches that address them. Through the duration of the course, vision is treated as a process of inference from noisy and uncertain data in order to answer the question of how computers can understand the visual world of humans.

Content: Basic concepts and methodologies relating to the subject of Computer Vision. Image information, image processing, feature extraction. Image segmentation, clustering, multiple-image processing, case studies.

Prerequisites: -----------

Bibliography:

  1. D. Forsyth, J. Ponce, Computer Vision: A Modern Approach, Prentice-Hall, 2003.
  2. R. Hartley, A. Zeisserman, Multiple View Geometry, Cambridge University Press, 2003.
  3. C. Bishop, Pattern Recognition and Machine Learning, Springer-Verlag, 2007.
  4. O. Faugeras, Q.T. Luong, Geometry of Multiple Images, MIT Press, 2001.
  5. B. Horn, Robot Vision, MIT Press, Cambridge, Massachusetts, 1986.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1 hour weekly).

Assessment: Final exam, midterm exam and homework (programming exercises).

CS670 Research Methodologies and Professional Practices in Computer Science

Type: Restrsicted Choice for MCS, PM

Level: Graduate

Semester: Spring

Credit: 4 ECTS units

Instructor: .................

Objectives: Introduction to the methods and tools of Computer Science Research and technological culture. Familiarization with reading, reviewing and presenting of relevant literature. Technical writing. Literature surveying.
Content: Seminars/lectures in Computer Science and practice. Research or technical literature reviewing. Presentation of technical study.

Prerequisites: Successful completion of two graduate-level courses.

Bibliography:

  1. Selected research articles from the international literature.
  2. Course Presentation Slides (introductory and research).

Teaching methods: Lectures, research seminars and atomic assignments (summary of research seminars) and group study of a research subject under the supervision of a faculty member.

Assessment: Attendance and participation in lectures and a number of research seminars, written atomic studies, group study of a research subject and technical presentation of the group study. The course grade is Pass/Fail.

CS673 Algorithmic Game Theory

Type: Restricted Choice for MCS, PM

Level: Graduate

Semester: -----------

Credit: 8 ECTS units

Instructor: M. Mavronicolas

Objectives: ----------

Content Strategic games. Pure and mixed strategies, utilities, best responses, equilibrium concepts. Pure and mixed Nash equilibria, their refinements and generalisations. Classical existence theorems of equilibria and their algorithmic aspects. Algorithms and complexity of equilibrium searching. The complexity classes PLS and PPAD and their relation to equilibrium computation. Bimatrix games and algorithms to compute their approximate equilibria. The Price of Anarchy and its variants. Analysis of the Price of Anarchy for both general and specific games (e.g., selfish routing games, congestion games, security games). Applications to realistic cases (e.g., social networks, Internet formation).
Prerequisites: Undergraduate course equivalent to the CS211 (Theory of Computation ) and undergraduate course equivalent to the CS436 (Algorithms and Complexity)

Bibliography:

  1. M. Mavronicolas, P. Spirakis, Algorithmic Game Theory, Springer, 2011, (book draft).
  2. Selected research articles from the international literature

Teaching methods: Lectures (3 hours weekly) and Recitation/Laboratory sessions (1 hour weekly).

Assessment: Final exam, midterm exam and homework (theoretical assignments).

CS674 Networks and System Security

Type: Specialization Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: ----------

Credit: 8 ECTS units

Instructor: A. Pitsillides, V. Vassiliou

Objectives: ----------

Content Introduction to security threats and attacks. Cryptographic and cryptanalysis techniques. Key exchange management (PKI). Network and Internet security protocols (IPSec, SSL/TLS). Identification and authentication standards (Kerberos, AAA). Systemsecurity (Firewalls, IDS). Specific threats on end-systems (viruses, worms, trojan horses, stack overflow, rootkits). Identification of security vulnerabilities in software and operating systems. Checking of networks and applications for vulnerabilities, introduction to computer systems forensics. Security policies. Security management, ethical and legal issues in system security.

Prerequisites: Introductory graduate course equivalent to CS606 (Computer Networks and the Internet)

Bibliography:

  1. C. P. Pfleeger, S. L. Pfleeger, Security in Computing, Fourth Edition, Prentice Hall, 2006.
  2. C. Kaufman, R. Perlman, M. Speciner, Network Security: PRIVATE communication in a PUBLIC world, Second Edition, Prentice Hall, 2002.
  3. M. Dowd, J. McDonald, J. Schuh, The Αrt of Software Security Assessment, Addison Wesley, 2006.
    Teaching methods: Lectures (3 hours weekly) and Recitation/Laboratory sessions (1 hour weekly and 2 hours weekly, respectively).

Assessment: Final exam, midterm exam and homework (studies and/or laboratory assignments).

CS675 Web Services and Service Oriented Computing

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: ----------

Credit: 8 ECTS units

Instructor: ----------

Objectives: Understanding of the principles and the design of Web services, the programming of Web services and the protocols used. Understanding of the new architecture of microservices. Familiarization with knowledge representation via ontologies. Understanding of representation mechanisms.

Content: Introductory concepts. Relationship and difference between services and other related formalisms (distributed systems, component-based systems, etc.). Fundamental architectures and protocols (REST, SOAP, WSDL, UDDI). Fundamental development platforms (J2EE, JAX-RS, etc.). The microservices architecture. Problems and challenges. Information modeling and representation (ontologies, RDF and OWL protocols, etc.). Queries with SPARQL. LinkedData representation. Cooperative Information Systems and service composition. Business process modeling with WS-BPEL.

Prerequisites: -------------

Bibliography:

  1. M. P. Papazoglou, Web Services: Principles and Technology, 2nd edition, Pearson Prentice Hall, 2012.
  2. R. Daigneau, Service Design Patterns Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services, 2010.
  3. D. Allemang, J. Hendler, Semantic Web for the Working Ontologist: Effective Modeling in RDFS and OWL, Morgan Kaufman, 2011.

Teaching methods: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework (studies and/or laboratory assignments).

CS678 Temporal Information Systems in Medicine

Type: Restricted Choice for MCS, PM

Level: Postgraduate

Semester: Fall

Credit: 8 ECTS units

Instructor: E.Keravnou-Papailiou

Objectives: Often the question whether medicine is art or science is posed. The support of various medical tasks (diagnosis, prognosis, therapy planning and patient monitoring) through information systems, actively concerns a number of scientific communities (artificial intelligence, databases, biomedical engineering, medical informatics), where the temporal dimension constitutes an integral aspect. Recently the focus has changed, from applications based on knowledge, to applications based on data, and from systems that advise to systems that inform. The key challenge is no longer the mechanization of knowledge but the intelligent utilization of data. Medical problems and the deployment of medical data pose particular challenges, especially when the temporal dimension is a central component. The course aims to present from a critical perspective the various aspects of Temporal Information Systems in Medicine (theoretical foundations, applications, open research topics) where such systems can be defined as information systems that can store, manage and query time-oriented clinical data and can support various reasoning tasks with respect to such data.

Content: The significance of time in medicine. Modeling and reasoning with time (models of time and temporal entities). Requirements, ontologies and temporal reasoning models. General theories of time from the perspective of the medical domain. Temporal databases and their extensions for clinical data. Temporal abstraction of medical data (types of abstractions, time-oriented patient monitoring). Time and clinical diagnosis (diagnostic concepts, example applications, abductive reasoning using time-objects, temporal constraints). Automated support for clinical guidelines and protocols (time-oriented modeling of clinical guidelines). Research challenges.

Prerequisites: -------------

Bibliography:

  1. C. Combi, E. Keravnou-Papailiou, Y. Shahar, Temporal Information Systems in Medicine, Springer, 2010.
  2. M. Fisher, D. Gabbay, L. Vila (eds), Handbook of Temporal Reasoning in Artificial Intelligence, Elsevier, 2005.
  3. C. Bettini, S. Jajodia,S. X. Wang, Time Granularities in Databases - Data Mining and Temporal Reasoning, Springer, 2000.
  4. I. Mani, J. Pustejovsky, R. Gaizauskas (eds.), The Language of Time: A Reader, Oxford University Press, 2005.
  5. Articles from scientific journals such as the Artificial Intelligence in Medicine.

Teaching Methods: Lectures (3 hours weekly) and discussions/presentations in the form of seminars (1 hour weekly).

Assessment: Written examinations (midterm and final) and assignments (written essays and/or programming projects).

CS679 Electronic Health

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: ................

Objectives: To introduce the student to the medical and clinical environment from the perspective of medical informatics and exploit the possibilities of using information technologies for modeling, prototyping, presenting and using the relevant data. To study and develop practical skills in building relevant intelligent information systems.

Content: Information retrieval from medical databases, data, medical records, live signals, and data mining using intelligent techniques. Study of application systems that are currently in use for managing medical data and suggest ways for better handling and building, medical knowledge bases, electronic health record, and decision support systems for the medical profession.

Prerequisites: --------

Bibliography:

  1. J. H. van Bemmel, M. Musen (Edts), Handbook of Medical Informatics, Springer, 1997.
  2. E.H. Shortliffe (Editor), L. M. Fagan, G. Wiederhold, L.E. Perreault, Medical Informatics: Computer Applications in Health Care and Biomedicine, Springer Verlag, Second, 2000.
  3. L.Burke, B. Weill, Information Technology for the health professionals, Pentice Hall, 2000.

Teaching methods: Lectures (3 hours weekly) and Discussions/Presentations (1 hour weekly).

Assessment: Final exam, midterm exam and homework (studies and/or laboratory assignments).

CS681 Advanced Topics in Software Reuse and Mining Software Repositories

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Spring (or Fall)

Credit: 8 ECTS units

Instructor: G. Kapitsaki

Objectives: Understanding the usefulness of software reuse. Deepening in software design patterns. Undestanding the usefulness of data mining for software and being able to perform the process of collecting, preprocessing and processing data from software repositories and Q&A sites.

Content: Levels of reuse. Best practices for reuse. Software design patterns. Object-otiented patterns. Software repositories (e.g. GitHub). Search and retrieval. Data extraction and mining. Data mining steps. Data preprocessing and processing (e.g. in the R programming language). Use of dedicated APIs. Q&A sites, e.g. Stack Exchange, and data mining. Open source software. Open source licensing and legal issues. License compliance. Selecting licenses. Latest developments and research works.

Prerequisites: Basic understanding og object-oriented programming and software engineering process.

Bibliography:

  1. Τ. Diamantopoulos, Α. L. Symeonidis, Mining Software Engineering Data for Software Reuse, Springer, 2020.

  2. M. Ezran, Μ. Morisio, C. Tully, Practical Software Reuse, Practitioner Series, 2002.

  3. Head First Design Patterns, O'Reilly Media, 2004.

  4. C. Horstmann, A Practical Guide to Open Source Licensing, Wiley, 2nd Edition, 2006.

  5. Selected research papers and articles.

Teaching methods: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final and midterm exam, and homework (practical exercises and research assignments).

CS682 Advanced Security Topics

Type: Specialisation Course for PM and Restricted Choice for MCS

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: E. Athanasopoulos

Objectives: Crash-course introduction to applied cryptography, systems and network security and thoroughly covering of several advanced topics in applied cryptography, software vulnerabilities and memory errors, side channels, attacks and defenses, mobile security, web security, network se-curity, privacy, and anonymity.

Content: Short introduction to security basics and then special topics are presented. Special topics include advanced cryptographic attacks in protocols, software exploi-tation through code-reuse (return-oriented programming, jump-oriented programming, and call-oriented programming), heap exploitation, side channels, advanced software hardening, exploit-ing special network protocols (DNS, NTP, etc.), complex attacks in network applications, and privacy issues. The course is seminar-based in part. Once the basics are introduced by the in-structor, students will study advanced papers in class and will have the opportunity to get a feel-ing of what are the important topics in modern security research.

Prerequisites: --------

Bibliography:

  1. Α. J. Menezes, Π. C. van Oorschot, S. A. Vanstone. Handbook of Applied Cryptography, CRC Press.
  2. R. Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems, 2nd Edition, Wiley.
  3. W. R. Cheswick, S. M. Bellovin, A. D Rubin. Firewalls and Internet Security: Repelling the Wily Hacker, 2nd Edition, Addison-Wesley Professional, 2003.
  4. C. Anley, J. Heasman, F. Lindner, G. Richarte. The Shellcoder's Handbook: Discovering and Exploiting Security Holes, 2nd Edition. Wiley, 2007.
  5. Selected research papers and articles.

Teaching methods: Lectures (3 hours weekly) and Recitation (1 hour weekly).

Assessment: Final exam, midterm exam, student paper presentation and homework (including laboratory assignments).

CS683 Technology Entrepreneurship

Type: Restricted Choice for MCS, PM
Restricted Choice for Ph.D. cndidates
Elective (Free) for students of other Departments

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: M. Dikaiakos

Language: English

Objectives: This course explores key challenges faced when one aspires to translate scientific and technological ideas into globally marketable products or services and embark on innovation-driven enterprise entrepreneurship, with a focus on software and Internet-based businesses. Students will develop knowledge and skills to understand and be able to address a variety of issues faced by startup founders and chief technology officers who need to innovate at the boundaries of information technology and business by understanding both perspectives.

Content: Study and experimentation with acknowledged methodologies for innovation-driven entrepreneurship and associated tools, pursuing the translation of the students’ ideas into entrepreneurial endeavors. In particular: the key stages of turning an idea or invention into a commercial product; the Lean Product Process and the Business Model Canvas methodologies in Information Technology and Scientific application contexts; the Disciplined Entrepreneurship methodology; techniques for the creative ideation and the design of software applications, products and services, such as Design Thinking, Innovators’ Compass, and Sprint; fundraising and financing options for startups; the basics of incorporation and company structure; attracting talent, establishing and managing a team; tools for project and team management, collaboration, ideation, rapid prototyping: Trello, Slack, SimpleMind, Proto.io, Github, Google AdService, Google Cloud, Heroku, etc.; preparation of pitch decks, and pitch presentations in front of potential investors.

Prerequisites: -------------

Bibliography:

  1. B. Aulet, Disciplined Entrepreneurship, Wiley, 2013.

  2. B. Aulet, Disciplined Entrepreneurship Workbook, Wiley, 2017.

  3. D. Olsen, The Lean Product Playbook. How to Innovate with Minimum Viable Products and Rapid Customer Feedback, Wiley, 2015.

  4. A. Osterwalder et al, Value Proposition Design: How to Create Products and Services Customers Want, Wiley, 2014.

  5. L. Klein, UX for Lean Startups, O’Reilly, 2013.

  6. B. Horowitz, The Hard Thing about Hard Things, Harper Business, 2014.

  7. St. G. Blank, The Four Steps to the Epiphany. Successful Strategies for Products that Win, Lulu, 2006.

  8. Cl. Christensen, The Innovator's Dilemma: When New Technologies Cause Great Firms to Fail (Management of Innovation and Change), Harvard Business Review Press, 2016.

  9. E. Ries, The Lean Startup, Penguin, 2011.

  10. T. Brown, Change by Design, Harper Collins, 2009.

  11. T. Kelley, D. Kelley, Creative Confidence, Harper Collins, 2014.

  12. P. Thiel, B. Masters, Zero to One: Notes on Startups, or How to Build the Future, Virgin Books, 2015.

  13. J. Bezos, The Everything Store: Jeff Bezos and the Age of Amazon, Corgi, 2014.

Teaching methods: Lectures (3 hours weekly) and Recitation (1 hour weekly).

Assessment: Homework, semester group project (report and oral presentation).

CS699 Advanced Graph Analytics

Type: Elective

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: Charalampos Tsourakakis

Objectives: Students will become familiar with random graph models, algorithm design techniques for large-scale networks, and deep learning tools for node representations. Applications of interest will include link prediction, node classification, community detection, anomaly detection, and the design of recommender systems using graph embeddings.Graphs naturally model complex social, biological, and financial systems. Graph analytics have important real-world applications ranging from understanding how people form communities in online social networks, to detecting money laundering activity from financial transactions, and driver gene mutations in biology. This course will cover foundational and modern research topics in graph analytics including models, algorithms, modern deep learning techniques, and real-world applications.

Content: Graphs naturally model complex social, biological, and financial systems. Graph analytics have important real-world applications ranging from understanding how people form communities in online social networks, to detecting money laundering activity from financial transactions, and driver gene mutations in biology. This course will cover foundational and modern research topics in graph analytics including models, algorithms, modern deep learning techniques, and real-world applications.

Prerequisites: Knowledge of Data Structures and Algorithms (equivalent to CS 231). Familiarity with basic linear algebra is welcome.

Bibliography: 

  1. Graph representation learning by William Hamilton
  2. Introduction to random graphs by Frieze and Karonski
  3. Networks, Crowds and Markets, by Easley and Kleinberg
  4. Spectral and algebraic graph theory by Spielman

Teaching methods: Lectures (3 hours weekly).

Assessment: Homework (25%) and Project (75%).

MAI601 AI Camp

Type: Restricted choice for MAI

Level: Graduate

Semester: Summer

Credit: 4 ECTS units

Instructor: -----

Language: English

Objectives: Raising the awareness that students are studying in an EU wide program. Awareness of the career opportunities in the various countries and further studies at the partner universities. Initiating joint supervision and joint research.

Content: Learning to collaborate at a distance in a multi-national group. Learning to present and to defend his or her own work in an international community of peers and experts. Improved social skills of students.

Prerequisites: -----

Bibliography: 

  1. Students will be given reading material to help them with their project preparation and with their presentations at the summer camp.

Teaching methods: One-week retreat in some relatively isolated place so that students and faculty from the universities participating in the network of MAI4CAREU can have a close working interaction. Before the event the students who will participate are given projects to carry out in groups of 3-4 students from different universities. At the event they are asked to finalize their project and present it to the community attending the camp. Groups of students will also jointly present research studies of some topic in AI. There will also be a special session where students can give feedback on the Masters program that they are attending. Faculty and SMEs will present to the students, current career and further research opportunities in the institutions and other links they have in the EU.

Assessment: Students will be assessed on their presentations at the event and on their related reports. This will be a Pass/Fail assessment.

MAI611 Artificial Intelligence Fundamentals

Type: Compulsory for MAI

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: E. Keravnou

Language: English

Objectives: The purpose of the course is to introduce students to the fundamental principles and techniques that underline software systems that exhibit “intelligent” behavior.

Content: Upon completion of this course, students will have acquired a good understanding of modern Artificial Intelligence, the problems that it addresses and the fundamental solution methods that it uses. More specifically the students will know the main knowledge representation techniques and reasoning methods that underlie artificial intelligence problem solving and be able to develop simple solvers for artificial intelligence systems.

Prerequisites: Knowledge of a high-level programing language, object-based data concepts and structures.

Bibliography: 

  1. S. Russel, P. Norvig, Artificial Intelligence: A Modern Approach, 4th Edition, Pearson, 2021.

Teaching methods: Lectures, discussions of practical examples and (unsupervised) lab activities.

Assessment: Final exam, midterm exam and homework (theoretical and/or programming assignments).

MAI612 Machine Learning

Type: Compulsory for MAI

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: V. Vasiliades

Language: English

Objectives: Machine Learning (ML) is the branch of Artificial Intelligence (AI) that allows a computational system to improve itself through experience. It involves the development of systems that are trained to discover patterns in datasets, which can later be used to provide predictions on new data. ML is a rapidly evolving field, that has disrupted almost all scientific disciplines. This introductory course aims to provide a holistic view of ML covering sufficient breadth and depth, so that students understand the principles that drive most scientific and industrial AI innovations.

Content: After completing this course, the students will: (1) Understand how to structure ML projects and their lifecycle: from the data preparation phase to the development, evaluation and deployment phases; (2) Gain practical experience with various supervised learning models for regression, forecasting and classification problems; (3) Know how to implement unsupervised learning models for visualization, compression, clustering, anomaly detection and recommendation systems; (4) Understand what reinforcement learning is, how it can be used for sequential decision making problems and acquire hands-on experience with it.

Prerequisites: Basic programming skills, basic knowledge of linear algebra, calculus, probability and statistics.

Bibliography: 

  1. Bishop, C. M., Pattern recognition and machine learning, Springer, 2006.
  2. Chollet, F., Deep learning with Python, Manning Publications, 2018.
  3. Goodfellow, I., Bengio, Y., Courville, A., & Bengio, Y, Deep learning, MIT press, 2006.
  4. Haykin, S., Neural networks and learning machines, 3rd Edition, Pearson Prentice Hall, 2009.
  5. Howard, J., & Gugger, S., Deep Learning for Coders with fastai and PyTorch, O'Reilly Media, 2020.
  6. Murphy, K. P., Machine learning: a probabilistic perspective, MIT press, 2012.
  7. Powell, W. B., Approximate Dynamic Programming: Solving the curses of dimensionality, 2nd Edition, John Wiley & Sons, 2011.
  8. Sutton, R. S., & Barto, A. G., Reinforcement learning: An introduction, 2nd Edition, MIT press, 2018.
  9. Theodoridis, S., Machine learning: a Bayesian and optimization perspective, Academic press, 2015S. Russel, P. Norvig, Artificial Intelligence: A Modern Approach, 4th Edition, Pearson, 2021.

Teaching methods: The lectures will present the theory, while the laboratories will be complementary by providing the students with more content and tools that will help them understand the respective concepts both intuitively, as well as in more depth.

Assessment: Coursework and assignments (60%), final exam (40%).

MAI613 Research Methodologies and Professional Practices in AI

Type: Compulsory for MAI

Level: Graduate

Semester: Fall

Credit: 4 ECTS units

Instructor: K. Orphanou

Language: English

Objectives: The purpose of this course is to introduce students to the methods and tools of Artificial Intelligence Research, professional practices, and associated technological culture, bearing in mind EC’s regulatory framework. Moreover, the course objectives encompass familiarization with reading, reviewing and presenting of relevant literature, technical writing and literature surveying.

Content: Upon completion of the course the students will be sufficiently conversant with the key methodological steps involved in carrying out research in AI and the safeguards for mitigating risks in potentially high-risk AI research and applications. Consequently, they will be familiar with the obligatory requirements for professional practices in AI to be characterized as secure, trustworthy and ethical. In addition, they will acquire experience in surveying some topic, writing a technical report on it and presenting it.

Prerequisites: Experience in orally presenting some topic to an audience and in writing a structured report (objectives, analysis, conclusions).

Bibliography: 

  1. Selected research articles from the international literature.
  2. Course Presentation Slides.
  3. Regulation of the European Parliament and of the European Council in Laying down harmonized rules for Artificial Intelligence ((COM (2021) 206 final).
  4. P.R. Cohen, Empirical Methodology for Artificial Intelligence, MIT Press, 1995.S. Russel, P. Norvig, Artificial Intelligence: A Modern Approach, 4th Edition, Pearson, 2021.

Teaching methods: Lectures, research/professional seminars, individual assignments (summary of research/professional seminars), and a group study of a research subject under the supervision of a faculty member.

Assessment: Attendance and participation in lectures and several research/professional seminars, written individual studies, group study of a research subject and technical presentation of the group study. The course grade is Pass/Fail.

MAI614 AI on the Edge Webinars I

Type: Compulsory for MAI

Level: Graduate

Semester: Fall

Credit: 2 ECTS units

Instructor: A. Kakas

Language: English

Objectives: The main objective of this course is for the students to be aware of the latest developments in AI and to appreciate the wide breath of study that AI requires.

Content: Students will become knowledgeable about a variety of the most recent developments in Artificial Intelligence and will have some appreciation of different AI centers world-wide.

Prerequisites: -----

Bibliography: -----

Teaching methods: A list of Webinars will be maintained and updated weekly from which each student can choose to attend. Students can also suggest other webinars outside the official list of the course, to be approved by the course instructor. The students submit a short report summarizing each talk they have attended and commenting on the significance of its topic to the development of AI. Interactive student discussions coordinated by industrial partners will also be included.

Assessment: The students are assessed by the quality of their reports for a minimum of 8 webinar talks they have attended.

MAI621 AI Ethics I

Type: Compulsory for MAI

Level: Graduate

Semester: Spring

Credit: 6 ECTS units

Instructor: Special Teaching Scientist

Language: English

Objectives: This course aims to raise awareness of the dangers that can arise from the development, deployment, and usage of intelligent autonomous systems and to introduce the students to socio-technical solutions for mitigating the risk of exhibiting unwanted non-ethical behaviour. Students will understand the basics of implementing systems that are not only high performing, but also adhere to our ethical socio-legal cultural values.

Content: The key learning outcomes of the course are: (1) Reflect upon the socio-ethical issues that arise upon the development, deployment, and usage of intelligent systems; (2) Critically discuss commonly occurring narratives and perspectives related to the use of AI; (3) Reason about the decisions made during a system’s lifecycle and their relationship to accountability and responsibility; (4) Learn how to develop systems that exhibit a desired ethical behaviour and understand the main research challenges for this; (5) Understand how to judge and evaluate AI systems for their “ethicacy”; (6) Appreciate the socio-technical mechanisms for the governance of AI systems. By completing the above outcomes, the student will have a fundamental understanding of how intelligent systems influence—and are influenced by—our societies and of the socio-ethical responsibilities they have as developers and users of such tools.

Prerequisites: MAI611 Artificial Intelligence Fundamentals, basic technical knowledge of AI.

Bibliography: 

  1. V. Dignum, Responsible Artificial Intelligence: How to Develop and Use AI in a Responsible Way, Springer, 2019.
  2. M. Coeckelbergh, AI Ethics, MIT Press, 2020.
  3. D. Gunkel, An Introduction to Communication and Artificial Intelligence, Willie, 2020.
  4. C. O’Neil, Weapons of Math Destruction, Crown Books, 2016.
  5. F. Pasquale, The Black Box Society: The Secret Algorithms That Control Money and Information, Belknap Press, 2014.
  6. Papers, as reading material, will be made available to students on a weekly basisS. Russel, P. Norvig, Artificial Intelligence: A Modern Approach, 4th Edition, Pearson, 2021.

Teaching methods: A variety of teacher-led and student-led activities. Weekly lectures will introduce and provide overview of topics. Students will conduct self-study of the weekly material. Students will be given the opportunity to participate in problem-based solving group exercises, where they will conduct critical analysis and debate timely issues related to AI ethics. In unsupervised technical labs, students will be given the opportunity to test technical solutions for compliance checking and implement machine ethics, i.e., agents with moral reasoning.

Assessment: Two major assignments (one group, one individual), final exam.

MAI622 AI Entrepreneurship

Type: Compulsory for MAI / Restricted Choice for MDS, MCS, PM

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: M. D. Dikaiakos

Language: English

Objectives: This course seeks to help students explore and master key concepts and challenges of relevance to AI and Data-driven entrepreneurship. The course introduces students to the world of AI entrepreneurship through case studies that demonstrate successes, failures and challenges. The course provides also an overview of and an introduction to key steps to develop a company, design a business model, explore product-market fit, manage intellectual property, and attract investment. Students will explore acknowledged innovation-driven entrepreneurship methodologies and experiment with them and associated tools to pursue the translation of their ideas into entrepreneurial endeavors. The course examines issues faced by Startup Founders and Chief Technology Officers who need to innovate at the boundaries of AI, Ιnformation Τechnology and Βusiness by understanding all perspectives.

Content: The course will comprise weekly live and recorded lectures by the professor and by invited speakers on various aspects of entrepreneurship and innovation. The students will be required to establish teams and work on an idea, producing a business plan and a prototype of an MVP, and several writeups for class readings and invited lectures. Lectures will cover Case Studies in AI Entrepreneurship, Basic concepts in Entrepreneurship and Innovation, and elements of Preparatory Analysis for establishing a startup company, Setting up a company, Value Proposition, Market Analysis and Competition, Business Modeling for AI Products and Services, Customer acquisition and Sales.

Prerequisites: ----------

Bibliography: 

  1. B. Aulet, Disciplined Entrepreneurship, Wiley, 2013.

  2. B. Aulet, Disciplined Entrepreneurship Workbook, Wiley, 2017.

  3. A. Osterwalder et al, Value Proposition Design: How to Create Products and Services Customers Want, Wiley, 2014.

  4. A. Fontana, The AI-First Company: How to Compete and Win with Artificial Intelligence, Penguin, 2021.

  5. P. Thiel, B. Masters, Zero to One: Notes on Startups, or How to Build the Future, Virgin Books, 2015.

Teaching methods: Lectures (3 hours weekly), Recitation sessions (1 hour weekly), Team projects (all semester).

Assessment: Group project report and presentation, writing assignments.

MAI623 Natural Language Processing

Type: Restricted choice for MAI

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: Special Teaching Scientist

Language: English

Objectives: Natural language processing (NLP) seeks to provide computers with the ability to intelligently process human language, extracting meaning, information, and structure from text, speech, web pages, and social networks. The goal of this course is to provide the fundamental aspects of NLP systems, as well as introduce recent advancements in the field of NLP and Deep Learning. The course is organized into two parts: (1) Fundamental knowledge, concepts, and techniques of NLP, and (2) introduction to Deep Learning methods for NLP.

Content: The students who complete this course successfully will be able to: (1) Comprehend various fundamental concepts of NLP: Text processing (normalization, lemmatization, stemming, etc.), language models (N-Grams), word representation (word embeddings), and text classification with Machine Learning; (2) Familiarize with known NLP tasks: Named Entity Recognition (NER), Part-of-Speech tagging (PoS), Dependency and Syntax parsing; (3) Employ Machine Learning (ML) techniques for text classification (e.g., Naive Bayes) and be able to properly apply the NLP feature engineering process; (4) Extend their knowledge with advanced methods in NLP and Deep Learning: Word Vectors, Word2vec algorithm, BERT; (5) Apply their knowledge on real-world research applications of NLP and recognize the societal impact in cases of misinformation and hate-speech identification; (6) Design efficient and effective NLP solutions to a variety of problems, using state-of-the-art tools.

Prerequisites: MAI612 Machine Learning, familiarity with Python.

Bibliography: 

  1. Dan Jurafsky and James H. Martin, Speech and Language Processing.
  2. Jacob Eisenstein, Natural Language Processing.
  3. Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit, 1st EditionS. Russel, P. Norvig, Artificial Intelligence: A Modern Approach, 4th Edition, Pearson, 2021.

Teaching methods: Students will meet the expected learning outcomes through participation in lectures, active participation and in class discussions, and actual practice with programming assignments and the final project. The lectures will be hybrid, with the possibility of both physical and virtual presence of the students.

Assessment: Student progress is evaluated continuously through class participation and the assessment of at-home assignments, group project deliverables, and final exam. The final grade is based on the following formula (the percentages are indicative): Assignments and Participation: 30%; Final Project: 40%; Final Exam: 30%.

MAI631 AI Ethics II and AI Policy Making

Type: Compulsory for MAI

Level: Graduate

Semester: Fall

Credit: 4 ECTS units

Instructor: -----

Language: English

Objectives: The main purpose of this course is to help the students understand in depth the major ethical issues that concern various sectors of the society and how these are reflected into AI policy by governments and organizations, particularly by EU policy on AI. The students will understand how research into AI Ethics feeds into policy and how policy requirements affect the development of AI systems.

Content: The key learning outcomes of the course are: (1) Grasp the importance role of analysing and mitigating socio-ethical issues by forming AI policies at various levels in the society; (2) Acquire an in-depth knowledge about governmental and intergovernmental AI policy initiatives—particularly by and within the European Union; (3) Understand the relationship between ethical governance and regulatory frameworks; (4) Explore how AI Ethics affects the strategy of large and small companies for the development of their AI systems; (5) Develop a critical understanding of socio-technical mechanisms for the governance of AI systems, recognizing the drawbacks and benefits of each approach; (6) Reflect upon how research in AI feeds into AI policy and how AI policy creates new needs for research into AI Ethics. By completing these outcomes, the student will be able to understand and comment on AI policies and the research challenges emerging from them.

Prerequisites: MA621 AI Ethics I, basic technical knowledge of AI.

Bibliography: 

  1. EU AI Policy documents such as: The ethics of artificial intelligence: Issues and initiatives; Ethics guidelines for trustworthy AI; Artificial intelligence: From ethics to policy.
  2. Other AI Policy resources: OECD AI Policy Observatory; AI Policy Forum at MIT.
  3. Open Lecture Resources: Ethics in AI seminar series at Oxford; Online Speaker Series on the Ethics of Argumentation; AI Ethics Seminars at Chalmers
  4. Journal of AI Ethics, Springer (launched in February 2021).S. Russel, P. Norvig, Artificial Intelligence: A Modern Approach, 4th Edition, Pearson, 2021.

Teaching methods: Bi-weekly lectures will introduce and provide overview of topics. Students will conduct a self-study on a weekly basis by attending seminars with guest speakers on AI Ethics & Policy issues, studying policy documents, and applying AI policies to their AI projects (e.g., undergraduate dissertations, assignments from other projects, etc). Students will be required to present the results of their study in reports and/or presentations to the class.

Assessment: Bi-weekly short assignments, one group project and final essay exam.

MAI632 AI on the Edge Webinars II

Type: Compulsory for MAI

Level: Graduate

Semester: Fall

Credit: 2 ECTS units

Instructor: G. Pallis

Language: English

Objectives: The main objective of this course is for the students to be aware of the latest developments in AI and to appreciate the wide breath of study that AI requires.

Content: Students will become knowledgeable about a variety of the most recent developments in Artificial Intelligence and will have some appreciation of different AI centers world-wide.

Prerequisites: -----

Bibliography: -----

Teaching methods: A list of Webinars will be maintained and updated weekly from which each student can choose to attend. Students can also suggest other webinars outside the official list of the course, to be approved by the course instructor. The students submit a short report summarizing each talk they have attended and commenting on the significance of its topic to the development of AI. Interactive student discussions coordinated by industrial partners will also be included.

Assessment: The students are assessed by the quality of their reports for a minimum of 8 webinar talks they have attended.

MAI641 Master Thesis

Type: Restricted choice for MAI

Level: Graduate

Semester: Fall

Credit: 16 ECTS units

Instructor: -----

Language: English

Objectives: The main objective of this course is to enable the students to develop deeper knowledge, understanding, capabilities and attitudes in the context of the programme of study. The thesis should be written at the end of the programme and offers the opportunity to delve more deeply into and synthesize knowledge acquired. The thesis will place emphasis on the technical and/or scientific aspects of the subject matter.

Content: (1) Considerably more in-depth knowledge of the major subject/field of study, including deeper insight into current research and development work; (2) Deeper knowledge of methods in the major subject/field of study; (3) A capability to contribute to research and development work; (4) The capability to use a holistic view to identify, formulate and deal with complex issues critically, independently and creatively; (5) The capability to plan and use adequate methods to conduct qualified tasks in given frameworks and to evaluate this work; (6) The capability to create, analyze and critically evaluate different technical solutions; (7) The capability to integrate knowledge critically and systematically; (8) The capability to clearly present and discuss the conclusions as well as the knowledge and arguments that form the basis for these findings in written and spoken English; (9) A consciousness of the ethical aspects of research and development work.

Prerequisites: A student must complete successfully courses, totaling at least 45 ECTS credits from the MSc AI Programme.

Bibliography: The bibliography of this course will be determined by the Research Advisor.

Teaching methods: For a student to undertake a Master Thesis a Research Advisor, based on the rules of the University Senate, is assigned to the student before s/he submits the Thesis Proposal. The Thesis must deal with a research topic or a technical issue. It must be of some original contribution or show a thorough and clear understanding of some special topic. A student participating in the AI Camp and/or completing successfully an industrial internship may discuss the possibility of doing his/her Master Thesis in collaboration with an industrial partner.

Assessment: The Master Thesis is submitted at the Department and defended within the time period decided by the Departmental Council and in accordance with the relevant rules and regulations of the Department and the University.

MAI642 Deep Learning

Type: Restricted choice for MAI

Level: Graduate

Semester: -----

Credit: 8 ECTS units

Instructor: -----

Language: English

Objectives: The objective of this course is to provide a concrete understanding of the fundamental concepts of deep learning used for computer vision applications for image and video processing and understanding. Deep Learning is a key driving force behind Artificial Intelligence (AI) breakthroughs over the past few years and a paradigm shift in most computer vision tasks performed today.

Content: A well-balanced understanding of deep learning theoretical concepts and computer vision applications materialized using contemporary deep learning architectures and software tools.

Prerequisites: MAI612 Machine Learning, Digital Image Processing Fundamentals, basic programming skills.

Bibliography: 

  1. I. Goodfellow, Y. Bengio, A. Courville, Y. Bengio, Deep learning, MIT Press, 2016. Freely Available: https://www.deeplearningbook.org/
  2. Adrian Rosebrock, Deep Learning for Computer Vision with Python, 2017.
  3. A. Geron, Hands-On Machine Learning with Scikit-Learn & TensorFlow Concepts, Tools, and Techniques to Build Intelligent Systems, 2nd Edition, O'Reilly Media, 2019.

Teaching methods: The course balances theory and practice as it involves a significant amount of example case studies that aim to complement both the lectures and hands-on lab training. The students are expected to apply the learning outcomes throughout the duration of the course during the assigned coursework.

Assessment: Assignments and Projects (60%); Mid-term exam (10%); Final exam (30%).

MAI643 AI in Medicine

Type: Restricted choice for MAI

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: E. Keravnou / K. Orphanou

Language: English

Objectives: The medical domain has presented key challenges to the AI community from the early days of AI research. It is not an exaggeration to say that this pioneering work, particularly in medical expert systems, and its undisputable successes, some in real-life settings, has helped both in restoring confidence in the promise of AI, that at some point was disturbed after its failure to deliver fully on the very ambitious initial goals that it had set, and in paving the way towards more viable paths harnessing the mechanization of knowledge and human expertise. The aim of this elective course is to familiarize students with the past, present and future of Artificial Intelligence in Medicine, illustrating the discussion with several case studies, and pinning down the human-centric and ethical aspects underlying the given applications.

Content: Upon completion of the course the students will have a good understanding, from a critical perspective, of the span of applications of AI methods and techniques in the medical domain, and the methodologies used in developing such applications. More specifically the students will understand the importance of time in medical information systems and how time can be modelled, be conversant with data-driven clinical decision-making, and grasp the regulatory, social, ethical and legal issues of Artificial Intelligence in Medicine.

Prerequisites: MAI611 AI Fundamentalss.

Bibliography: 

  1. A.C. Chang, Intelligence-Based Medicine: Artificial Intelligence and Human Cognition in Clinical Medicine and HealthCare, Academic Press, 2020.
  2. C. Combi, E. Keravnou-Papailiou, Y. Shahar, Temporal Information Systems in Medicine, Springer, 2010.
  3. L. Xing, M.L. Giger, J.K. Min (editors), Artificial Intelligence in Medicine: Technical Basis and Clinical Applications, Academic Press, 2021.
  4. Panesar, Machine Learning and AI for Healthcare: Big Data for Improved Health Outcomes, Apress, 2021.
  5. T. Lawry, AI in Health: A Leader’s Guide to Winning the New Age of Intelligent Health Systems, CRC Press, 2020.
  6. N. Lavrac, E.T. Keravnou, B. Zupan (editors), Intelligent Data Analysis in Medicine and Pharmacology, Kluwer Academic Publishers, 1997.
  7. E.T. Keravnou (editor), Deep Models for Medical Knowledge Engineering, Elsevier Science Publishers, 1992.
  8. Scientific papers from thematic and/or standard issues of relevant journals, primarily the journal Artificial Intelligence in Medicine (AIME) published by Elsevier.

Teaching methods: Lectures and discussions particularly around the presented case studies. Students would be strongly guided to view all topics presented and discussed with a critical eye.

Assessment: Final exam, midterm exam and project assignments.

MAI644 Computer Vision

Type: Restricted choice for MAI

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: M. Averkiou

Language: English

Objectives: This course aims to build a fundamental understanding of classic computer vision, starting at extracting and describing features such as edges and corners from images, moving to mid-level tasks such as model fitting and image stitching, then, high-level tasks such as semantic segmentation, recognition, and detection, and ending with motion and extracting scene geometry from images.

Content: At the end of this course, students should: (1) Understand the fundamentals of classic computer vision; (2) Be able to identify the recent trends and developments in computer vision; (3) Identify limitations of the current state of the field and the immense potential for commercial applications of computer vision; (4) Apply mathematical methods in a rigorous manner in order to solve computer vision tasks; (5) Know how an image is formed and how cameras work; (6) Know what features are and how they are extracted from an image; (7) Know what edge and corner detection is; (8) Know how features are described, stored and how they are used to solve computer vision problems; (9) Understand classic computer vision algorithms such as RANSAC or Normalized cuts as well as methods such as PCA; (10) Be confident in camera models and projective transformations; (11) Know what camera extrinsic and intrinsic parameters are how to perform camera calibration; (12) Understand how stereo and multi-view reconstruction works, and be able to appreciate structure from motion algorithms; (13) Understand high-level tasks such as segmentation, recognition, detection, tracking..

Prerequisites: MAI612 Machine Learning, linear algebra, data structures and algorithms.

Bibliography: 

  1. David A. Forsyth, Jean Ponce, Computer Vision A Modern Approach, 2nd Edition, Prentice Hall, 2012.
  2. Richard Szeliski. Computer Vision: Algorithms and Applications, 2nd Edition, Springer, 2020.
  3. Hartley, Andrew Zisserman, Multiple View Geometry in Computer Vision, Academic Press, 2002.
  4. Christopher Bishop, Pattern Recognition and Machine Learning, Springer, 2006.

Teaching methods: Lectures and labs.

Assessment: Final exam (40%); Mid-term exam (30%); Coursework and assignments (30%). To qualify one must: (i) Hand in all assignments and coursework; (ii) Achieve at least 50% weighted average in the mid-term and final exam; (iii) Achieve at least 50% overall.

MAI645 Machine Learning for Graphics and Computer Vision

Type: Restricted choice for MAI

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: A. Aristidou

Language: English

Objectives: This course will offer an introduction to machine learning algorithms, the use of deep learning and its applications in computer vision and graphics. The course will also operate as a graduate-level seminar with weekly readings (1 hour per week), summarizations, and discussions of recent papers.

Content: Participants will explore the latest developments in neural network research and deep learning models that are enabling highly accurate and intelligent computer vision and graphics systems. By the end, participants will: (1) Be familiar with fundamental concepts and applications in computer vision and graphics; (2) Grasp the principles of state-of-the art deep neural networks; (3) Gain knowledge of high-level vision tasks, such as object recognition, scene recognition, face detection and human motion categorization; (4) Gain knowledge of high-level graphics tasks, such as composite image generation, style transfer, motion reconstruction, and motion synthesis; (5) Develop practical skills necessary to build highly accurate, advanced computer vision and graphics applications.

Prerequisites: Experience in programming with Python; Experience with linear algebra, calculus, statistics and probability.

Bibliography: 

  1. Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press, 2016.
  2. Steve Holden, Computer Vision: Advanced Techniques and Applications, CLANRYE INTERNATIONAL, 2019.
  3. Christopher Bishop, Pattern Recognition and Machine Learning, Springer, 2016.

Teaching methods: 3 hours lectures; 1.5 hours lab; 1 hour for recitation and discussion on recent papers.

Assessment: Exams (30%); Student paper presentations (15%); Programming assignments (25%); Final course project (30%).

MAI646 Cognitive Programming for Human-Centric

Type: Restricted choice for MAI

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: A. Kakas

Language: English

Objectives: The goal of the course is to introduce students into the new framework for Cognitive Computing for the development of Cognitive Systems that serve the needs of Human-centric AI. The theoretical understanding of the challenges of such cognitive systems and the development of knowledge for their practical application will be discussed.

Content: The key learning outcomes of the course are for students to master: (1) Properties and Design of Cognitive Systems; (2) Automated Cognitive Decision Making; (3) Argumentation for Human Cognitive Reasoning; (4) Computational Argumentation; (5) Learning & Reasoning in Cognitive Systems; (6) Software Methodology for Cognitive Assistants.

Prerequisites: Basic knowledge of AI.

Bibliography: 

  1. David Vernon, Artificial Cogntive Systems, MIT Press, 2014.
  2. Antonio Lieto, Cognitive Designs for Artificial Minds, Routledge, 2021.
  3. Journal of Cognitive Systems Research, Elsevier.
  4. Journal of Advances of Cognitive Systems.
  5. Journal of Computational Cognitive Science.
  6. Principles of Synthetic Intelligence, Oxford University Press, 2009.
  7. Research Documents on Cognitive Computing

Teaching methods: Weekly lectures will introduce and provide overview of the course topics. In addition, there will be a running project throughout the course for the students to develop a Cognitive Assistant of their own application choice. The students will also undertake a bibliography assignment to review a topic related to Cognitive Computing from other disciplines. Small exercises help the student develop knowledge representation skills in argumentation form and programming skills in the Gorgias system of argumentation.

Assessment: Two major projects, one on research study and one developing a Cognitive Assistant. Four small assignments and a final exam.

MAI647 Computational Neuroscience

Type: Restricted choice for MAI

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: -----

Language: English

Objectives: Computational Neuroscience is an emerging and dynamically developing field aiming to elucidate the principles of information processing by the nervous system. This course aims to develop and apply computational methods for studying brain and behaviour as well as understanding the dynamics of the conscious mind.

Content: The learning outcomes for the students are the following: (1) Understand and be able to explain the fundamental principles of information processing by neural systems; (2) Appreciate the importance of computational neuronal models in the quest of understanding the brain and the fact that many aspects of neuroscience cannot be understood without appropriate computational modeling framework; (3) Understand the most important biophysical neuronal models and the different levels of description and complexity in computational neuronal modelling from the level of the single neuron to that of neural networks; (4) Understand neuronal dynamics and learn how high dimensional neuronal models can be reduced to low dimensional neural models; (5) Understand how experimentally recorded physiological signals enable us to understand the functionality of neurons/systems in the brain and how statistical approaches help in the analysis of such data; (6) Be able to implement/simulate basic computational neuronal models through programming; (7) Become familiar and be able to use various computational neuroscience simulation software packages for modelling complex biophysical models and experimentally observed phenomena; (8) Be able to grasp the importance of high-level modelling abstraction from the underlying neuronal principles for understanding brain behaviours; (9) Critical reading and discussion of recently published scientific papers.

Prerequisites: Linear algebra, differential equations, programming.

Bibliography: 

  1. P. Dayan, L. Abbott, Theoretical Neuroscience: Computational and Mathematical Modelling of Neural Systems, MIT Press, 2001.
  2. W. Gerstner, W. M. Kistler, R. Naud, L. Paninski, Neuronal Dynamics: From single neurons to networks and models of cognition, Cambridge University Press, 2014.
  3. D. Sterratt, B. Graham, A. Gilles, D. Willshaw, Principles of Computational Modelling in Neuroscience, Cambridge University Press, 2011.
  4. W. Gerstner, W. M Kistler, Spiking Neuron Models: Single Neurons, Populations and Plasticity, Cambridge University Press, 2002.
  5. C. Koch, Biophysics of Computation: Information Processing in Single Neurons, Oxford University Press, 1998.
  6. T. Trappenberg, Fundamentals of Computational Neuroscience, 2nd Edition, Oxford University Press, 2010

Teaching methods: Lectures (3 hours weekly), recitation (1 hour weekly) and laboratory (2 hours weekly).

Assessment: Final exam, midterm exam and laboratory exercises/oral presentations of selected research papers.

MAI648 Human-Centered Intelligent User Interfaces

Type: Restricted choice for MAI

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: M. Belk

Language: English

Objectives: The purpose of the course is to introduce students to fundamental principles and methods within the intersection of Artificial Intelligence and Human-Computer Interaction aiming to design and develop more efficient and effective user interfaces through the use of intelligent computation methods.

Content: Upon completion of this course, students will have acquired: (1) An in-depth understanding of theoretical and practical aspects of intelligent user interfaces; (2) Skills to design, develop and evaluate intelligent interactive systems by considering a variety of human factors, such as human cognitive and emotional characteristics for improving the efficiency, effectiveness and user experience in interactive systems; (3) Abilities to synthesize and evaluate the potential of this knowledge in relation to deploying intelligent user interfaces in real-life applications.

Prerequisites: Basic knowledge on AI and HCI, general programming knowledge.

Bibliography: 

  1. Germanakos, P., Belk, M, Human-Centered Web Adaptation and Personalization - From Theory to Practice, Human-Computer Interaction Series, Springer, 2016.
  2. Brusilovski, P., Kobsa, A., Nejdl, W, The Adaptive Web: Methods and Strategies of Web Personalization, Springer, 2007.
  3. Shneiderman, B., Plaisant, C., Cohen, M., Jacobs, S., Elmqvist, N., Diakopoulos, Designing the User Interface: Strategies for Effective Human-Computer Interaction, 6th Edition, Pearson, 2017.
  4. Preece, J., Sharp, H., Rogers, Y., Interaction Design: Beyond Human-Computer Interaction, 4th Edition, Wiley, 2015

Teaching methods: Lectures covering the theoretical foundations of intelligent user interfaces, discussion of practical examples, and lab activities for designing and implementing intelligent user interfaces.

Assessment: Final exam, midterm exam and homework (theoretical and programming assignments).

MAI649 Principles of Ontological Databases

Type: Restricted Choice for MAI

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: A. Pieris

Language: English

Objectives: Nowadays we need to deal with data that is very large, heterogeneous, distributed in different sources, and incomplete. At the same time, we have very large amounts of knowledge about the application domain of the data in the form of ontologies that can be used to provide end users with flexible and integrated access to data. This gave rise to ontological databases, which lie at the intersection of traditional databases, and knowledge representation and reasoning. The purpose of the course is to introduce students to the principles of ontological databases and demonstrate the importance of studying data-intensive problems in a mathematically rigorous way, as well as the implications of such studies for real-life applications.

Content: Towards the main goal of the course, it is vital to first cover the principles of relational databases, without taking ontologies into account, on top of which the principles of ontological databases are built. In particular, the course will cover the following topics: (i) relational model: data model, relational algebra, relational calculus (first-order queries), first-order query evaluation, static analysis of first-order queries, (ii) conjunctive queries (CQs): syntax and semantics, CQ evaluation, static analysis of CQs, minimization of CQs, acyclicity of CQs, evaluation of acyclic CQs (Yannakaki’s algorithm), semantically acyclic CQs and their evaluation, (iii) adding recursion - Datalog: inexpressibility of recursive queries, syntax and semantics of Datalog, Datalog query evaluation, static analysis of Datalog queries, (iv) ontological databases: rule-based ontologies (syntax and semantics), combining relational databases with rule-based ontologies, ontological query answering (OQA), universal models, ontology-based data access, (v) ontological query answering: forward-chaining (the chase procedure), backward-chaining (resolution-based query rewriting), linear rule-based ontologies (tractable data complexity, intractable combined complexity), (vi) advanced topics (time permitting): expressive rule-based ontology languages, chase termination, static analysis of ontological queries.

Prerequisites: While there are no formal prerequisites, it is recommended that students have passed a Discrete Mathematics course, and an introductory course in Databases (some familiarity with the relational model, and the main relational query languages). It is also recommended that students have some basic familiarity with computational logic (first-order logic), and complexity theory (standard complexity classes such as PTIME and NP).

Bibliography: 

  1. S. Abiteboul, R. Hull, V. Vianu, Foundations of Databases, 1995.

  2. M. Arenas, P. Barcelo, L. Libkin, W. Martens, A. Pieris, Principles of Databases (currently under development, a preliminary version is accessible at https://github.com/pdm-book/community)

  3. F. Baader, I. Horrocks, C. Lutz, U. Sattler, An Introduction to Description Logic, 2017.

  4. L. Libkin, Elements of Finite Model Theory, 2012.

Teaching methods: Lectures (3 hours weekly), Recitation (1 hour weekly).

Assessment: Coursework (20%), essays (50%), in-class presentations (30%).

MAI650 Internet of Things

Type: Restricted choice for MAI

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: V. Vassiliou

Language: English

Objectives: The internet of things (IoT) is a computing concept that describes the idea of everyday physical objects being connected to the internet and being able to identify themselves to other devices. IoT has emerged as a new paradigm aimed at providing solutions for integration, communication, data consumption, and analysis of smart devices. To this end, connectivity, interoperability, and integration are inevitable parts of IoT communication systems. Whereas IoT, due to its highly distributed and heterogeneous nature, is comprised of many different components and aspects, providing solutions to integrate this environment and hide its complexity from the user side is inevitable. In this course, different building blocks of IoT, such as sensors and smart devices, M2M communication, data collection and processing and the role of humans in future IoT scenarios are elaborated upon and investigated. The major focus will be to provide an overview on IoT tools and applications and to introduce hands-on IoT communication concepts through lab exercises.

Content: Upon completion of this course, the student should be able to: (1) Explain the definition and usage of the term “Internet of Things” in different contexts; (2) Understand and describe the key components that make up an IoT system; (3) Apply the knowledge and skills acquired during the course to build and test a complete, working IoT system involving prototyping, programming and data analysis; (4) Independently research the technological trends which have led to IoT; (5) Understand where the IoT concept fits within the broader ICT industry and recognize possible future trends; (6) Valuate the impact of IoT on society by analyzing IoT systems with regard to sustainability, safety, integrity and ethics; (7) Appreciate the role of big data, cloud computing and data analytics in a typical IoT system.

Prerequisites: -----

Bibliography: 

  1. Rajkumar Buyya, Amir Vahid Dastjerdi, Internet of Things Principles and Paradigms, Morgan Kaufmann, 1st Edition, 2016.
  2. J. Biron, J. Follett, Foundational Elements of an IoT Solution, O'Reilly Media, 2016.
  3. Jamil Y. Khan, Mehmet R. Yuce, Internet of Things (IoT) Systems and Applications, 2019.
  4. David Hanes, Gonzalo Salgueiro, Patrick Grossetete, Robert Barton, Jerome Henry, IoT Fundamentals: Networking Technologies, Protocols, and Use Cases for the Internet of Things, Cisco Press, 2016.

Teaching methods: The course is taught through: (1) Interactive face-to-face lectures; (2) Group activities/discussions; (3) In class/lab activities; (4) Student Presentations; (5) Guest Lectures or significant recorded public lectures.

Assessment: Midterm exam (20%), assignments/project (30%), final exam (50%).

MAI651 AI and Creativity

Type: Compulsory for MAI

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: Special Teaching Scientist

Language: English

Objectives: Artificial intelligence (AI) is typically known as a collection of tools for solving hard problems spanning areas such as computer vision, speech and natural language processing. A less known use of AI is its capability for creativity. Through this course, the students will become familiar on how to build creative AI systems, and how various types of AI can be used for creative exploration in art, music and design.

Content: Upon completing this course, the students are expected to: (1) Understand how AI can be creative; (2) Implement evolutionary algorithms for open-ended exploration; (3) Implement generative deep learning models and explore their latent space; (4) Know how to use AI tools as a creative aid in a variety of applications; (5) Understand how computer games and AI can work together to find creative solutions for very hard real-world problems; (6) Become familiar with the cultural and creative industry and follow a series of invited lectures of distinguished individuals with practical examples of their work at the intersection of arts, science and technology.

Prerequisites: MAI611 AI Fundamentals, MAI612 Machine Learning.

Bibliography: 

  1. Bentley, P. J., Corne, D. W., Creative evolutionary systems, Morgan Kaufmann, 2002.
  2. Floreano, D., Mattiussi, C., Bio-inspired artificial intelligence: theories, methods, and technologies, MIT Press, 2008.
  3. Goodfellow, I., Bengio, Y., Courville, A., Bengio, Y, Deep learning, MIT press, 2016.
  4. McCormack, J., d'Inverno, M. (eds.), Computers and Creativity, Springer, 2012.
  5. Pereira, F. C., Creativity and Artificial Intelligence: A Conceptual Blending Approach, Applications of Cognitive Linguistics series, Mouton de Gruyter, 2007.
  6. Veale, T, Exploding the Creativity Myth: The Computational Foundations of Linguistic Creativity Bloomsbury Academic, 2012.
  7. Veale, T., Feyaerts, K., Forceville, Creativity and the Agile Mind: A Multidisciplinary study of a Multifaceted phenomenon, Mouton de Gruyter, 2013.

Teaching methods: Teaching will be done through lectures given physically.

Assessment: Assignments (20%), Project presentations (40%), Final exam (40%).