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

| | | | MyCS Portal |

Postgraduate Programme Courses Description

CS601 Distributed Systems

Type: Specialisation Course for MIC and Restricted Choice for MCS, MIntS, 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, Second Edition, 2007).
  2. G. Goulouris, J. Dollimore and T. Kindberg, Distributed Systems - Concepts and Design, Fourth 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).

CS602 Foundations of Web Technologies

Type: Specialisation Course for MIC, PM and Restricted Choice for MCS, MIntS

Level: Graduate

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

Credit: 8 ECTS units

Instructor: M. Dikaiakos

Objectives: To provide students with an advance introduction to the foundations and principles of the world wide web. To examine selected topics in web technologies from the recent research literature.

Content: Web Architecture. Web Protocols. Markup Languages. Web Characterization. Search Engines. Service-provision Infrastructures.

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

Bibliography:

  1. R. Krishnamurthy and J. Rexford, Web Protocols and Practice, Addison-Wesley, 2001.
  2. M. Hofmann and L.R. Beaumont, Content Networking: Architecture, Protocols and Practice, Morgan Kaufman, 2005.

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

Assessment: Final exam, midterm exam, homework and class participation.

CS603 Advanced Software Engineering

Type: Specialisation Course for PM and Restricted Choice for MCS, MIC, MIntS

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: G. Papadopoulos

Objectives: Familiarization with advanced topics in Software Engineering with emphasis on two main axes: (1) Principles of designing and implementing component-based systems on the basis of modern techniques of development such as component-based software, software architectures and middleware-platforms. (2) Special topics on the development of software, such as requirements engineering, real-time software systems, and software cost estimation.

Content: Topics in Component-Based Software: Principles of development of component-based systems based on component-based software. Modeling techniques. Software architectures. Coordination programming. Middleware platforms for the development of systems. Software composition. Elements of the distributed programming. Configuration management. Advanced topics in Software Engineering: Requirements Engineering Processes. Real-time Software Design. Design with Reuse. User Interface Design. Software Change.

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

Bibliography:

  1. C. Szyperski, Component Software: Beyond Object-Oriented Programming, 2nd Edition, Addison-Wesley, 2002.
  2. I. Sommerville, Software Engineering, 9th Edition, Addison-Wesley, 2011.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly). Assessment: Final exam and homework (group projects).

CS604 Artificial Intelligence

Type: Specialisation Course for MIntS and Restricted Choice for MCS, MIC, PM

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: Y. Dimopoulos and Ch. Christodoulou

Objectives: Introduction to the fundamental principles, algorithms and techniques that support the operation of intelligent information systems. Upon completion of the course, the students should know the state of the art in Computational or Artificial Intelligence, the main problems under investigation in these areas, and the basic methods used for solving them.

Content: Introduction to Artificial Intelligence. Intelligent Agents. Search. Constraint Satisfaction. Knowledge Representation and Logic Planning. Introduction to Machine Learning. Introduction to Artificial Neural Networks. Single layer and Multi layer Perceptrons. Radial-basis Function Networks. Reinforcement Learning. Self-organizing Maps. Hopfield Neural Networks and Boltzmann Machines. Recurrent Neural Networks.

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

Bibliography:

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

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

Assessment: Final exam, midterm exam and homework.

CS605 Advanced Computer Architecture

Type: Specialisation Course for PM and Restricted Choice for MCS, MIC, MIntS

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 and 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 MIC, PM and Restricted Choice for MCS, MIntS

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: V. Vassiliou

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 and B. Davies, Computer Networks: A Systems Approach, 5th Edition, Morgan Keufmenn, 2011.
  2. J. F. Kurose and K. W. Ross, Computers Networking – A Top Down Approach to the Internet, 6th Edition, Addison-Wesley, 2011.

