ERASMUS+ Courses for Incoming Students

FALL SEMESTER

1. Computer Graphics, G. Papaioannou

6ECTS credits
Communication with Lecturer e-mail: gepap@aueb.gr

Objectives
Learn the fundamentals of computer graphics and image synthesis (rendering), with a focus on real -time and interactive graphics.

Intended Audience
Mainly computer science students

Course Description 
Digital imaging synthesis, applications and spatial data representation models. Basic 2D shape drawing algorithms, antialiasing and supersampling. 2D and 3D transformations and coordinate systems, compound transformations and kinematic chains, scene graphs and modeling. Culling, viewing transformations and projections. Data structures for polygonal models. Back face removal. Hidden surface elimination and depth sorting. Scan-conversion and the Z-buffer algorithm. Illumination models, the bidirectional reflectivity distribution function and empirical local illumination models and algorithms. Texturing: Texture maps, texture coordinates and transformations, antialiasing and procedural textures. Introduction to shaders. Animation techniques and motion synthesis. Visibility computation (shadows): Shadow maps and their variants. Graphics hardware architectures. Modern computer game graphics. Laboratory courses on the Unity game engine (transformations, materials and shading, animation, shadows, baked and dynamic lighting, light probes, shaders). Optional lab courses on graphics programming using OpenGL and C/C++.

Prerequisites
Calculus, computer organization

Suggested textbooks

  • Graphics and Visualization: Principles & Algorithms, T. Theoharis, G. Papaioannou, N. Platis, N. M. Patrikalakis, A. K. Peters, Ltd., 2008. 
  • Real-TimeRendering, T. Akenine-Möller, E. Haines, N. Hoffman, 3rd edition, CRCPress, 2008
  • Computer Graphics: Principles and Practice, J. F. Hughes, Α. van Dam, M. McGuire, D. F. Sklar, J. D. Foley, S. K. Feiner, 3η έκδοση, Addison Wesley, 2013.

Assessment methods
Written examinations, optional: final assignment (small computer game in Unity or C++, using graphics APIs)

2. Distributed Systems, Cloud Computing, BigData (Master’s course), V. Kalogeraki

6ECTS credits
Communication with Lecturer e-mail: vana@aueb.gr 

Intended audience
Mainly Computer science students. Knowledge of a Programming language is required. 

Course Description 
Distributed systems and architectures, Communication protocols, Coordination systems, Message delivery systems, Parallel computing, The MapReduce Programming model, Cloud computing fundamentals, Cloud computing: properties, characteristics, benefits and disadvantages, Cloud computing models including IaaS, PaaS, SaaS, FaaS, Microservices, Cloud infrastructures, Virtualization, Resource Management and Scheduling, Elasticity, Scalability, Performance tuning, Storage systems, Pub/Subsystems, Apache systems and tools including Apache Hadoop, Yarn, Mesos, Kafka, Zookeeper and Redis.

Suggested textbooks
Collection of papers

3. Software Verification, Validation & Maintenance, N. Malevris

6ECTS credits
Communication with Lecturer e-mail: ngm@aueb.gr 

Objectives
Learn the fundamentals of software quality and the way it can be achieved

Intended Audience
Mainly computer science students

Course Description 
Importance of software specifications and user’s requirements. Programming practice. Programming languages importance in software development. High quality software development. Software quality and methods for achieving it. Quality standards. Software verification – formal methods. Validation of software and techniques. Software testing. Strategies and methods for effective software testing. Test data generation. Software maintenance. Emphasis on effective methods for maintaining software. Importance of appropriate documentation in software development. Cost estimation of software development. Emphasis on special characteristics of object oriented software as well as web applications. Automated tools with respect to the topics listed above.

Prerequisites
Knowledge of a Programming language

Suggested textbooks

  1. M. PEZZE, M. YOUNG, «SOFTWARE TESTING AND ANALYSIS: PROCESS, PRINCIPLES AND TECHNIQUES» (WILEY) or 
  2. P. AMMANN, J. OFFUTT, INDRODUCTION TO SOFTWARE TESTING (CAMBRIDGE UNIVERCITY PRESS).

4. Multimedia Technology, G. Xylomenos 

6ECTS credits
Communication with Lecturer e-mail: xgeorge@aueb.gr

Objectives
Introduction to the technologies and applications of digital media and multimedia. Emphasis on multimedia for the Web and multimedia communications on the Internet.

Intended Audience
Mainly computer science students.

