Artificial Intelligence & Internet of Things
Master Program on Cyber-Physical and Social Systems (CPS2)
International Track of the Master in Computer Science, Université de Lyon

Table of Contents



CPS2 is an international track of the master in Computer Science of University of Lyon, jointly operated by University of Saint-Etienne and Mines Saint-Etienne - Institut Mines Telecom.

The aim of this program is to provide students with strong expertise on Artificial Intelligence and Internet of Things to develop theoretical models and technologies for current and future applications in industry and society. Students will master the necessary technologies and methods to design and integrate intelligent cyber-physical systems. Being strongly connected both to the physical and human worlds, these systems are the key of the current digital metamorphosis of the society.

Topics taught in CPS2 are related to Web of Things, Internet of Things, Data Science, Artificial Intelligence, Smart Services and applications, Security, Cloud, Social media.

The considered application domains are related but not limited to industry 4.0, smart cities, intelligent transport systems.

Students will learn how to engineer, research and innovate in these different domains by applying their skills and knowledge in these various topics. The CPS2 program opens opportunities of carrier in the development of innovative and technical cyber-physical and social systems.


The CPS2 Track aims to train high-level computer scientists able to understand results of merging the physical, social and digital dimensions of our environments. Industry 4.0, smart cities or smart transport systems are examples of socio-cyber physical systems. These specialists will be able to master throughout their career challenges raised by these dimensions (taken separately or together) and be able to propose and implement adequate and innovative solutions.

In this context, the master track aims to train managers of IT field, cyber-physical system architects, supporting engineers in design and development of cyber-physical systems, experts in socio-technical systems, experts or functional consultant, Project manager in applications such as health, transport, energy and environment.


Our courses aims the training of high-level professionals with a triple expertise:

  1. Technological, by controlling the design and implementation of information systems and applications that integrate physical (communication, perception, action, etc.) and social (privacy, trust, community, etc.) characteristics.
  2. Functional, by understanding the issues and challenges of digital systems to the combination of different dimensions of the new complex environments.
  3. Scientific, by the mastery models necessary for the formalization of all interactions between the dimensions of a cyber-physical system.

Curriculum in a glance

