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

Table of Contents



Cyber Physical Social Systems (CPS2) is a 2-years master level academic program, awarded by an internationally recognized French master's degree in Computer Science. CPS2 is a joint-venture between University Jean Monnet/University of Lyon (the second largest scientific and academic center in France) and Mines Saint-Etienne (the France's oldest engineering school outside Paris, part of the Institut Mines-Té́lécom, the first group of engineering and business schools in France). Specific courses are also given by the engineering school Telecom Saint-Etienne.

CPS2 provides the knowledge and skills you need for working on the new generation of informatics systems, like the Internet of Things, Mobile Application and the Smart City. CPS2 program is devised to prepare tomorrow’s project managers and developers for systems where information technologies are in interaction with physical world (e.g., machines, devices, structures) and/or social world (e.g. humans, communities) to create intelligent autonomous systems. This agile international program entirely taught in English allows students to choose to specialize in a dedicated domain during their second year of the master. The possible domains have to be chosen among the agreed coursework delivered by one of our international partner and the completion of a master thesis. Even if CPS2 is a two years program, admittance in the second year is accepted.

Master CPS2 is an international track of the Master in Computer Science, Université de Lyon. It is one of the 3 tracks in Saint-Etienne:

See the CPS2 master track flyer for short details on the program.


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.


Induction Week Program   [17/07/17]
The program of the induction week for new M1 students in September 2017 has been published.
Important dates for new students   [14/02/17]
New dates for new M1 students are published
Important dates for applicants   [14/02/17]
New dates for applicants are published
CPS2 project requirements published   [12/10/16]
The requirements for the CPS2 project are available here
Introductive sildes available   [12/09/16]
The slides of the introductive presentation for the CPS2 Master Track are available here
Planning is available   [09/09/16]
The planning of the program is available on the University website
Opening session on Monday 12th,September, 2016   [08/09/16]
The opening session of 2nd year Master Program CPS2 will be held in room S1.20 of Espace Fauriel at MINES Saint-Etienne
CPS2 website gets a makeover   [08/09/16]
You will find here all the news about the CPS2 Program

M1 Curriculum

Syllabus, Semester 1 (30 ECTS)

UE 1 : Advanced Algorithmics and Programming (3 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 : Data Analysis (5 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

Details here

UE 5 : Security (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

Details here

UE 6 : 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 8 : Research and Innovation (3 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 9 : Foreign language (3 ECTS)

Syllabus, 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 : 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 4 : System Modeling (4 ECTS)

Educational goals :

  • Give the skills to be able, given a modeling formalism and a problem to solve, build a model for a solution to solve
  • Give the knowledge to choose the good modeling formalisms based system to build.
  • 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 different modeling formalism (UML, Petri nets, ontologies, logical formalism, giving the ordinary course of use of each.
  • 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)

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 machine learning and data mining algorithms. 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

Syllabus, Semester 1

UE 1 : Multi Agent Systems Coordination (4 ECTS)

This course explores the coordination techniques through the distributed AI and multi-agent 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 : Web Services (3 ECTS)

This course explores design and development techniques of web services. This course will teach the following topics (may be modified):

  • Notion of web service
    • Deefinition of web services
    • Use cases
    • HTTP protocol
    • Presentation of the 3 components of web services (SOAP, UDDI, WSDL)
    • Web services and J2EE, Servlet
  • Tutorials and Lab works : Composition – Collaboration – Orchestration of services web
    • Use of social networks APIs to develop applications (twitter, facebook, …)

Deatils here

UE 4 : Distributed and Mobile Computing (3 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 5 : Trust & Privacy (3 ECTS)

Presents technical solutions for access control. Present the management and negotiation technics for trust. Know how to manage private data.

Details here

UE 6 : Cloud Computing (3 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

Details here

UE 7 : 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 8 : CPS2 project (4 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.

Syllabus, Semester 2 (Internship/Master thesis, 30 ECTS)

As to complete their master thesis, students have to follow an internship in a research team (validated by the track coordinator).


  • Minimum duration: 4 months
  • Maximum: 6 months
  • Period: February to June (see longer)
  • Place: academic laboratory


  • Research orientation
  • The subject must be related to the models, tools and technologies of "CPS2"
  • The subject is validated by the track coordinator


  • Mandatory gratuity
  • Minimum: 30% minimum wage of ~ € 436.05
  • Maximum: none


  • Mandatory, signed by the supervisor, the coordinator and the student
  • Deadline: mid January (laboratory) in mid-February (business)




  • 1st April 2017 (non european applicants)
  • 30th June 2017 (european applicants)


  • M1 track will start on September 4th, 2017 at 09:00, at Campus Manufacture, 18 rue du Professeur Benoit Lauras, 42000 Saint-Etienne (tram station: Cité du Design).
  • M2 track will start on September 11th, 2017 at 09:00, at Espace Fauriel.


See the following plannings for more details :




Author: Gauthier Picard


Created: 2017-08-29 Mar 11:36