Course Description: 
Multimedia applications and systems. Definition and attributes of various media types. Media streams. Sound, images and video. Elements of information theory. Media coding and compression. Compression standards: JPEG, MPEG, H.26x, MP3 and AAC. Multimedia on the web and on the Internet. Multimedia communications, multicasting. Conferencing. Synchronization. Media streaming, RTP, IPTV and MPEG-DASH. Quality of service in multimedia communications. The course requires completing a development project related to multimedia (e.g. a game or a media manipulation application). 

Suggested textbooks

  • Z.N. Li and M.S. Drew, Fundamentals of Multimedia, 2nd edition, Prentice Hall, 2014.

5. Wireless Networks and Mobile Communications, Vasilios Siris

6ECTS credits
Communication with Lecturer e-mail: vsiris@aueb.gr 

Objectives
Learn the key principles, architectures, and operation of wireless networks and mobile communications to exploit and further expand their application to domains such as wireless Internet of Things, interconnected smart objects, intelligent mobility, mobile digital wallet applications, and Web 3.0 technologies.

Intended Audience
Primarily students in computer science. Students in other majors will be considered based on their background in computer science related courses and must be approved by the Instructor before registering for the course. 

Course Description 
Wireless networks and mobile communications is one of the fastest evolving areas in computer science, having a huge impact on economics and society, affecting how people work, communicate, and entertain themselves. Wireless and mobile communication technologies target to offer universal broadband connectivity to stationary and mobile users, as well as machines and objects, offering online access to information and data anywhere, anytime, and from any device. 
The course’s objective is to introduce the key principles, architectures, and operation of wireless networks and mobile communications. Understanding of these principles and fundamentals is necessary to exploit and further expand the application of wireless and mobile technologies in domains such as wireless Internet of Things, interconnected smart objects, smart cities, smart homes, supply chain management, intelligent mobility, mobile digital wallet applications, and Web 3.0 technologies, among others.

Prerequisites
Introductory course on computer communications or computer networks.

Suggested textbooks

  • Wireless Communication Networks and Systems, C. Beard and W. Stallings, Pearson, 2016. A previous edition is freely available: Wireless Communications & Networks, William Stallings, 2nd Edition, 2005, Prentice Hall.

Assessment methods
The final grade will be computed as follows: 50% project (in teams of 2 students) and 50% final examination. Final examination score must be above 4/10 to get a passing grade.

6. Blockchains (Master’s course), S. Voulgaris

6ECTS credits
Communication with Lecturer e-mail: voulgaris@aueb.gr 

Objectives
Demystify the innerworkings of blockchain systems and how intricate algorithms are combined to offer paramount trust out of non-trusted components.

Intended Audience
Computer science students with a solid understanding of algorithms and data structures.

Course Description 
Basic cryptographic principles and tools, cryptographic hash functions, blockchains, smart contracts, detailed Bitcoin operation, UTXO payment model, detailed Ethereum operation, consensus protocols, Proof-of-Work, Proof-of-Stake, the Solidity programming language, security issues in Solidity, oracles, next generation blockchains: Algorand, Cardano, Filecoin, atomic swaps, side-chains, lightning network, Inter-Ledger Communication, Distributed Identifiers (DIDs), Verifiable Credentials (VCs).

Suggested textbooks
No textbook, just slides and papers.

Planned learning activities and teaching methods
In vivo teaching

Assessment methods and criteria
A programming exercise during the semester and a written final exam.

SPRING SEMESTER

1. Distributed Systems, V. Kalogeraki, 

6ECTS credits
Communication with Lecturer e-mail: vana@aueb.gr

Objectives
Study the theory and practice of distributed systems. Focus on recent developments and state-of-the-art practical systems.

Intended Audience
Mainly computer science students.

Course Description
The purpose of this course is to integrate the theory and practice of distributed systems with focus on recent developments and state-of-the-art practical systems. The topics we will cover include middleware architectures, process management, replication, consistency and group communication protocols, peer-to-peer systems, real-time scheduling, logical clocks, synchronization, programming frameworks such as MapReduce, file systems, caching and mobility. We will discuss detailed case studies that illustrate the concepts for each major topic.

Prerequisites
Knowledge of a Programming language.

Suggested textbooks

  • Distributed Systems, M. van Steen and A.S. Tanenbaum, 4th Edition (2023).

2. Computer Architecture, S. Voulgaris

6ECTS credits
Communication with Lecturer e-mail: voulgaris@aueb.gr 