The curriculum consists of courses providing:

  1. Theoretical training: artificial intelligence, multi-agent systems, operational research and graph theory, computability and complexity, semantic web.
  2. Technical training: network, middleware, integrated project, trust, privacy and security.
  3. Functional orientation: Ambient Intelligence, smart cities (smart grid, intelligent transportation system), industry 4.0


  • Degree level: the candidate should have at least BA in Computer Science or affiliated disciplines.
  • Language ability: Teaching and examination being given in English, the candidate is advised to have a conversation level of the language (the requirement for competence in English is equivalent to TOEFL ( with at least 213 points (computer based)/550 points (paper based)/82 points Internet based or IELTS at grade 6.5, or a Cambridge Proficiency Certificate of English at least grade B2). A letter from your University will be accepted if the English language was the medium of teaching throughout your degree. Knowledge of French is not compulsory but would be beneficial.

Sorry, your browser does not support SVG.


  • CPS2 courses for M1 (1st year) are beginning on August 31st with the Induction week
  • CPS2 courses for M2 (2nd year) are beginning on September 6th
  • Short introduction to CPS2 M2 Track


M1 Curriculum

Semester 1 (30 ECTS)

UE 1 : Advanced Algorithmics and Programming (4 ECTS)

Introduction of advanced analysis methods for solving difficult problems. The objective is to be able to detect hard problems and to design and program efficient solutions by dynamic programming, greedy approaches, appropriate heuristics or approximations.

This course will teach the following topics (may be modified):

  • Summary/recap on complexity and NP-complete problems.
  • Dynamic programming: characterisation, diverse problems.
  • Greedy algorithms: characterisation, diverse problems.
  • Methods for solving NP-complete problems (branch and bound, graph exploration, heuristics based greedy/random/optimisation approaches)
  • Laboratory sessions Programming

Details here

UE 2 : Complexity (3 ECTS)

Computational complexity theory: Theoretical models of computation are introduced, so as to define formally the fact that some problems are inherently difficult to solve. The methodology used to prove that a given problem is difficult is presented.

Computability theory: The intrinsic limitations of computation are introduced. The aim is to learn basic well known undecidable problems and eventually to be able to identify new undecidable ones, using classical techniques.

This course will teach the following topics (may be modified):

  • Computational complexity theory:
    • Non-deterministic Turing Machine.
    • Classes of complexity: P/NP.
    • NP-completeness: definition, methodology, examples
  • Computability theory:
    • Formal models of computation: Turing machines, Markov algorithms, recursive functions. Church-Turing thesis.
    • Recursive and recursively enumerable sets, decidability and semi- decidability.
    • Halting problem, Rice theorem and its applications.

Details here

UE 3 : Introduction to Artificial Intelligence (5 ECTS)

This course presents the most common AI tools: first order logic, prolog programming, Constraint Logic Programming (CLP) and gives the basis to modeling AI problems and solving them using exact and heuristics algorithms (such as Iterative deepening search or A*)

This course will teach the following topics (may be modified):

  • Introduction to Logic (Propositional and First Order Logics and Inference Systems): 11h
  • Introduction to AI (history, problems' representation, heuristic and exhaustive search algorihms (depth, breadth, minimum cost, A*, AO, AO*): 13h
  • Prolog programming language: 12h
  • Constraint Programming: 4h
  • Practical sessions (reverse classes) on Prolog and Constraint Logic Programming (CLP): 10h]

Details here

UE 4 : Multi-Agent Programming (5 ECTS)

Introduction to the domain of multi-agent system with a clear and strong focus on programming. The objective is to be able to analyze, design and program collective autonomous systems by using multi-agent models and technologies. Keywords: multi-agent system, agent-oriented programming, agents organisation, agents environment, programming language,

This course will teach the following topics (may be modified):

  • Introduction to multi-agent systems
  • Concepts and models of multi-agent oriented programming
  • Multi-Agent Software Engineering
  • Programming Languages and Platforms
  • Laboratory sessions programming

Details here

UE 5 : System Modeling (6 ECTS)

Educational goals :

  • Acquire the skills to be able, given a modeling formalism and a problem to solve, to build a model for a solution to solve;
  • Acquire knowledge on classical data formats and models, to build interoperable systems;
  • Being able to build bridges between different models and be able to collaborate on the basis of different models.

This course will teach the following topics (may be modified):

  • Introducing the main data formats and data types commonly used in software engineering;
  • Introducing the UML/UP modeling formalism for modeling softwares;
  • Study of different case studies illustrating a modeling formalism and allow to understand its use;
  • Processing a sufficiently rich study in which different models can be built. It may be considered that the case study is derived from the challenge that follows the student in parallel (require coordination and complicity with all or some of the challenges).

This course is organized as follows:

UE 6 : Research and Innovation (4 ECTS)

The students will have an understanding on how research works, what is the research community, who are the types of actors and institutions, how the publication process works, how research outcomes are valorized. The students will also learn how to analyze a research paper.

This course will teach the following topics (may be modified):

  • Research institutions
  • The actors of research
  • Processes of research
  • Research papers reading and writing

Details here

UE 7 : Foreign language (3 ECTS)

Semester 2 (30 ECTS)

UE 1 : Computer Networks (4 ECTS)

This course introduces the main concepts involved in computer networking. A top-down approach is followed, where higher abstraction layers are covered first. This course covers the main concepts of networking and it details some of the most important algorithms involved in networking and security. After this course, the learner have an overall understanding of computer networks architectures, knows important algorithms and have a concrete experience in socket-based, multi-threaded distributed application development. Keywords: computer networks, layered architecture, networking stack, security, socket programming, concurrency, peer to peer.

This course will teach the following topics (may be modified):

  • Overview of networking and the networking stack
  • Applications layer: protocols, peer2peer, socket programming, concurrency
  • Transport layer: concepts, protocols and algorithms
  • Network layer and routing
  • Lower layers: concepts, algorithms and wireless problematics
  • Security and cryptography
  • Lab sessions and project

Details here

UE 2 : Optimization and Operational Research (3 ECTS)

This course introduces some of the main concepts involved in some optimization and operational research techniques. It covers linear programming, convex and non-convex optimization approaches. Theoretical foundations will be presented with some classical algorithms (simplex, gradient, line-search, Newton, interior points,…). Formulation of practical cases and use of optimization software will be proposed in the practical sessions. Keywords: convex and non-convex optimization, linear programming, gradient descent, Newton methods, interior points, simplex, duality, Lagrange functions.

This course will teach the following topics (may be modified):

  • Introduction to operational research and optimization (2h) - Linear Programming and Simplex Method (6h)
  • Convex sets and functions, Convex optimization problems, Constraints, Norms, Lagrange functions, Duality, optimality constraints, KKT conditions (3h)
  • Gradient methods, Line-search methods, Newton’s method (3h)
  • Barrier functions, Interior point methods (3h)
  • Non convex optimization methods, formulation of practical cases. (3h)

Details here

UE 3 : From Statistics to Data Mining (4 ECTS)

This course gives the necessary mathematical background to perform data analysis in terms of statistics, linear algebra and convex optimization. Practical sessions make use of the R-free software environment for statistical computing and graphics.

This course will teach the following topics (may be modified):

  • Basics in probabilities (chance experiments, random variables, moments, law of large number, …)
  • Statistics (discrete and continuous distributions, estimates, Maximum Likelihood Estimation,…)
  • Basics in linear algebra and in convex optimization.
  • Linear Regression
  • Principal Component Analysis
  • Clustering
UE 4 : Virtual Communities (4 ECTS)

Students will know about types of communities, the techniques used, the existing platforms or systems, the promises of VCs.

This course will teach the following topics (may be modified):

  • Definitions
  • Types of virtual communities
  • Examples of VCs
  • Techniques for VCs

Details here

UE 5 : International Project Management (3 ECTS)

Students will learn about to practice international projects.

This course will teach the following topics (may be modified):

  • Principles and background
  • Project development
  • Presentation

Details here

UE 6 : Internship (12 ECTS)

During the third semester, CPS2 students have to do a 3-month End of year Project from April to June. This End of Year Project can take three different forms:

  1. An internship in a recognized research laboratory, in France or abroad. The scientific topic should have been validated by the coordinator of the CPS2 program.
  2. An internship in a company, in France or abroad. The topic and the hosting institution should have been validated by the coordinator of the CPS2 program.
  3. A research project (Travail d'Etude et de Recherche - TER - in French) done at home and supervised by an instructor of the CPS2 program. This project typically takes the form of a survey on a scientific topic and/or the implementation of some state of the art algorithms/techniques/architectures. Note that this research project is not funded.

The defense (in English) of the End of Year Project (15mn of presentation followed by 15mn of questions) is scheduled at the beginning of July. A written report in English has to be sent to the coordinator one week before the defense. The final grade of the End of Year Project will depend on (i) the quality of the oral presentation; (ii) the quality of the report; (iii) the feedback provided by the advisors.

M2 Curriculum

Semester 1 (30 ECTS)

UE 1 : Multi Agent Systems Coordination (3 ECTS)

This course explores the coordination techniques with the distributed AI and multiagent paradigms. We first recap the AI basic, before expounding some useful multiagent techniques for cyberphysical and socio-technical systems: distributed optimisation, distributed planning, negotiation and auctions, and environment-mediated coordination.

Details here

UE 2 : Semantic Web (5 ECTS)

This course presents the main technologies and standards used in the Semantic Web to publish, link, process and query data on the Web, as well as to reason automatically with Web ontologies. This course will teach the following topics (may be modified):

  • Linked Data and Semantic Web principles
  • RDF, syntax and semantics
  • SPARQL 1.1 Query
  • OWL2
  • RDFa 1.1
  • Apache Jena API, OWL API, Protégé

Details here

UE 3 : Distributed and Mobile Apps (5 ECTS)

This course explores client-serveur development architectures, development of J2E applications, and design and development of applications running on a mobile phone. This course will teach the following topics (may be modified):

  • Server-side basic components
  • Objects lifecycle
  • Enterprise JavaBeans
  • Introduction to mobile application development
  • Web technologies and web standards (javascript, HTML5)
  • Native and hybrid technologies (iOs, Android, Titanium)

Deatils here

UE 4 : Cloud Computing (4 ECTS)

This course explores the technical and economical challenges of cloud architectures, the design and development of cloud services, clients, and cloud service hosting platform. This course will teach the following topics (may be modified):

  • introduction to cloud architectures and their ecosystem
  • the three layers of the cloud : IaaS, PaaS, SaaS

UE 5 : Security, Trust and Privacy (3 ECTS)

This course is an introduction to computer security. The objective is to be able to identify when security (confidentiality, availability and integrity) is required and to be able to choose and implement right solution. Keywords: security, risk, network, cryptography

This course will teach the following topics (may be modified):

  • Information system security
  • IP networks security
  • Introduction to cryptography

It also presents technical solutions for access control, for the management and negotiation technics for trust, some know how to manage private data.

Details here Details here

UE 6 : Internet of Things (5 ECTS)

This course overviews the domain of Internet-of-things, which links physical world to the internet and the web. We put the emphasis on relevant technologies and real applications. Hardware-wise, we look at some technologies used in the industry (Orange), and some easy-to-develop ones, like Arduino and Raspberry. Communication-wise, we study the different layers (link, transport, application) required to develop an end-to-end IoT platform. The course is also complemented by an integrative project during which students

This course will teach the following topics (may be modified):

  • Introduction to Internet-of-things
  • Ambient Computing
  • Applications in IoT and WoT (Smart home, smart grids)
  • Hardware (overview, Arduino, Raspberry)
  • Link Layer and Transport Layer Protocols
  • Application Layer Protocols
  • Data, formats and semantics
  • Context Management in IoT and WoT

Details here

UE 7 : CPS2 project (5 ECTS)

During th whole duration of the first semester of the second year, students have to drive by themselves a development project integrating all the different techniques expounded during the classes. for a selected application domain, major issues in the development of Cyber-physical social applications (e.g. transport, smart city, energy, health)

More info on the requirements for the project here.

Semester 2 (Internship/Master thesis, 30 ECTS)

As to complete their master thesis, students have to follow an internship in a research team or in a company.

  • Minimum duration: 4 months
  • Maximum: 6 months
  • Period: From February and before August
  • Place: academic laboratory or company
  • Research orientation or Engineering orientation (depending on the student's curriculum)
  • The subject must be related to the models, tools and technologies of "CPS2"
  • The subject must be validated by the track coordinator
  • Mandatory gratuity in France
  • Minimum: 30% minimum wage of ~ € 580€/month
  • Maximum: none
  • Mandatory, signed by the supervisor, the coordinator and the student
  • Deadline: mid January (laboratory), mid-February (enterprise)



Calendar 2021-2022

  • 10th May application deadline for non european applicants
  • 30th June application deadline for european applicants


Here are the information you can read to organize your venue and study in Saint-Etienne, once you have been accepted to the CPS2 Track.

Please, visit also this page and this one for further information and resources on administrative steps, on what to do in Saint-etienne, etc

Housing options

Please visit this page for details on accommodations we can book on your behalf before arrival.

Letter of Commitment

You need to officially commit to the Programme by completing a Letter of commitment. (online form). Additional info regarding housing & banking service, your financial ability to cover expenses associated to your participation in the Programme and the cost of living during the full period of your enrollment in the Programme need to be informed.

The letter of admission and certificate of residence – documentation required to apply to a French student visa – will be send to you only upon reception of this letter with completed information.

Letter of admission, Certificate of Residence

The administration will send you, upon reception of your letter of commitment and, subject to demonstrated evidence of financial means:
  • a scan of your certificate of admission, signed by all hosting institutions, stating the precise dates of the Programme mobility scheme and, if applicable, the scholarship you’re entitled to that will serve supporting all visa applications you’ll need to undertake during the Programme, and
  • a certificate of residence, document you’ll need to apply to a French long-stay student visa.


Please visit this webpage to know more about visa procedure and guidelines.


Flight booking and travel arrangement are your own responsibility. We advise you to book your flight ticket as early as possible.

A return ticket is always cheaper than a single one: think ahead if you wish to go back home for the winter break or if you will only return during the summer break. You can book a flight to the cities of Paris or Lyon depending on the best fare you can get, both destinations being equally convenient to come to Saint Etienne.

You can find here some travel info to come to Saint Etienne.


Visit this page to know what documentation you should prepare before departure.

Inception Week

The first week of your arrival will be used to wrap-up administrative issues and to let you get familiar with the Univeristy Jean Monnet and the city. We gather all international students of the Faculty of Science and Technology, an opportunity to meet other students.

Planned activities:

  • Administrative and academic enrollment at the university
  • Subscription to a compulsory French health insurance
  • Presentations of the Master Degree, meeting with the administrative and academic staff of the Master and International Office staff
  • Application to residence permit
  • Application to housing allowance
  • Settling of housing paperwork, contract of a housing insurance
  • Meeting with our banking partner to officially open your bank account and be introduced to services, questions for account management and visa card delivery (plan 10 € cash of deposit to activate your account and bring your passport).
  • Tips for living in France: buying a SIM card, info on cultural / sport activities, ...
  • Welcoming activities; lunch, sports, reception to the city hall, ...
A detailed agenda will be published nearer the time.

Planning of the Courses

See the following plannings for more details :


International Partnerships

CPS2 track operates several International exchange programs for courses or internship:

  • University of Freiburg, Germany
  • University of Bonn, Germany
  • Technical University Wien, Austria
  • University Polytechnic of Madrid, Spain
  • Università degli studi di Torino, Italy
  • NTNU Trondheim, Norway
  • University of Umea, Sweden
  • University of Tokyo, Japan
  • Aoyama Gakuin University, Tokyo, Japan
  • National University Kaohsiung, Taiwan


MINES Saint-Etienne
Université Jean Monnet
Université de Lyon


Author: CPS2 Team


Last update: 22 June 2021