This course provides a broad introduction to cryptography and communication security mechanisms based on cryptography. The course covers fundamental aspects such as security evaluation criteria and the mathematical constructs underlying cryptographic primitives as well as applied aspects like the design of major encryption and hashing algorithms, details of security mechanisms relying on cryptography such as data encryption, integrity, digital signature, authentication, key management, and public-key infrastructures.
Teaching and Learning Methods : Lectures and Lab sessions
Course Policies : Attendance to Lab sessions is mandatory.
The goal of this course is to equip students with security and privacy technologies for the Big Data and the cloud computing paradigm. Students will discover the latest advances in privacy and security technologies and will understand their limitations as well.
Teaching and Learning Methods : Lectures (sometimes invited) and homeworks
Course Policies : homeworks and final project are mandatory
Because multimedia data (in particular image and video) require efficient compression techniques in order to be stored and delivered, image and video compression is a crucial element of an effective communication system.
This course covers the most popular lossless and lossy formats, introduces the key techniques used in source coding, as well as appropriate objective/subjective metrics for visual quality evaluation.
Teaching and Learning Methods: Each class includes a problem session for students to practice the material learned. This course includes a limited number of lab session hours.
Course Policies: It is mandatory to attend lab. sessions.
Digital communications is the study of physical layer transmission and reception strategies in communications equipment such as mobile communication devices, high-speed ethernet, optical communications and subscriber-line communications. It comprises the areas of (i) statistical modelling of communication channels (ii) design of coding and modulation systems for error resiliency (iii) design of demodulation and decoding strategies and the associated methods for assessing their performance. In addition to providing an overview of communication channels and classical modulation strategies, this course takes a hands-on approach by focusing on the details of a few critical elements of digital communications pertaining to modern wireless transceivers, both coherent and non-coherent.
Teaching and Learning Methods :: Lectures and hands-on lab sessions in MATLAB using signals acquired from local 4G networks.
Course Policies : Attendance to lab sessions is mandatory.
This course covers the implementation of database systems by addressing the main topics, including data storage, indexing, querying; query optimization and execution; concurrency control and transaction management.
The purpose of the course is to become familiar with the principles and the ideas behind established techniques for handling data at scale. Students will implement classic and cutting-edge database systems methods in three projects. Projects represent the biggest chunk of this course. The projects require extending the functionality of a data management system in order to support novel features. In at least one the projects, students will also write a technical report that describes and experimentally evaluates the built system.
The course is complemented by lab sessions to guide students through the design and validation of the methods developed duringthe lectures.
Teaching and Learning Methods: Lectures and Lab sessions (preferably one student per group).
Course Policies :
Students are expected to do their own assigned work. If it is determined that a student has engaged in any form of academic dishonesty, he or she may fail the course and additional sanctions according to Eurecom's policies.
This course presents the architecture of microprocessor-based systems, from the internals of the processors themselves to the main peripherals that surround them and make a complete computing machine, capable of running operating systems like GNU/Linux, Android, Windows, iOS...
Teaching and Learning Methods : Lectures, team-work, lab sessions, mini-conferences by industrials
Course Policies : Attendance to the lab sessions and the mini-conferences is mandatory
The goal of this course is to provide a comprehensive view on recent topics and trends in distributed systems and cloud computing. We will discuss the software techniques employed to construct and program reliable, highly-scalable systems. We will also cover architecture design of modern datacenters and virtualization techniques that constitute a central topic of the cloud computing paradigm. The course is complemented by a number of lab sessions to get hands-on experience with Hadoop and the design of scalable algorithms with MapReduce.
Teaching and Learning Methods: Lectures and Lab sessions (group of 2 students)
Course Policies: Attendance to Lab session is mandatory.
Wireless communications are pervasive and have been used for a century. They are used in a very large set of security applications (communications by security forces, car key remote, alarm system, access control, drone command and control, surveillance devices) . However, day to day applications also require to be protected for privacy and personal security, such as WiFi or mobile communications (2G/3G/4G). At the same a number of challenges are present in wireless communications security, for example, messages are broadcasted, making it possible to intercept them without being noticed. Wireless signals are subject to jamming, making them unavailable.
This course will give a large perspective of the fundamental challenges in securing wireless communications, from the physical layer, modulations to the application protocols. A special focus will be put on practice with hands on exercises (using software defined radios and WiFi dongles).
Teaching and Learning Methods : Course is composed of lectures, Labs and small projects with final presentation.
Course Policies : Class attendance, labs and projects mandatory.
Teaching and Learning Methods:Lectures and Lab sessions (group of 2-3 students)
Course Policies: Attendance to Lab session is mandatory.
« Those who fail to plan, plan to fail... ». Architects, tailors, and directors all use plans (or models) for their creation, and software engineers are no exception. Thus, it is a common practice for software project managers to rely on the UML langage to document their software projects, and to perform modeling of the software itself.
Teaching and Learning Methods : Lectures (20%), Exercises (40%), Lab sessions (40%)
Course Policies: Attendance to labs is mandatory
This course provides an introduction to practical security concepts. The goal is to understand common attacks and countermeasures in a range of topics. The course is practice oriented, it describes real attacks and countermeasures. Students will practice attacks on a dedicated server (similar to a Capture the Flag competition).
Teaching and Learning Methods :Weekly class. Some guest lectures. Homework are online challenges, on a number of topics related to the class. A first lab is organized during lecture time to bootstrap challenges.
Course Policies :Class attendance is not checked but generally required to succeed.
Statistics is a foundation of many areas of science and engineering that involve `` data.’’ This course focuses on fundamental concepts in statistical inference that are necessary for applying statistical methods in practice and that form the basis of other fields such as machine learning.
Teaching and Learning Methods: Students learn by lectures, exercises, and computer experiments.
Course Policies: The valid usage of statistical methods requires a mathematical understanding of the underlying mechanism. As such, the course covers both mathematical and algorithmic aspects of statistics.
(Course for Post Master and International Masters students only).
This module provides a global and coherent view of C-ITS standardization activities in major standard development organizations (SDOs) or industry consortia, such as the IEEE, the ETSI, the ISO, the IETF and the SAE. This module also illustrates the similarities and differences between different approaches in Europe, the US, and the rest of the world. This module finally details the standardization process related to different C-ITS technologies or information.
Teaching and Learning Methods : Lectures, Case Studies and attendance to Standardization meetings
Course Policies : Attendance to case studies and standardization meetings is mandatory.
The proper treatment of modern communication systems requires the modelling of signals as random processes. Often the signal description will involve a number of parameters such as carrier frequency, timing, channel impulse response, noise variance, interference spectrum. The values of these parameters are unknown and need to be estimated for the receiver to be able to proceed.
Parameters may also occur in the description of other random analysis of communication networks, or in the descriptions of sounds and images, or other data, e.g. geolocation. This course provides an introduction to the basic techniques for estimation of a finite set of parameters, of a signal spectrum or of one complete signal on the basis of a correlated signal (optimal filtering, Wiener and Kalman filtering). The techniques introduced in this course have a proven track record of many decades. They are complementary to the techniques introduced in the EURECOM course Stat. They are useful for other application branches such as machine learning, in the EURECOM courses MALIS and ASI.
Course Policies: Attendance of Lab session is mandatory (15% of final grade).
This course covers a variety of topics, all related to the use and management of a Linux operating system. In particular, the course is divided in three parts dedicated respectively to the command-line, to the Python programming language, and to maintaining, compiling, and installing applications.
Would you like to investigate beyond the surface of Windows, MacOS, Linux, Android? Fed up with not understanding the origin of segmentation faults, why you need to eject a USB key before physically removing it, or why/how your Android system can execute Pokemon Go and Facebook at the same time? You want to delve into the details of the inner workings of the Linux kernel? Join us to discover the power of Operating Systems!
Teaching and Learning Methods : Lectures (40%), Lab sessions (40%), Project (20%)
Course Policies: Attendance to some lab and project session is mandatory
Optimization theory (convex, non-convex, discrete) is an important field that has application to almost every technical and non-technical field, including wireless communication, networking, machine learning, security, transportation systems, finance (portfolio management) and operation research (supply chain, inventory). It has recently attracted even more interest, as the underlying tool for advanced machine learning techniques for big data (deep neural networks, stochastic gradient descent). In this course we will cover both the fundamentals (algorithms, duality, convergence, optimality) as well as a range of applications in the area of (network) resource allocation, distributed optimization, and machine learning. Special emphasis will be devoted to exemplify applications of optimization techniques to modern engineering and CS problems with the objective of developing skills and background necessary to recognize, formulate, and solve optimization problems.
Teaching and Learning Methods : Lectures supported by exercise sessions, and homework assignments including both problem solving and programming of learned methods (CVX, matlab, python)
Course Policies : Attendance to lectures and exercise session is not mandatory but highly recommended.
The goal of this course is to teach student how to model, analyze, and optimize the performance of different Networks using simple theoretical tools. The end goal is to highlight the common underlying properties, develop a strong high-level insight on the network parameters affecting network performance, and understand how to optimize a networked system.
Each class will be a mix of some necessary theoretical tools, and their application to real-world networks. We will consider examples from modern cellular networks (e.g., offloading and load balancing), capacity planning, MAC protocols, scheduling in computing clouds and web server farms, security (e.g. virus infections), measuring large social networks like Facebook and Twitter, search engines (e.g. Google's PageRank algorithm), and many others.
Teaching and Learning Methods :Lectures, Homework, and Programming Labs (2)
This course presents a series of mobile systems in their entirety to synthetize the knowledge gained in more fundamental courses. It explores current and emerging standards and follows the evolution of various mobile services.
Teaching and Learning Methods : Lectures and Lab sessions (group of 2 students)
Course Policies : Attendance to Lab session is mandatory.
This course presents the three main mobile platforms and their ecosystems, namely Android, iOS, and PhoneGap/WebOS. It explores emerging technologies and tools used to design and implement feature-rich mobile applications for smartphones and tablets taking into account both the technical constraints relative to storage capacity, processing capacity, display screen, communication interfaces, and the user interface, context and profile.
Teaching and Learning Methods : Lectures, Lab sessions (group of 2 students), and a challenge project ( group of up 2 4 students).
Course Policies : Attendance to Lab session is mandatory.