Objectives
Study modern computer architecture, understanding the principles, the theory and practice of designing processors, memory systems, and I/O devices.

Intended Audience
Computer science students with some background on computer hardware.

Course Description 
Modern computer architectures and design cycle of integrated circuits and systems. MIPS assembly, compilers and their relation to computer architecture. Computer architecture and the VHDL language. Design of the datapath and control circuit for MIPS (one cycle), pipeline and MIPS design, MIPS of multiple cycles. Instruction-level parallelism, out-of-order execution, microprogramming, memory hierarchy, cache memories, I/O, and virtual memory.

Suggested textbooks

  • Computer Organization and DesignMIPSEdition: The Hardware/Software Interface, D. Patterson and J. Hennessy, 5th edition, MorganKaufmann, 2013. • Structured Computer Organization, A. S. Tanenbaum and ToddAustin, 6th edition, Pearson, 2013.

Planned learning activities and teaching methods
In vivo teaching

Assessment methods and criteria
Exercises during the semester and a written final exam.

3. Computability  and Complexity (Reading course),  E. Foustoucos

6 ECTS credits  
Communication with Lecturer e-mail: eugenie@aueb.gr 

Course Description 
Computability: Inductive proofs and recursive definitions. Encodings. Introduction to computation models. Primitive recursive functions and relations. Partial recursive functions and minimization. Device computability. Turing machines and Turing-computable functions. Equivalence between recursive functions and Turing-computable functions. Church-Turing Thesis. The basic theorems: normal type theorem, enumeration theorem and parameters theorem (s-m-n theorem). Recursively enumerable sets and unsolvable problems. Definability and arithmetical hierarchy. Turing-reducibility and degrees of unsolvability. Complexity: Classes NP and co-NP. NP-completeness. The classes of the polynomial hierarchy and the class PSPACE. PSPACE-completeness.  Oracle Turing machines. Alternating Turing machines. If time allows, topics among the following may be covered: Complexity classes for finding problems (FP, FNP, PPAD). Counting problems: the class #P. Classes for optimization problems (APX, MAXSNP). Gap reductions and PCP theorem. 
Prerequisite Courses: To enroll in the course, students must have successfully completed basic courses on Theory of Computation and/or on Algorithms. It is also recommended that students have successfully completed a basic course on (Mathematical) Logic. 
 

Suggested textbooks

  • Introduction to the Theory of Computation, M. Sipser, Cengage Learning, 3rd edition, 2013.
  • Theory of Computation, Dexter Kozen, Texts in Computer Science, Springer, 2006. 
  • Computable functions, A. Shen, N.K. Vereshchagin, Student Mathematical Library Vol 19, American Mathematical Society, 2003.
  • Theory of computation, George Tourlakis, Wiley Editions, 2012.
  • Computability Theory, R. Weber, Student Mathematical Library Vol 62, American Mathematical Society, 2012.

4. Computer Game Graphics and Virtual Reality (Master’s course), G. Papaioannou

6ECTS credits
Communication with Lecturer e-mail: gepap@aueb.gr 

Objectives
Learn the theory and practical algorithms used in real-time rendering for computer games and immersive virtual environments.

Intended audience
Computer science, mathematics and statistics students. A background in fundamental computer graphics techniques is recommended but not required. 

Course Description 
This course introduces the students to the exciting world of computer graphics for computer games, extended reality and other interactive applications. The course covers both the theory and practical aspects of photorealistic, real-time rendering, including technologies for the display, animation and capture of 3D content and its motion. The lectures start by presenting fundamental theory and algorithms of real-time computer graphics and then move to more advanced techniques such as deferred shading and tiled rendering, screen-space effects, global illumination and ray tracing, skeletal animation, light probes and precomputed radiance transfer. Lectures are complemented with practical examples and specific techniques from commercial games and game engines.

Suggested textbooks

  • Graphics and Visualization: Principles & Algorithms, T. Theoharis, G. Papaioannou, N. Platis, N. M. Patrikalakis, A. K. Peters, Ltd., 2008. 
  • Real-Time Rendering, T. Akenine-Möller, E. Haines, N. Hoffman, 3rd edition, CRC Press, 2008
  • Computer Graphics: Principles and Practice, J. F. Hughes, Α. van Dam, M. McGuire, D. F. Sklar, J. D. Foley, S. K. Feiner, 3ηέκδοση, Addison Wesley, 2013.