Teaching methods: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratory sessions (2 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, MIC, MIntS

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 and F. Policarpo, The Computer Image, Addison–Wesley, 1998.
  2. R. C. Gonzalez and R. E. Woods, Digital Image Processing, 2nd Edition, Addison–Wesley, 2002.
  3. M.Slater, A. Steed and 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%.

CS608 Programming for Games and Interactive Technologies

Type: Specialisation Course for MCG

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

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

Objectives: Learning of theory and software development skills for understanding and solving computational problems that are common in the process of creating video games and other modern interactive applications. This is accomplished through the teaching of methods for analyzing problems, construction of suitable algorithms for their solution and their implementation, initially by using visual programming languages and subsequently third generation programming languages.

Content: Teaching material includes (a) introduction to the use of computers and programming languages for creating games and interactive applications, (b) analysis, specification and problem solving of applications in Computer Graphics, (c) program and data abstraction, (d) construction, articulation, documentation and implementation techniques for good programming practices, debugging and source code reuse, (e) hands on use of visual programming and scripting programming languages.

Bibliography:

  1. C. Reas and B. Fry, Getting Started with Processing, O'Reilly Media, 2010.
  2. Α. S. Glassner, Processing for Visual Artists: How to Create Expressive Images and Interactive Art, A K Peters, 2010.

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

Assessment: final exam, midterm exam and project.

CS646 Advanced Topics in Databases

Type: Specialisation Course for MIC and PM and Restricted Choice for MCS and MIntS

Level: Graduate

Semester: Winter

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 MIC and PM and Restricted Choice for MCS, MIntS

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: G. Samaras

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 and 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 MIntS, PM and Restricted Choice for MIC, 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 and 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 (1,5 hours weekly).

Assessment: Final exam, midterm exam and homework.

CS655 Advanced Parallel Processing ΙΙ

Type: Specialisation Course for PM and Restricted Choice for MCS, MIC, MIntS

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 and D. Patterson, Computer Architecture: A Quantitative Approach. Third Edition, Morgan Kaufmann, 2002.
  2. D. E. Culler and 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, MIC, MIntS

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 and 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: Specialisation Course for MIC and Restricted Choice for MCS, MIntS, 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. New architectures and technologies of wireless networks and wireless communication (e.g., ad-hoc and sensor networks, VANETS). Resource management techniques, Next Generation wireless networks, design and planning of wireless networks, protocols for wireless and mobile networks. Internet/Web of Things.

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

Bibliography:

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

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

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

CS658 Digital Video Processing

Type: Specialisation Course for MIntS and Restricted Choice for MCS, PM, MIC

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 and 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, MIC, MIntS

Level: Graduate

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

Credit: 8 ECTS units

Instructor: P. Evripidou

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 and 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 (2 hours weekly).

Assessment: Final exam, midterm exam and homework.

CS660 Information Retrieval and Search Engines

Type: Specialisation Course for MIC, MIntS and 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 and 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 MIntS, PM and Restricted Choice for MCS, MIC

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 and 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: Specialisation Course for MIntS and Restricted Choice for MCS, MIC, 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, MIC, MIntS, 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 and J.-P. Katoen, Principles of Model Checking. MIT Press, 2008
  3. L. Aceto, A. Ingólfsdóttír, Κ. G. Larsen and 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: Specialisation Course for MIntS and Restricted Choice for MCS, MIC, 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 Neuroinformatics

Type: Specialisation Course for MIntS and Restricted Choice for MCS, MIC, PM

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: Ch. Christodoulou

Objectives: Neuroinformatics or Computational Neuroscience is an emerging and dynamically developing field aiming to elucidate the principles of information processing by the nervous systems well as applying information technology to the processing of neuroscientific data. 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 Neuroinformatics; basic neurobiology: from the brain to single neurons; biophysics of single neurons; synapses; dendrites and axons. Conductance-based neuron models: the generation of action potentials and the Hodgkin and Huxley equations. Dendritic trees, the propagation of action potentials, cable theory, compartmental models. Modelling synapses. Spiking neuron models and response variability: leaky integrator and integrate-and-fire type neuron models, spike time variability. Current topics in Neuroinformatics including (a) understanding of the neural code (b) Synaptic Plasticity. Bottom-up/top-down modeling of the brain: modeling of self-control behaviour as an example of top-down modeling. Modelling consciousness. Applications of Neuroinformatics; Neuroinformatics vs Bioinformatics.

Prerequisites: Linear Algebra, Differential Equations

Bibliography:

  1. P. Dayan and 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 and W. M Kistler, Spiking Neuron Models: Single Neurons, Populations and Plasticity, Cambridge University Press, 2002.
  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

Restricted Choice for MCS, MIC, MIntS

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 and J. Ponce, Computer Vision: A Modern Approach, Prentice-Hall, 2003.
  2. R. Hartley and A. Zeisserman, Multiple View Geometry, Cambridge University Press, 2003.
  3. C. Bishop, Pattern Recognition and Machine Learning, Springer-Verlag, 2007.
  4. O. Faugeras and 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: MCS, MIC, MIntS, 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: -------------

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: Specialisation Course for MIC and Restricted Choice for MCS, MIntS, 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 and 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 MIC, PM and Restricted Choice for MCS, MIntS

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, and M. Speciner, Network Security: PRIVATE communication in a PUBLIC world, Second Edition, Prentice Hall, 2002.
  3. M. Dowd, J. McDonald and 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 MIC, PM and Restricted Choice for MCS, MIntS

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 (2 hours weekly).

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

CS678 Temporal Information Systems in Medicine

Type: Advanced Elective Course

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 Research 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 MintS and PM and Restricted Choice for MCS and MIC

Level: Graduate

Semester: Fall

Credit: 8 ECTS units

Instructor: Ch. Schizas

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 and 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

Type: Specialisation Course for MIC, PM and Restricted Choice for MCS, MIntS

Level: Graduate

Semester: Spring

Credit: 8 ECTS units

Instructor: G. Kapitsaki

Objectives: Understanding the usefulness of software reuse. Deepening in the different levels of reuse and understanding the differences between them. Use of software components in practice.

Content: Levels of reuse. Best practices for reuse. Evolution of reuse. Software repositories. Search and retrieval. Data extraction. Use of dedicated APIs. Design patterns. Object-oriented programming standards. Open source software. Open source licensing and legal issues. Organization policies and open-source based development. License compliance. Model-Driven Engineering reuse. Service-Oriented Computing (SOAP, RESTful). Reuse on service level.

Prerequisites: --------

Bibliography:

  1. Μ. Ezran, Μ. Morisio, C. Tully, Practical Software Reuse, Practicioner Series, 2002.
  2. E. Freeman, E. Robson, B. Bates, K. Sierra, Head First Design Patterns, O'Reilly Media, 2004.
  3. C. Horstmann, A Practical Guide to Open Source Licensing, Wiley, 2nd Edition, 2006.
  4. 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, homework and semester project.

CS699 Special Topics in Computer Science: Online Social Networks

Type: Restricted Choice for Ph.D. cndidates (and conditionally for MCS, MIC, MIntS, PM)

Level: Ph.D. and Advanced M.Sc.

Semester: Spring

Credit: 8 ECTS units

Instructor: Μ. Dikaiakos

Language of instruction: English

Objectives: Survey of recent scientific literature of Online Social Networking Systems. Study of basic concepts, principles, techniques and scientific results that shape the analysis and evolution of Online Social Networking Systems.

Content: Introduction to Social Networks. Design Principles of Online Social Networking Systems. Overview of popular Online Social Networking Systems: Facebook, Twitter, LinkedIn. Social Networks analysis from a Complex Networks Perspective. Data Mining of Online Social Networks data. Modeling of Online Social Networks.

Prerequisites: (for M.Sc. students) CS646, CS660 or the consent of the instructor.

Bibliography:

  1. Vakali and Jain (Eds), New Directions in Web Data Management 1, Springer, 2011.
  2. Εasly and Kleinberg, Networks, Crowds and Markets, Cambridge, 2010.
  3. Selected articles from scientific journals and conferences.

Teaching methods: Lectures (3 hours weekly).

Assessment: Active participation in the class, paper assignements, authoring of scientific survey paper, semester team-project.

Language of Instruction: English