Professional Documents
Culture Documents
hand-book
hand-book
National School of Computer ECOLE NATIONALE DES SCIENCES ﺍﻟﻤـﺪﺭﺳـﺔ ﺍﻟﻮﻁﻨﻴـﺔ ﻟﻌﻠـﻮﻡ ﺍﻹﻋﻼﻣﻴﺔ
Sciences DE L'INFORMATIQUE
Module Handbook
October 2022
This module handbook consists of the complete collection of modules description of the whole
program offered for ENSI 1 students in the frame of the preparation of their computer science
engineering diploma.
It includes the updated description of all the modules and the study program as resulting from the
last reform conducted at ENSI in 2021 – 2022 and where all stakeholders were involved. The
adoption of the current updated study plan begun in September 2022 and concerns only the
newcomers to the first year engineering level since September 2022. It is intended to gradually 2
replace the program established in 2013.
The current study plan describes in detail all the common and core modules of the first
engineering year and the second engineering year, i.e. from semester 1 to semester 4. It describes
also the modules of the fifth semester for each of the six specialization offered by ENSI.
In fact, ENSI students, who successfully validate the four first semesters, choose the “coloration”
they wish, i.e. one among the following six specializations:
1
ENSI : refers to the name of the National School of Computer Sciences (acronym of the French naming
and widely used)
2
The old study plan is still applied (during the academic years 2022-2023 and 2023-2024) for the
engineering students who entered ENSI before september 2022 (i.e. being now in 2nd or 3rd level).
p. 2
Notations:
- For each module, the assigned code is defined as follows: XXXX.Y.Z, where
o XXXX : 2 to 4 letters referring to the acronyms of the topic or teaching subject as
defined in table 1
o Y : refers to the semester number within the three year studies at ENSI, hence the
semesters are numbered from 1 to 6
o Z : refers to the number of the module within the topic or unit
AI Artificial Intelligence
AP Algorithmic & Programming
BDC Business Digitalization and Communication
CV Computer Vision
DAT Data
DDP Design and Development Project
DOS Distributed and operating Systems
EHA Electronics and Hardware Architecture
ESDV Embedded System design and validation
ESEP Embedded systems & Embedded programming
FIN Finance
IAP IoT Applications Programming
IMA Image
ISA Information Systems Applications
MAT Mathematics
NET Computer Networks
OS Operating Systems
SE Software Engineering
SEC Security
- Example : MAT.1.2 refers to the second module of MATHS which is in the first semester S1
p. 3
Table of Contents
Notations:.............................................................................................................................. 3
Table of Contents.................................................................................................................. 4
Semester 1 Modules: ............................................................................................................ 6
MAT.1.1 Probability and Statistics .................................................................................. 7
²MAT.1.2 Engineering Mathematics ............................................................................. 8
FIN.1.1 Introduction to the banking and financial system .............................................. 9
EHA.1.1 Digital circuits................................................................................................. 11
EHA.1.2 Analogue Electronics ..................................................................................... 13
AI.1.1 Formal Logic ..................................................................................................... 14
DAT.1.1 Database and DataBase Management Systems ............................................ 17
AP.1.2 Algorithmic and Data Structures .................................................................... 18
AP.1.3 Advanced C programming ............................................................................. 19
BDC.1.1 Management of Organization ......................................................................... 21
BDC.1.2 Language and communication I: English For Computer Science ................... 22
Semester 2 Modules: .......................................................................................................... 25
MAT.2.1 Graph algorithms ........................................................................................... 26
MAT.2.2 Numerical methods ........................................................................................ 27
EHA.2.1 Microprocessor and microcontroller engineering ............................................ 28
NET.2.1 Digital transmission ........................................................................................ 30
OS.2.1 Introduction to operating systems and Unix environment ............................... 31
AP.2.1 Object-oriented programming ........................................................................ 32
AP.2.2 Web technologies .......................................................................................... 33
AP.2.3 Automata theory and Languages ................................................................... 35
DAT.2.1 Database lab.................................................................................................. 36
IMA.2.1 Introduction to Image Processing ................................................................... 37
BDC.2.1 Language and communication 2 .................................................................... 39
Semester 3 Modules: .......................................................................................................... 40
MAT.3.1 Linear and nonlinear programming ................................................................ 41
EHA.3.1 Processor design methodology ...................................................................... 42
NET.3.1& NET.3.2 Local Area Networks & Lab LAN..................................................... 44
OS.3.3 Operating Systems and concurrent programming .......................................... 46
AP.3.1 Compilation techniques.................................................................................. 47
AP.3.2 Design and analysis of computer algorithms .................................................. 49
SE.3.1 Software engineering ..................................................................................... 50
p. 4
SE.3.2 Object-oriented analysis and design .............................................................. 52
AI.3.1 Artificial Intelligence & Machine Learning .......................................................... 53
BDC.3.1 Language and communication 3: English for Business Communication ......... 55
Semester 4 Modules: .......................................................................................................... 58
MAT.4.1 Stochastic processes with R .......................................................................... 59
EHA.4.1 Introduction to Embedded Systems ............................................................... 60
NET.4.1 Computer networks ........................................................................................ 63
SE.4.1 Formal development methods ........................................................................ 65
SE.4.2 Software Architectures ................................................................................... 67
SEC.4.1 Cybersecurity & Cryptography ....................................................................... 70
FIN.4.1 Introduction to financial markets..................................................................... 71
DDP.4.1 Design and development project .................................................................... 73
BDC.4.1 introduction to Entrepreneurship and innovation ............................................ 75
BDC.4.2 Language and communication 4: Communication Techniques ...................... 77
Semester 5: Common Modules ........................................................................................... 80
BDC.5.1 Complex Project Management ....................................................................... 81
BDC.5.2 Computer Law and Human Rights ................................................................. 82
BDC.5.3 Language and communication 5: Preparing for standardized exams ............. 84
Annex 1: IT Framework Competencies ................................................................................. 1
p. 5
Semester 1 Modules:
code Title Credits
p. 6
MAT.1.1 Probability and Statistics
p. 7
²MAT.1.2 Engineering Mathematics
Module designation Engineering Mathematics
Semester(s) in which the S1
module is taught
Person responsible for the Mhiri Slim
module (coordinator)
Teaching team Mhiri Slim,Mohamed Amine Mezguich
Language French
Relation to curriculum Compulsory
Teaching methods lesson and practice with Matlab and python
Workload (incl. contact Total workload: 60h
hours, self-study hours) Contact hours : 45h
Private study: 15h.
Credits 3
Required and recommended Analysis, Integration, Geometry and Algebra
prerequisites for joining the
module
Module objectives/intended This course aims to present mathematical methods adapted to the
learning outcomes interests of engineering students in the constantly evolving fields
of analysis, processing, filtering and estimation of data as a
support for information.
• In the first part, it aims to introduce, on a mathematical level, the
concepts of measurement theory, distributions, convolution and
Fourier analysis of signals.
• Secondly, a series of practical work sessions using Matlab
constitutes a first contact for our engineering
students with this programming language which allows them to
better understand certain theoretical aspects related to the
processing of speech, images and digital transmission.
Content 0 – Applications and Motivation
1 - History
1.1 - Birth of trigonometric series
1.2 - Fourier and the heat equation
1.3 - The question of “arbitrary” functions
1.4 – Convolution and Correlation
2 - Fourier series
2.1 - Periodic functions and distributions
2.2 - Expression of Fourier series
2.3 - Properties of Fourier coefficients
2.4 - Spectrum of a periodic or quasi-periodic function
3 - Fourier transformation in the sense of functions
3.1 - Fourier transform of a function
3.2 - Properties of the transformation d
4 - Fourier transform in the sense of distributions
4.1 - Mathematical bases of distributions
4.2 - Space of distributions
4.3 - Properties of distributions
4.4 - Convolution
4.5 - Examples of distributions
4.6 – Fourier transform of distributions
5 – Analog to digital conversion
p. 8
5.1 - Sampling and Shannon's rule
5.2 – Quantization and Coding
5.3 – Discrete Fourier Transform
5.4 – Fast Fourier transform
5.5 – Properties of the digital Fourier transform
6 - EXTENSIONS OF THE CONCEPT OF FOURIER
TRANSFORM
6.1 - Laplace transformation
6.2 - Hankel transformation
6.3 – Wavelets
Examination forms 35% continuous eval+65% written exam
Study and examination 10/20
requirements
Reading list [1] L. Schwartz, Méthodes mathématiques pour les sciences
physiques, Hermann.
[2] R. Petit, L’outil mathématique, Masson.
[3] C. Gasquet; P. Witomski, Analyse de Fourier et applications,
Masson.
outcomes:
C12. Develop leadership and entrepreneurial skills and the
ability to innovate, particularly through socio-cultural
projects.
C13. Become aware of the need to constantly update your
knowledge and, if necessary, to undertake additional studies.
Content Simple interest
1) Definition and justification of simple interest
p. 9
1.Definition of interest
2.Justification of interest
2) Practical calculation of simple interest
1.Principle and scope of application
2.Practical calculation
3.Average rate for a series of simultaneous investments
4.Term due, term to mature
5.Effective rate of investment
3) Practical application of simple interest to some investment
and credit instruments
1.The savings account
2.Savings bonds
3.Credit by cash
4.Calculation of interest on savings books
5.Practical calculation of agios on current accounts
II. Discounting
1) Basic concepts: definition and different categories of
discounting
1.Commercial discounting
2.Rational discounting
3.Equivalence date
4.Renewal of a bill of exchange
5.Common maturity of two or more bills
2) Practice of commercial discounting
1.Calculation of agios
2.Discounting slip
3.Actual discount rate (for the company)
4.Discount placement rate (for the bank)
III.Compound interest
1) Principle of discounting and capitalization
1.Definition of compound interest
2.Justification of compound interest
2) Practical calculation of compound interest
1.Principle and scope of application
2.Practical calculation
3)Proportional and equivalent rates
4)Calculation of the earned value in the case of a non-full
investment period
IV. Annuities
1) The value acquired by a series of constant annuities
1. At the end of the period
2. At the beginning of a period
2)The present value by a sequence of constant annuities
1. End of period
2. Of beginning of periods
3)Average maturity a sequence of constant annuities
V)Undivided loans and bonds
1)Undivided loans
1.Definition
2. Repayment
2)Bonds
p. 10
1. Definition and main characteristics of a bond
2.Repayment
Examination forms 35% continuous eval+65% written exam
Study and examination 10/20
requirements
Reading list Fontaine et HametJ : Les marchés financiers internationaux,
PUF, 2011. ∙
GresseC : Marchés de taux d’intérêt, Economica, 2017.
Jhon.Hull : Options futures et autres produits dérivés,
Pearson, 2014 .
Jacquillat B, Solnik Bet Pérignon C : Marchés financiers,
Dunod ,2014 ∙
Le Saout E : Introduction aux marchés financiers, Economica,
2016.
p. 11
Module objectives/intended This course expands further the student's skill in analysing and
learning outcomes designing analogue circuits involving Transistors and Diodes. More
specifically, the proposed sections are aimed:
● to develop skill and knowledge in analysis and design of
analogue circuits such as amplifiers, operational amplifiers,
and comparators;
● to introduce the basic principal operations, device and
circuit characteristics of Diodes and bipolar Transistors;
● to develop a more thorough understanding of why analogue
circuits behave in a certain way, and how performances can
be improved when feedback is applied;
● to develop intuitive feel for circuit analysis and design;
● to introduce different techniques for A/D and D/A
conversion.
C1. To master in depth the basic sciences, in particular
computer science and mathematics, essential for the
design and production of computer applications.
C4. Identify, formulate, and solve complex or
incompletely defined IT problems with the objective of
ensuring maximum availability for users
Content Lesson 1 (05h). Introduction to Digital Circuits
Lesson 2 (05h). Number Systems and codes
● Numbering systems
● Base change Binary arithmetic operations
● Hexadecimal arithmetic operations
● The codes
- Exercices (05h)
p. 12
Reading list Reference books:
● D. M. Harris and S. L. Harris, ‘Digital Design and Computer
Architecture,’ Morgan Kaufmann, 2007.
● R. H. Katz, ‘Contemporary Logic Design,’ Benjamin/Cummings,
1994.
● Brown, Stephen, and Zvonko Vranesic. EBOOK: Fundamentals
of Digital Logic. McGraw Hill, 2008.
p. 13
Content Lesson 1 (0.5h). Introduction to Analog Electronics
Lesson 2 (01h). Basic Circuit Analysis
Lesson 3 (02h). Diodes
Lesson 4 (01h). Rectifier Circuits
● Exercices (03)
Lesson 5 (02). Bipolar Transistors
Lesson 6 (01). Common Emitter/Common Source Amplifier
Lesson 7 (01). Common Collector/Common Drain Amplifier
Lesson 8 (01). Miscellaneous useful Amplifiers
● Exercices (04)
Lesson 9 (02h). Op-Amps: Principles and Basic Circuits
● Exercices (02)
Lesson 10 (01). Linear Voltage Regulators
Lesson 11 (01). Introduction to the different techniques for A/D and
D/A conversion.
Examination forms 35% Continues evaluation + 65% Written exam.
Study and examination 10/20
requirements
Reading list Reference books:
● Burns & Bond, Principles of Electronic Circuits, PWS, 2nd ed,
1997.
● Higgins, Electronics with digital and Analog Integrated
Circuits, 1983.
● Bogart, Electronic Devices and Circuits, 3rd ed, Merril, 1993.
p. 14
Module This course is an introduction to the tools and fundamental concepts of
objectives/intended formal logic. It requires the basic knowledge of truth, demonstration
learning outcomes and computability.
The goal is to be able to formalize problems, to make deductions and to
understand their interest for computer science.
This course introduces automatic reasoning and learns how to
structure it, by :
p. 15
Content ● Chapter 0. Introduction to Formal Logic (1 week)
● Chapter 1. Propositional Logic (Truth-Functional Logic)
(4 weeks)
. Symbolisation
1. Langage definition
2. Decomposition tree of an expression
3. Substitution in an expression
I. Semantic Study
1. Concept of Interpretation
2. Validity of an expression
3. Concept of semantic consequence
4. Concept of complete set of connectives
5. Validity of an expression set
6. Normal Expressions
7. Exercise
Chapter 2. Quantificational Logic (predicate /
first-order) (5weeks)
. Symbolisation
1. First order langage definition
2. Langage terms
3. Langage expressions
4. Concept of Free and Bounded Variable
5. Substitution in an expression
I. Semantic Study
1. Concept of Structure and L-Structure
2. Expression Interpretation
3. Validity of an expression
4. Concept of semantic consequence
5. Clausal Expression
Chapter 3. Introduction to Formal Systems (1
week)
. Concept of decidability
1. Concept of recursive function
2. Concept of recursive set
3. Concept of recursively enumerable set
4. Concept of decidable predicate
5. Concept of semi decidable predicate
6. Exemple (lukasiewicz formal system,
Mendelshon formal system, …)
I. Formal Systems
1. Definitions
2. Formal systems properties
3. General Algorithm
Chapter 4. Resolution Method (4 weeks)
1. Closed resolution method
2. Concept of Unification
3. Variable Resolution Method
4. Resolution Strategies
p. 16
Reading list ● René David, Karim Nour & Christophe Raffali, Introduction à la
logique, éditions Dunod, 2019.
● René Cori&Daniel Lascar, Logique mathématique - Tome 1,
Calcul propositionnel, algèbre de Boole, calcul des prédicats,
editions Dunod, 2021
● Y.I. Manin, A course in mathematical logic for mathematicians,
Springer, 2010.
p. 17
AP.1.2 Algorithmic and Data Structures
Module designation AP.1.2
Semester(s) in which the module is S1
taught
Person responsible for the module Raoudha Chebil
(coordinator)
Teaching team Dorra DHOUIB , Manel Ben Sassi, Ichrak Amdouni
Language French
Relation to curriculum Compulsory
Teaching methods Lesson, assignment
Workload (incl. contact hours, self- Total workload: 60 hours
study hours) Contact hours: 45 hours 30 lessons, 15h assignments
Private study including examination preparation, specified in
hours: 15 hours
Credit points 3ECTS
Required and recommended Basic notions of algorithms
prerequisites for joining the
module
Module objectives/intended Knowledge : Students:
learning outcomes ● Master the sorting algorithms as well as the difference
between them;
● Be able to choose the appropriate data structure for each
problem;
● Master the concept of recursivity as well as its interest and
apply it adequately;
p. 18
4. Declaration
5. Instructions
Chapter VI – Abstract data types
1. Definition of an ADT
2. Signature of an ADT
3. Description of the properties of an ADT
Chapter VII – Lists
1. Definition of lists
2. Abstract data type “List”
3. Representation of lists
Chapter VIII - Stacks
1. Definition
2. Abstract data type “Stack”
3. Representation of stacks
Chapter IX - Queues
1. Definition
2. Abstract data type « Queue »
3. Representation of queues
Chapter X - Binary Trees
1. Definition
2. Terminology
3. Definition of the ADT
4. Measurements on trees
5. Particular binary trees
6. Representation of binary trees
7. Binary tree traversals
Chapter XI – Particular Binary Trees
1. Binary Search Trees
2. Balanced Binary Tree
Chapter XII - Graphs
1. Definitions and examples
2. Terminology
3. Representations of graphs
p. 19
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab work and project.
Workload (incl. contact hours, self- (Estimated) Total workload: 30h
study hours) Contact hours : 22.5h (11h lessons, 11.5h lab works)
Private study including examination preparation, specified in
hours: 7.5h
Credit points 1.5 ECTS
Required and recommended No Requirements
prerequisites for joining the
module
Module objectives/intended Key question: what learning outcomes should students attain in the
learning outcomes module?
E.g. in terms of:
● Knowledge: familiarity with Algorithms
Skills: cognitive and practical abilities to use IDE softwares
Competences: C8
Content Chapter I – The basic notions of the C language (1h)
1. Introduction
2. Structure of a C program
3. Types, variables and constants in C
4. Basic operations in C
5. Operators in C
6. Type casting
7. Standard arithmetic functions
=>Lab Works (1h)
Chapter II - Control structures (1h)
1. Conditional structures
2. Iterative structures
=>Lab Works (1h)
Chapter III - Structured objects(2h)
1. One-dimensional arrays
2. Two-dimensional arrays
3. Character strings
4. Arrays of character strings
5. Structures
=>Lab Works (2h)
Chapter IV – Pointers(2h)
1. Definition
2. Declaration of a pointer
3. Assignment of pointers
4. Operators
5. Dynamic allocation
6. Pointers and Arrays
7. Pointers and string constants
8. Array of pointers
=>Lab Works (2h)
Chapter V - Functions in C (1h)
1. Introduction
2. Definition of a function
3. Declaration of a function
4. Returning the result of a function
5. Global Variables
6. Local variables
7. Passing parameters in a function
=>Lab Works (1h)
Chapter VI - linked lists in C (1.5h)
1. Simple linked list
2. Sorted linked list
3. Doubly linked list
p. 20
=>Lab Works (1.5h)
Chapter VII - stack and queue in C (1.5h)
1. Create a stack system
2. Stacking an element
3. Popping an element
4. Build a queue structure
=>Lab Works (1h)
Chapter VIII - File management in C(1h)
1. Opening and closing a file
2. Write to a file
3. Read from a file
4. Rename a file
5. Delete a file
=>Lab Works (1h)
Examination forms 50% continuous evaluation + 50% project evaluation
Study and examination 10/20
requirements
Reading list ● Isiak, Al-ameen & isiak, Al-ameen. c Programming A
definitive method for learning the basics of the C language
. Inside Topics at a GLIMPSE. 2022
● Yashavant Kanetkar, Let Us C: Authentic Guide to C
PROGRAMMING Language. In Paper Knowledge. Edition
17, 2022.
● FABER, Frederic. Introduction à la programmation en
ANSI-C. En ligne, 2014
p. 21
Content • .Economies and Management
• Business Management
• businessenvironment
• financialdepartment
• MKG department
• HR department
Examination forms Final exam, projects
Study and examination 10/20
requirements
Reading list ● Romain ZERBIB (2020) Lesmodesmanagériales : Du conformisme
à l'innovation. Editions EMS
● Bernd W. Wirtz (2019) Digital Business Models,Springer
● Jan vomBrocke JanMendling (2017) Business Process
Management Cases Digital Innovation and Business
Transformation in Practice
● PRADES N. (2015), Lexique du marketing, éditionBréal, 176p.p.
● Kotler P. Keller K., Manceau D. (2015), Marketing management,
édition Pearson.
● Thomas P. (2014), Principes de financed'entreprise : Corporate
Finance - Création de valeur, édition Revue Banque.
● Mintzberg (1986),
Lepouvoirdanslesorganisations, leséditionsd’organisation
● Mintzberg H.(1990), Voyage au centre des organisations, Edition
d’Organisation
● POUGET M. (1998), Taylor et le taylorisme, PUF, Que-sais-je, n°
3318.
● Schermerchorn, R. John, Chappell, S. David, Lambert, Jocelyn. (2008
) , Principe de management , 2e édition, Éditions du
renouveaupédagogiqueinc.
p. 22
Content Unit 1: Computer engineering
Lesson 1: computer as a magic box
1- Pre-reading: speaking: important inventions
2- Reading: Ever tried talking to a computer
3- Language: Word formation
4- Writing: features of an up-to-date computer
Lesson 2: Computer engineering
1- Speaking: commenting on the characteristics of a successful engineer
2- Reading: Hoover on engineering
3- Vocabulary
4- Language: Direct Vs indirect speech
5- Writing: turning a diagram into a paragraph
Lesson 3: Computer networks
1- Pre-reading: Vocabulary WAN and LAN
2- Reading: Computer networks
3- Vocabulary
4- Language: Tenses
Lesson 4: Information society
1- Speaking: The meaning of information society
2- Listening: Information society
3- Writing: paragraph writing: topic sentences and details
Lesson 5: Optimizing research on the net
1- Speaking: Features of a good search engine
2- Reading: Searching for the best engine
3- Vocabulary
4- Language focus: word formation
Lesson 6: IT services
1- Pre-reading: new concepts
2- Reading: Indian software put the case for outsourcing to home office
3- Vocabulary
4- Language: tenses
5- Writing: abbreviations
Unit 2: Internet and Business
Lesson 7: Web 2.0
1- Speaking: definition of Web 2.0
2- Reading: Web 2.0
3- Language: word formation and tenses
Unit 3: Information, technology and society
Lesson 8: Kids and technology
1- Speaking: computer techies
2- Listening: Technology and kids
3- Language and vocabulary: disadvantages of the internet
Lesson 9: Ergonomics
1- Speaking: definition of ergonomics
2- Listening: Video on the definition ofergonomics
3- Language: Word formation
4- Writing: Internet and the danger of being antisocial
Lesson 10: Digitalisation
1- Language: word formation
2- Reading: the digital office
3- Writing: The impact of a digital world
Lesson 11: Biotechnology
1- Speaking: GM foods
2- Listening: Biotechnology
3- Writing: formal letters
p. 23
Examination forms oral presentation, mini project and essay writing.
Study and examination 10/20
requirements
Reading list Boeckner, K and Brown, P Charles (1993). Oxford English for Computing.
Oxford: Oxford University Press.
McCarthy, M and O’Dell, F (2002). English Vocabulary in Use advanced.
Cambridge: Cambridge University Press.
RemachaEsteras, S (2002). Infotech English for Computer Users. Cambridge:
Cambridge University Press.
http://www.elllo.org/
http://www.esl-lab.com/
http://learnenglish.britishcouncil.org/en/
http://www.zdnet.com/
p. 24
Semester 2 Modules:
code Title Credits
p. 25
MAT.2.1 Graph algorithms
Module designation MAT.2.1
Semester(s) in which the S2
module is taught
Person responsible for the Moncef Tagina
module ( coordinator)
Teaching team Moncef Tagina; Nadia Chaouachi; Nahla Abdellatif ; Faten Mqddouri qnd
Leila Horchani
Language French
Relation to curriculum Compulsory
a. Moore–Dijkstra algorithm
b. Bellman-Ford algorithm
c. Floyd algorithm
2.Application : The scheduling problem (MPM-PERT)
Chapter III: Minimum Spanning Tree-MST (9 hours)
6. Applications :
p. 26
Examination forms 35% continuous evaluation; 65% written exam
Study and examination 10/20
requirements
Reading list ● Charon, A. Germa, O. Hudry : Méthodes d'optimisation
combinatoire , Masson, 1996
Language French
Relation to curriculum Compulsory
Teaching methods Lesson, assignment
Workload (incl. contact hours, Total workload: 60 hours
self-study hours) Contact hours: 45 hours 30 lessons, 15h assignments
Private study including examination preparation, specified in hours:
15 hours
Credit points 3 ECTS
Required and recommended Analysis (Preparatory classes level )
prerequisites for joining the Linear Algebra
module
Module objectives/intended C1
learning outcomes
Content Chapter I: Numerical interpolation and approximation-
10.5hours
1.Lagrange interpolation
a. Lagrange's formula, Newton's formula (divided differences)
b. Estimation of the interpolation error
c. Interpolation at Chebyshev points
d. Convergence and stability (Runge phenomenon).
2. Hermite interpolation
a. Hermite formula
b. Hermite interpolation error.
3. Polynomial approximation
a. Principle
b. The least squares method
c. The discrete least squares method-Numerical regression
Chapter II: Numerical integration -10.5 hours
1. Elementary quadrature methods
a. Newton-Cotes methods: Principle, examples
p. 27
b. Integration error
2. Composite methods
3. Gauss methods (Principle, Gauss integration error).
p. 28
Workload (incl. contact hours, Total workload: 60 hours
self-study hours) Contact hours: 45 hours 30 lessons, 15h lab works
Private study including examination preparation, specified in hours:
15 hours
Credit points 2ECTS
Required and recommended EHA.1.2 Analogue Electronics
prerequisites for joining the EHA.1.1 Digital Circuits
module
Module objectives/intended Students are expected to have the following topical knowledge upon
learning outcomes entering this course :
● Sufficient knowledge of various digital blocks like registers,
flip flop …
● Ability to write algorithms for a particular task.
Students will learn architecture of 8086 microprocessor and its
applications;
Students will be able to write assembly language programs for 8086
microprocessor
Students will learn to interface processor with peripherals.
C1. To master in depth the basic sciences, in particular
computer science and mathematics, essential for the
design and production of computer applications.
C4. Identify, formulate and solve complex or
incompletely defined IT problems with the objective of
ensuring maximum availability for users
Chapter2 : Memory
RAM, ROM….
p. 29
Reading list Reference books:
● D. M. Harris and S. L. Harris, ‘Digital Design and Computer
Architecture,’ Morgan Kaufmann, 2007.
● Paolo Zanella, Yves Ligier, Emmanuel Lazard, ‘Architecture et
technologies des ordinateurs’, DUNOD, 2018
p. 30
- Harris, Sarah L., and David Harris. Digital design and computer
architecture. Morgan Kaufmann, 2015.
p. 31
Reading list 1- Modern Operating Systems 3 rd Edition, Andrew S. Tanenbaum. Pearson
Education Ink., Prentice-Hall, 2008.
2- The Unix Programming Environment, B.W. Kernighan, R. Pike, Prentice-Hall
3- Les systèmes d’exploitation Unix/Linux par la pratique, M.S. OUERGHI, CPU
Tunis, 2004
Content
Part 0: INTRODUCTION
1. Programming challenges
2. Limitations of Structured Programming
3. FROM C TO C++: Brief history
4. Basic principles of object-oriented
Part 1: C++ programming
1. Classes in C++
2. Inheritance in C++
3. Polymorphism in C++
Part 2: Java programming
1. Introduction to Java
2. Classes, objects and additional notions in Java
3. Inheritance and polymorphism in Java
4. Abstract classes and interfaces in Java
5. Packages and visibility rules
6. Exceptions
7. Input/output in Java
8. Some basic classes in Java
Examination forms 35% continuous assessment + 65% written exam
Study and examination 10/20
p. 32
requirements
Reading list 1. C., Delannoy, "Programmer en langage C++ Avec une intro
aux design patterns et une annexe sur la norme C++11",
Eyrolles, 8ème édition, 5 mai 2014.
2. C., Delannoy, « C++ pour les programmeurs C », Eyrolles
2007.
3. C., Delannoy, "Exercices en langage C++", Eyrolles, 3ème
Edition, 2007.
4. T., Budd, "Introduction à la programmation par objets",
Addison-Wesley, France 1992.
5. H., Bersini, I., Wellesz, "L'orienté objet Cours et exercices en
UML2 avec Phyton, Java, Csharp et C++", Eyrolles, 2nd
edition, 2004.
6. B., Stroustrup, "The C++ Programming Language", Addison-
Wesley Professional, third edition, 1997.
7. C., Delannoy, "Exercices en Java", Eyrolles.
8. J., Brondeau, "Introduction à la programmation objet en java,
Cours et exercices", Dunod.
p. 33
Content Chapter I: Web Programming
● Basic concepts
● Client/Server Programming Model
● HTTP Service
● Web Server
● Cookies, cache, proxy and firewall
● Client-Side Web Programming
● Server-Side Web Programming
Chapter II: HTML
● Introduction (Definition, Versions of HTML and HTML
Document Validation)
● Tags and Attributes
● Global Structure of a HTML document
● Structuring the content of a HTML document (Text, Titles,
Comments
Lists, Images, Links, Arrays, Video and audio, Forms)
Chapter III: CSS
● Introduction (Definition, Versions and Utility of CSS
language)
● CSS Syntax
● Notion of inheritance
● Where to place CSS code?
● Notions of Class & ID
● Tags DIV & SPAN
● Borders and margins
● Text formatting in CSS
● Page Background in CSS
Chapter IV: Javascript Language
● Introduction (Definition and Utility of Javascript language)
● Insertion of JavaScript code in a HTML page
● Conventions
● Logical Tests
● Loops
● Functions
● Objects & proprieties
● DOM
● Events
Chapter V: PHP Language
● Introduction (Definition, PHP Versions and principal
advantages)
● PHP Code Integration
● Lifecycle of a PHP page
● Data Types
● Mathematical Functions
● Boolean Operators
● Conditional Instructions
● Iterative Instructions
● Error management
● Sessions
● Sending e-mails with PHP
● Access to a MySQL database with PHP
Examination forms 50% continuos eval + 50% project eval
Study and examination 10/20
requirements
Reading list 1. Fundamentals Of Web Technologies: A Practical Approach
Ammisetty Veeraswamy, 2013, 192 pages
2. Web Technologies: HTML, Javascript, PHP, Java, Jsp, XML
and Ajax, Kogent Learning Solutions Inc, 2009
p. 34
AP.2.3 Automata theory and Languages
Module designation AP.1.1 Automata Theory and Languages
Semester(s) in which the S2
module is taught
Person responsible for the Leila Ben Ayed
module
Language French
Relation to curriculum Compulsory
p. 35
Content Lesson I (03h). Strings, Alphabet, Language , Operations
Lesson II (09h). Finite automaton model
- Acceptance of strings, and languages
- Deterministic finite automaton and non-deterministic finite automata
- Transition diagrams and Language recognizers.
- Significance, acceptance of languages.
- Conversions and Equivalence : NFA to DFA conversion
- Minimisation of FSM
- Regular sets, regular expressions, identity rules,
- Constructing finite Automata for a given regular expressions
- Conversion of Finite Automata to Regular expressions
- Pumping lemma of regular sets
Lesson III (03h) . Grammars
- Regular grammars
- Right linear and left linear grammars,
- Equivalence between regular linear grammar and FA
Lesson IV (06h). Context free grammar
- Derivation trees sentential forms
- Right most and leftmost derivation of strings
- Ambiguity in context free grammars.
- Chomsky normal form, Greiback normal form
- Pumping Lemma for Context Free Languages
- Enumeration of properties of CFL
Lesson V (09h). Push down automata, definition, model, acceptance
- Acceptance by final state and acceptance by empty state and its
equivalence
- Equivalence of CFL and PDA, interconversion.
Lesson VI (09). Introduction to DCFL and DPDA
- Turing Machine, definition, model, design of TM
- Computable functions,
- Recursively enumerable languages
- Church’s hypothesis, counter machine
- Types of Turing machines Chomsky hierarchy of languages
- Decidability of problems
- Universal Turing Machine, undecidability of problems
- Turing reducibility, Definition of P and NP problems, NP complete
and NP hard problems.
Examination forms 35% Continuous evaluation + 65% Written exam
Study and examination 10/20
requirements
Reading list References books:
● Hopcroft J., Motwani R. and Ullman J. D, ‘Introduction to Automata
Theory Languages, and Computation’, Addison-Wesley, 2001.
● Hopcroft, John E., Rajeev Motwani, and Jeffrey D. Ullman.
"Introduction to automata theory, languages, and
computation." Acm Sigact News 32.1 (2001): 60-65.
● Aho A., Sethi R. and Ullman J. D, ‘Compilateurs Principes,
Techniques et Outils’, InterEditions, Paris, 1991.
p. 36
Relation to curriculum Compulsory
Teaching methods lecture, lesson, assignment, labs
Workload (incl. contact hours, Total workload: 32,5h
self-study hours) Contact hours: 22,5 h ( lecture, exercise, laboratory , etc.):
Private study: 10 h
Credit points 1,5ECTS
Required and recommended
prerequisites for joining the DAT2.1
module
Module objectives/intended C2. Set up a technology watch system to select the relevant
learning outcomes tools and methodologies in the design, production or
maintenance of an Information System (IS).
C8. Master good practices in terms of software
development as well as applicable standards and
regulations.
C13. Become aware of the need to constantly update your
knowledge and, if necessary, to undertake additional
Content
● Installing Oracle
● Data Definition Language
● Labs
Data Manipulation Language
● Labs
The PL/SQL language
● Labs
[2] Steven Feuerstein & Bill Pribyl & Chip Dawes, “Oracle PL/SQL
Language Pocket Reference“, O’reilly, 2015, 189 pages.
p. 37
Module objectives/intended This course covers fundamental notions in image and video
learning outcomes processing, as well as covers most popular tools used, such as
edge detection, motion estimation, segmentation, and
compression. It is composed of lectures, laboratory sessions, and
mini-projects.
Content Introduction: acquisition, restitution
p. 38
BDC.2.1 Language and communication 2
p. 39
Semester 3 Modules:
code Title Credits
p. 40
MAT.3.1 Linear and nonlinear programming
Module designation MAT.3.1 Linear and nonlinear programming
Semester(s) in which the S3
module is taught
Person responsible for the Nacef Elloumi
module
Teachers Nacef Elloumi, Sarra Samaali, Fethi Kadhi, Nahla Abdellatif
Language French
Relation to curriculum Compulsory
p. 41
Content
1. Linear programs
1. Examples
2. Dual Linear Programs and Interpretations
3. Selected Applications of the Duality
2. The Simplex Method
1. Adjacent Basic Feasible Solutions (Extreme Points)
2. The Primal Simplex Method
3. The Dual Simplex Method
4. The Simplex Tableau Method
3. Unconstrained optimization
1. First order necessary condition
2. Second order necessary condition
3. Second order sufficient condition
4. Basic Descent Methods
1. Gradient method
2. Steepest descent method
3. Newton’s Method
5. Constrained optimization
5.1 First-Order Necessary Conditions (Equality Constraints)
5.2 Second-Order Conditions (Equality Constraints)
5.3 Inequality Constraints
5.4 Steepest Descent Projection Method
p. 42
Module objectives/intended ● Knowledge: students
learning outcomes ● Know the architectural design and computation using
computer modelling, rendering, and digital fabrication
● know the decomposition of the μP into a Datapath and a
control unit.
● know the different types of processor design (monocycle,
multicycle, and pipeline)
● know RISC instruction set architecture of the processor
● Master the difference between CISC and RISC architectures
● Skills:
● Students know how to design processors and how to master
assembly languages
● Competences: Students are able to:
● integrate new methodological capacities in working (change
their mind to find the best solutions of hardware design to
satisfy several constraints)
● C5. Specify an information system in all its dimensions:
software, hardware and architecture using the state-of-the-
art available technologies and considering the company's
strategic objectives
● C13. Become aware of the need to constantly update your
knowledge and, if necessary, to undertake additional studies.
● Be aware of the different processor’s architectures and their
continuously improvements
p. 43
NET.3.1& NET.3.2 Local Area Networks & Lab LAN
Module designation NET.3.1&NET 3.2
Semester(s) in which S3
the module is taught
Person responsible for Ahmed Elleuch
the module
Teachers team Hanen Idoudi, Maher Sellami, Naouel Grati, Maroua Bakri,Leila Nasraoui
Language French
Relation to curriculum Compulsory
Teaching methods Lesson, lab works
Workload (incl. contact (Estimated) Total workload: 92H30h
hours, self-study Contact hours (30h lesson, 15h exercises, 22h30 laboratory)
Private study including examination preparation, specified in hours: 25h
hours)
Credit points 4.5 ECTS
Required and NET.2.1 Digital Transmission
recommended OS.2.1 Introduction to operating systems and Unix environment
prerequisites for
joining the module
Module The purpose of this course is to study the fundamental concepts of Local Area
objectives/intended Networks (LANs), their architecture, the underlying protocols and how to
interconnect them. Another objective is to develop practical skills to install,
learning outcomes configure and troubleshoot hardware and software LAN components including
switches, routers and several network services using Linux, Microsoft and Cisco
Shell Commands. At the end of the course, the students will :
● Identify the characteristics that make LANs different from other types of
networks.
● Compare and contrast LAN topologies, transmission mediums and
transmission techniques and consequently identify the current trends.
● Analyze and evaluate various medium access methods.
● Apply OSI and IEEE 802 models to LAN architecture.
● Understand IEEE 802.3 and IEEE 802.11 standards.
● Understand how the Ethernet has evolved from its traditional version into
Fast Ethernet, Gigabit Ethernet …
● Understand general guidance on structured LAN cabling for intelligent
buildings.
● Show clear understanding behind interconnecting LANs and how bridge
filtering and forwarding works.
● Configure Spanning Tree, VLANs and trunking on Cisco switches.
● Deploy, configure and troubleshoot a TCP/IP network.
● Configure and verify Squid Proxy, SNAT/DNAT and filtering operations
using IPTABLES.
● Configure and verify DHCP and DNS services.
Outcomes:
C1. To master in depth the basic sciences, in particular computer science and
mathematics, essential for the design and production of computer applications.
Content Chapter I – Local Area Networks : Basic Concepts and Fundamentals
● Topologies
● Transmission Mediums
● Transmission Techniques
● Medium Access Methods
Chapter II – IEEE 802 LAN Standards
● IEEE 802 Architecture
● MAC Address Format
● Logical Link Control
● IEEE 802.3 Family of Standards
● IEEE 802.11 Family of Standards
p. 44
Chapter III – LAN interconnection
● Connectivity Devices : Repeaters, Hubs, Bridges, Switches, Routers
and Gateways
● Transparent Bridging
● Spanning Tree Algorithm
● VLANs
Chapter III – Structured LAN Cabling
● General Overview
● Horizontal Cabling System
● Vertical (Backbone) Cabling System
● Building a Structured Cabling System: Connectors, Cables, Patch
Panels, Copper Patch Cords Fiber Optic Splice Cassettes, Racks
Cabinets …
● General Installation Recommendations
Chapter V – TCP/IP networks
● TCP/IP Architecture
● IP Addressing and Subnetting
● IP Routing
● Network Address Translation
● DHCP
● DNS
Practical Works
● PW1– Deploying IP Networks under Linux and MS Windows
● IP Addresses
● Static Routing
● Network Troubleshooting
PW2 – Deploying IP Networks under IOS CISCO
● IP Addresses
● Static Routing
● Network Troubleshooting
PW3–Deploying DHCP and DNS Services under Linux et MS
Windows
● DHCP Client and Server
● DHCP Relay
● DNS Client and Server, DDNS
PW4 – Deploying Squid and IPTABLES under Linux
● Configuring Squid as non Transparent and
Transparent Proxy
● Configuring the Squid Authentication
● Configuring Squid Caches
● IPTABLES Filtering
● SNAT/DNAT with IPTAPLES
PW5 – Deploying LAN Networks under IOS Cisco
● Trunking
● Configuring VLAN
Configuring Spanning Tree
Examination forms 35% continuous assessment (tests and mid-term exam) + 65% written exam
Study and examination 10/20
requirements
Reading list ● Data and Computer Communications, 10th Edition, William Stallings,
Pearson Education.
● Réseaux locaux et Internet : Des protocoles à l'interconnexion, Laurent
Toutain, Hermes Science Publications,
● Linux Network Administrator's Guide, O'Reilly Media
p. 45
OS.3.3 Operating Systems and concurrent programming
Module designation Operating Systems and Concurrent Programming --0S.3.03
Semester(s) in which the S3
module is taught
Person responsible for the Faïza NAJJAR
module (coordinator)
Teaching team Nessrine Chakchouk, Houcine Elhedhili, Chiraz Houaidia, & Mehrez
Essafi
Language French
Relation to curriculum Compulsory
Teaching methods Lessons, lab works, exercises & mini-project
Workload (incl. contact (Estimated) Total workload: 60H
hours, self-study hours) Contact hours (lectures, (classroom/homework) exercises, lab. System
programming): 45H (30H lessons, 15H lab works)
Private study including examination preparation, specified in hours:
15H
Credit points 3ECTS
Required and C programming (AP.1.3);
recommended Introduction to operating systems and Unix (OS.2.1)
prerequisites for joining
the module
Module Objectives:
objectives/intended Where there are processors, there are operating systems. This
teaching module should lead to a good understanding of the
learning outcomes functionalities, mechanisms and algorithms involved in multitasking
and multithreaded operating systems. It should also promote their
efficient use with system and multithreaded programming.
Intended learning outcomes:
C1: To master in depth the basic sciences, in particular computer
science, essential for the design and production of all computer
applications.
C7: To identify, locate and collect all the data necessary for the
research and development of new software or new services.
C8: To master good practices in terms of low level development
(system programming) which is vital for all types of computer
development.
Content CHAP. 1. PROCESS & THREADS MANAGEMENT (3
weeks)
● Introductions: Terminology and basic principles of operating
systems
● Process concepts (Process switching, process states, …)
● Process control bloc --PCB
● Thread Concepts (Definition of threads, processes vs. Threads
LAB: SYSTEM PROGRAMMING (LINUX)
● Linux processes (ps, top, …).
● Process creation (fork, wait, exec, …)
● Posix threads (pthread_create, pthread_join, …)
p. 46
HOMEWORK : exercises on archive exams
p. 47
Credit points 1,5
Required and Automata Theory and Languages (AP.2.3)
recommended
prerequisites for joining
the module
Module This course extends the knowledge acquired in automate theory and
objectives/intended languages course to become able to develop a compilers. Compilers are
important system software components: they are intimately
learning outcomes interconnected with architecture, systems, programming methodology,
and language design Compilers include many applications of theory to
practice: scanning, parsing, static analysis, instruction selection Many
practical applications have embedded languages: commands, macros,
formatting tags Many applications have input formats that look like
languages: Matlab, Mathematica Writing a compiler exposes practical
algorithmic & engineering issues: approximating hard problems;
efficiency & scalability.
Knowledge:
● Lexical analysis
● Different techniques for syntactical analysis
● Semantic analysis
● Translation into intermediate code for interpretation
Competencies
C1. Design and implement compilers
C2. Parsers development
p. 48
AP.3.2 Design and analysis of computer algorithms
Module designation AP.3.2 Design and analysis of computer algorithms
Semester(s) in which the module is S3
taught
Person responsible for the module Anja Habacha
Teachers Walid Sadfi
Language French
Relation to curriculum Compulsory
Teaching methods lesson, projects, practical work
Workload (incl. contact hours, self- (Estimated) Total workload: 60h
study hours) Contact hours: 45h (30h lessons, 15h projects)
Private study including examination preparation, specified in
hours:
15h
Credit points 3
Required and recommended AI.1.1 Formal Logic
prerequisites for joining the module AP.1.2 Algorithmic and data structure
AP.2.3 : Language Theory & Automata
p. 49
Reading list S. Perifel, Complexité algorithmique. Ellipses, 2014.
M.R. Garey and D.S. Johnson. Computers and Intractability: A
Guide to the Theory of NP-Completeness. New York: W. H.
Freeman. 1983.
E. Horowitz et S. Sahni, Fundamentals of computer algorithms,
Pitman, 1979.
C. H. Papadimitriou, Computational Complexity, Addison-Wesley
Publishing Company , 1993
J.D. Ullman, A.V. Aho, et J.E. Hopcroft. The design and analysis of
computer algorithms. Addison-Wesley, 1974
Cormen, Thomas H., Charles E. Leiserson, and Ronald L. Rivest.
"Introduction à l'algorithmique." Dunod, 1990.
p. 50
C9. Make complex decisions based on incomplete or limited
information.
C13. Become aware of the need to constantly update your knowledge
and, if necessary, to undertake additional studies.
Content CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING
1. Software
2. Software Engineering (SE)
CHAPTER 2: SOFTWARE DEVELOMENT PROCESSES
1. Introduction
2. Definitions
3. Software Life cycle
4. Software development Processes models
CHAPTER 4: DESIGN
1. Introduction
2. Design Overview
3. Principles of design
4. Design quality
5. Architectural design
a. Definitions
b. Choosing an architecture
c. architectural patterns
p. 51
Willis, Jez Humble, John Allspaw
p. 52
Examination forms 35% continuous assessment + 65% written exam
Study and examination requirements 10/20
Reading list Fowler Martin, UML Distilled: A Brief Guide to the Standard
Object Modeling Language (3rd ed. ed.). Addison-Wesley. ISBN
0-321-19368-7.
Hugues BERSINI, "L'orienté objet Cours et exercices en UML2
avec Phyton, Java, C# et C++", EYROLLES, 2004, Bibliothèque
ENSI (A-824.3).
Craig Larman, UML 2 et les Design Patterns - (3ème édition)
(ISBN 2-7440-7090-4)
p. 53
Content Chapter 1: Overview of Artificial Intelligence foundations (6h)
● Introduction to AI Algorithms: Foundations, goal, types, applications,
and problems solved using classification, regression, and clustering
● Introduction to Machine learning
Chapter 2: Search Algorithms for problem solving (12h)
● Uninformed search methods
● Breadth-first search
● Uniform-cost search
● Depth-first search
● Iterative deepening search
● Bidirectional search
Informed search methods
● Generic best-first search
● A* search
● Recursive best-first search (RBFS)
● Simplified memory-bounded A* (SMA*)
Chapter 3: Supervised learning (9 h)
● Introduction and definitions
● Biological neural and artificial neural
● Deterministic Perceptron
● Probabilistic Perceptron
● Multi-Layer Perceptron and error backpropagation
● KNN algorithm
● Practical: Introductory example (Linear regression, Gradient
descent)
● Practical: KNN & Decision trees
p. 54
BDC.3.1 Language and communication 3: English for
Business Communication
Module designation BDC.1.2 Language and communication 3: English For Business communication
Semester(s) in which the S3
module is taught
Person responsible for Faycel DHAKHLAOUI
the module
Teaching team Hanen JAYARI, Ahlem BEN CHOUCHANE
Language English
Relation to curriculum Compulsory
p. 55
Content UNIT 1 : PRESENTATION
Lesson 1: Planning
1- Pre-reading : Commenting on pictures
2- Reading : When Incompetence is tantamount to Fraud
3- Vocabulary : Introducing a presentation
4- Speaking : Making an introduction
Lesson 2 : Visual Aids
1- Speaking : Using visual aids : Advantages and warnings
2- Vocabulary : Describing trends
3- Speaking : Describing a graph
4- Vocabulary
Lesson 3 : The midddle of a Presentation
1- Pre-reading : The relationship with the audience
2- Reading : Text ‘ You’re lost if you lose your audience’
3- Writing : Sequencing : linking ideas
4- Speaking : Listing Information
Lesson 4 : The End of a Presentation
1- Pre-reading : The conclusion
2- Reading : Open for questions : The silent disaster
3- Speaking : Role play : Question and discussion
UNIT TWO : APPLYING FOR A JOB
Lesson 5 : Employment practices
1- Pre-reading : Discussion: Looks for interviews
2- Reading : LOOKS : Appearance Counts With Many Managers
3- Vocabulary : Matching exercise
4- Grammar : Present simple and present continuous
Lesson 6 : Recruitment techniques
1- Pre-reading : Selecting a job
2- Reading : Recruitments across the Channel
3- Speaking : How to choose one’s job ?
Lesson 7 : Applying for a job
1- Grammar : Tenses : present simple and present continuous
2- Reading : ‘Prefer a camping trip to a cocktail party’
3- Writing : Writing a letter of application
Lesson 8 : Sitting for a job interview
Language: word formation
Reading: Job Interviews: Tips to remember
Speaking: Practice: sitting for a job interview
Unit 3: Successful businesses
Lesson 9 : Successful meetings
Vocabulary : The language of meetings
Speaking : Group work : Holding a meeting
Lesson 10: Outsourcing
Vocabulary: Know-how transfer
Reading: India’s Outsourcing Woes
Language: Tenses review
Lesson 11: Successful Careers
Reading: Is there a Gene for Business
Language: word formation
Writing: the argumentative essay
p. 56
Reading list Cotton, D, Fley, D and Kent, S (2006). Market Leader. Essex: Pearson Education
Limited.
Eaton, D, Nanson, A and Yening, H (1999). Advanced Master Class. Oxford:
Oxford University Press.
Richards, J (1996). Changes: English for International Communication.
Cambridge: Cambridge University Press.
Sweeny, S (1997). English for Business Communication. Cambridge: Cambridge
University Press.
p. 57
Semester 4 Modules:
code Title Credits
p. 58
MAT.4.1 Stochastic processes with R
Module designation MAT.4.1 Stochastic Processes with R
Semester(s) in which the Sem:4
module is taught
Person responsible for the Fethi Kadhi
module
Language French
Relation to curriculum Compulsory
p. 59
Content 1. Generalities
1. Definition and examples
2. Classification
3. Stationarity
4. Memoryless property
2. Poisson Processes
1. Definition
2. Characterisations
3. Decomposition
4. Superposition
3. Discrete Time Markov Chain
1. Definition and examples
2. Stochastic matrices
3. Classification of states
4. Ergodic theorem in DTMC
4. Continuous Time Markov Chain
1. Definition and examples
2. Instantaneous distribution
3. Stationary distribution
4. birth and death processes
5. Brownian motion
1. Definition
2. Brownian motion with drift
3. Geometric Brownian motion
4. BM as Gaussian processes
6. Stochastic Integrals
1. Ito integrals
2. Stochastic differential equations
Examination forms 35%Mid-term quiz + 65% Written final exam
Study and examination 10/20
requirements
Reading list R.P. Dobrow, Introduction to stochastic processes with R, John Wiley \& Sons,
2016.
U. Hassler, Stochastic Processes and Calculus: An Elementary Introduction
with Applications, Springer, 2015.
G. Leszek and M. Vidyadhar, Stochastic analysis for Gaussian random
processes and fields : with applications, CRC Press, 2015.
D.Pierre; J.Jacques and M. Raimondo, Basic Stochastic Processes, Wiley-ISTE,
2015.
S. Ross, Introduction to Probability Models, 11th edition, Academic Press,
2014.
I. Florescu, Probability and Stochastic Processes, Wiley, 2014.
M. Lefebvre, Applied Stochastic Processes, Springer-Verlag, New York
Olivier François, Notes de cours de Processus Aléatoires, ensimag, 2004-
2005.
B. Baynat, Théorie des files d'attente, Hermess Science Europe, 2000.
p. 60
Relation to curriculum Compulsory
p. 61
Content General Introduction
- Definition of an embedded system
- Design constraints of embedded systems
- Embedded system design
- Software design
- Hardware design
- Mixed design
Chapter I: FPGA Characteristics and Programming
Section I: FPGA
- Definition of an FPGA
- Components of an FPGA
- Design flow for FPGA
Section II: VHDL hardware modelling language
- VHDL Syntax
- VHDL hardware description
Chapter II: CASE Study: The STM32 family of microcontrollers
Section I : Study of the processor characteristics (for example Cortex
M3 (CM3)
● Memory alignment
● Bit Banding
● Interrupt management
Section II: Microcontrollers Programming:
● Software stack model such as CMSIS model
● Programming Characteristics (libraries and dependencies
Chapter IV : Programming of peripherals
Section I: GPIO
- Study of the characteristics of GPIOs
- Labs
Section II: External Interruption (EXTI Example)
- Study of the characteristics of the EXTI
- Labs
Section III: Systick Timer
- Study of the characteristics of the Systick
- Labs
Section IV: ADC
- Study of the characteristics of the ADC
- Labs
Section V: UART
- Study of the characteristics of the UART
- Labs
Examination forms 35% continuous evaluation + 65% written exam
Study and examination 10/20
requirements
Reading list ● Peter J. Ashende,Jim Lewis. The Designer's Guide to VHDL. Third
edition, Elseiver, 2008.
● Alexandre Schmid, Raphael Holzer. Microcontrôleurs Théorie et
pratique de l'AVR. Presses Polytechniques et Universitaires Romandes
(PPUR), 2022, 546 pages
● STM, Product Datasheet STM32F100x468B-B Low & medium-density
value line, advanced ARM®-based 32-bit MCU with 16 to 128 KB Flash,
12 timers, ADC, DAC & 8 comm interfaces, november2016
(https://www.st.com/en/microcontrollers-
microprocessors/stm32f100rb.html. (visited 10-06-2022)
● https://www.st.com/en/microcontrollers-microprocessors/stm32-32-
bit-arm-cortex-mcus.html. (visited 10-06-2022)
p. 62
NET.4.1 Computer networks
Module designation NET.4.1
Semester(s) in which the S4
module is taught
Person responsible for the Ahmed Elleuch
module
Teachers team Chiraz Houaidia, Nesrine Chakchouk, Naouel Grati, Mohamed Houcine
Hdhili, Hanen Idoudi
Language French
Relation to curriculum Compulsory
Teaching methods Lesson
Workload (incl. contact (Estimated) Total workload:60h
hours, self-study hours) Contact hours (30h lesson, 15h exercises)
Private study including examination preparation, specified in hours: 15h
Credit points 3 ECTS
Required and NET.3.1 Local Area Networks
recommended NET.2.1 Digital Transmission
prerequisites for joining the
module
Module Understand the basic concepts and fundamentals of modern computer
objectives/intended networks with a focus on the TCP/IP protocol suite. The traditional modular
OSI layered approach is used only as starting point reference and not the
learning outcomes actual organizational model. At the end of the course, the students will :
● Be familiar with underlying network technologies, their physical and
data link layers, packet, cell and circuit switching and how it is possible
to interconnect multiple networks to build the Internet.
● Show clear understanding of the network and transport layer protocols
and how they work together to provide a cumulative reliable end-to-end
communication service over an unreliable network.
● Understand how different protocol elements like error
detection/correction, data fragmentation, flow and congestion control
may be achieved at different layers and not necessarily as planned
previously in the OSI model.
● Understand routing principles and algorithms.
● Be prepared for advanced courses in computer networking.
Outcomes:
C1. To master in depth the basic sciences, in particular computer science and
mathematics, essential for the design and production of computer
applications.
C13. Become aware of the need to constantly update your knowledge and, if
necessary, to undertake additional studies.
p. 63
Content PART ONE – The Basics of Computer Networking
1. Introductory Concepts
Classification
Taxonomy
Network Topologies
Network Models
OSI Model
Internet Model
0. Wide area Networks
Switching techniques: Circuit Switching, Packet
Switching, Virtual Circuit and Datagram
Example Networks and their Reference Model
Building an Internetwork
0. Network performance
Performance Measurements
Bandwidth Delay Product
Application Performance Needs
PART TWO – The Network Access Layer
1. The Physical Layer
Analog and Digital Transmission
Data Encoding Techniques
Error Detection and Correction
Parallel and Serial Transmission
Synchronous and Asynchronous Transmission
Digital Multiplexing Hierarchies
Using Telephone for Data Transmission
0. The Data Link Layer
Frame Structure
Flow and Error Control
WAN Data Link Protocols: PPP, Frame relay and ATM
PART THREE – The Network Layer
1. Internetworking
Internetworking Concept and Principles
Internetworking with IP
Datagram protocols (IPv4, IPv6)
Addressing
Address Translation
Error Reporting (ICMP)
Fragmentation
0. Routing
Interior Routing Protocols: Distance Vector Routing (RIP)
and Link State Routing (OSPF)
Inter-domain Routing (BGP)
PART FOUR – The Transport Layer
1. TCP and UDP Services
Client/Server Paradigm
Connectionless and Connection-Oriented Service
Reliable and Unreliable Services
TCP and UDP port Addressing
0. End-to-end protocols
UDP Header
TCP Header
TCP Connection Establishment and Termination
TCP Flow Control
TCP Congestion Control
TCP Timeout and Retransmission
TCP Timers
Examination forms 35% continuous assessment (tests and mid-term exam) + 65% written exam
Study and examination 10/20
requirements
p. 64
Reading list ● Data and Computer Communications, 10th Edition, William Stallings,
Pearson Education.
● Internetworking with TCP/IP Principles, Protocols and Architectures, 5th
Edition, Douglas Comer, Pearson Education.
● Computer Networks, 5th Edition, Andrew Tanenbaum, Pearson
Education.
Knowledge:
● Design models with the B method
● Refining models
p. 65
● Proof obligation calculus
● Specifying properties with linear and tree temporal logics
● Using model checking technique for the verification
●
Competencies
C1. Identification of problem complexity,
C2. Modeling and formal specification of algorithms, programs, systems and
required properties.
C3. verification with theorem proving and model checking,
Content Lesson I (06h). Introduction to formal specification and verification
● Pelinimay : Formal systems, automata and model theory, dynamic
Semantics
● Specification and Formal Verifcaton
● Theorem proving and Model checking
● Why and how we use formel methods in software development
● Case study
● Introduction to behavior (automatae et execution tree), invariant
and proof
● Required properties
Lesson 2 (12h) Formal development in B AMN (abstract machine
Notation)
● Abstract machine, static, dynamic parts and invariant ;
● Specification of Invariant (required safety or liveness property);
● Proof obligation;
● Generalized substitution ;
● Proof of coherence (Atelier B & B4free);
● Listes et les sequences.
Lesson 3 (3h) The event B
● The event B Model;
● Events modeling ;
● Invariant specification ;
● Proof of coherence in event B ;
● Applications : Time out and et Packet Sorter.
Lesson 4 (6h) Refinement process
● Raffinement of preconditions, events and postconditions ;
● Refinement Invariant ;
● Proof of refinement ;
● Case study with the tool B4free ;
● Implementation.
Lesson 5 (3h) Temporal logic and model checking
● Behavior modeling and temporal logic ;
● The Kripke Structure ;
● Execution paths (tree and properties over states) ;
● Safety, liveness and fairness properties ;
● Exemples of logic for the specification of required properties ;
● Vérification of temporal formulae over a Kripke structure.
Lesson 6 (6h) The Propositional Linear Temporal Logic PLTL and the
Model Checker SPIN
● Linear behavior modeling ;
● Temporal operators and PLTL syntax
● The Buchi automaton for the et specification of temporal
properties ;
● The semantic of PLTL ;
● Composition of Automata for the verification;
● Verification with SPIN - Case study.
Lesson 7 (8h) The Computation Tree Logic CTL and the model checker
NuSMV
● Exemple of model and properties specification in CTL ;
● Path quantifiers and the syntax of CTL ;
● The semantic of CTL ;
● The Fixed Point Theorem ;
p. 66
● Satisfiability of a CTL formula over a state ;
● Verification of CTL formulae ;
● The symbolic model checker NuSMV ;
p. 67
Module objectives/intended Students Have a general overview of software architecture and
learning outcomes architectural paradigms
Students understand the different types of architecture and the
profession of architect
Students have an overview of the main architectural styles
Students use and apply some architectural styles and patterns
Students learn how to evaluate an architecture
Students learn how to document an architecture
Students know how to Defend and criticize the choices made when
designing an architecture
Students learn how to justify the choice of an architecture for the
realization of software, taking into account its functional and non-
functional requirements
Students learn how to present the model of an architecture using UML
diagrams
p. 68
Content Preamble
− History
− Software Quality Criteria in games
− Reminder (UML diagrams for software architectures)
Chapter 1. Introduction to Software Architectures
1. Positioning of the software architecture
2. Key concepts & typology
3. Principles of software architectures
4. Paradigms of software architectures
5. Usefulness of software architectures
6. The profession of software architect
Chapter 2. Architectural Styles
1. Definitions of an architectural style
2. Architectural Style Vs Design Pattern
3. Typology of architectural styles
Chapter 3. Aspect-Oriented Programming
1. Problem and solution
2. Principles
3. Aspects
4. Weaving
5. Lab 1 with the AJGT plug-in
Chapter 4. Data-centric 2-tier approach
Part 1. 2-tier architectures
− (Client/Server, Peer-to-Peer)
− Practical work 2: Database + JDBC (java client + DBMS + biblio.jar)
Part 2. Multi-layer architectures
− TP3: logical distribution in 2 layers (Graphic+Logic)
− TP4: MVC
Chapter 5. Managing persistence
1. Persistence
2. ORM
3. Architecture with persistence
4. The Hibernate Framework
5. TP5: Class-Table Mapping (the JBoss server)
6. TP6: Mapping Association-link (one-to-many)
7. TP7: Heritage
Chapter 6. Documentation of software architectures
1. Architecture Description Languages (ADL)
2. Types of LDAs
3. Examples of ADLs
3.1. Wright
3.2. Darwin
Chapter 7. Component-Based Architecture
1. The component
2. Component-based architecture
3. Java Beans: TP7
Chapter 8. Micro-services architecture and containerization
1. Monolithic architecture vs micro-services architecture
2. Containerization
3. The DEVOPS approach
4. TP8: Jenkins + Docker
Examination forms 35% continuous assessment (project and mid-term exam) + 65%
written exam
Study and examination 10/20
requirements
p. 69
Reading list − Architecture logicielle, Concevoir des applications simples,
sûres et adaptables, Jacques PRINTZ, 3éme édition, 495 pages,
Dunod, Paris, 2012.
− Architecture logicielle : pour une approche
organisationnelle, fonctionnelle et technique, Thomas BAILET,
365 pages, édition ENI, 2012.
− Software architecture in practice, Len BASS, Paul
CLEMENTS et Rick KAZMAN, 3éme édition, 563 pages, Addison-
Wesley, 2012.
− UML 2 Analyse et Conception, Mise en œuvre guidée avec
études de cas, Joseph GABAY et David GABAY, 242 pages, Dunod,
Paris, 2008.
p. 70
Content Part I : Introduction and risk assessment and evaluation
Lesson 1 (6H)
● Definitions and terminology
● Risk assessment (group activity using a case study)
Lesson 2 (3H)
● Classification of attacks (brainstorming using
collaborative mind mapping)
Lab 1 (6H)
● Basic usage of a network sniffer (passive attacks)
● Test of several network attacks using GNS3
● Test of several system attacks using Webgoat
Part II : Cryptography and cryptanalysis
Lesson 3 (6H)
● Symmetric and asymmetric cryptography
● Key management
Lesson 4 (3H)
● Cryptanalysis : Introduction and classification
● Example 1 : Substitution cipher
● Example 2 : RSA
Lab 2 (6H)
● Cryptography under openssl
● Study of TLS and security of an application layer protocol
Part III : Authentication and access control
Lesson 5 (4.5H)
● Authentication techniques : classification and analysis
● DAC, MAC (Bell Lapadula) and RBAC
● Protocols : Kerberos, RADIUS and TACACS+
Lab 3 (3H)
● Kerberos authentication
● OpenOTP authentication
Part IV : Network security
Lesson 6 (4.5H)
● Firewalls, DMZ, IDS, IPS
● Network scanning
● Vulnerability scanners
Lab 4 (3H)
● Vulnerability scanning :nessus, acunetix, W3af, nmap…
● Introduction to exploits with metasploit
Examination forms 50% Continuous assessment + 50% Written exam
Study and examination 10/20
requirements
Reading list ● Alfred Menezes, Paul van Oorschot et Scott Vanstone,
Handbook of Applied Cryptography, Fifth Edition, CRC
Press, 2001
● Mark Stamp and Richard M. Low, Applied cryptanalysis :
breaking ciphers in the real world, Wiley, 2015
● Alan G. Konheim, Computer Security and Cryptography,
Wiley-Interscience, 2007
p. 71
Language French
Relation to curriculum Compulsory
Teaching methods Lesson
Workload (incl. contact Total workload: 65h
hours, self-study hours) Contact hours : 45h (30h lessons, 15h exercises)
Private study: 20h.
Credit points 3ECTS
Required and The course requires knowledge of basic financial mathematics,statistics,
recommended econometrics.
prerequisites for joining
the module
Module This course introduces capital markets in general and financial markets in
objectives/intended particular. Its main objective is to enable students to master the fundamentals of
learning outcomes portfolio management.
In addition, students will gradually become familiar with the terminology of the
financial world. The course allows them to acquire an in-depth knowledge of
financial assets ranging from classic products (stocks and bonds) to the most
sophisticated (options, futures, complex option strategies, etc.). Particular emphasis
is placed on the valuation of the various products presented.
outcomes:
C11. Adapt your communication according to the audience (specialists or
neophytes) or the context in which the function is performed (National or
international) by mastering at least 3 languages.
C12. Develop leadership and entrepreneurial skills and the ability to innovate,
particularly through socio-cultural projects.
C13. Become aware of the need to constantly update your knowledge and, if
necessary, to undertake additional studies.
p. 72
Content
Chapter 0 - General Information on Capital Markets
1) Money market and financial market
2) Financial market securities (stocks and bonds)
3) Derivative markets
Chapter 1-Fundamental Principles of Portfolio Diversification
1) Profitability
2) Risk
3) Diversification and the portfolio concept (profitability, risk, covariance)
4) Effect of diversification on risk reduction (perfect correlation and imperfect
correlation)
5) The minimum variance portfolio.
Chapter 2- The Capital Asset Pricing Model: CAPM
1) Assumptions
2) Mathematical derivation
3) The relationship between SML and CML
4) Return on risk
5) Equilibrium price (undervaluation and overvaluation)
Chapter 3-Elements of bond management
1) Characteristics of conventional bonds (face value, face rate, maturity, issue
premium, redemption premium, coupon, accrued coupon, amortization, etc.)
2) Actuarial yield of a bond (calculation on coupon dates and intermediate dates)
3) Coupon Pricing (CPC)
4) Duration
5) Sensitivity (synthesis of the two effects coupon and maturity)
6) Convexity
Chapter 4 - Derivative Markets
1) Futures and Forwards
2) Basic option strategies (calls and puts)
3) Determinants of option prices
4) Intrinsic value and time value of an option
5) Some complex option strategies (Straddle, Strangle, Butterfly...)
6) Convertible bonds (operation and valuation by the binomial model)
p. 73
Workload (incl. contact Total workload: 60h
hours, self-study hours) (20h) contact hours with the supervisor
40h Self-study.
Credit points 3ECTS
Required and recommended Depending on the theme of the project, can cover all school modules.
prerequisites for joining the
module
Module objectives/intended Students learn to work in a group (pair or trinomial) on a project resulting
learning outcomes from a challenging problem, which includes: study of the bibliography, a
phase of modelling the problem (analysis), design of the solution,
teamwork with interaction with the supervising teacher.
Students know how to use management project tools (such as Trello) and
Git to develop in parallel their project
In terms of competences:
C1. To master in depth the basic sciences, in particular computer science
and mathematics, essential for the design and production of computer
applications.
C2. Set up a technology watch system to select the relevant tools and
methodologies in the design, production or maintenance of an Information
System (IS).
C3. Analyze complex IS architectures considering non-technical constraints
such as societal, health and safety, environmental or economic constraints.
C4. Identify, formulate and solve complex or incompletely defined IT
problems with the objective of ensuring maximum availability for users
C5. Specify an information system in all its dimensions: software, hardware
and architecture using the state-of-the-art available technologies and
taking into account the company's strategic objectives
C6. Assess the vulnerability of an IS and implement solutions to protect
applications and data.
C7. Identify, locate and collect all the data necessary for the research and
development of new software or new IS architectures.
C8. Master good practices in terms of software development as well as
applicable standards and regulations.
C9. Make complex decisions based on incomplete or limited information.
C10. Lead an IT project by mastering people management, risk analysis,
budget compliance and change management (IS implementation).
C11. Adapt your communication according to the audience (specialists or
neophytes) or the context in which the function is performed (National or
international) by mastering at least 3 languages.
C12. Develop leadership and entrepreneurial skills and the ability to
innovate, particularly through socio-cultural projects.
C13. Become aware of the need to constantly update your knowledge and,
if necessary, to undertake additional studies.
Content
● Redaction of problem specifications
● Problem analysis
● Design
● Achievement
● Tests and experimentation
● Writing a report
● Defense in front of an academic jury
p. 74
BDC.4.1 introduction to Entrepreneurship and innovation
Module designation BDC.4.1 Introduction to Entrepreneurship and innovation
Semester(s) in which the S4
module is taught
Person responsible for the BEN SAÏD Wissem, GUERMEZI Houda, MOKRANI Fatma
module
Language French
Relation to curriculum Compulsory
Teaching methods Lesson, supervised work
Workload (incl. contact hours, Total workload: 45h
self-study hours) (25h) contact hours with the supervisor
10h cases studies.
Credit points 3ECTS /
Required and recommended Finance, marketing and HRM function, statistics, probability, graph
prerequisites for joining the theory
module
Module objectives/intended C1.Master the legal and ethical context of inter and/or intra-company
learning outcomes charters for the proper use of ICT at work.
C2.Apply legislation on the protection of digital works, databases,
software licenses and know the risks incurred in the event of non-
compliance.
C3.Estimate accidental and intentional risks so that the necessary
measures can be taken.
C4.Be part of a logic of monitoring and protection of company
information with reference to concepts of economic intelligence
C5.Make information usable in a business context: manage, organize,
distribute and store it.
C6.Master supply management.
C7.Master the different inventory management
C8.Master the different stages of business creation
C9.Acquire ideation skills.
C10.master prototyping techniques
C11.Master the strategic analysis of a new project
C12.Develop the business plan
C13.Master the legal procedure for setting up a business
p. 75
Content At the end of the module, the student will have knowledge of the internal
functioning of the company and the different stages of creation, which
allows him both to build his own project and to manage it.
p. 76
BDC.4.2 Language and communication 4: Communication
Techniques
Module designation BDC.4.2 LANGUAGE AND COMMUNICATION 4: Communication
techniques
Semester(s) in which the S4
module is taught
Person responsible for the Sabry NEJI, emeritus associate professor in french language and
module (coordinator) literature at Manouba University.
Language French
Relation to curriculum Compulsory
p. 77
Content . Chapter I
Activity Assigned
sessions
Course presentation and distribution of works 2 sessions
II. Chapter II
Activity Assigned sessions
Roleplays 6 sessions
p. 79
Semester 5: Common Modules
p. 80
BDC.5.1 Complex Project Management
Module designation Complex Project Management
Semester(s) in which the 1stSemester
module is taught
Person responsible for the Houda HAKIM GUERMAZI.
module Team: Fatma MOKRANI
Language French
Relation to curriculum Compulsory
p. 81
Reading list Stéphane Badreau (2021) Gestion de projet agile De la
définition du besoin à la livraison d'un produit de qualité,
edition ENI
Jérôme Maes, François Debois (2021) La boîte à outils du
chef de projet , Dunod (3eme edition) 208 pPMbooks A
Guide to the Project Management Body of Knowledge
(2013) (PMBOK® Guide) – Fifth Edition (2013) Project
Management Institute, Inc. All rights reserved.
Vincent Drecq Pratiques de management de projet 50
outils et techniques pour réussir vos projets, ( 2020) 3eme
edition Dunod
Gregory Horine (2017) Project Management Absolute
Beginner’s Guide, 4th edition
Hugues Marchat (2009) La gestion de projet par étapes
Véronique messager rota, Gestion de projet Vers les
méthodes agiles, Eyrolles
Terry Schmidt,( 2009) Strategic Project Management
Made Simple: Practical Tools for Leaders and Teams
Yvon MOUGIN (2004) Processus :les outils d’optimisation
de la performance, Éditions d’Organisation,
.
p. 82
Module objectives/intended This course should enable students to:
learning outcomes - Master the fundamental elements of computer law resulting from the
needs of practice.
- Become familiar with the legal environment of IT.
- To be able to protect themselves as creators of software.
- To know the basics of the concept of personal data, to identify the rights
that flow from it and to be aware of the issues.
p. 83
BDC.5.3 Language and communication 5: Preparing for
standardized exams
Module designation BDC.1.2 Language and communication5: Preparing for Standardized exams
Semester(s) in which the S5
module is taught
Person responsible for Faycel DHAKHLAOUI
the module (coordinator)
Teaching team Hanen JAYARI, Ahlem BEN CHOUCHANE
Language English
Relation to curriculum Compulsory
p. 84
Annex 1: IT Framework Competencies
C1. To master in depth the basic sciences, in particular computer science and mathematics, essential
for the design and production of computer applications.
C2. Set up a technology watch system to select the relevant tools and methodologies in the design,
production or maintenance of an Information System (IS).
C3. Analyze complex IS architectures considering non-technical constraints such as societal, health
and safety, environmental or economic constraints.
C4. Identify, formulate and solve complex or incompletely defined IT problems with the objective of
ensuring maximum availability for users.
C5. Specify an information system in all its dimensions: software, hardware and architecture using
the state-of- the-art available technologies and taking into account the company’s strategic
objectives
C6. Assess the vulnerability of an IS and implement solutions to protect applications and data.
C7. Identify, locate and collect all the data necessary for the research and development of new
software or new IS architectures.
C8. Master good practices in terms of software development as well as applicable standards and
regulations.
C10. Lead an IT project by mastering people management, risk analysis, budget compliance and
change management (IS implementation).
C11. Adapt your communication according to the audience (specialists or neophytes) or the context
in which the function is performed (National or international) by mastering at least 3 languages.
C12. Develop leadership and entrepreneurial skills and the ability to innovate, particularly through
socio-cultural projects.
C13. Become aware of the need to constantly update your knowledge and, if necessary, to undertake
additional studies.
p. 1
Tunisian Republic Ministère de l’Enseignement �ﺍﻟﻌﻠ
ﻱ ﻭﺯﺍﺭﺓ ﺍﻟﺘـﻌﻠـ�ﻢ ﺍﻟﻌـﺎﻟـﻲ ﻭﺍﻟﺏﺤﺚ
Ministry of Higher Education and Supérieur et de la recherché
Scientific Research scientifique
National School of Computer Sciences ECOLE NATIONALE DES SCIENCES DE ﺍﻟﻤـﺪﺭﺳـﺔ ﺍﻟﻮﻃﻨ�ـﺔ ﻟﻌﻠـﻮﻡ ﺍﻹﻋﻼﻣ�ﺔ
L'INFORMATIQUE
Module Handbook
Part II :Semester 5 Specilizations courses
October 2022
1
Notations:
- For each module, the assigned code is defined as follows: XXXX.Y.Z, where
o XXXX : 2 to 4 letters referring to the acronyms of the topic or teaching subject as defined in table 1
o Y : refers to the semester number within the three year studies at ENSI, hence the semesters are numbered from 1 to 6
o Z : refers to the number of the module within the topic or unit
AI Artificial Intelligence
AP Algorithmic & Programming
BDC Business Digitalization and Communication
CV Computer Vision
DAT Data
SE Software Engineering
SEC Security
- Example : MAT.1.2 refers to the second module of MATHS which is in the first semester S1
2
Table of contents
Notations: .....................................................................................................................................................2
Semester 5 Modules: Specialization Artificial Intelligence (Intelligence Artificielle – IA -) .............................. 7
AI.5.1 Multi-agent systems ......................................................................................................................8
AI.5.2 Non-Classical Logics .......................................................................................................................8
AI.5.3 Applied Deep Learning .................................................................................................................10
AI.5.4 Natural Language Processing ........................................................................................................ 11
AI.5.5 Robotics and soft computing ........................................................................................................ 13
ISA.5.1 Big Data ................................................................................................................................14
ISA.5.3 Interactive Decision Support Systems ............................................................................................ 16
ISA.5.2 Data mining ................................................................................................................................18
MAT.5.1 Combinatorial Optimization ...................................................................................................... 20
AI.5.6 Knowledge Representation & Reasoning ........................................................................................ 23
ISA.5.6 Text Mining ................................................................................................................................25
ISA.5.5 Recommender systems ................................................................................................................ 29
ISA.5.4 Business Intelligence....................................................................................................................33
AI.5.7 Deep Reinforcement Learning....................................................................................................... 35
ISA.5.7 Distributed databases ..................................................................................................................37
ISA.5.8 Advanced BI................................................................................................................................38
AI.5.10 Semantic web & Linked Data ..................................................................................................... 39
AI.5.8 Affective computing ....................................................................................................................41
AI.5.9 Intelligent transport Systems ........................................................................................................ 44
AI.5.11 AIOT .......................................................................................................................................52
Semester 5 Modules: Specialization Software Engineering (Génie Logiciel – GL -) .................................... 56
SE.5.1 Software Reengineering ...............................................................................................................57
SE.5.2 Software quality & test ................................................................................................................61
SE.5.3 Mobile Development ...................................................................................................................64
SE.5.4 Complex systems engineering ........................................................................................................... 68
SE.5.5 Model driven engineering ............................................................................................................ 70
ISA.5.1 Big Data .....................................................................................................................................73
ISA.5.3 Interactive Decision Support Systems ............................................................................................ 77
ISA.5.7 Distributed databases ..................................................................................................................81
ISA.5.4 Business Intelligence....................................................................................................................82
ISA.5.9 Geographic Information Systems................................................................................................... 85
ISA.5.2 Data mining ................................................................................................................................89
ISA.5.10 Urbanization of information systems ......................................................................................... 93
3
ISA.5.11 Data Engineering .....................................................................................................................96
ISA.5.6 Text Mining .............................................................................................................................. 100
ISA.5.8 Advanced BI.............................................................................................................................. 104
AI.5.3 Applied Deep learning................................................................................................................ 105
AI.5.1 Multi-agent systems .................................................................................................................. 109
DOS.5.1 Cloud computing ................................................................................................................... 110
DOS.5.2 Blockchain ............................................................................................................................ 115
DOS.5.3 IoT .......................................................................................................................................118
Semester 5 Modules: Specialization Data Science & computer Vision (Vision par Ordinateur et Science des données -
DS-CV-) ......................................................................................................................................................122
CV.5.1 Restoration and digital Considerations ......................................................................................... 124
CV.5.2 Shape recognition and geometric invariants ................................................................................. 125
CV.5.3 3D representation: Curves, Shapes and Surfaces ........................................................................... 125
CV.5.4 Discrete Representation of 3D Objects......................................................................................... 126
CV.5.5 Compression techniques for computer vision applications ............................................................. 127
CV.5.6 Mathematical Morphology and medical applications ..................................................................... 128
CV.5.7 Multispectral image Processing ................................................................................................... 129
CV.5.8 Multidimensional signal processing ................................................................................................ 130
CV.5.9 Computer Vision ....................................................................................................................... 131
CV.5. Optimisation and Reinforcement Learning ......................................................................................... 139
AI.5.16 Introduction to Natural Language Processing................................................................................ 140
CV.5.11 Medical Imaging Workshops ................................................................................................... 141
SEC.5.3 Blockchain ................................................................................................................................... 142
DOS.5.3 IoT .......................................................................................................................................143
DOS.5.8 Introduction to cloud computing .................................................................................................. 144
SE.5.3 Mobile development ...................................................................................................................... 146
Semester 5 Modules: Specialization Financial Engineering (Ingénierie pour la Finance - IF-)................... 148
FIN.5.1 International Finance ............................................................................................................. 148
MAT.5.3 Numerical Optimization with R ................................................................................................ 149
FIN.5.2 The Risk Modelling and Dynamic Financial Risk Management ..................................................... 150
FIN.5.3 Bank Management ................................................................................................................. 152
ISA.5.1 Big Data ................................................................................................................................... 155
FIN.5.4 Monte carlo methods and financial model simulation ................................................................ 158
MAT.5.5 Data analysis ......................................................................................................................... 159
MAT.5.4 Statistical Inference with R ...................................................................................................... 160
ISA.5.4 Business intelligence .................................................................................................................. 162
4
AI.5.1 Multi agent systems .................................................................................................................. 164
FIN.5.6 Valuation and financing of companies ...................................................................................... 165
AI.5.12 Introduction to Deep Learning................................................................................................. 167
FIN.5.5 Quantitative Finance .............................................................................................................. 169
DOS.5.2 Blockchain ............................................................................................................................ 171
SE.5.3 Mobile Development ................................................................................................................. 172
ISA.5.7 Distributed data Bases ............................................................................................................... 174
DOS.5.3 IoT .......................................................................................................................................176
Semester 5 Modules: Specialization Embedded Software and Systems (Systèmes et Logiciels embarqués - SLE-) ... 180
AI.5.5 Robotics and soft computing ...................................................................................................... 181
AI.5.12 Introduction to Deep Learning................................................................................................. 184
DOS.5.4 Advanced Architectures and parallel programming models ........................................................ 188
DOS.5.5 Real Time Operating Systems .................................................................................................. 192
DOS.5.6 Distributed Systems and applications ....................................................................................... 196
DOS.5.7 Embedded Linux .................................................................................................................... 200
DOS.5.8 Introduction to cloud computing ............................................................................................. 204
DOS.5.9 Software Development for robotics ......................................................................................... 210
DOS.5.10 Introduction to Digital EcoSystems: from IoT to Cloud computing -DES ....................................... 213
ESDV.5.1 Microcontroller-based systems ............................................................................................... 216
ESDV.5.2 System Integration (VHDL) ...................................................................................................... 220
ESDV.5.3 Real-Time systems design and validation .................................................................................. 224
ESDV.5.4 Cyber-Physical Systems .......................................................................................................... 228
ESDV.5.5 Electronics for embedded systems ........................................................................................... 232
ESDV.5.6 Embedded Interfacing ............................................................................................................ 236
ESDV.5.7 Integration project ................................................................................................................. 239
ESDV.5.8 Microcontroller Project .......................................................................................................... 243
ESDV.5.9 Reconfigurable Architectures .................................................................................................. 248
IAP.5.1 Soft Actuator Control and Applications ..................................................................................... 251
IAP.5.2 Introduction to Programming connected objects ....................................................................... 252
IAP.5.3 Positioning Systems and Applications -PSA................................................................................ 254
SEC.5.1 Diagnosis, safety and reliability of embedded systems ............................................................... 257
SEC.5.2 IoT Security ........................................................................................................................... 259
SEC.5.3 Automotive Architecture and Security ...................................................................................... 262
SEC.5.4 IoT security project ................................................................................................................ 264
ISA.5.12 Introduction to Datamining ..................................................................................................... 267
Semester 5 Modules: Specialization Services, Technologies and Internet of things (ST-IoT) ................... 272
5
ESEP.5.1 Microcontrollers based Systems .............................................................................................. 273
ESEP.5.2 Connected Objects Programming ............................................................................................ 276
ESEP.5.3 Cyber-Physical Systems .......................................................................................................... 277
NET.5.1 Muti-service Cellular Networks................................................................................................ 280
NET.5.2 communication Architectures and protocols for IoT ................................................................... 284
NET.5.3 Networks Management .......................................................................................................... 288
NET.5.4 QoS & Trafic engineering ........................................................................................................ 292
DOS.5.5 Real time operating systems ................................................................................................... 296
DOS.5.6 Distributed systems and applications ....................................................................................... 299
DOS.5.11 Distributed Storage systems .................................................................................................... 303
DOS.5.4 Advanced architectures and parallel programming .................................................................... 305
DOS.5.8 introduction to Cloud computing ............................................................................................. 308
IAP.5.3 Positionning Systems: tecnniques and Applications ................................................................... 314
DOS.5.11 IoT Middelwares & frameworks ............................................................................................... 317
DOS.5.2 Blockchain ............................................................................................................................ 319
AI.5.12 Introduction to Deep Learning................................................................................................. 321
ISA.5.12 Introduction to Datamining ..................................................................................................... 322
ISA.5.1 Big Data ................................................................................................................................... 327
AI.5.5 Robotics & soft computing ......................................................................................................... 330
SEC.5.2 IoT Security ........................................................................................................................... 332
SEC.5.4 IoT security project ................................................................................................................ 335
6
Semester 5 Modules: Specialization Artificial Intelligence
(Intelligence Artificielle – IA -)
Code Title Contact Hours Credits Type
AI.5.1 Multi-agent systems 30 2 Compulsory
AI.5.2 Non-Classical Logics 30 2 Compulsory
AI.5.3 Applied Deep Learning 30 2 Compulsory
AI.5.4 Natural Language Processing 30 2 Compulsory
AI.5.5 Robotics and soft computing 30 2 Compulsory
ISA.5.1 Big Data 30 2 Compulsory
ISA.5.3 Interactive Decision Support Systems 30 2 optional
ISA.5.2 Data mining 30 2 Compulsory
MAT.5.1 Combinatorial Optimization 30 2 optional
MAT.5.2 Category theory and functional programming 30 2 Compulsory
AI.5.6 Knowledge Representation & Reasoning 15 1 Compulsory
ISA.5.6 Text Mining 15 1 Compulsory
ISA.5.5 Recommender systems 30 2 optional
ISA.5.4 Business Intelligence 30 2 optional
AI.5.7 Deep Reinforcement Learning 15 1 optional
ISA.5.7 Distributed data Bases 15 1 optional
ISA.5.8 Advanced BI 15 1 optional
AI.5.10 Semantic web & Linked data 15 1 optional
AI.5.8 Affective computing 15 1 optional
AI.5.9 Intelligent Transport Systems 15 1 optional
DOS.5.8 Introduction to Cloud computing 15 1 Compulsory
DOS.5.2 Blockchain 15 1 Compulsory
AI.5.11 AIOT 15 1 optional
Complementary module1 30
Complementary module2 30
Complementary module3 30
Complementary module4 15
Complementary module5 15
Complementary module6 15
7
AI.5.1 Multi-agent systems
Language French/English
Module objectives/intended learning - Master the concepts of agent and multi-agent systems
outcomes - Study and apply a design methodology for a multi-agent system.
- Learn the development of a multi-agent system
- Explore complementary research questions
Students are able to:
C1. To master in depth the basic sciences, in particular computer science and mathematics,
essential for the design and production of computer applications.
C7. Identify, locate and collect all the data necessary for the research and development of new
software or new IS architectures.
8
Language French
Module objectives/intended learning The objective of this lesson is to introduce the temporal logics used to express and deduce
outcomes system dynamic properties as well as fuzzy logic for approached reasoning.
Content Lesson I (06h). Introduction Theoretical aspects of Logic – Formal proof and logical
deduction
- Formal systems and deduction steps
- Inference rools and theorem proving
Lesson III (09h) . PLTL logic, Buchi models, automata composition and semantic verification
- Buchi automata
- Modeling properties in Buchi
- Automata composition for the verification
9
Reading list References books:
- Manna Z. & Pnueli A., The Temporal Logic of Reactive and Concurrent
Systems: Specification, Springer, 1992.
- Schnoebelen Ph., Vérification de logiciels Techniques et outils du model-
checking, Vuibert, 1999.
- Walper P., Introduction à la Calculabilité, Dunod, 2001.
- Gacogne L., Eléments de logique floue, Hermès-Lavoisier, 1997.
Language French/English
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 40h
Contact hours: 30h
Private study:10h
Module objectives/intended learning outcomes - Students know the basics and the different types of deep learning
- Students use and apply some supervised and unsupervised deep
learning algorithms
10
Content Chapter 0. Machine Learning Basics
1. Machine Learning types
2. Overfitting and Underfitting
3. Hyperparameters and Parameters
4. Estimators, Bias and Variance
5. Gradient-Based Learning
6. Stochastic Gradient Descent
7. Challenges Motivating Deep Learning
Chapter 1. Introduction to deep learning
1. What is deep learning?
2. Machine learning VS deep learning?
3. Artificial neural networks (ANN)
4. Deep neural networks (DNN)
5. Back-Propagation Algorithms
6. Regularization for deep learning
7. Optimization for training deep models
8. Typology
9. Applications
Chapter 2. Recurrent neural networks (RNN)
1. Definition
2. Algorithms
3. LSTM
4. GRU
5. Practical: LSTM with python
Chapter 3. Feed-Forward Neural Network (FFNN)
1. Definition
2. Example: Learning XOR
3. Algorithms
4. MLP
5. CNN
6. Practical: CNN with python
Chapter 4. Autoencoders (AE)
1. Definition
2. Encoders & Decoders
3. Applications of Autoencoders
4. Practical: AE with python
Chapter 5. Deep Generative Models
1. Restricted Boltzmann Machines
2. Deep Belief Networks
3. Deep Boltzmann Machines
4. Convolutional Boltzmann Machines
Chapter 6. Introduction to Federated learning
Reading list Deep Learning, Ian Goodfellow, Yoshua Bengio, Aaron Courville
MIT Press, 2016, 800 pages
Deep Learning with Python, François Chollet, 2017, 384 pages
Language French
11
Teaching methods e.g. lecture, lab works, project
Module objectives/intended learning This course introduces the fundamental concepts and techniques of NLP by presenting the different
outcomes levels of processing and giving a relatively broad overview of the the commonly used algorithms
and tools.
Objectives :
Students will gain an in-depth understanding of the computational properties of natural languages
and the commonly used algorithms for processing linguistic information.
Learning Outcomes:
The students will be able to:
- Understand key concepts from NLP those are used to describe and analyze language
- Understand POS tagging and context free grammar for Natural language
- Understand semantic representation of Englisfh Natural language for processing
- Apply Machine learning /deep learning methods to process texts
Content 1. Introduction
- Overview of course content
- Motivations and challenges of TAL
- Examples of applications
- Levels of analysis (oral and written)
- Types of problems to solve
- Approaches and techniques for NLP
- Presentation of Python toolkit for NLP
2. Morphological analysis
- Presentation of the morphology (flexion, derivation)
- Representation of morphology by lexical lists
- Representation of morphology by finite state automata
- Representation of morphology by automata with transducers
3. Part-Of-Speech (POS) tagging
- Definitions (POS labeling, tag set,...)
- Rule-based taggers (Example: Brill's taggerà
- Probabilistic taggers (NGrams, based on hidden Markov chains)
4. Syntactic analysis and formal grammars
- General presentation of syntactic analysis
- Formal grammar: definition and types
- Context free grammar for NLP
- Syntax analysis with a context free grammar
- Common parsing algorithms (CYK, Earley)
5. Lexical semantics
- General presentation of the semantics
- Types of semantic relationships between words
- Semantic similarity between words based on a thesaurus
- Semantic similarity between words based on context
- Semantic vectors and construction methods (LSA, Word2Vec)
6. Machine Learning (ML) and deep learning (DL) for NLP
- Drawbacks of Statistics methods and linguistic methods
- Why machine learning / deep learning for NLP ?
- Construction of features
- Word embeddings
- Application 1: POS-tagging based en ML
- Application 2: Text classification based en DL
7. Dialog systems and Chatbots
- Rule based chatbots
- Corpus based chatbots
12
- Hybrid architectures
- Frame based dialog agents
- Voice XML
- Evaluating Dialog systems
7. Named Entity recognition (NER)
- Presentation of NER
- Frame based dialog agents
- Evaluating Dialog systems
8. Named Entity Recognition (NER)
- General presentation of NER
- Extraction of NE as sequence labelling based on supervised ML methods
- Extraction of relations based on pattern methods
- Extraction of relations based on semi-supervised methods
- Evaluating NER and relation extraction
Reading list - Natural Language Processing Fundamentals, Dwight Gunning, S. G., USA: Packt
publishing, 2019.
- Speech and Language Processing, Daniel Jurafsky, James Martin, 2020.
- Hand book of Natural Language Processing, Nitin Indurkhya, Fred J. Damerau,
2010.
- Computational Linguistics and Intelligent Text Processing, Alexander Gelbukh,
2008.
13
Content
I. Introduaction to Robotics and Soft computing (1.5 h)
II. Classical commands in robotics (3 h)
- Introduction and definitions
- Position control
- Speed control
- Position and speed control
- Limits of classical methods
III. Fuzzy control (10.5 h)
- Introduction and definitions
- Fuzzy logic operator
- Fuzzy rules
- Inference
- Fuzzy control process
IV. Neural control (9h)
- Introduction and definitions
- Deterministic Perceptron
- Probabilistic Perceptron
- Multi Layer Perceptron and error backpropagation
- Implementation of neural control
V. Path optimization (6h)
- Introduction and definitions
- Genetic algorithm
- Application in robotics
14
Module designation Big Data
Language French
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 45 hours
Contact hours: 30 hours: 20 hours lessons + 10 hours lab works
]
Private study : 15 hours
15
4. BDR vs BD NOSQL
5. Study of BD NOSQL instances
a. Cassandra
b. MongoDB
Chapter V – Big Data Architectures
1. Motivations
2. Lambda architecture
3. Kappa architecture
4. Other architectures
5. Case study
Practical Works
1. Installation and testing of the working environment
2. HDFS
3. MapReduce
4. Pig and Hive
5. Spark
6. HBase
Examination forms 35% continuous evaluation (Lab works, presentations) ; 65% written exam
Language French
16
Workload (incl. contact Total workload: 40h
hours, self-study hours) contact hours: 30h
Self-study: 15h
Reading list 1. Alter, S. (1977). A taxonomy of decision support systems. Sloan Management Review (pre-1986),
19(1), 39.
2. Sprague Jr, R. H. (1980). A framework for the development of decision support systems. MIS
quarterly, 1-26.
3. Marakas, G. M. (2003). Decision support systems in the 21st century (Vol. 134). Upper Saddle
River: Prentice Hall.
4. Marchau, V. A., Walker, W. E., Bloemen, P. J., & Popper, S. W. (2019). Decision making under
deep uncertainty: from theory to practice (p. 405). Springer Nature.
17
ISA.5.2 Data mining
Module designation Data Mining
Language French
Module objectives/intended learning Key question: what learning outcomes should students attain in the module?
outcomes E.g. in terms of:
- Knowledge: Knowing standard data mining methods and techniques such as association
rules, data clustering and classification.
- Skills: Students are able to how apply standard and new techniques on datasets of
realistic sizes using modern data analysis frameworks.
- Competences: Students know new and advanced techniques for emerging applications
(e.g. social network analysis, stream data mining).
C1. Master in depth the basic concepts related to data mining,
C2. Deal with structured dataset, and be able to perform the data preparation tasks and
understand the implications.
C3. Demonstrate and understanding of the alternative knowledge representations such as
rules, decision trees, decision tables, and Bayesian networks
C4. Demonstrate the basic machine learning algorithmic methods that support knowledge
discovery
C5. Be able to discuss alternative data mining implementations and what might be most
appropriate for a given data mining task.
18
Content Chapter 1: Introduction and Motivation
1. Why Data Mining?
2. What is Data Mining?
3. What is NOT Data Mining
4. What kind of data can be mined?
5. What kind of knowledge can be extracted?
6. When to use data mining?
7. Data Mining applications
8. Overview of data mining workflow
9. Data mining Project Methodology
Chapter 2: Data Understanding
1. Data Types
2. Numeric Attributes
3. Categorical Attributes
4. Data exploration
5. Data exploration tools
6. Statistical Measures
7. Basic Graphs
Chapter 3: Data cleaning
1. Goal of data cleaning
2. Common data problems
3. Data problems detection
4. Data cleaning methods
Chapter 4: Feature Engineering
1. Basic concepts
2. Common features transformation
3. Transformation for numeric variables
4. Transformation for categoric variables
5. Python functions and classes
Chapter 5: Feature Selection
1. Basic concepts
2. Features selection approaches
3. Dimensionality Reduction with PCA
4. Dimensionality Reduction with T-SNE
5. Python functions and classes
Chapter 6: Clustering
1. Introduction
2. Partitioning methods
3. Hierarchical methods
4. Density-based methods
5. Grid-based methods
Chapter 6: Learning Algorithms
1. Related concepts
2. Linear Regression
3. Decision Tree
4. Probabilistic approach
5. KNN Algorithm
Examination forms 35% in-class evaluation (project, labs) ; 65% written exam
Reading list 1. Data mining: Concepts and techniques, J. Han, J. Pei, M. Kambe., third
edition, elsevier, ISBN 978-0-12-381479-1, 2012.
2. Data Mining and Machine Learning: Fundamental Concepts and Algorithms,
Second Edition, Mohammed J. Zaki and Wagner Meira, Jr Cambridge
University Press, March 2020. ISBN: 978-1108473989.
3. Apprentissage artificiel, Concepts et algorithmes - De Bayes et Hume au
Deep Learning, Antoine Cornuéjols, Laurent Miclet, Vincent Barra - Collection
Algorithmes, 2021.
19
MAT.5.1 Combinatorial Optimization
Module designation Combinatorial optimization
Language French
Module objectives/intended - Students know that combinatorial optimization consists in solving many complex problems and
learning outcomes finding an optimal solution in a large but finite search space.
- Students know that combinatorial optimization is concerned with the study of efficient algorithms
to solve these problems by efficiently exploring the space of solutions.
- Students know categorizing problems into complexity classes.
- Students are able to model and solve not only polynomial problems, but also NP-complete and NP-
hard problems.
- Students are able to apply exact methods, such as Branch and Bound, as well as approximate
methods such as TS, RS, ACO, GA, etc. in order to solve many practical problems to avoid the
combinatorial explosion and overcome the complexity and find solutions in a reasonable time.
- Student are able to implement algorithms and perform experimentations on benchmark instances.
Competences
C1. To master in depth the basic sciences, in particular computer science and mathematics, essential for
the design and production of computer applications.
C4. Identify, formulate and solve complex or incompletely defined IT problems with the objective of
ensuring maximum availability for users
C9. Make complex decisions based on incomplete or limited information.
C13. Become aware of the need to constantly update your knowledge and, if necessary, to undertake
additional studies.
20
Content Chapter 1: Introduction to combinatorial optimization (4H)
1. Definitions
2. Applications
3. Problem Modeling
4. Examples of combinatorial optimization problems
5. Problem Complexity
Chapter 2: Resolution methods (4H)
1. Categories of resolution methods of CO problems
2. Exact Methods
3. Overview on Branch & Bound
4. Approximate methods: heuristics and metaheuristics
Chapter 3: Constructive methods (4H)
1. Constructive approaches: Greedy algorithms
2. Greedy heuristics on the Knapsack problem
3. Greedy heuristics on scheduling problems
4. Greedy heuristics on the TSP
5. Greedy heuristics on the Bin Packing Problem
6. Advantages and disadvantages of constructive methods
7. Evaluation of the performance of heuristics
Chapter 4: Local search based methods (6H)
1. Scientific history: Development of heuristics
2. Introduction to local search: Fable of the hikers
3. Gradient descent
4. Neighborhoods
5. Simulated Annealing
6. Taboo Search
Chapter 5: Evolutionary approaches (6H)
1. Definitions
2. Choice of a metaheuristic
3. Ant Colony Optimization
4. Genetic algorithms
Chapter 6 : Hybrid approaches (3H)
1. Advantages of hybridization
2. Examples of hybrid approaches
Chapter 7 : Multi-objective optimization (3H)
1. Problem Modeling with MOO
2. Dominance relationship
3. Pareto optimality
4. NSGA-II
5. Quality measures
6. Multi-objective optimization frameworks
Reading list Martello, Silvano; Toth, Paolo (1990), "Bin-packing problem", Knapsack Problems: Algorithms and
Computer Implementations, Chichester, UK: John Wiley and Sons, ISBN 0471924202
Bernhard Korte, Jens Vygen, Jean Fonlupt, Alexandre Skoda « Optimisation combinatoire Theorie et
algorithmes », Collection IRIS, Springer, 2010.
Alexander Schrijver « Combinatorial Optimization Polyhedra and Efficiency », Collection Algorithms and
Combinatorics, 2003
Jerry Swan, Steven Adriaensen, Alexander E.I. Brownlee, Kevin Hammond, Colin G. Johnson, Ahmed
Kheiri, Faustyna Krawiec, J.J. Merelo, Leandro L. Minku, Ender Özcan, Gisele L. Pappa, Pablo García-
Sánchez, Kenneth Sörensen, Stefan Voß, Markus Wagner, David R. White, “Metaheuristics “In the
Large””, European Journal of Operational Research, Volume 297, Issue 2, 2022, Pages 393-406, ISSN
0377-2217,
https://doi.org/10.1016/j.ejor.2021.05.042.
https://www.sciencedirect.com/science/article/pii/S0377221721004707
El-Ghazali Talbi, “Metaheuristics: From Design to Implementation”, Wiley, ISBN: 978-0-470-27858-1
June 2009.
21
MAT.5.2 Category theory and functional programming
Language French
22
Content 1. Categories
1.1 Definition
1.2 Examples
2. Functors and natural transformations
2.1 Definition
2.2 Examples
3. Yoneda lemma.
3.1 Representable functors
3.2 Yoneda lemma
4. Functional programming
4.1 Imperative programming
4.2 Functional programming
5. Hask category
5.1 Hask types
5.2 Hask functions
5.3 Hask functors
6. Hask Monads
6.1 Maybe monad
6.2 List monad
Reading list Leinster, T., Basic Category Theory, Cambridge Studies in Advanced Mathematics, Cambridge press
2014.
Alejandro Serrano Mena, Practical Haskell, Apress, 2022.
23
Module objectives/intended learning In terms of Knowledge:
outcomes One of the objectives of artificial intelligence is to endow computer systems
with intellectual capacities comparable to those of humans to produce
"thinking" machines capable of reasoning. It is a question of dealing with
problems requiring knowledge in a very specific field. This course exposes the
diverse nature of the knowledge acquired, the problems of their representation
in an incomplete, uncertain context, etc., the existing formalisms of
representation and the means of interpretation allowing the implementation of
the reasoning.
In terms of competences:
C1. To master in depth the basic sciences, in particular computer science and
mathematics, essential for the design and production of computer applications.
C2. Set up a technology watch system to select the relevant tools and
methodologies in the design, production, or maintenance of an Information
System (IS).
C4. Identify, formulate, and solve complex or incompletely defined IT problems
with the objective of ensuring maximum availability for users
C9. Make complex decisions based on incomplete or limited information.
Content Chapter 1: Introduction (3h)
- History
- AI approaches
- AI Definitions
- Knowledge Definition
- Knowledge type and nature
Chapter 2: Relational representations (6h)
- Classical logic
- Non-classical logic
- Production rules
Chapter 3: Object representations (6h)
- Semantic networks
- Frames
- Ontologies
- Practical case of biomedical domain
Examination forms 35% continuous assessment + 65% written exam
Study and examination requirements 10/20
Reading list 1. Stuart Russell et Peter Norvig Artificial intelligence a modern
th
approach, 4 USA edition, 2022
2. Avron Barr, Edward A. Feigenbaum. Le manuel de l’Intelligence
Artificielle. Tome I, Eyrolles, 1986.
3. Jean-Louis Laurière. Intelligence Artificielle - Représentation des
Connaissances. Tome II, Eyrolles, 1988.
4. Stuart Russell, Peter Norvig. Intelligence artificielle. 3ème Edition,
Pearson, 2010.
24
ISA.5.6 Text Mining
Module designation Text Mining
Language French/English
25
Module objectives/intended learning Key question: what learning outcomes should students attain in the module?
outcomes At the end of this module, students should:
– Understand the need for Text Mining
– Know the definition of Text Mining
– Know the difference between Text Mining and data mining
– Know the different fields of application and the challenges of Text
Mining
– Understand the process of Text Mining applications
– Design and develop a Text Mining application
26
Content Chapter 1: Introduction
1. Definition and importance of Text Mining
2. Applications of Text Mining
3. Text mining pipeline
4. Challenges
Chapter 2: Text Pre-processing and text feature extraction
1. Importance of Text Data Preprocessing
2. Text Cleaning and Pre-processing techniques
3. Text Cleaning and Pre-processing using Python
4. Feature extraction
a) Feature extraction models (Bag of words, TFIDF, Word2vec, GloVe, FastText, BERT)
b) Feature extraction models using Python
c) Advantages and Limitations of Feature extraction Models
Chapter 3: Text classification
1. Text Classification definition
2. Applications of Text classification
3. Different levels of scope
4. Text Classification Pipeline
a) Dataset Preparation
b) Feature extraction
c) Feature Selection
d) Classification Techniques
e) Evaluation of Text Classifiers
5. Text classification using Python
Chapter 4: Sentiment analysis
1. Sentiment Analysis definition
2. Sentiment analysis applications
3. Different Levels of Sentiment Analysis
4. Supervised Sentiment analysis pipeline
5. Unsupervised Sentiment analysis pipeline
6. Sentiment Analysis Challenges
7. Sentiment analysis using Python
Chapter 5: Topic identification
1. Topic Modelling definition
2. Applications of Topic Modelling
3. Topic modelling algorithms (Latent Dirichlet Allocation, Non-Negative Matrix
Factorization)
4. Topic modelling algorithms using Python
5. Topic modelling evaluation
6. Topic modelling evaluation using Python
27
Examination forms 100% Lab works and project
Reading list [1] KONCHADY, Manu et SANGER, James. Text mining application programming.
Boston: Charles River Media, 2006.
[2] SRIVASTAVA, Ashok N. et SAHAMI, Mehran (ed.). Text mining: Classification,
clustering, and applications. CRC press, 2009.
[3] AGGARWAL, Charu C. et ZHAI, ChengXiang (ed.). Mining text data. Springer Science
& Business Media, 2012.
[4] BERRY, Michael W. et KOGAN, Jacob. Text mining. Applications and Theory. West
Sussex, PO19 8SQ, UK : John Wiley & Sons, 2010.
[5] BENGFORT, Benjamin, BILBRO, Rebecca, et OJEDA, Tony. Applied text analysis with
python: Enabling language-aware data products with machine learning. " O'Reilly
Media, Inc.", 2018.
[6] SARKAR, Dipanjan. Text analytics with Python: a practitioner's guide to natural
language processing. Apress, 2019.
[7] SILAHTAROĞLU, G. Concepts of text mining with Python and real-life exercises.
2019.
[8] ŽIŽKA, Jan, DAŘENA, František, et SVOBODA, Arnošt. Text Mining with Machine
Learning: Principles and Techniques. CRC Press, 2019.
28
ISA.5.5 Recommender systems
Module designation Recommender Systems
Language French
29
Module objectives/intended learning In terms of Knowledge:
outcomes This course introduces the foundations of the recommender systems with a focus on
personalised recommender systems.
Students Have a general overview of
- Personalized user modelling
- Collaborative recommender systems
- Content-based recommender systems
- Evaluation of a recommender systems
- Implementing a collaborative filtering recommender system in python
In terms of competences:
C1. To master in depth the basic sciences, in particular computer science and mathematics,
essential for the design and production of computer applications.
C2. Set up a technology watch system to select the relevant tools and methodologies in the
design, production, or maintenance of an Information System (IS).
C4. Identify, formulate, and solve complex or incompletely defined IT problems with the
objective of ensuring maximum availability for users
C9. Make complex decisions based on incomplete or limited information.
30
Content Chapter 1: Overview of recommender systems (3h)
- Introduction to recommender systems: Foundations, goal, types, applications
- Introduction to Personalized recommender systems
- Introduction to Personalized user modelling
- Personalized Recommendation techniques
o Collaborative filtering
o Content based filtering
Chapter 2: Personalized recommender systems (6h)
- Personalized user modeling
o Data collection for personalized recommendations
o Modeling user profile
- Recommendation
o Recommender systems functionalities (prediction, recommendation)
o Utility function
- Challenges
- Practical: exploring dataset with Python
Chapter 3: Collaborative filtering (15h)
- Memory based approach
- Model-based approach
- User-based collaborative filtering algorithms
- Item-based collaborative filtering algorithms
- Matrix Factorization techniques
- Practical: user-based, item-based and matrix Factorization
algorithms with Python
31
Reading list 1. Collaborative and Social Information Retrieval and Access: Techniques for
Improved User Modeling, Max Chevalier, Christine Julien et Chantal Soulé-
Dupuy, Information science reference, 2009
2. Recommender Systems Handbook, Springer US 2011, e-ISBN 978-0-387-
85820-3 Francesco Ricci · Lior Rokach · Bracha Shapira ·Paul B. Kantor Editors
32
ISA.5.4 Business Intelligence
Language French
Module objectives/intended learning This course refers to technologies, applications and practices of
outcomes heterogeneous data integration, storage, multidimensional analysis, and
visualization to support business decision making.
Thus, the student will be able to propose concrete conceptual and
technological architecture for the integration od heterogenous data in the
professional environment as he will acquire many competencies such as:
- Become able to evaluate the technologies that make up BI
(data Warehousing, OLAP)
- Become able to plan the implementation of a BI
architecture.
33
Content Chapter 1 : Understanding Business intelligence
- The challenge of decision making
- What is business intelligence
- The BI value chain and value
Chapter 2: Data Integration
- Data integration motivation
- ETL Process
- ETL techniques
Chapter 3: Data Storage: Data Warehousing
- What is data warehousing?
- Data Marts and analytical Data
- Organization of DataWarehouse
- Data access
Chapter 4: Multi dimensional Analysis with OLAP
- Definitions
- OLAP vs OLTP
- Operational data stores
- Multi-Dimensions techniques
- OLAP architecture
Chapter 5 : MDX Language
- Problem presentation
- MDX Syntax and Request
34
AI.5.7 Deep Reinforcement Learning
Module designation Deep Reinforcement Learning
Semester(s) in which the module is S5
taught
Person responsible for the module Wided Chaari
(coordinator)
Teaching team Sabrine Krichen (Instadeep)
Language English
Relation to curriculum Optional
C1. To master in depth the basic sciences, in particular computer science and
mathematics, essential for the design and production of computer
applications.
C2. Set up a technology watch system to select the relevant tools and
methodologies in the design, production or maintenance of an Information
System (IS).
C4. Identify, formulate and solve complex or incompletely defined IT problems
with the objective of ensuring maximum availability for users
C9. Make complex decisions based on incomplete or limited information.
Content Introduction to reinforcement learning.
Value based methods in reinforcement learning.
Policy based methods in reinforcement learning.
Reinforcement learning tips and tricks.
Examination forms Deep reinforcement project on GitHub + mini report.
Questions answering session.
Study and examination requirements Implement a converging deep reinforcement learning algorithm on an Open AI
gym environment.
Have a good understanding of the implemented work.
Have an organized GitHub repo of the project.
Write a very clear mini report.
Reading list Reinforcement Learning-An Introduction, a book by Richard Sutton and his
doctoral advisor Andrew Barto.
Reinforcement learning hands-on, a book with tutorials by Maxim lapan.
35
36
ISA.5.7 Distributed databases
Module designation ISA.5.7 Distributed Databases
Language French
Module objectives/intended learning This course will deal with the fundamental issues in large distributed database
outcomes systems which are motivated by the computer networking and distribution of
processors, and control. The theory, design, specification, implementation, and
performance of large systems will be discussed.
C1. To master in depth the basic sciences, in particular
computer science, essential for the
design and production of computer applications,
C2. Set up a technology watch system to select the relevant
tools and methodologies in the design, production or
maintenance of an Information System (IS).
C8. Master good practices in terms of software
development as well as applicable standards and
regulations.
C13. Become aware of the need to constantly update your
knowledge and, if necessary, to undertake additional
37
Content I INTRODUCTION
II. BDR DESIGN AND IMPLEMENTATION
II. TRANSACTION AND COMPETITOR ACCESS
IV. OPTIMIZATION OF DISTRIBUTED QUERIES
Reading list [1] M. Tamer Özsu, Patrick Valduriez , Principles of Distributed Database Systems,
Springer, 2011,846 pages
[2] Saeed K. Rahimi Distributed Database Management Systems, John Wiley &
Sons Inc, 2010
ISA.5.8 Advanced BI
Module designation Advanced Business intelligence
Language French
38
Module objectives/intended learning This course refers to new technologies, applications and practices of Big and
outcomes heterogeneous data integration, storage, multidimensional analysis, and
visualization to support business decision making in a distributed
environment.
Thus, the student will be able to propose concrete conceptual and
technological architecture for the integration of big data in the professional
environment as he will acquire many competencies such as:
- Become able to evaluate the technologies that adapt BI
concept to new data challenges (datalake, real time
datawarehousing, ect)
- Become able to plan the implementation of a Big data
based BI architecture.
39
Language French
40
Examination forms 50% Continues evaluation + 50% Final project
Language French
41
Content
Chapter 1: Introduction
Section I: Importance of emotions
Section2: Emotional Intelligence
Section 3: Affective Computing
42
Examination forms 35% Continues evaluation + 65% Written exam
Reading list [1] Rosalind Picard. Affective Computing. MIT Press, 1997.
[2] P. Salovey, B. Bedell, J. Detweiler, and J. Mayer. Current directions in emotional
intelligence research. In M. Lewis and J. Haviland-Jones, editors, Handbook of
Emotions, page 504–520. Guilford Press, 2000
[3] Johnathan Gratch and Stacy Marsella. Computational models of emotion: Designs and
evaluation. Tutorial ACII’2007, 2007.
[4] Paolo Baggia, Felix Burkhardt, Catherine Pelachaud, Christian Peter, and Enrico
Zovato. Emotion markup language, 2011.
[5] S. Poria, E. Cambria, R. Bajpai & A. Hussain, A review of affective computing: From
unimodal analysis to multimodal fusion, Information Fusion, 37, pp. 98-125,2017.
43
AI.5.9 Intelligent transport Systems
Module designation AI.5.9 Intelligent Transport Systems
Language French
Module objectives/intended learning The objective of the course is to offer students a panorama of modern
outcomes methodologies and technologies for Intelligent Transport Systems (ITS)
through the study of real projects organized by theme.
Following the course, the student will be able to:
- Propose an ITS project using the knowledge acquired in the other training
modules
- Estimate the technological and budgetary resources to be deployed in an
ITS project
- Get an idea of recent trends and national and international ITS programs
44
Content Chapter I: Introduction to ITS
− Brief history
− Objectives of ITS, architecture and orientations
45
DOS.5.8 Introduction to Cloud computing
Module designation Introduction to Cloud Computing
46
Semester(s) in which the module is 5
taught
Teaching team -
Language French
Required and recommended OS.2.1 Introduction to Operating systems and Unix environment
prerequisites for joining the module NET.3.1 Local Networks
NET.4.1 Computer Networks
SE.4.2 Software Architecture
SEC.4.1 Cybersecurity & cryptography
47
Module objectives/intended learning • Introduce cloud computing as the provision of computing
outcomes resources.
• Expose modern systems architectures and software development
kits that, together, provide cloud-computing frameworks.
• Learn about different aspects of the design, development,
provisioning and management of cloud-based applications.
• Gain a sound understanding of cloud-based computing and the
opportunities that it provides for a diverse range of computing
applications.
• Make a special attention to security of cloud-based applications
and the different strategies that are available in these
deployments.
By the end of the course, students are expected to be able to:
• Apply services and architectures offered by virtualisation and cloud
platforms
• Explain how cloud platforms can be used by organisations to
achieve efficiencies in developing, operating and scaling modern
applications
• Propose new ways of modifying, extending or combining existing
methodologies and implementation techniques
• Apply international standards documents and application
programming interface documentation
• Examine the potential for, and practicality of, developing cloud
computing architectures for specific applications.
C2. Set up a technology watch system to select the relevant tools and
methodologies in the design, production or maintenance of an Information
System (IS).
C4. Identify, formulate and solve complex or incompletely defined IT
problems with the objective of ensuring maximum availability for users
C5. Specify an information system in all its dimensions: software, hardware
and architecture using the state-of-the-art available technologies and
taking into account the company's strategic objectives
C6. Assess the vulnerability of an IS and implement solutions to protect
applications and data.
C7. Identify, locate and collect all the data necessary for the research and
development of new software or new IS architectures.
C9. Make complex decisions based on incomplete or limited information.
C10. Lead an IT project by mastering people management, risk analysis,
budget compliance and change management (IS implementation).
48
Content Unit 1 – Cloud Computing: main concepts
• General introduction
• Historical overview
• Cloud characteristics
• Business model
• Advantages and limits
Unit 2 – Data-centres
• Definitions
• Main components
• Green Computing
• Security
• High Availability
Unit 3 – Cloud Services and deployment models
• IaaS (Infrastructure as a Service)
• PaaS (Platform as a Service)
• SaaS (Software as a Service)
• FaaS (Function as a Service)
• Other services
• Public Cloud
• Private Cloud
• Hybrid Cloud
• Community Cloud
• DevOps approach
Unit 4 – Virtualization
• Definitions
• Architectures
• Solutions
• Servers virtualization
• Containers
• Storage virtualization
Unit 5 – AI and Cloud Computing
• Machine learning cloud services
• Cloud AI platforms
Study and examination requirements Student must achieve an overall minimum module mark of 10/20
49
Reading list • Mell, P. & Grance, T. (2011). The NIST Definition of Cloud Computing
(800-145). National Institute of Standards and Technology (NIST)
National Institute of Standards and Technology (NIST) .
• Duncan, C. H. (2017). Cloud computing gateway, cloud computing
hypervisor, and methods, International Conference on Cloud
Computing.
• Hennion, R., Tournier H., Bourgeois E. (2014). Cloud computing :
Décider - Concevoir - Piloter – Améliorer.
• Plouin G. (2014). Cloud Computing, Sécurité, stratégie d'entreprise et
panorama du marché, Collection InfoPro, Dunod.
• Rapport Cigref (2013) Fondamentaux du Cloud Computing : Le point de
vue des Grandes Entreprises.
• Moyer C. M. (2011), Building Applications in the Cloud : Concepts,
Patterns, and Projects, Addison-Wesley.
• Marks, E. A., Lozano B. (2010) Executive’s Guide to Cloud Computing,
Wiley.
• Kshirsgar, Pravin. (2021). Green Computing in Cloud Technology.
Linguistica Antverpiensia.
• Hwang, K. (2017) Cloud Computing for Machine Learning and Cognitive
Applications, The MIT Press.
50
DOS.5.2 Blockchain
Module designation Blockchain
Language French
51
Module objectives/intended Knowledge:
learning outcomes After completing this course, students should be able to:
• Explain blockchain and how it is applied across industries.
• Describe key principles of blockchain technology and the benefits and value that they
bring to enterprises.
• Explain the role of a shared ledger.
• Explain fundamental concepts in Hyperledger Fabric.
• Describe the elements of a business network, the role of channels, and how the
world state is maintained.
• Develop, test, debug, and deploy chaincode with IBM Blockchain Platform Extension
for Visual Studio Code
• Apply concepts of blockchain security, identity and access control, and data privacy
to blockchain solutions.
• Write applications that interact with a blockchain network.
• Describe patterns, best practices, and reference architectures for integration from
enterprise applications to blockchain networks.
Competencies:
Content
Unit 1. Blockchain overview
Unit 2. Introduction to chaincode development
Unit 3. Chaincode query methods
Unit 4. Best practices for writing, testing, and debugging chaincode
Unit 5. Identity and access control
Unit 6. Data privacy
Unit 7. Basics of application development
Unit 8. Blockchain integration and advanced application development
AI.5.11 AIOT
Module designation AIoT
52
Teaching team Dr Mansour Saber
Language French
53
Module objectives/intended learning Key question: what learning outcomes should students attain in the module?
outcomes E.g. in terms of:
- Knowledge: familiarity with the IoT domain and relatives
technologies (protocols, requirements...)
Skills: Able to design an IoT solution linked to the field and able to
use the data to provide added services using AI.
- Competences: Students master the concepts of IoT and are
able to develop systems using the IA and the capabilities of
IoT (sensors and actuators)
54
Content 1- Presentation of the IoT domain: History, evolution and perspectives
2- Impact and Challenges of installing IoT systems to the classic Information
systems (opening, external data, privacy…)
3- IoT and AI what is it and for which added value services
4- AIoT real live examples: Smart Building and Smart Cities as domain
example
5- Deep Learning algorithm examples applied to IoT systems in Energy
Management solution
6- A step by step design system solution for Verticla IoT solution (from
hardware to API and data retreivement).
Study and examination requirements Identify a real life issue to resolve using IoT solution. Define the different
Design Systems Components of the solution. Prensents in details a machine
learning algorithm that answer a required service.
55
Semester 5 Modules: Specialization Software Engineering
(Génie Logiciel – GL -)
56
SE.5.1 Software Reengineering
Module designation Software Reengineering
Language French
57
Module objectives/intended learning This course aims to make the student aware of software reengineering (SR)
outcomes principles. It also aims to acquire the different techniques of SR (in the
different phases of SR)
Thus, the student will be able to propose concrete solutions for
reengineering in the professional environment as he will acquire many
competencies such as:
Become able to apply the different techniques of software reengineering.
Apply reverse engineering and design recovery.
Apply Test driven development approaches.
Master and apply the SOLID principles
Produce useful software documentation.
Model business processes using BPMN.
58
Content Chapter 1 (04H.5): Introduction to Software Reengineering
-Engineering Vs Reengineering
-Reengineering Vs Maintenance
-Reengineering aims
-Reengineering Benefits
-Reengineering principles
-Categories of Reengineering
-Reengineering Problems
Chapter 2(09H): Code Reengineering: Refactoring
-Problem presentation
- Refactoring motivation
- Refactoring techniques
-Code Smells/anti-pattern
-SOLID principles
Chapter 3(04H.5): Data Reengineering
-Problem presentation
-Database Refactoring: database smells/ techniques/ process.
-Database migration.
Chapter 4(07H.5): Business Process Reengineering (BPR)
-Definitions
-Types of business processes
-BPM
- Business process engineering
- RPA
-Workflows
-BPMN
Chapter 5(03H): Information Systems Reengineering
-Problem presentation
-Information system
-ERP
-ERP and BPR
Chapter 6(01H.5): Tools for Software Reengineering
-Static Analysers
-Dashboards
-Converters
-Reverse engineering tools
59
Reading list [1] Ambler, S. W., & Sadalage, P. J. (2006). Refactoring databases:
Evolutionary database design. Pearson Education.
[1]Fowler, M. (2018). Refactoring: improving the design of existing code.
Addison-Wesley Professional.
[2] Martin, R. C. (2000). Design principles and design patterns. Object
Mentor, 1(34), 597.
60
SE.5.2 Software quality & test
Module designation SE.5.2 Software quality & test
Language French/English
61
Module objectives/intended learning - know the quality management process and its key activities
outcomes - be aware of the necessity of culture of quality
- understand the role of standards in quality management
- learn the concept of software metrics and the quality assessment
- master software testing techniques:
- know the different levels of testing software.
- know how to reduce bugs in the software program.
- use and apply evaluation tools
62
Reading list Sommerville, I. (2020). Engineering software products. London: Pearson.
Sommerville, I. (2016). Software Engineering (10th Edition). London: Pearson.
Pressman, R. S. (2011). Software Engineering: a practitioner's approach (7th
Edition).McGraw Hill.
63
SE.5.3 Mobile Development
Language French
64
Module objectives/intended learning Key question: what learning outcomes should students attain in the module?
outcomes Knowledge:
· have a good understanding of the mobile app’s context
· have a basic knowledge of mobile dev frameworks
· have good knowledge of which standards apply to
mobile application and related constraints.
Skills:
C2. Set up a technology watch system to select the relevant
tools and methodologies in the design, production or
maintenance of an Information System (IS).
C3. Analyze complex IS architectures considering non-
technical constraints such as societal, health and safety,
environmental or economic constraints.
65
Content Introduction to mobile mobile app development
Learn the basic principles of mobile app development using a cross-platform
solution.
Project
· Project Proposal: Conceptualize and design your project in the abstract
and write a short proposal that includes the project description,
expected data needs, timeline, and how you expect to complete it.
· Analysis and Planning: The application concept begins to develop at
this point, after which it becomes a real mission. Definition of use cases
and capture of comprehensive functional codes are the first steps in the
assessment and planning strategy.
· UI / UX Design: A user-friendly interface is included in the UI/UX
layout. The goal of the application product is to create a wholly mobile
experience that is intuitive and straightforward to employ
· App Development: Concurrently with the prototype, the foundation
stages of building an app are still essential.
Before you begin writing your codes, make sure you’ve done this:
o Specify the product backlog
o Select a technology package
o Set application’s building goals
A standard mobile application project consists of three major components:
o Back-end/server technology
o API(s)
o The mobile app front-end
66
67
SE.5.4 Complex systems engineering
Module designation SE.5.4 Complex systems engineering
Language French/English
68
Module objectives/intended learning This module aims to provide engineering students with the means to:
outcomes - Become familiar with important examples of complex systems across a variety of
domains (natural, socio-technical, etc.)
- Assimilate key concepts in complex systems (e.g. emergence, self-organization,
distributed control, etc.)
- Describe, understand and analyze complex systems
- Study computer tools for modelling, exploration and construction of complex systems
- Learn Systems of Systems basics
69
Reading list Hiroki Sayama, (2015). Introduction tot he modeling and analysis of complex system.
Open SUNY
Sommerville, I. (2016). Software Engineering (10th Edition). London: Pearson.
Language French
70
Module objectives/intended learning This course aims to:
outcomes - Understand the positioning and principles of Model Driven Engineering (MDE)
among software engineering approaches.
- Detail the model-driven approach MDA (Model Driven Architecture) and OMG
(Object Management Group) standards
- Develop meta-modelling capabilities.
- Master the OCL (Object Constraint Language) constraint expression language
- Study the different types and approaches of model transformations
- Put into practice the knowledge acquired
Content
Chapter I: Introduction to Model driven engineering (MDE)
- Software Engineering: Reminder
- Genesis of the MDE
- Definition of key concepts
- Model transformation
- Approaches of MDE
71
Examination forms 35% Continues evaluation + 65% Written exam
Reading list 1. J. Miller and J. Mukerji, "MDA Guide Version 1.0.1", [On Line]:
http://www.omg.org/cgi-bin/doc?omg/03-06-01.pdf
2. A.G. Kleppe, J Warmer and W. Bast, “MDA Explained: The Model Driven
Architecture: Practice and Promise”. Addison-Wesley, 1st édition, August 2003.
3. X. Blanc, "MDA en action : Ingénierie logicielle guidée par les modèles", vol.1. Paris:
Eyrolles, 2005.
4. J.-M. Favre, J. Estublier, and B.-F. Mireille, "L'ingénierie dirigée par les modèles - Au-
delà du MDA", 1ère édition ed. Paris, France: Hermès - Lavoisier, 2006.
5. J. Bézivin, "Model Driven Engineering: An Emerging Technical Space", in Generative
and Transformational Techniques in Software Engineering, vol.4143, Allemagne,
pp.36-64, 2006.
72
ISA.5.1 Big Data
Module designation Big Data
Language French
Required and recommended Basic knowledge in programming (Python and Java) and relational
prerequisites for joining the module databases
73
Module objectives/intended learning Knowledge: Students:
outcomes -Master the basic building blocks of the Hadoop platform, namely HDFS and
MapReduce, and have an idea of the components of its ecosystem;
-Master the MapReduce approach for problem solving;
-Understand the limits of the relational model and know the different models
of NOSQL databases.
Competences: students are able to:
C4. Identify, formulate, and solve complex or incompletely defined IT
problems with the objective of ensuring maximum availability for users
C7. Identify, locate and collect all the data necessary for the research and
development of new software or new IS architectures.
C8. Master good practices in terms of software development as well as
applicable standards and regulations.
74
Content Chapter I – Introduction to Big Data
1. Motivations
2. Definition
3. The 3Vs and the additional Vs
4. Benefits and challenges
5. Application examples
6. Stages of a Big Data project
7. New professions
8. Related fields
Chapter II – Hadoop: Building Blocks
1. Hadoop presentation
2. Hadoop history
3. Hadoop ecosystem
4. HDFS
5. MapReduce V1
6. MapReduce V2
7. Design Patterns MapReduce
Chapter III - Advanced Processing Tools
1. Data processing types
2. MapReduce review
3. Abstraction languages
a. Pig
b. Hive
4. Apache Spark
Chapter IV – NOSQL Databases
1. DBMS strengths
2. DBMS limits
3. BD NOSQL
4. BDR vs BD NOSQL
5. Study of BD NOSQL instances
a. Cassandra
b. MongoDB
Chapter V – Big Data Architectures
1. Motivations
2. Lambda architecture
3. Kappa architecture
4. Other architectures
5. Case study
Practical Works
1. Installation and testing of the working environment
2. HDFS
3. MapReduce
4. Pig and Hive
5. Spark
6. HBase
75
Examination forms 35% continuous evaluation (Lab works, presentations) ; 65% written exam
76
ISA.5.3 Interactive Decision Support Systems
Module designation Interactive Decision support systems (SIAD)
Language French
77
Module objectives/intended learning In terms of Knowledge:
outcomes This course exposes students to the knowledge and skills needed to use computer software to
solve business problems, particularly to support decision making. It involves the formalization of
a decision problem and its resolution in order to assist decision-makers in their decision-making
process in semi-structured tasks. The decision process is defined by the involvement of several
variables which makes it very complicated and difficult to manage. The objective of this module is
to understand the decision-making process and investigate the different components of a
decision support system as well as the different models (e.g., multi-criteria, under risk or
uncertainty) in order to be able to apply them according to a given situation (e.g., (individual,
group, conflictual decision) as well as to the personality of the decision maker (e.g., optimistic,
pessimistic).
In terms of competences:
C1. To master in depth the basic sciences, in particular computer science and mathematics,
essential for the design and production of computer applications.
C2. Set up a technology watch system to select the relevant tools and methodologies in the
design, production, or maintenance of an Information System (IS).
C4. Identify, formulate, and solve complex or incompletely defined IT problems with the objective
of ensuring maximum availability for users
C9. Make complex decisions based on incomplete or limited information.
78
Content
I. Introduction to decision theory (3 h)
II. What are decision support systems ? (3 h)
- DSS vs Information system
- Decision systems classifications
- Group decision making
- DSS Structures
- DSS Architectures
III. Multi-criteria decision making (6h)
- Pareto-optimality
- Analytical Hierarchical Process (AHP)
- Analytical Network Process (ANP)
IV. Decision making under uncertainty (9 h)
- Introduction and definitions
- Objective vs subjective probability
- Lottery and Utility
- Maximax, Wald, Hurwicz, Laplace, Savage criteria
V. Decision making under risk (9h)
- Introduction and definitions
- Raiffa Decision trees
- Influence diagrams
79
Reading list 1. Alter, S. (1977). A taxonomy of decision support systems. Sloan Management Review
(pre-1986), 19(1), 39.
2. Sprague Jr, R. H. (1980). A framework for the development of decision support
systems. MIS quarterly, 1-26.
3. Marakas, G. M. (2003). Decision support systems in the 21st century (Vol. 134).
Upper Saddle River: Prentice Hall.
4. Marchau, V. A., Walker, W. E., Bloemen, P. J., & Popper, S. W. (2019). Decision
making under deep uncertainty: from theory to practice (p. 405). Springer Nature.
80
ISA.5.7 Distributed databases
Language French
81
Module objectives/intended learning This course will deal with the fundamental issues in large distributed database
outcomes systems which are motivated by the computer networking and distribution of
processors, and control. The theory, design, specification, implementation, and
performance of large systems will be discussed.
C1. To master in depth the basic sciences, in particular
computer science, essential for the
design and production of computer applications,
C2. Set up a technology watch system to select the relevant
tools and methodologies in the design, production or
maintenance of an Information System (IS).
C8. Master good practices in terms of software
development as well as applicable standards and
regulations.
C13. Become aware of the need to constantly update your
knowledge and, if necessary, to undertake additional
Content I INTRODUCTION
II. BDR DESIGN AND IMPLEMENTATION
II. TRANSACTION AND COMPETITOR ACCESS
IV. OPTIMIZATION OF DISTRIBUTED QUERIES
Reading list [1] M. Tamer Özsu, Patrick Valduriez , Principles of Distributed Database Systems,
Springer, 2011,846 pages
[2] Saeed K. Rahimi Distributed Database Management Systems, John Wiley &
Sons Inc, 2010
82
Person responsible for the module Manel BenSassi
(coordinator)
Language French
Module objectives/intended learning This course refers to technologies, applications and practices of
outcomes heterogeneous data integration, storage, multidimensional analysis, and
visualization to support business decision making.
Thus, the student will be able to propose concrete conceptual and
technological architecture for the integration od heterogenous data in the
professional environment as he will acquire many competencies such as:
- Become able to evaluate the technologies that make up BI
(data Warehousing, OLAP)
- Become able to plan the implementation of a BI
architecture.
83
Content Chapter 1 : Understanding Business intelligence
- The challenge of decision making
- What is business intelligence
- The BI value chain and value
Chapter 2: Data Integration
- Data integration motivation
- ETL Process
- ETL techniques
Chapter 3: Data Storage: Data Warehousing
- What is data warehousing?
- Data Marts and analytical Data
- Organization of DataWarehouse
- Data access
Chapter 4: Multi dimensional Analysis with OLAP
- Definitions
- OLAP vs OLTP
- Operational data stores
- Multi-Dimensions techniques
- OLAP architecture
Chapter 5 : MDX Language
- Problem presentation
- MDX Syntax and Request
84
ISA.5.9 Geographic Information Systems
Module designation Geographic Information Systems
Language French
85
Module objectives/intended learning Key question: what learning outcomes should students attain in the module?
outcomes Knowledge:
· have a good understanding of the elements a GIS
consists of has in-depth knowledge of various databases,
especially related to nature management and area
planning
· have good knowledge of different methods of collection,
processing, analysis and presentation of site-based
information
· have good knowledge of GIS software and how these can
be used to solve tasks
· have good knowledge of which standards apply to
geographic information
Skills:
C2. Set up a technology watch system to select the relevant
tools and methodologies in the design, production or
maintenance of an Information System (IS).
C3. Analyze complex IS architectures considering non-
technical constraints such as societal, health and safety,
environmental or economic constraints.
86
Content Chapter 1 – Introduction to GIS Mapping
Explore the world of spatial analysis and cartography with geographic
information systems (GIS)
Chapter 2- Formats, conception et qualité de données SIG
We will go in-depth with common data types (such as raster and vector data),
structures, quality and storage
Chapter 3- Geospatial and Environmental Analysis
Apply your GIS knowledge in this course on geospatial analysis, focusing on
analysis tools, 3D data, working with rasters, projections, and environment
variables.
Chapter 4 -Spécialisation GIS, Mapping, and Spatial Analysis
In this course, you will apply everything you have learned by designing and
then completing your own GIS project. You will plan out your project by
writing a brief proposal that explains what you plan to do and why.
GIS project
· Project Proposal : Conceptualize and design your project in the abstract,
and write a short proposal that includes the project description,
expected data needs, timeline, and how you expect to complete it.
· Workflow Design : Develop the analysis workflow for your project,
which will typically involve creating at least one core algorithm for
processing your data. The model need not be complex or complicated,
but it should allow you to analyze spatial data for a new output or to
create a new analytical map of some type.
· Implimentation and data analysis : Obtain and preprocess data, run it
through your models or other workflows in order to get your rough data
products, and begin creating your final map products and/or analysis.
· Web and Print Map Creation: Complete your project by submitting
usable and attractive maps and your data and algorithm.
87
Reading list · Dorman, M. (2020). Introduction to Web Mapping.In CRC
Press. https://doi.org/10.1201/9780429352874
· McHaffie, P., Hwang, S., & Follett, C. (2018). GIS: An
Introduction to Mapping Technologies. In CRC Press.
https://doi.org/10.1201/9780429441028.
· Hassan A. Karimi, B. K. (2020). Geospatial Data Science
Techniques and Applications. In CRC Press.
88
ISA.5.2 Data mining
Module designation Data mining
Language English
89
Module objectives/intended learning Objectives: at the end of the course, student will be able to
outcomes 1. Differentiate between the existing paradigms related to data
mining, namely machine learning, data analytics, data analysis,
Knowledge discovery in databases and data science
2. Understand the basic principles for data cleaning and data
transformation and apply typical methods of data cleaning and
transformation in the context of data mining
3. Understand the basic principles for frequent patterns mining and
apply typical methods for effective data mining
4. Understand the basic principles for classification and apply typical
classification methods for effective data mining
5. Understand the basic principles for clustering and apply typical
clustering methods for effective data mining
6. Understand the advantages of using data visualization in a data
mining context and use data visualization techniques to
graphically represent data and models
90
Content Chapter 1: Introduction to data mining
1. Motivation: Why data mining
2. What is (and what is not) Data mining?
3. On what kind of data and on what kind of knowledge representation?
4. Basic tasks and methods of data mining
5. Examples of applications of data mining
6. Confluence of multiple disciplines
Chapter 2: Data preprocessing
1. Know your data
2. Why data preprocessing?
3. Basic forms of data preprocessing
4. Data cleaning
5. Data integration
6. Data reduction
7. Data transformation and discretization
Chapter 3: Frequent patterns mining and association rules
1. Motivation: what is pattern discovery? Why is it important?
2. Basic concepts related to pattern discovery
3. Frequent itemset mining methods
4. Pattern evaluation methods
Chapter 4: Classification
1. Basic concepts
2. Decision tree-based classification
3. Bayesian classification
4. Model selection and evaluation
Chapter 5: Clustering
1. Basic concepts
2. Partitioning methods
3. Hierarchical methods
4. Density-based methods
5. Grid-based methods
6. Evaluation of clustering
Chapter 6: Data visualization
1. What data visualization is?
2. Pixel-oriented visualization techniques
3. Geometric projection visualization techniques
4. Icon-based visualization techniques
5. Hierarchical visualization techniques
6. Visualizing complex data and relations
91
Examination forms 35% in-class evaluation (project, quizzes, presentations, programming labs
completion, homeworks) ; 65% written exam
Reading list 1. J. Han, J. Pei & M. Kamber: Data mining: Concepts and
techniques, third edition, elsevier, ISBN 978-0-12-381479-1, 2012
2. I. H.Witten, E. Frank & amp; M. A. Hall: Data mining: Practical
machine learning tools and techniques, third edition, elsevier, ISBN
978-0-12-381479-1 , 2012
3. R. Layton: Learning data mining with python: Harness the power of
python to analyze data and create insightful predictive models,
second edition, Packt publishing, 2017
92
ISA.5.10 Urbanization of information systems
Module designation ISA.5.10 Urbanization of information systems
Language French
93
Content Chapter I Enterprise architectures: modeling to decide
Section I: Presentation of the domain of EA
1. Definitions
2. Business modeling
3. Enterprise architecture frameworks (Zachman, TOGAF, Urbanization, …)
Section II: Architecture of the digital enterprise
1. Intangible economy
2. The dematerialized company
3. Decision-making systems,
4. Business risks (solvency, fraud, errors, exceptions, attacks)
94
Reading list [1] IT Governance : How Top Performers Manage IT Decision Rights
for Superior Results, Peter Weill, Jeanne W. Ross , Harvard
Business School Press, mai 2004
[2] It Savvy: What Top Executives Must Know to Go from Pain to Gain,
Peter Weill , Jeanne W. Ross, Harvard Business School Press, juin
2009
[3] Architecture and Patterns for IT Service Management, Resource
Planning, and Governance, Charles T. Betz, Morgan Kaufmann,
Novembre 2011
[4] Urbanisme des SI et gouvernance : Bonnes pratiques de
l'architecture d’entreprise, 2ème édition, Club URBA-EA, Dunod,
2ème édition, avril 2010
[5] L'entreprise à l'ère du digital, Les nouvelles pratiques
collaboratives, Jean-Pierre Bouchez, MÉTHODES & RECHERCHES,
1re Édition, Octobre 2016
95
ISA.5.11 Data Engineering
Module designation Data Engineering
Language French
96
Module objectives/intended the objectives of this course are to guide the learner to:
learning outcomes - Know the different data engineering phases, tools and processes.
- Implement the Data Access Object (DAO) design pattern to access data sources
from a programming language (Persistence)
- Implement the methods, use the languages and the tools allowing the modeling,
the efficient management and the exploitation of highly structured data as well as
the transformation of the models (Modeling and data exchange)
- Know the approaches and metrics to set up and monitor a data quality process
(Data Quality)
Students are able to:
C8. Master good practices in terms of software development as well as applicable standards and
regulations.
C9. Make complex decisions based on incomplete or limited information.
97
Content
Chapter 1. Data Engineering: Key Concepts, Ecosystem and Life Cycle
1. key roles and tasks of a data engineering life cycle.
2. Data typology
3. Types of data repositories
4. Different data platform architectures, data store
Reading list - Ryza, S., U. Laserson, S. Owen and J. Wills : Advanced Analytics with Spark, O'Reilly, 2014.
- A. Rajaraman and J. D. Ullman : Cambridge University Press, New York, NY, USA, 2014.
98
99
ISA.5.6 Text Mining
Module designation Text mining
Language English
100
Module objectives/intended learning Objectives:
outcomes 2. Discuss fundamental problems in text mining research
1. Building blocks of text mining algorithms
2. Wide coverage of many applications (document
classification/clustering, topic modeling, sentiment
analysis)
3. Get hands-on experience using some tools and real data
4. Prepare student for doing cutting-edge research in text mining and
related fields
101
Content Chapter 1: Introduction to text mining
1. What is text mining?
2. Why is text mining important?
3. Text mining and natural language processing
Chapter 2: Document representation
1. Structuring text data
2. Vector space model
3. Bag of words
4. Bag of n-grams
5. Programming lab. 1
Chapter 3: Document categorization
1. Document categorization issues
2. What document categorization is?
3. Supervised classification
4. Case study: Sentiment Analysis
5. Programming lab.2
Chapter 4: Topic modeling
1. Introduction
2. Topic modeling versus clustering
3. Topic modeling methods
4. Topic modeling versus document categorization
Programming Labs.
A python programming lab per chapter using Jupyter notebook to
the available python libraries to explore and prepare text data,
build/train some models and evaluate them and use some
visualization techniques for both data understanding and model
displaying
In-class exercises: working on some programming problems
Homework: preparation for programming problems
Examination forms 100% in-class evaluation (project, quizzes, presentations, programming labs
completions, homeworks)
102
Reading list 1. S. M; Weiss, N. Indurkhya & T. Zhang: Fundamentals of
predictive text mining
2. B. Bengfort, R. Bilbro & T.Ojeda: Applied Text analysis with
python
103
ISA.5.8 Advanced BI
Module designation Advanced Business intelligence
Language French
Module objectives/intended learning This course refers to new technologies, applications and practices of Big and
outcomes heterogeneous data integration, storage, multidimensional analysis, and
visualization to support business decision making in a distributed
environment.
Thus, the student will be able to propose concrete conceptual and
technological architecture for the integration of big data in the professional
environment as he will acquire many competencies such as:
- Become able to evaluate the technologies that adapt BI
concept to new data challenges (datalake, real time
datawarehousing, ect)
- Become able to plan the implementation of a Big data
based BI architecture.
104
Content Chapter 1: Understanding Business intelligence
- The challenge of Business Intelligence
Chapter 2: Data Storage: DataLake and NoSQL datawarehousing
- Limits of classical storage
- Data lake and data Acess
- NoSQL DataBase: document, key-value, column and graph
database
Chapter 3: Data integration and analysis
- ETL vs ELT
- ELT Process and techniques
- OLAP in NoSQL dataBase
Chapter 4: Graph analytics techniques
- Presentation of Neo4j
Chapter 5 : Introduction to recommender system with graph
- Concept presentation
- Evaluation and metrics
105
Language French/English
Module objectives/intended learning - Students know the basics and the different types of deep
outcomes learning
- Students use and apply some supervised and unsupervised
deep learning algorithms
106
Content Chapter 0. Machine Learning Basics
1. Machine Learning types
2. Overfitting and Underfitting
3. Hyperparameters and Parameters
4. Estimators, Bias and Variance
5. Gradient-Based Learning
6. Stochastic Gradient Descent
7. Challenges Motivating Deep Learning
107
Examination forms 35% Continues evaluation + 65% Written exam
Reading list Deep Learning, Ian Goodfellow, Yoshua Bengio, Aaron Courville
MIT Press, 2016, 800 pages
Deep Learning with Python, François Chollet, 2017, 384 pages
108
AI.5.1 Multi-agent systems
Module designation AI.5.1 MultiAgent Systems
Language French/English
Module objectives/intended learning - Master the concepts of agent and multi-agent systems
outcomes - Study and apply a design methodology for a multi-agent system.
- Learn the development of a multi-agent system
- Explore complementary research questions
Students are able to:
C1. To master in depth the basic sciences, in particular computer science and
mathematics, essential for the design and production of computer applications.
C7. Identify, locate and collect all the data necessary for the research and development of
new software or new IS architectures.
109
Content Chapter 1: Introduction to MAS
Chapter 2: Intelligent Agents
Chapter 3: Agents architectures
Chapter 3: Methodologies for developing multi-agent systems
Chapter 4: MAS Development environments & case study
Teaching team -
Language French
110
Teaching methods · Lesson
· Lab work
Required and recommended OS.2.1 Introduction to Operating systems and Unix environment
prerequisites for joining the module NET.3.1 Local Networks
NET.4.1 Computer Networks
SE.4.2 Software Architecture
SEC.4.1 Cybersecurity & cryptography
111
Module objectives/intended learning • Introduce cloud computing as the provision of computing
outcomes resources.
• Expose modern systems architectures and software development
kits that, together, provide cloud-computing frameworks.
• Learn about different aspects of the design, development,
provisioning and management of cloud-based applications.
• Gain a sound understanding of cloud-based computing and the
opportunities that it provides for a diverse range of computing
applications.
• Make a special attention to security of cloud-based applications
and the different strategies that are available in these
deployments.
By the end of the course, students are expected to be able to:
• Apply services and architectures offered by virtualisation and cloud
platforms
• Explain how cloud platforms can be used by organizations to
achieve efficiencies in developing, operating and scaling modern
applications
• Propose new ways of modifying, extending or combining existing
methodologies and implementation techniques
• Apply international standards documents and application
programming interface documentation
• Examine the potential for, and practicality of, developing cloud
computing architectures for specific applications.
C2. Set up a technology watch system to select the relevant tools and
methodologies in the design, production or maintenance of an Information
System (IS).
C4. Identify, formulate and solve complex or incompletely defined IT
problems with the objective of ensuring maximum availability for users
C5. Specify an information system in all its dimensions: software, hardware
and architecture using the state-of-the-art available technologies and
taking into account the company's strategic objectives
C6. Assess the vulnerability of an IS and implement solutions to protect
applications and data.
C7. Identify, locate and collect all the data necessary for the research and
development of new software or new IS architectures.
C9. Make complex decisions based on incomplete or limited information.
C10. Lead an IT project by mastering people management, risk analysis,
budget compliance and change management (IS implementation).
112
Content Unit 1 – Cloud Computing: main concepts
• General introduction
• Historical overview
• Cloud characteristics
• Business model
• Advantages and limits
Unit 2 – Data-centres
• Definitions
• Main components
• Green Computing
• Security
• High Availability
Unit 3 – Cloud Services and deployment models
• IaaS (Infrastructure as a Service)
• PaaS (Platform as a Service)
• SaaS (Software as a Service)
• FaaS (Function as a Service)
• Other services
• Public Cloud
• Private Cloud
• Hybrid Cloud
• Community Cloud
• DevOps approach
Unit 4 – Virtualization
• Definitions
• Architectures
• Solutions
• Servers virtualization
• Containers
• Storage virtualization
Unit 5 – Containerization and Orchestration
Study and examination requirements Student must achieve an overall minimum module mark of 10/20
113
Reading list • Mell, P. & Grance, T. (2011). The NIST Definition of Cloud Computing
(800-145). National Institute of Standards and Technology (NIST)
National Institute of Standards and Technology (NIST) .
• Duncan, C. H. (2017). Cloud computing gateway, cloud computing
hypervisor, and methods, International Conference on Cloud
Computing.
• Hennion, R., Tournier H., Bourgeois E. (2014). Cloud computing :
Décider - Concevoir - Piloter – Améliorer.
• Plouin G. (2014). Cloud Computing, Sécurité, stratégie d'entreprise et
panorama du marché, Collection InfoPro, Dunod.
• Rapport Cigref (2013) Fondamentaux du Cloud Computing : Le point de
vue des Grandes Entreprises.
• Moyer C. M. (2011), Building Applications in the Cloud : Concepts,
Patterns, and Projects, Addison-Wesley.
• Marks, E. A., Lozano B. (2010.) Executive’s Guide to Cloud Computing,
Wiley.
• Kshirsgar, Pravin. (2021). Green Computing in Cloud Technology.
Linguistica Antverpiensia. 2021. 2797 - 2806.
• Hausenblas, M. (). Container Networking: From Docker
to Kubernetes, O’Reilly.
114
DOS.5.2 Blockchain
Module designation Blockchain
Language French
115
Module objectives/intended Knowledge:
learning outcomes After completing this course, students should be able to:
• Explain blockchain and how it is applied across industries.
• Describe key principles of blockchain technology and the benefits and value that they
bring to enterprises.
• Explain the role of a shared ledger.
• Explain fundamental concepts in Hyperledger Fabric.
• Describe the elements of a business network, the role of channels, and how the
world state is maintained.
• Develop, test, debug, and deploy chaincode with IBM Blockchain Platform Extension
for Visual Studio Code
• Apply concepts of blockchain security, identity and access control, and data privacy
to blockchain solutions.
• Write applications that interact with a blockchain network.
• Describe patterns, best practices, and reference architectures for integration from
enterprise applications to blockchain networks.
Competencies:
116
Content
Unit 1. Blockchain overview
Unit 2. Introduction to chaincode development
Unit 3. Chaincode query methods
Unit 4. Best practices for writing, testing, and debugging chaincode
Unit 5. Identity and access control
Unit 6. Data privacy
Unit 7. Basics of application development
Unit 8. Blockchain integration and advanced application development
117
DOS.5.3 IoT
Language French
118
Module objectives/intended learning The purpose of this course is to study the fundamental concepts of Internet of
outcomes Things. At the end of the course, the students will be able:
C1. Understand the basic concepts of Internet of Things (IoT)
C2. Identify the main components of the IoT ecosystem
C3. Explore the major applications in IoT
C4. Understand the architecture and protocol stack proposed for IoT
C5. Set up the specific requirements to design the logic and network
architectures of an IoT application
119
Content Chapter I – Introduction to the Internet of Things
- - The inception of IoT
- - Basic concepts : smart objects, global connectivity,
sensors, etc.
- - IoT Ecosystem
- - IoT challenges
Chapter II – IoT Applications and architectures
- - IoT Applications
- - IoT architecture layers
- - Connectivity models in IoT
Chapter III – Networks technologies in IoT
- IoT networks technologies classification
- Long range communication networks overview
- Short range communication networks overview
Study and examination requirements To acquires at least 10/20 in the oral of the personal project
120
Reading list - Ala Al-Fuqaha, Mohsen Guizani, Mehdi Mohammadi, Mohammed
Aledhari, Moussa Ayyash. Internet of Things: A Survey on Enabling
Technologies, Protocols and Applications. IEEE COMMUNICATIONS
SURVEYS & TUTORIALS. JANUARY 2015
121
Semester 5 Modules: Specialization Data Science & computer Vision (Vision par Ordinateur et Science des données - DS-CV-)
122
Workload (incl. contact hours, self- Total workload: 45h
study hours) Contact hours: 30h
2
Private study:in hours :
15h
Credit points 2ECTS
Required and recommended • IMA.2.1 Image Introduction
prerequisites for joining the module • Basic probability and statistics (conditional and joint distribution,
independence, Bayes rule, random variables, expectation, mean, median, mode,
central limit theorem)
• Basic linear algebra (matrix/vector multiplications, systems of linear
equations, SVD)
• Multivariate calculus (derivative w.r.t. vector and matrix variables)
• Basic Programming Skills (Matlab and Python)
Module objectives/intended learning In this course, fundamental principles and methods of machine learning will be
outcomes introduced, analyzed and practically implemented. An overview of existing
processings and methods, at teaching how to design and train a deep neural
network for a given task, and at providing the theoretical basis to go beyond
the topics directly seen in the course.
Content Chapter I. Basic regression and classification concepts and methods:
1. Linear models,
2. overfitting,
3. linear regression,
4. Ridge regression,
5. logistic regression,
6. k-NN,
7. SVMs and kernel methods
Chapter II. Fundamental concepts
1. cost-functions and optimization,
2. cross-validation and bias-variance trade-off,
3. curse of dimensionality.
Chapter III. Neural Networks
1. Representation power,
2. Backpropagation,
3. activation functions, CNN,
4. regularization,
5. data augmentation,
6. dropout
Chapter IV. Unsupervised learning:
1. k-means clustering,
2. Gaussian mixture models and the EM algorithm.
3. Basics of self-supervised learning
Chapter V. Dimensionality reduction:
1. PCA and matrix factorization,
2. word embeddings
Chapter VI. Advanced methods:
1. Adversarial learning,
2. Generative adversarial networks
Chapter VII. Deep Learning
1. What is deep learning
2. introduction to tensors.
3. Generalized networks,
4. autograd, batch processing,
5. convolutional networks.
6. Deep models for Computer Vision
7. Analysis of deep models.
123
Reading list • BISHOP, Christopher M. et NASRABADI, Nasser M. Pattern recognition and
machine learning. New York : springer, 2006.
• Murphy, Kevin P. Machine learning: a probabilistic perspective. MIT press,
2012.
• Shalev-Shwartz, Shai, and Shai Ben-David. Understanding machine learning:
From theory to algorithms. Cambridge university press, 2014.
• NIELSEN, Michael A. Neural networks and deep learning. San Francisco, CA,
USA : Determination press, 2015.
• HASTIE, T., TIBSHIRANI, R., FRIEDMAN, J. H., et al. The elements of statistical
learning: data mining, inference, and prediction. New York : springer, 2009.
124
Reading list ● GONZALEZ, Rafael C. Digital image processing. Pearson education
india, 2009
Content
Chapter I. Shape representation and description
Chapter II. Shape recognition
Chapter III. Invariant Theory
Chapter IV. Practical works on computers
125
Module objectives/intended This course aims to:
learning outcomes - make a description of 3D curves and 3D surfaces.
- explain the different approaches to representing 3D shapes.
- make an isotropic representation of 3D object surfaces
Content Chapter I - Introduction
a. Introduction
b. Difficulties and limitations
c. Problem
d. Desirable properties
e. Goals
Chapter II- Curves in 3D
a. Parametric curves: general information and metric study
b. Local shape of plane curves
c. Local shape of left curves
d. Exercises
Chapter III- 3D surfaces
a. Introduction
b. Parametric surfaces
c. Local shape of a surface
d. Exercises
Chapter IV- Different approaches to the representation of 3D shapes
a. Introduction
b. Continuous representations: Implicit algebraic surfaces
c. Discrete representations: Triangulations
Chapter V- Isotropic representation of 3D object surfaces
a. Introduction
b. Problem of isotropy
c. Pseudo reparameterization of IR3 surface
Examination forms 35% Continues evaluation + 65% Written exam
Study and examination 10/20
requirements
Reading list . FARIN, Gerald. Curves and surfaces for computer-aided geometric design: a
practical guide. Elsevier, 2014.
CV.5.4 Discrete Representation of 3D Objects
Module designation CV.5.4 Discrete Representation of 3D Objects
126
Content
Chapter I: From 2D to 3D
127
Module objectives/intended learning This course aims to:
outcomes - Identify the role of images in the data science and computer vision
fields.
- Identify the compression challenges in IoT context.
- Distinguish the basic concepts and different types of compression.
Students are able to:
- Get familiarized with different compression techniques applied to
different types of images in 2D and 3D contexts.
- Understand the main functional blocks of MPEG compression
standards for still images and videos.
- Discover the new compression trends based on scalability and deep
learning.
Content Chapter 1. Basic concepts of visual data compression
Chapter 2. Compression for 3D computer vision
Chapter 3. Sparse representations
Chapter 4. Scalable compression
Chapter 5. Deep learning based compression
Chapter 6. Compression in IoT context
128
Content
Chapter I: Introduction
1. The different medical imaging methods
2. Fundamental concepts of the image
3. Pretreatment
Chapter II. Basic operators
1. Concept of treillis
2. Concept of sets
3. Properties of operations on sets
4. Minkowski operations
5. Binary morphological transformations
6. Morphological transformations on images in gray levels
7. Operators by combination
8. Operators by difference
9. Neighborhood transformations
Chapter III. Discreet representation and advanced operators
1. Geodesia
2. Discreet representation
3. Granulometry
4. Alternate sequential filter
5. Ultimate erodes
6. Geodesic measures
Chapter IV. Watershed and skeletonization
1. Watershed
2. Skeletonization
129
Module objectives/intended learning This course aims to:
outcomes - Detail optical remote sensing from satellites and airborne platforms.
- Present different systems
Students are able to:
- acquire skills in image processing and machine/deep learning to
extract end-products, such as land cover or risk maps, from the
images.
Content
Chapter I. Basic concepts of remote sensing and digital imaging
Chapter II. Platforms and sensors
Chapter III. Information extraction, filtering, visual information
Chapter IV. Image classification, with machine and deep learning algorithms
Chapter V. Project: study a real (geospatial or other) problematic using remote s
Teaching methods The course consists of lectures accompanied by practical work to consolidate
the understanding of the concepts
Workload (incl. contact hours, self- Total workload: 30 h contact hours 10h
study hours) Self-study.
130
Content
1. Multi-D Discrete-Time(Space) Signals and Systems
1.1 Representation of Multi-D Signals, Special 2-D Sequences
1.2 Multi-D Linear Shift-Invariant Systems, Discrete Convolution
1.3 Separable Systems
1.4 Implementation and Computational Cost
I.5 Fourier Representation of Multi-D Discrete-Time Signals and
Systems
0. Multi-D Sampling
2.1 The Sampling Theorem, Reconstruction
2.2 Rectangular Sampling
2.3 General Periodic Multi-D Sampling
2.4 2-D Hexagonal Sampling
2.5 Sampling Density, The Nyquist Density
2.6 Processing Signals Sampled on Arbitrary Lattices
0. Multi-D Discrete Fourier Transform (DFT)
3.1 Computable Transform for Multi-D Finite-Length Signals
3.2 Properties: Periodicity, Discrete Fourier Series
3.3 Rectangular Discrete Fourier Transform
3.4 Circular Convolution
3.5 Implementation: Direct, Row-Column Decomposition
3.6 Multi-D Vector-Radix Fast Fourier Transform
3.7 Computational Complexity and Storage Issues
3.8 General DFT for Signals Sampled on Arbitrary Lattices
3.9 Discrete Cosine Transform (DCT) and relation to DFT
0. Multi-D Finite Impulse Response (FIR) Digital Filters
4.1 Direct Implementation, DFT-based implementation, Block
Processing
4.2 Window-based Designs
4.3 Optimal Least-Squares Designs
4.4 Optimal Constrained Designs
4.5 Fast Design and Realization Using Transformations
0. Multi-D Infinite Impulse Response (IIR) Digital Filters
5.1 Two-D Difference Equations, Recursive Computability
5.2 Z-Transform: Definition, Region of Convergence, Properties
5.3 System Functions, Stability Analysis
5.4 Implementation: Recursive, Iterative
0. Processing of Propagating Space-Time Signals
6.1 Space-Time Signals, Plane Waves
6.2 Space-Time Filtering
6.3 Array Processing, Beamforming
6.4 Weighted Delay and Sum Beamformer
6.5 Seismic Migration, Geophysical Processing
0. Multi-D Signal Restoration and Reconstruction
7.1 Reconstruction from Projections, Back-Projection Algorithm
7.2 Reconstruction from Phase or Magnitude
Teaching methods The course consists of lectures accompanied by practical work to consolidate
the understanding of theconcepts
Workload (incl. contacthours, self- Total workload: 40 h
studyhours) Contacthours: 30h
Self-study:10h
Creditpoints 2ECTS
Requiredandrecommendedprerequisit Geometry, image processing
esforjoiningthemodule
Module Master the fundamental toolsofcomputervision; design
objectives/intendedlearningoutcomes andimplementsolutionsto
different problemsrelatedtothree-dimensional reconstruction; make a simple
application.
Content 1. Introduction
2. Image formation
Reminders; Landmarks; Relevantphenomena: geometric, optical, digital;
Cameraparameters: extrinsic, intrinsic.
3. Projective geometry
Projective plane: homogeneousrepresentation, line, points, intersectionof
2 lines, ideal point, line at infinity, duality, conics;
projectivetransformations: projectivity, transformationsoflinesandconics,
hierarchyoftransformations; apps
4. Calibration
Parameter estimation: withmodel: withoutandwith radialdeformation;
Tsai'smethod, withoutmodel
5. Stereovision – spatial shifts
Basic principles; matching;
modelingoftherelationshipbetweenextrinsicparametersandepipolargeome
try: essential and fundamental matrices; epipolargeometry;
imagerectification: algorithm, reverserectification, polar approach,
projectiveapproach; constraintsof a stereovisionsystem
6. Registration
Correlation, hierarchical MC, by RANSAC, bydynamicprogramming,
byphaseshift, MC active
7. 3D reconstruction by stereovision
Triangulation: parallel system, convergentsystemwithoutandwitherror;
reconstructiontowithin a scalefactor; reconstruction at a
nearprojectivetransformation
132
Relation to curriculum Compulsory
Teaching methods lesson, lab works, presentations.
Workload (incl. contact hours, self- (Estimated) Total workload: 45 hours
study hours) Contact hours: 30 hours: 20 hours lessons + 10 hours lab works
Private study:in hours: 15 hours
133
Content Chapter I – Introduction to Big Data
1. Motivations
2. Definition
3. The 3Vs and the additional Vs
4. Benefits and challenges
5. Application examples
6. Stages of a Big Data project
7. New professions
8. Related fields
Chapter II – Hadoop: Building Blocks
1. Hadoop presentation
2. Hadoop history
3. Hadoop ecosystem
4. HDFS
5. MapReduce V1
6. MapReduce V2
7. Design Patterns MapReduce
Chapter III - Advanced Processing Tools
1. Data processing types
2. MapReduce review
3. Abstraction languages
a. Pig
b. Hive
4. Apache Spark
Chapter IV – NOSQL Databases
1. DBMS strengths
2. DBMS limits
3. BD NOSQL
4. BDR vs BD NOSQL
5. Study of BD NOSQL instances
a. Cassandra
b. MongoDB
Chapter V – Big Data Architectures
1. Motivations
2. Lambda architecture
3. Kappa architecture
4. Other architectures
5. Case study
Practical Works
1. Installation and testing of the working environment
2. HDFS
3. MapReduce
4. Pig and Hive
5. Spark
6. HBase
Examination forms 35% continuous evaluation (Lab works, presentations) ; 65% written exam
Study and examination requirements 10/20
Reading list Mooc
− “Fundamentals for Big Data”, Télécom ParisTech
− “Introduction to Hadoop and MapReduce”, University Nice Sophia
Antipolis
Books
− BRUCHEZ, Rudi. NoSQL databases and BigData: Understanding and
implementing. Editions Eyrolles, 2015.
− MARR, Bernard. Big Data: Using SMART big data, analytics and
metrics to make better decisions and improve performance. John
Wiley & Sons, 2015.
− ZIKOPOULOS, Paul, EATON, Chris, et al. Understanding big data:
Analytics for enterprise class hadoop and streaming data. McGraw-
Hill Osborne Media, 2011.
Classes
− NERZIC, Pierre. Hadoop tools for Big Data. Rennes1 University,
FRANCE, 2016.
134
AI.5.15 Machine and Deep Learning Workshops
135
Content Workshop 1: Introduction to TensorFlow, Keras & PyTorch
• Main notions in these frameworks
• Performance, usage, popularity.
• Criteria for choosing a framework for a given task.
136
Reading list • BISHOP, Christopher M. et NASRABADI, Nasser M. Pattern recognition and
machine learning. New York : springer, 2006.
• Murphy, Kevin P. Machine learning: a probabilistic perspective. MIT press,
2012.
• Shalev-Shwartz, Shai, and Shai Ben-David. Understanding machine learning:
From theory to algorithms. Cambridge university press, 2014.
• NIELSEN, Michael A. Neural networks and deep learning. San Francisco, CA,
USA : Determination press, 2015.
• HASTIE, T., TIBSHIRANI, R., FRIEDMAN, J. H., et al. The elements of statistical
learning: data mining, inference, and prediction. New York : springer, 2009.
137
CV.5. Speech recognition & chatbots application
Module designation DS-CV.5. Speech recognition&Chatbots application
Semester(s) in which the module is S5
taught
Person responsible for the module Faouzi Ghorbel
(coordinator)
Language French
Relation to curriculum optional
138
Reading list 1. Amodei, Dario, Sundaram Ananthanarayanan, Rishita Anubhai, Jingliang Bai,
Eric Battenberg, Carl Case, Jared Casper, et al." Deep speech 2: End-to-end
speech recognition in english and mandarin." In International conference
on machine learning, pp. 173-182 (2016)
2. Church K., Speech and language processing: Where have we been and where
are we going? , Eurospeech'2003 , (2003).
3. Davidson, T., Bhattacharya, D., and Weber, I. Racial bias in hate speech and
abusive language detection datasets. Third Workshop on Abusive
Language Online (2019).
4. Hannun, Awni, et al." Deep speech: Scaling up end-to-end speech
recognition." arXiv preprint arXiv:1412.5567 (2014)
5. Hannun, Awni, Ann Lee, Qiantong Xu, and Ronan Collobert. "Sequence-to-
sequence speech recognition with time-depth separable convolutions."
arXiv preprint arXiv:1904.02619 (2019).
6. Nakatani, Tomohiro et al. "Improving transformer-based end-to-end speech
recognition with connectionist temporal classification and language model
integration." (2019)
Part 2
5. variants of SARSA, Q-learning, n-step-TD learning
6. Political Gradient
139
7. Deep learning by reinforcement
● Exploration
● Actor-Critic networks
● Atari games and robotics
● Board games and planning
● sequences, recurrent networks, partial observability
140
Content 1. Introduction
- Overview of course content
- Motivations and challenges of TAL
- Examples of applications
- Levels of analysis (oral and written)
- Types of problems to solve
- Approaches and techniques for NLP
- Illustrative exercise
2. Morphological analysis
- Presentation of the morphology (flexion, derivation)
- Representation of morphology by lexical lists
- Representation of morphology by finite state automata
- Representation of morphology by automata with transducers
3. Morpho-synatxic labeling / POS-tagging
- Definitions (morpho-synatxic labeling, label games,...)
- Rule-based taggers (Example: Brill's taggerà
- Probabilistic taggers (NGrams, based on hidden Markov chains)
4. Syntactic analysis and formal grammars
- General presentation of syntactic analysis
- Formal grammar: definition and types
- Context free grammar for NLP
- Syntax analysis with a context free grammar
- Common parsing algorithms (CYK, Earley)
5. Processing semantics
- General presentation of the semantics
- Types of semantic relationships between words
- Semantic similarity between words based on a thesaurus
- Semantic similarity between words based on context
- Semantic vectors and construction methods (LSA, Word2Vec)
6. Applications of NLP
Spell-checking, Summarization , Question-Answering, improving user queries,
Machine Translation– Overview.
Examination forms Project
Study and examination requirements 10/20
Reading list - Natural Language Processing Fundamentals, Dwight Gunning, S. G.,
USA: Packt publishing, 2019.
- Hand book of Natural Language Processing, Nitin Indurkhya, Fred J.
Damerau, 2010.
- Speech and Language Processing, Daniel Jurafsky, James Martin,
2000.
- Computational Linguistics and Intelligent Text Processing, Alexander
Gelbukh, 2008.
141
Module objectives/intended learning This course aims to:
outcomes - introduce the specificities of medical images through their different
acquisition methods, each time evoking the object and the different
stages of their processing and the main problems encountered.
- study the specificities of the different modalities.
SEC.5.3 Blockchain
142
Module objectives/intended Knowledge:
learning outcomes After completing this course, students should be able to:
• Explain blockchain and how it is applied across industries.
• Describe key principles of blockchain technology and the benefits and value that they
bring to enterprises.
• Explain the role of a shared ledger.
• Explain fundamental concepts in Hyperledger Fabric.
• Describe the elements of a business network, the role of channels, and how the world
state is maintained.
• Develop, test, debug, and deploy chaincode with IBM Blockchain Platform Extension for
Visual Studio Code
• Apply concepts of blockchain security, identity and access control, and data privacy to
blockchain solutions.
• Write applications that interact with a blockchain network.
• Describe patterns, best practices, and reference architectures for integration from
enterprise applications to blockchain networks.
Competencies:
C6. Assess the vulnerability of an IS and implement solutions to protect applications and
data.
C13. Become aware of the need to constantly update your knowledge and, if necessary,
to undertake additional studies.
Content
Unit 1. Blockchain overview
Unit 2. Introduction to chaincode development
Unit 3. Chaincode query methods
Unit 4. Best practices for writing, testing, and debugging chaincode
Unit 5. Identity and access control
Unit 6. Data privacy
Unit 7. Basics of application development
Unit 8. Blockchain integration and advanced application development
DOS.5.3 IoT
Module designation DOS.5.3 – Internet of Things
Semester(s) in which the module is S5
taught
Person responsible for the module Hanen Idoudi
(coordinator)
Language French
Relation to curriculum optional
143
Module objectives/intended learning The purpose of this course is to study the fundamental concepts of Internet of
outcomes Things. At the end of the course, the students will be able:
C1. Understand the basic concepts of Internet of Things (IoT)
C2. Identify the main components of the IoT ecosystem
C3. Explore the major applications in IoT
C4. Understand the architecture and protocol stack proposed for IoT
C5. Set up the specific requirements to design the logic and network
architectures of an IoT application
144
Workload (incl. contact hours, self- Total workload: 25h
study hours) Contact hours: 15h (12h lessons, 3h lab work)
Private study: 10h
Credit points 1ECTS
Required and recommended OS.2.1 Introduction to Operating systems and Unix environment
prerequisites for joining the module NET.3.1 Local Networks
NET.4.1 Computer Networks
SE.4.2 Software Architecture
SEC.4.1 Cybersecurity & cryptography
Module objectives/intended learning • To understand the related architecture designs and technologies of cloud
outcomes computing
• To explain the overall architecture and key design principles of IoT
systems, including both functional and non-functional aspects
• To design cloud-based IoT applications using proper cloud services
• To gain hands-on experience in key technologies for developing an IoT
system, including sensor selection / interfacing, embedded system
programming, use of suitable network protocols, and various cloud
services (compute, storage, data analytics, management)
• To gain design experience in solving a real-world problem using IoT and
cloud technologies
• To gain both the experience and confidence in learning a new IoT
technology independently
By the end of the course, students are expected to be able to:
• Describe the IoT and Cloud architectures.
• Deploy Cloud Services using different cloud technologies.
• Implement cloud computing elements such virtual machines, web apps,
mobileservices, etc.
• Establish data migration techniques from IoT devices to the cloud.
• Implement security features to protect data stored in the cloud.
• Use visualisation techniques to show data generated from the IoT device.
Content Unit 1 – Cloud Computing: main concepts
• General introduction
• Historical overview
• Cloud characteristics
• Business model
• Advantages and limits
Unit 2 – Data centers
• Definitions
• Main components
• Green Computing
• Security
• High Availability
Unit 3 – Cloud Services and deployment models
• IaaS (Infrastructure as a Service)
• PaaS (Platform as a Service)
• SaaS (Software as a Service)
• FaaS (Function as a Service)
• Other services
• Public Cloud
• Private Cloud
• Hybrid Cloud
• Community Cloud
Unit 4 – Virtualization
• Definitions
• Architectures
• Solutions
• Servers virtualization
• Containers
• Storage virtualization
Unit 5 – Application of IoT & Cloud
• IoT and cloud integration
• Application development and cloud processing
• Security and Privacy for IoT/Cloud Computing
Examination forms ● 20% labs
● 80% written examination
Study and examination requirements Student must achieve an overall minimum module mark of 10/20
145
Reading list • Mell, P. & Grance, T. (2011). The NIST Definition of Cloud Computing (800-
145). National Institute of Standards and Technology (NIST) National
Institute of Standards and Technology (NIST) .
• Duncan, C. H. (2017). Cloud computing gateway, cloud computing
hypervisor, and methods, International Conference on Cloud Computing.
• Hennion, R., Tournier H., Bourgeois E.( 2014). Cloud computing : Décider -
Concevoir - Piloter – Améliorer.
• Plouin G. (2014). Cloud Computing, Sécurité, stratégie d'entreprise et
panorama du marché, Collection InfoPro, Dunod.
• Rapport Cigref (2013) Fondamentaux du Cloud Computing : Le point de vue
des Grandes Entreprises.
• Moyer C. M. (2011), Building Applications in the Cloud : Concepts, Patterns,
and Projects, Addison-Wesley.
• Marks, E. A., Lozano B. (2010.) Executive’s Guide to Cloud Computing, Wiley.
• Fagroud, F. Z., Benlahmar, E. H., Elfilali, S., Toumi H. (2019). IOT et Cloud
Computing : état de l’art. Colloque sur les Objets et systèmes Connectés,
Ecole Supérieure de Technologie de Casablanca (Maroc), Institut
Universitaire de Technologie d’Aix-Marseille (France), CASABLANCA, Maroc.
• Odun-Ayo, I., Okereke, C., Evwieroghene, O. (2018). Cloud Computing and
Internet of Things - Issues and Developments.
• Christos, S., Kostas, P., Byung-Gyu K., Gupta, B. B. (2016). Secure Integration
of Internet-of-Things and Cloud Computing. Future Generation Computer
Systems.
• Vertiv (2018). l’impact du cloud et de l’internet des objets sur la demande en
datacenters, Livre blanc et noir.
146
Content Introduction to mobile mobile app development
Learn the basic principles of mobile app development using a cross-platform
solution.
Project
● Project Proposal: Conceptualize and design your project in the
abstract and write a short proposal that includes the project
description, expected data needs, timeline, and how you expect to
complete it.
● Analysis and Planning: The application concept begins to develop at
this point, after which it becomes a real mission. Definition of use
cases and capture of comprehensive functional codes are the first
steps in the assessment and planning strategy.
● UI / UX Design: A user-friendly interface is included in the UI/UX
layout. The goal of the application product is to create a wholly
mobile experience that is intuitive and straightforward to employ
● App Development: Concurrently with the prototype, the foundation
stages of building an app are still essential.
Before you begin writing your codes, make sure you’ve done this:
o Specify the product backlog
o Select a technology package
o Set application’s building goals
A standard mobile application project consists of three major
components:
o Back-end/server technology
o API(s)
o The mobile app front-end
Examination forms 100% project eval
Study and examination requirements 10/20
Reading list ● Alessandria, S. (2018). Flutter Projects: A practical, project-based
guide to building real-world cross- platform mobile applications and
games. In Packt Publishing (Vol. 53).
● Robert Nagy (2022), Simplifying Application Development with Kotlin
Multiplatform Mobile. In Packt Publishing (Vol. 61).
147
Semester 5 Modules: Specialization Financial Engineering
(Ingénierie pour la Finance - IF-)
Code Title Contact Hours Credits Type
FIN.5.1 International Finance 30h 2 compulsory
MAT.5.3 Numerical Optimization with R 30h 2 compulsory
FIN.5.2 The Risk Modelling and Dynamic Financial Risk Management 30h 2 compulsory
FIN.5.3 Bank Management 30h 2 compulsory
ISA.5.1 Big Data 30h 2 compulsory
FIN.5.4 Monte carlo methods and financial model simulation 30h 2 compulsory
MAT.5.5 Data analysis 30h 2 compulsory
MAT.5.4 Statistical Inference with R 30h 2 optional
ISA.5.4 Business intelligence 30h 2 optional
AI.5.1 Multi agent systems 30h 2 optional
FIN.5.6 Valuation and financing of companies 30h 2 compulsory
AI.5.12 Introduction to Deep Learning 15 h 1 compulsory
FIN.5.5 Quantitative Finance 15h 1 compulsory
DOS.5.2 Blockchain 15h 1 compulsory
SE.5.3 Mobile Development 15h 1 optional
ISA.5.7 Distributed data Bases 15h 1 optional
DOS.5.3 IoT 15 1 optional
148
5) The media used
6) Foreign exchange transactions
149
Module objectives/intended learning Mathematical optimization or mathematical programming is the selection
outcomes of a best element, with regard to some criterion, from some set of
available alternatives.
Optimization problems of sorts arise in all quantitative disciplines
from computer science and engineering to operations
research and finance. the development of solution methods has been of
interest in mathematics for centuries.
R tool is a free open-source computing environment which works on
several platforms such as Windows, Linux, and macOS. In recent years,
there has been an increasing interest in using R software to perform the
data analysis.
Module designation The Risk Modelling and Dynamic Financial Risk Management
Semester(s) in which the module is S5
taught
Person responsible for the module Mouna Ben Salah
(coordinator)
Teaching team Mouna Ben Salah
Language French
Relation to curriculum Compulsory
151
Chapter 4: Interest Rate Risk Management
I. Definition
II. Risk measurement: Gap analysis methods
III. Hedging of interest rate risk and firm OTC instruments.
1. FRAs (Forward Rate Agreements) or rate guarantees
1.1 Definition
1.2 Mechanism
1.3 Calculation of the interest rate differential
2. The Forward Rate Agreement
1.1 Definition
1.2 Mechanism
1.3 Borrower forward
1.4 Lender forward
3. Interest rate swap
IV. Hedging interest rate risk and conventional OTC instruments
1. The cap
2. The Floor
3. The Collar
3.1 The Borrowing Collar
3.2 The Lending Collar
153
Section 2. Credit risk management
I. Traditional credit risk management instruments
1. Regulatory management
2. Guarantees
3. Provisioning
II. New techniques
1. Securitization
2. Credit derivatives
2.1 Definition of credit derivatives
2.2 Credit Default Swaps (CDS)
2.3 Credits Linked Notes: "CLN
2.4 Total Return Swap: "TRS
154
ISA.5.1 Big Data
Language French
155
Module objectives/intended learning Knowledge: Students:
outcomes -Master the basic building blocks of the Hadoop platform, namely HDFS and
MapReduce, and have an idea of the components of its ecosystem;
-Master the MapReduce approach for problem solving;
-Understand the limits of the relational model and know the different models
of NOSQL databases.
Competences: students are able to:
C4. Identify, formulate, and solve complex or incompletely defined IT
problems with the objective of ensuring maximum availability for users
C7. Identify, locate and collect all the data necessary for the research and
development of new software or new IS architectures.
C8. Master good practices in terms of software development as well as
applicable standards and regulations.
156
Content Chapter I – Introduction to Big Data
1. Motivations
2. Definition
3. The 3Vs and the additional Vs
4. Benefits and challenges
5. Application examples
6. Stages of a Big Data project
7. New professions
8. Related fields
Chapter II – Hadoop: Building Blocks
1. Hadoop presentation
2. Hadoop history
3. Hadoop ecosystem
4. HDFS
5. MapReduce V1
6. MapReduce V2
7. Design Patterns MapReduce
Chapter III - Advanced Processing Tools
1. Data processing types
2. MapReduce review
3. Abstraction languages
a. Pig
b. Hive
4. Apache Spark
Chapter IV – NOSQL Databases
1. DBMS strengths
2. DBMS limits
3. BD NOSQL
4. BDR vs BD NOSQL
5. Study of BD NOSQL instances
a. Cassandra
b. MongoDB
Chapter V – Big Data Architectures
1. Motivations
2. Lambda architecture
3. Kappa architecture
4. Other architectures
5. Case study
Practical Works
1. Installation and testing of the working environment
2. HDFS
3. MapReduce
4. Pig and Hive
5. Spark
6. HBase
157
Examination forms 35% continuous evaluation (Lab works, presentations) ; 65% written exam
Teaching team
Language French
Required and recommended Probability, inferential statistics, Bayesian statistics, stochastic calculus,
prerequisites for joining the module stochastic process, Financial Mathematics
158
Content 1. Introduction to Monte Carlo Simulation
2. Simulation of random variables
3. Simulation of Diffusion Processes & Time Discrete Methods
4. Variance reduction techniques: - antithetic variable, control variable and
pairing of moments - Strategic sampling, Stratified sampling, and Latin
hypercube
5. Option pricing and value-at-risk estimation
6. Model estimation and calibration
7.MCMC
Examination forms 35% continuous evaluation (Lab works, presentations) ;65% written exam
Study and examination requirements Requirements for successfully passing the module
Reading list 1. Glasserman, Paul. Monte Carlo Methods in Financial Engineering (Stochastic
Modelling and Applied Probability) (v. 53).Springer-Verlag
New York, LLC (2003)
2. Lamberton D., Lapeyre P., Introduction au calcul stochastique appliqué à la
finance, Ellipses, (1999)
3. Andrew Rennie & Rennie, Andrew, Financial Calculus: An Introduction to
Derivative Pricing. Cambridge University Press. (1996)
4. Michael Steele, J. Stochastic Calculus and Financial Applications. Springer-
Verlag New York, LLC. (2003)
5. DUFFIE, Darrell. Dynamic Asset Pricing Theory. Princeton University Press,
1992.
6. KARATZAS, Ioannis& E. SHREVE, Steven. Brownian Motion and Stochastic
Calculus. Springer, 1988.
Language French
Credit points 2
Module objectives/intended learning The emphasis in this course is on financial data and how to model and analyze
outcomes it.
Understanding financial data may increase one’s success in the markets
Competencies:
C1, C9
159
Content 1. The Nature of Financial Data
1.1 Financial Assets and Markets
1.2 Frequency Distributions of Returns
1.3 Volatility
2. Exploratory Financial Data Analysis
2.1. Data Reduction
2.2. The Empirical Cumulative Distribution Function
2.3. Graphical Methods in Exploratory Analysis
3. Statistical Models and Methods of Inference
3.1. Models
3.2. Optimization in statistics
3.3. Properties of estimators
4. Regression Models
4.1. Linear regression model
4.2. Nonlinear models
4.3. ARMA and ARIMA Models
Reading list Jean-François Collard, Hands-On Data Analysis in R for Finance, DOI:
10.1201/9781003320555, CRC Press is an imprint of Taylor & Francis Group, LLC
160
Content 1. Basics of R
1.1 Types of R
1.2 Data structures of R
1.3 Functions in R
2. Theory of Sampling
2.1. Samples
2.2. Weak law of great numbers
2.3. Limit central theorem
2.4. Gamma, Student, Fisher Distributions
3. Point estimates
3.1. Moments method
3.2. Likelihood method
3.3. Properties of estimators
4. Confidence intervals
4.1. Confidence interval of a proportion
4.2. Confidence interval of a mean
4.3. Confidence interval of a variance
5. Hypothesis tests
5.1. Tests of conformity
5.2. Tests of comparison
5.3. One-Way Analysis of Variance (ANOVA)
6. Regression: Fitting a Straight Line
6.1. Least Squares Regression
6.2. Properties of the Least Squares Estimators
6.3 Estimating the Error Variance r
161
ISA.5.4 Business intelligence
Language French
Module objectives/intended learning This course refers to technologies, applications and practices of heterogeneous data integration,
outcomes storage, multidimensional analysis, and visualization to support business decision making.
Thus, the student will be able to propose concrete conceptual and technological architecture for the
integration od heterogenous data in the professional environment as he will acquire many
competencies such as:
- Become able to evaluate the technologies that make up BI (data Warehousing,
OLAP)
- Become able to plan the implementation of a BI architecture.
162
Content Chapter 1 : Understanding Business intelligence
- The challenge of decision making
- What is business intelligence
- The BI value chain and value
Chapter 2: Data Integration
- Data integration motivation
- ETL Process
- ETL techniques
Chapter 3: Data Storage: Data Warehousing
- What is data warehousing?
- Data Marts and analytical Data
- Organization of DataWarehouse
- Data access
Chapter 4: Multi dimensional Analysis with OLAP
- Definitions
- OLAP vs OLTP
- Operational data stores
- Multi-Dimensions techniques
- OLAP architecture
Chapter 5 : MDX Language
- Problem presentation
- MDX Syntax and Request
163
AI.5.1 Multi agent systems
Language French/English
Module objectives/intended learning - Master the concepts of agent and multi-agent systems
outcomes - Study and apply a design methodology for a multi-agent system.
- Learn the development of a multi-agent system
- Explore complementary research questions
Students are able to:
C1. To master in depth the basic sciences, in particular computer science and mathematics,
essential for the design and production of computer applications.
C7. Identify, locate and collect all the data necessary for the research and development of new
software or new IS architectures.
164
Content Chapter 1: Introduction to MAS
Chapter 2: Intelligent Agents
Chapter 3: Agents architectures
Chapter 4: Methodologies for developing multi-agent systems
Chapter 4: MAS Development environments & case study
165
Content I. Investment decision in a context of certainty :
166
AI.5.12 Introduction to Deep Learning
Language French
167
Module objectives/intended learning ●
outcomes Knowledge:
● Understand generic machine learning terminology
● Understand motivation and functioning of the most common types of deep neural
networks
● Understand the choices and limitations of a model for a given setting
● Apply deep learning techniques to practical problems
● Critically evaluate model performance and interpret results
Content Introduction
Chapter1: Applied Math and Machine Learning Basics
● Linear Algebra
● Probability and Information Theory
● Numerical Computation
● Machine Learning Basics
Projects ideas :
● Smart routing
● Smart home security
● Smart energy managment
168
Reading list ●
Deep Learning avec Keras et TensorFlow, Aurélien Géron, 2e édition, 576 pages,
Dunod, 2020
● Introduction au Deep Learning, Eugene Charniak, 176 pages, Dunod, 2021
●
169
Content Chapter 1: The Discrete-Time Option Pricing Model: the Cox Ross and
Robinstein model (1985)
I. The one Period Binomial Model
1. Call options
2. Put options
II. Extension of the model to two periods
III. Generalization of the binomial formula to n periods
IV. Dynamic hedging
V. Taking dividends into account
1. Case of a known proportional dividend
2. Case of a known dividend amount
Chapter 2: Option Pricing in Continuous Time: The Black-Scholes Model
I. Black-Scholes partial derivative equation
1. Assumptions
2. Itô's lemma
4. The Black-Scholes valuation formula
II. The Greek letters
1. The delta
2. The gamma
3. Theta
4. The Vega
5. The Rho
III. The dynamic hedging
1. The delta hedging
2. The delta gamma hedging
3. Delta vega hedging
4. The delta gamma vega hedging
170
DOS.5.2 Blockchain
Person responsible for the module Mohamed Houcine Hdhili, Hanen Idoudi
Language French
171
Required and recommended prerequisites SEC.4.1 Cybersecurity and Cryptography
for joining the module
Competencies:
Content
172
Module designation Mobile Development
Language French
173
Module objectives/intended learning Key question: what learning outcomes should students attain in the module?
outcomes Knowledge:
· have a good understanding of the mobile app’s context
· have a basic knowledge of mobile dev frameworks
· have good knowledge of which standards apply to
mobile application and related constraints.
Skills:
C2. Set up a technology watch system to select the relevant
tools and methodologies in the design, production or
maintenance of an Information System (IS).
C3. Analyze complex IS architectures considering non-
technical constraints such as societal, health and safety,
environmental or economic constraints.
174
Module designation ISA.5.7 Distributed Databases
Language French
Module objectives/intended learning This course will deal with the fundamental issues in large distributed database
outcomes systems which are motivated by the computer networking and distribution of
processors, and control. The theory, design, specification, implementation, and
performance of large systems will be discussed.
C1. To master in depth the basic sciences, in particular
computer science, essential for the
design and production of computer applications,
C2. Set up a technology watch system to select the relevant
tools and methodologies in the design, production or
maintenance of an Information System (IS).
C8. Master good practices in terms of software
development as well as applicable standards and
regulations.
C13. Become aware of the need to constantly update your
knowledge and, if necessary, to undertake additional
Content I INTRODUCTION
II. BDR DESIGN AND IMPLEMENTATION
II. TRANSACTION AND COMPETITOR ACCESS
IV. OPTIMIZATION OF DISTRIBUTED QUERIES
175
Study and examination requirements 10/20
Reading list [1] M. Tamer Özsu, Patrick Valduriez , Principles of Distributed Database Systems,
Springer, 2011,846 pages
[2] Saeed K. Rahimi Distributed Database Management Systems, John Wiley &
Sons Inc, 2010
DOS.5.3 IoT
Language French
176
Module objectives/intended learning The purpose of this course is to study the fundamental concepts of Internet of
outcomes Things. At the end of the course, the students will be able:
C1. Understand the basic concepts of Internet of Things (IoT)
C2. Identify the main components of the IoT ecosystem
C3. Explore the major applications in IoT
C4. Understand the architecture and protocol stack proposed for IoT
C5. Set up the specific requirements to design the logic and network
architectures of an IoT application
177
Content Chapter I – Introduction to the Internet of Things
- - The inception of IoT
- - Basic concepts : smart objects, global connectivity,
sensors, etc.
- - IoT Ecosystem
- - IoT challenges
Chapter II – IoT Applications and architectures
- - IoT Applications
- - IoT architecture layers
- - Connectivity models in IoT
Chapter III – Networks technologies in IoT
- IoT networks technologies classification
- Long range communication networks overview
- Short range communication networks overview
Study and examination requirements To acquires at least 10/20 in the oral of the personal project
178
Reading list - Ala Al-Fuqaha, Mohsen Guizani, Mehdi Mohammadi, Mohammed
Aledhari, Moussa Ayyash. Internet of Things: A Survey on Enabling
Technologies, Protocols and Applications. IEEE COMMUNICATIONS
SURVEYS & TUTORIALS. JANUARY 2015
179
Semester 5 Modules: Specialization Embedded Software and Systems (Systèmes et Logiciels embarqués - SLE-)
180
AI.5.5 Robotics and soft computing
Language French
Workload (incl. contact hours, Total workload: 30h (18h lecture, 6h exercise, 6h lab) contact hours 15h
self-study hours) Self-study.
181
Module objectives/intended In terms of Knowledge:
learning outcomes Soft computing is a set of so-called intelligent techniques that allow efficient control of automated systems
and particularly autonomous mobile robots. The objective of this course is to present these techniques and
make them accessible to students for implementation in practical cases.
In terms of competences:
C2. Set up a technology watch system to select the relevant tools and methodologies in the design,
production, or maintenance of an Information System (IS).
C3. Analyze complex IS architectures considering non-technical constraints such as societal, health and
safety, environmental or economic constraints.
C5. Specify an information system in all its dimensions: software, hardware and architecture using the
state-of-the-art available technologies and considering the company's strategic objectives
C9. Make complex decisions based on incomplete or limited information.
182
Content Introduction to Robotics and soft computing
I. Classical commands in robotics (3 h)
- Introduction and definitions
- Position control
- Speed control
- Position and speed control
- Limits of classical methods
II. Fuzzy control (10.5 h)
- Introduction and definitions
- Fuzzy logic operator
- Fuzzy rules
- Inference
- Fuzzy control process
III. Neural control (9h)
- Introduction and definitions
- Deterministic Perceptron
- Probabilistic Perceptron
- Multi Layer Perceptron and error backpropagation
IV. Path optimisationt (6h)
- Implementation of neural control
- Introduction and definitions
- Genetic algorithm
- Application in robotics
183
Examination forms 100% Final exam
Reading list • Introduction à la commande floue, Jean-Yves Dieulot, Laurent Dubois, Pierre Borne, Jean Rozinoer,
Editions Technip 1998
• Classification et commande par réseaux de neurones, A. Faure, Editions Hermès, 2006.
• Soft-I-Robot: Soft Computing Techniques, S. Santhosh, LAP Lambert Academic Publishing 2012.
Language French
184
Teaching methods Lesson and project
Required and recommended prerequisites for joining the MAT.1.1: Probability and Statistics
module AI .3.1.: IA & Machine Learning
Students must be competent in python.
185
Module objectives/intended learning outcomes ●
Knowledge:
● Understand generic machine learning
terminology
● Understand motivation and functioning of the
most common types of deep neural networks
● Understand the choices and limitations of a
model for a given setting
● Apply deep learning techniques to practical
problems
● Critically evaluate model performance and
interpret results
186
Content Introduction
Chapter1: Applied Math and Machine Learning Basics
● Linear Algebra
● Probability and Information Theory
● Numerical Computation
● Machine Learning Basics
Projects ideas :
● Smart routing
● Smart home security
● Smart energy managment
187
Examination forms 100% project evaluation
Reading list ●
Deep Learning avec Keras et TensorFlow,
Aurélien Géron, 2e édition, 576 pages, Dunod,
2020
● Introduction au Deep Learning, Eugene
Charniak, 176 pages, Dunod, 2021
●
Language French
188
Relation to curriculum Optional
Required and recommended prerequisites for joining the EHA.2.1: Architecture & microprocessors
module EHA.3.1: Processor Design Methodology
AP.1.3: Advanced C
AP.2.1: Object-Oriented programming
OS.3.03: Operating systems and concurrent programming
Existing competencies: curiosity, autonomy
189
Module objectives/intended learning outcomes ●
Knowledge:
● Showcasing parallel architectures (advantages
and disadvantages)
● Ability to evaluate and analyse performances
of different architectures (parallel and
optimized)
● Learning about parallel programming
● Skills: Students know how to think parallel and
try to write parallel programs
● Competences: Students are able to:
● 5. Specify an information system in all its
dimensions: software, hardware and
architecture using the state-of-the-art
available technologies and considering the
company's strategic objectives
● C8. Master good practices in terms of software
development as well as applicable standards
and regulations.
● C13. Become aware of the need to constantly
update your knowledge and, if necessary, to
undertake additional studies.
190
Content
General Introduction
Section I: Limits of classical architectures
Section II: Definition of parallelism
Section III Characteristics of parallel architectures
Chapter I: Classification of Parallel Machines
Section I: Flynn's classification (SISD, SIMD, MIMD)
Section II: Raina's classification
- Exercises related to SIMD and MIMD architectures (about
1h)
Chapter II: Performance of computer architectures
Section I: Importance of performance calculation
Section II: Amdahl’s law/Gustafson's law
Section III: Units of performance measurement
Section IV: SPEC standard
- Exercises related to performance (about 2h with discussions)
Chapter III: Cache coherence for parallel architectures
Section I: Memory Cache
o Definition
o Type of cache memory mapping
o Write problem
Section II: Cache coherence protocols
o Snoopy Bus
o Directory-based protocols
- Exercises related to performance (about 2h with discussions)
191
Examination forms 35% continuous evaluation + 100% written exam
Reading list ●
Hennessy, J. L., & Patterson, D. A. (2021).
Computer organization and design risc-v
edition: The hardware software interface.
● Emmanuel Quemener, Des architectures
parallèles aux programmes parallélisés - De la
métrologie à la mesure de la performance,
Course in line November 2021
DOI:10.13140/RG.2.2.23467.72483
● https://www.openmp.org/ (consulted October
2022)
● Ayguadé, E., Copty, N., Duran, A., Hoeflinger,
J., Lin, Y., Massaioli, F., ... & Zhang, G. (2008).
The design of OpenMP tasks. IEEE Transactions
on Parallel and Distributed Systems, 20(3), 404-
418.
● Reed, D., Gannon, D., & Dongarra, J. (2022).
Reinventing High Performance Computing:
Challenges and Opportunities. arXiv preprint
arXiv:2203.02544.
192
Person responsible for the module (coordinator) Latrach lassaad
Mohamed Karim Bouafoura
Jerad chedlia
Masmoudi Mohamed
Teaching team
Language French
Credit points 5.
ECTS
193
Required and recommended prerequisites for joining the ●
module Embedded System, operating system, Basic
programming skills (preferrably C/C++).
Hardware: Any STM32 Board
Module objectives/intended learning outcomes Key question: what learning outcomes should students attain
in the module?
E.g. in terms of:
● Knowledge: understand problems related to
real-time applications and operating systems;
● understand how to use real-time operating
systems following the FreeRtos
● Skills: Develop an Embedded Real Time
software
● Design real-time applications using freeRTOS
Build real-time
194
Content Chapter I – Introduction
6. Introduction to Real-time systems and
Embedded Real-time
7. Design objective for Real-time software
8. RTOS Task and Task state
Chapter II - Real-time operating systems
9. Basic principles
10. Scheduling algorithms for periodic tasks: Rate
Monotonic, Earliest Deadline First, Deadline
Monotonic;
11. Scheduling algorithms for aperiodic tasks:
schedulazione in background, Polling Server,
Deferrable Server;
Chapter III- System architecture of freeRTOS
12. Introduction to FreeRTOS
13. Task Management in Free RTOS
14. Synchronization in FreeRTOS
15. Creating FreeRTOS based project for STM32
MCUs
16. Inter Task Communication (FreeRTOS Queue)
17. Semaphores and Mutex (FreeRTOS)
195
Study and examination requirements 10/20
Reading list ●
Buttazzo, Giorgio C. Hard Real-time Computing
Systems, Kluwer Academic publishers,
Building real-time embedded systems using FreeRTOS, STM32
MCUs, and SEGGER debug tools
Hands-On RTOS with Microcontrollers: Building real-time
embedded systems using FreeRTOS, STM32 MCUs, and
SEGGER debug tools
,
Language French
196
Teaching methods Lessons, lab works, exercises & mini-project
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 40H
Contact hours (lectures, (classroom/homework) exercises, lab.
System programming): 30H (20H lessons, 10H lab works)
Private study:in hours:
10H
Required and recommended prerequisites for joining the Operating systems and Concurrent Programming (OS.3.03)
module Object-oriented Programming (AP.2.1)
197
Module objectives/intended learning outcomes Objectives:
With the omnipresence of distributed, multi-users and open
computing, running constantly under different wide
variations of platforms, this module provides a good
comprehensive on fundamental concepts and issues of
distributed systems. In particular, it masters in depth
practical of the client-server programming applications and
services upon (standard) middlewares (synchronous,
asynchronous, transient, and persistent communications)
with common and newest technologies.
Intended learning outcomes:
C7: To identify, locate and collect all the data necessary for
the research and development of new software or new
services.
C8 extended: To master good practices in terms of
client/server programming (with middleware) which is vital
for distributed computing.
198
Content CHAP. 1. Client-server Programming
(2 weeks)
●Introduction to distributed systems: basics
concepts; architectures (C/S with
request/response; Master-slaves; P2P; …)
● Client-server model: definitions; characteristics.
(synchronous/asynchronous) communication
● Programming C/S with Remote Procedure Call
(RPC): Interface description language –IDL;
stubs; marshalling; binding; portmapper; XDR.
LAB: C/S PROGRAMMING with RPC
● Synchronous Programming on laptops (with C
on Linux)
200
Person responsible for the module (coordinator) Lobna KRIAA
Language Frensh
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 40h
Contact hours: 30h (21h lessons, 9h labs)
Private study:in hours:
10h
201
Required and recommended prerequisites for joining the OS.2.1: Introduction to operating systems and Unix
module environment
EHA.4.1: Introduction to embedded Systems
EHA.5.2: Microcontroller-based system
202
Content
Introduction
Section I: Linux OS presentation
Section II: definition of embedded systems
Chapter 1: Linux license and GNU/Linux architecture
Section I: Linux license
Section II: GNU/Linux architecture
Section III: Bootloader
Section IV: kernel
Section V: Rootfs
Chapter 2: Modules integration within Linux kernel
Chapter 3: File system management
Chapter 4: Processes and multithreading
Chapter 5: Buildroot
203
Reading list ●
Blanc, G. (2011). Linux embarqué: comprendre,
développer, réussir. Pearson Education France.
● Ficheux, P. (2017). Linux embarqué: Mise en
place et développement. Eyrolles.
● https://openclassrooms.com/fr/courses/52814
06-creez-un-linux-embarque-pour-la-
domotique
Module designation
DOS.5.8
Teaching team
Language
French
Relation to curriculum
Compulsory
Teaching methods
●
Lesson
● Lab work
204
Workload (incl. contact hours, self-study hours)
Credit points
1ECTS
205
Module objectives/intended learning outcomes
●
To understand the related architecture designs
and technologies of cloud computing
● To explain the overall architecture and key
design principles of IoT systems, including both
functional and non-functional aspects
● To design cloud-based IoT applications using
proper cloud services
● To gain hands-on experience in key
technologies for developing an IoT system,
including sensor selection / interfacing,
embedded system programming, use of
suitable network protocols, and various cloud
services (compute, storage, data analytics,
management)
● To gain design experience in solving a real-
world problem using IoT and cloud
technologies
● To gain both the experience and confidence in
learning a new IoT technology independently
By the end of the course, students are expected to be able to:
● Describe the IoT and Cloud architectures.
● Deploy Cloud Services using different cloud
technologies.
● Implement cloud computing elements such
virtual machines, web apps, mobileservices,
etc.
● Establish data migration techniques from IoT
devices to the cloud.
● Implement security features to protect data
stored in the cloud.
● Use visualisation techniques to show data
generated from the IoT device.
206
Content
207
Examination forms
●
20% labs
● 80% written examination
208
Reading list
●
Mell, P. & Grance, T. (2011). The NIST
Definition of Cloud Computing (800-145).
National Institute of Standards and Technology
(NIST) National Institute of Standards and
Technology (NIST) .
● Duncan, C. H. (2017). Cloud computing
gateway, cloud computing hypervisor, and
methods, International Conference on Cloud
Computing.
● Hennion, R., Tournier H., Bourgeois E.( 2014).
Cloud computing : Décider - Concevoir - Piloter
– Améliorer.
● Plouin G. (2014). Cloud Computing, Sécurité,
stratégie d'entreprise et panorama du marché,
Collection InfoPro, Dunod.
● Rapport Cigref (2013) Fondamentaux du Cloud
Computing : Le point de vue des Grandes
Entreprises.
● Moyer C. M. (2011), Building Applications in
the Cloud : Concepts, Patterns, and Projects,
Addison-Wesley.
● Marks, E. A., Lozano B. (2010.) Executive’s
Guide to Cloud Computing, Wiley.
● Fagroud, F. Z., Benlahmar, E. H., Elfilali, S.,
Toumi H. (2019). IOT et Cloud Computing : état
de l’art. Colloque sur les Objets et systèmes
Connectés, Ecole Supérieure de Technologie de
Casablanca (Maroc), Institut Universitaire de
Technologie d’Aix-Marseille (France),
CASABLANCA, Maroc.
● Odun-Ayo, I., Okereke, C., Evwieroghene, O.
(2018). Cloud Computing and Internet of Things
- Issues and Developments.
● Christos, S., Kostas, P., Byung-Gyu K., Gupta, B.
B. (2016). Secure Integration of Internet-of-
Things and Cloud Computing. Future
Generation Computer Systems.
● Vertiv (2018). l’impact du cloud et de l’internet
des objets sur la demande en datacenters, Livre
blanc et noir.
209
DOS.5.9 Software Development for robotics
Teaching team
Language French
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 20h
Contact Hours: 15h (100% project development, testing, and
validation)
Private study:in hours:
5h
210
Credit points 1ECTS
Required and recommended prerequisites for joining the Real Time Operating Systems
module EHA.5.2: Distributed applications and systems
211
Content ●
Lesson :
30. Introduction
31. The complexity of robotic systems
32. ROS-1 Introduction
33. Models and simulation
34. ROS-2 Introduction
35. Labs demonstration of different existing
projects
● Project description:
● The module involves spending at least 4 hours
per week on the project.
● The teams are made up of 2 to 4 students
(depending on the total number of students
per class)
● Each group must choose a robot application
for different application domain E-health, E-
agriculture, IIndustry4.0, etc.
● The groups have to model and simulate them
and probably implement them using hardware
circuit such as raspberry, etc.
212
Reading list ●
Koubâa, A. (Ed.). (2017). Robot Operating
System (ROS) (Vol. 1, pp. 112-156). Cham:
Springer.
● Dieber, B., Breiling, B., Taurer, S., Kacianka, S.,
Rass, S., & Schartner, P. (2017). Security for the
robot operating system. Robotics and
Autonomous Systems, 98, 192-203.
● Quigley, M., Gerkey, B., & Smart, W. D. (2015).
Programming Robots with ROS: a practical
introduction to the Robot Operating System. "
O'Reilly Media, Inc.".
● Olivier Stasse, Robot Operating System
introduction, LAAS-CNRS, 2018
Language English
213
Teaching methods Lessons, mini-projects and research presentations
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 22,5H
Contact hours (lectures, (classroom/homework) exercises, lab.
System programming): 15H (10H lessons, 5H presentations)
Private study:in hours:
7,5H
Required and recommended prerequisites for joining the Distributed Systems and Applications
module
214
Module objectives/intended learning outcomes Objectives:
● A Roadmap from IoT to cloud (IoT-Cloud)
● To Draw a panorama of emerging information
and communication technologies (Cutting
edge technologies)
● To analyse issues raised and opportunities
offered by these technologies and their
integration
● To Highlight open directions and research
questions (top 10 trends IEEE, Gartner).
Intended learning outcomes:
C7: To identify, locate and collect all the data necessary for
the research and development of new software or new
services.
C8 extended: To master good practices in terms of
client/server programming (with middleware) which is vital
for distributed computing.
Content 30.
A (Quick) Historical Panorama of Information
Technologies
31. Digital Ecosystems: A (Rather) New Vision of IT
32. An Introduction to Large Scale Computing
33. Towards the Internet of Things --IoT?
34. An Introduction to Ubiquitous and Pervasive
Computing
35. Multi-Scale Computing - Cloud-IoT: the
Greatest Challenge for this Decade? Open
Directions for Research and Innovation
215
Examination forms 30% CW + 70% Final Exam
with CW --Continuous work = Mean(classroom exercises;
Mini-projects; presentation)
Reference 36.
Lionel Brunie, De l’Internet des objets au Cloud
: une introduction aux nouveaux écosystèmes
numériques, cours Mastère INSA-Lyon, 2018
Teaching team
Language French
216
Relation to curriculum Compulsory
Credit points 1.
ECTS
217
Module objectives/intended learning outcomes Key question: what learning outcomes should students attain
in the module?
E.g. in terms of:
● Knowledge to acquaint students with the
interfaces between sensors, network devices
and ARM Cortex devices;
Skills: By the end of the course, students will know:
● basics of programming for ARM Cortex devices
● general principles and approaches to
debugging and verification of embedded
systems.
● perform modeling, optimizing for IOT
project
218
Content Chapter I – Introduction to ARM® Cortex® (4h)
1. Based design. STM32CubeMX
2. Compiling, downloading, and running
3. simple programs on an evaluation board STM32.
Chapter II - Processors and STM-Library – review (HAL/LL)
(6)
1. tools and libraries (HAL/LL) for STM32-based design
2. Programming I/O, investigates some of the functions that
configure I/O
Chapter III- Peripheral Programming (20h)
2. Digital interfaces.
3. Graphic LCD Interfacing
4. Programming interface
UART. I2C, PWM ,ADC SPI, CAN interfaces
=>Lab Works (10h)
219
Reading list Steve furber, “ARM System-on-Chip Architecture”, Pearson
Education
oseph Yiu, “The Definitive Guide to ARM® Cortex®-M3 and
Cortex®-M4 Processors”, Third Edition, Newnes, 2013.
Technical references and user manuals on www.arm.com.
Language Frensh
220
Teaching methods Lessons and labs with Modelsim quartus II and Vivado.
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 45h
Contact Hours: 30h (20h lesson, 10h labs )
Private study:in hours:
15h
Required and recommended prerequisites for joining the - Good coding knowledge
module - Digital Electronics
221
Module objectives/intended learning outcomes ●
Knowledge:
● Understand the VHDL language feature to
realize the complex digital systems
● Design sequential and concurrent techniques in
VHDL
● Modeling of digital systems using VHDL and
design methodology
● Understand behavioral, non-synthesizable
VHDL and its role in modern design
● Simulate and debug digital systems described
in VHDL.
● Students must be able to synthesize complex
digital circuits at several levels of abstractions.
● Ability to implement logic on an FPGA
● Introduce to system on chip design and
implementation
● Competences: Students are able to:
● C5. Specify an information system in all its
dimensions: software, hardware and
architecture using the state-of-the-art
available technologies and considering the
company's strategic objectives
● C7. Identify, locate, and collect all the data
necessary for the research and development of
new software or new IS architectures.
222
Content This course instructs the students in the use of VHDL ((Very
High Speed Integrated Circuit Hardware Description
Language) for describing the behavior of digital systems.
● VHDL is a standardized design language used in
computer/semiconductor industry.
This course will teach students the
● use of the VHDL language for the
representation of digital signals
● use of IEEE standard logic package/library
● design description, and design of arithmetic,
combinational, and synchronous sequential
circuits.
● Use of Modelsim environment for simulation
223
Reading list ●
Digital system design with VHDL, Mark
Zvolinski,
Prentice Hall.
● VHDL Modeling for Digital Design Synthesis, Yu
Chin
● Hsu, Kevin F. Tsai, Jessie T. Liu, Eric S. Lin,
Kluwer, Academic Publishers.
● A guide to VHDL, Stanley Mazor, Patricia
Langstraat, Kluwer Academic Publishers.
● Manuel VHDL, synthèse et simulation,
E.Messerli, HEIG-VD.
● The VHDL Golden Reference Guide, compatible
IEEE std 1076-2002. disponible at: Doulos,
http://www.doulos.com/
●
Language French
224
Relation to curriculum Compulsory
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 30h
Contact hours (20h Lessons, 10h Exercices and Project)
Credit points
Required and recommended prerequisites for joining the Automata (AP.1.1), Operating Systems (OS.2.1)
module Compilation Techniques (AP.3.2), Formal Development
Methods (SE.4.1)
225
Module objectives/intended learning outcomes The objective of this lesson is to acquire the basic concepts
and methods of process modeling, the theory of Petri nets and
its applications in system modeling, design, and verification.
To be able to use Petri net-based computer- aided tools in
typical applications. Timed automata are one of the models of
continuous-time reactive systems. The second part is devoted
to timed automata and to the verification of the formulas of
the timed tree logic TCTL.
● .
● Knowledge:
● Design models with Petri Net and Timed
automata
● Parallelism and synchronization modeling of
critical distributed systems
● Model Validation
Competencies:
C1. Become able to build models in Peti Net, validate and
generate code
C2. Identify, formulate and solve complex control problems
C3. Modeling and validation of concurrent and
communicating processes
226
Content Lesson I (06h). Introduction to Real-Time Systems
● Automated Real-Time systems
● Required behaviour properties in Real-Time
systems
● Limits of finite state automata
Lesson II (12h). Petri Net
- Presentation
- Modelling of synchronisation and parallelism
- Bihaviour properties
- Validation of PNt models (TINA project)
- Colored Petri Net
- Tiled Petri Net
Lesson III (12h) .Timed automata
- Presenation
- Modeling in Tmed Aumata
- Timed Computation Tree Logic (TCTL)
- Verication with UPPAAL(an integrating tool
environment for
medeling, validation and verification of Real-Time
systems
227
Reading list References books:
● Choquet-Geniet, Les Réseaux de Petri Un outil
de modélisation, DUNOD, 1998.
● Schnoebelen PH., Vérification de logiciels
Techniques et outils du model-checking,
Vuibert, 1999.
Teaching team
Language English
228
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 45h
Contact Hours: 30h (20h lesson, 10h labs )
Private study:in hours:
15h
Required and recommended prerequisites for joining the EHA.4.1:Introduction to embedded Systems
module Automates ; Networking ; Programmation C/C++ ;
Programmation JavaScript
229
Module objectives/intended learning outcomes ●
Knowledge:
● Identify a principled, scientific approach to
designing and implementing Cyber-Physical
Systems, with a focus on model-based system
design, and on embedded software.
● Skills:
● Work with a team
● manage time
● Systematically take initiative to realize creative
ideas
● Competences: Students are able to:
● C4. Identify, formulate and solve complex or
incompletely defined IT problems with the
objective of ensuring maximum availability for
users
● C5. Specify an information system in all its
dimensions: software, hardware and
architecture using the state-of-the-art
available technologies and considering the
company's strategic objectives
● C7. Identify, locate, and collect all the data
necessary for the research and development of
new software or new IS architectures.
230
Content Introduction
Chapter 1: Motivation: Cyber Physical Systems
● Embedded Systems vs. Cyber Physical Systems
● The Hype Cycle; CPS Requirements and
challenges
● Examples of CPS and IoT applications
● IoT Scene; Utility vs. Usability
Chapter 2: Model Based Design
● Iterative process: modelling, design and
analysis
● Model based design vs. Statistical methods
● The value of models, determinism, Models vs.
implementations, Abstraction layers
● Models of Computation: State machines, FSM
and their composition; Hybrid Automata;
Dataflow and KPN
● Video Resource: Drone Simulation and Control
(https://www.youtube.com/watch?v=gEmGfo3
6INc)
Practical session 1: Practical exercises on Modeling
Chapter 3: Sensors and Actuators
● Modelling issues with sensors and actuators
● Affine Model of Sensors
● Bias and Sensitivity
● Range and dynamic range ; Precision and
quantization
● Faults in Sensors ; Sensor fusion
● Brief Overview of Actuators
Chapter 4: Embedded Systems Programming
● Roles of Memory
● Memory Architecture issues
● Memory organization (statically allocated,
stacks, heaps)
● Memory hierarchies (scratchpads, caches);
Processors; Parallel and serial digital interfaces
● IO mechanisms in Software (Polling vs
Interrupt) ; Concurrency
Reading: Scientific paper selection from the proceedings of
“Design Automation Conference”
Chapter 5: Networking
● Communication technologies and protocols,
and their use
● Wired Networks (CAN, TTP, FlexRay,
TTEthernet, TSN (a.k.a. AVB))
● Radio technologies (IEEE 802.15.4
(Zigbee, WirelessHART), Bluetooth,
NFC)
● 6LowPAN; CoAP
● Ultrasonic ; Visible light ; Vibration
● IoT infrastructure and Cloud Service
Composition (IFTTT)
Chapter 6: IoT Ecosystem
● IoT visions, views, characteristics,
requirements and building blocks
● Reference Architecture for IoT
● Resource management in IoT
● Resource partitioning: Container;
Virtualization
● Scheduling and provisioning: Cloud
vs. Fog
● Resource/Device discovery and
selection
Chapter 7: IoT Analytics
● Publish subscribe for IoT : MQTT
● Sensors reading and actuation
● MQTT broker clients and topics
231
Examination forms 40% continuous evaluation +60% written exam
232
Semester(s) in which the module is taught S5
Teaching team
Language French
233
Required and recommended prerequisites for joining the Embedded System, analog ecletronic
module
Module objectives/intended learning outcomes Key question: what learning outcomes should students attain
in the module?
E.g. in terms of:
● Knowledge a student should be able to design
and analyze digital systems, incorporating into
a VLSI chip. They should be able to design for
low power and design for performance, work in
small groups and bring together design
components into a full custom chip;
Skills: Use of CAD tools for both schematic and layout of
complex CMOS circuits; Design of arithmetic logic and
memory cells; Large system integration.
●
234
Content Chapter I – Introduction to CMOS Technology and Device
1. Design metrics
2. MOS Devices
3. CMOS Inverter.
Chapter II - Design and Layout of Simple Logic Gates
27. Combinational logic, layout, design rules
28. Manufacturing process;
29. Simulation; CAD tools
30. Low Power design strategies
235
Study and examination requirements 10/20
Reading list ●
Digital VLSI Chip Design with Cadence and
Synopsys CAD Tools, Eric Brunvand, Addison
Wesley,
● CMOS VLSI Design: Circuits and Systems
Perspective, by N Weste and D. Harris, Fourth
edition, Addison Wesley,
Teaching team
Language French
236
Teaching methods lab works, project
Required and recommended prerequisites for joining the Microcontroller Based System, Analog Ecletronic
module
Module objectives/intended learning outcomes Key question: what learning outcomes should students attain
in the module?
E.g. in terms of:
● Knowledge Altium Designer offers functions
for: schematic entry, PCB
design/routing,simulations,
● Skills: Design of embedded boards and
electronic components
237
Content Chapter I – Getting Started with Altium Designer (3h)
1 Introduction to Altium Designer
2 The Altium Designer environment
3 Working with projects and documents
Chapter II - Schematic Editor Basics (4h)
1 Schematic Editor Basics
2 Schematic graphical objects
3 Schematic electrical objects
=>Lab Works (3h)
Chapter III Schematic Capture (9)
1Introduction to Schematic Capture
2The Schematic Editor workspace
3Libraries and components
4Placing and wiring
5 design of an electronic card based on stm32
=>Lab Works (6h)
238
Reading list ●
Altium Designer PCB Design Official Guide
(Basic Application) (EDA Engineering
Technology Series)(Chinese Edition) Paperback
– August 1, 2020
Fast PCB Design with Altium Designer (Industrial Automation
and Control) Paperback – July 31, 2021
Language French
239
Relation to curriculum Compulsory
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 20h
Contact Hours: 15h (100% project development, testing, and
validation)
Private study:in hours:
5h
Required and recommended prerequisites for joining the EHA.2.1: Architecture & microprocessors
module EHA.4.1: Introduction to embedded Systems
EHA.5.2: Microcontroller-based system
Integration System
240
Module objectives/intended learning outcomes ●
Knowledge:
● Master the prototyping concept using FPGA
● Master VHDL language
● Deal with Codesign approaches
● Skills: Work with a team, manage time
● Competences: Students are able to:
● C4. Identify, formulate and solve complex or
incompletely defined IT problems with the
objective of ensuring maximum availability for
users
● C5. Specify an information system in all its
dimensions: software, hardware and
architecture using the state-of-the-art
available technologies and considering the
company's strategic objectives
● C7. Identify, locate, and collect all the data
necessary for the research and development of
new software or new IS architectures.
241
Content
242
Examination forms 100% project evaluation
Reading list ●
Intel® Quartus® Prime Pro Edition User Guide:
Platform Designer Updated for Intel® Quartus®
Prime Design Suite: 22.3
● Creating a System Design with Platform
Designer: Getting Started
https://www.youtube.com/watch?v=d43Pqc_I
Zpg&list=PL0pU5hg9yniZ2ka-
XBXROXNR0pAEAEFCB&index=10 (consulted
October 2022)
● Introduction to Platform Designer (formerly
Qsys)
https://www.youtube.com/watch?v=6srZw3kG
XA8&list=PL0pU5hg9yniZ2ka-
XBXROXNR0pAEAEFCB&index=8 (consulted
October 2022)
● How to generate a Soc Design with Quartus (
https://www.youtube.com/watch?v=8BehnPg8
IvM) (consulted October 2022)
● Adding Custom component using Qsys
https://www.youtube.com/watch?v=mOc3ErBi
uGY (consulted October 2022)
● Understanding Avalon MM Bursting
(https://www.youtube.com/watch?v=8GAqT3n
zHeQ (consulted October 2022)
● Peter J. Ashende,Jim Lewis. The Designer's
Guide to VHDL. Third edition, Elseiver, 2008.
243
Module designation ESDV.5.8
Person responsible for the module (coordinator) Mohamed Masmoudi - Industrial partner Alpha Connect
International
(https://www.linkedin.com/company/alpha-connect-
international/ )
Teaching team
Language French
244
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 25h
Contact Hours: 15h (100% project development, testing, and
validation)
Private study:in hours:
10h
Required and recommended prerequisites for joining the EHA.2.1: Architecture & microprocessors
module EHA.4.1: Introduction to embedded Systems
Microcontroller-based system
245
Module objectives/intended learning outcomes ●
Knowledge:
● Master STM32 microcontroller
● Master peripheral interfaces
● Skills:
● Work with a team
● manage time
● Systematically take initiative to realize creative
ideas
● Competences: Students are able to:
● C4. Identify, formulate and solve complex or
incompletely defined IT problems with the
objective of ensuring maximum availability for
users
● C5. Specify an information system in all its
dimensions: software, hardware and architecture
using the state-of-the-art available technologies
and considering the company's strategic objectives
● C7. Identify, locate, and collect all the data
necessary for the research and development of
new software or new IS architectures.
246
Content
247
Reading list ●
https://www.alldatasheet.com/view.jsp?Searchwo
rd=Stm32f4-
discovery%20datasheet&gclid=EAIaIQobChMIr8rc_
rnX-gIVRgWLCh2gbwosEAAYASAAEgLBavD_BwE
● https://www.st.com/en/microcontrollers-
microprocessors/stm32-32-bit-arm-cortex-
mcus.html. (visited 10-06-2022)
Language French
248
Teaching methods Lessons
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 20h
Contact Hours: 15h (10 h lessons with 5 hours exercises)
Private study:in hours:
5h
Required and recommended prerequisites for joining the EHA.4.1: Introduction to embedded Systems
module Integration System
249
Content Introduction and Generalities
250
Reading list ●
Farooq, U., Marrakchi, Z., & Mehrez, H. (2012).
FPGA architectures: An overview. Tree-based
heterogeneous FPGA architectures, 7-48.
● Farooq, U., Marrakchi, Z., & Mehrez, H. (2012).
Tree-based heterogeneous FPGA architectures:
application specific exploration and
optimization. Springer Science & Business
Media.
● Saidi, H., Turki, M., Marrakchi, Z., Abid, M., &
Obeid, A. (2021). Soft-core embedded FPGA
based system on chip. Analog Integrated
Circuits and Signal Processing, 109(3), 517-533.
C1. To master in depth the basic sciences, in particular computer science and
mathematics, essential for the design and production of computer
applications.
C4. Identify, formulate, and solve complex or incompletely defined IT problems
with the objective of ensuring maximum availability for users
C5. Specify an information system in all its dimensions: software, hardware and
architecture using the state-of-the-art available technologies and considering
the company's strategic objectives
251
Content --
Project 1: Drone actuator
Project 2: Soft-robotics in medical applications
Project 3: Smart Agriculture
--
Lesson 1* Smart Measurements
- Basic Metrology concepts
- Sensors Metrology
Lesson 2* Soft and Smart Sensors
- Basic Sensors principle
- Soft Sensors
- Smart Sensors and data communication systems
Lesson 3* Soft and Smart Actuators
- Basic actuators principle
- Soft-Actuators topologies
- Data communication system requirements
Lesson 4* Soft Actuators Control Strategies
- Basic Control Strategies
- Control strategies and applications
- Control implementation
Practical exercises are set every week. Students have to work in fixed
groups of 2–4 using the simulators dedicated to each Project.
8
When calculating contact time, each contact hour is counted as a full hour because the organisation of the schedule, moving
from room to room, and individual questions to lecturers after the class,all mean that about 60 minutes should be counted.
252
Module objectives/intended learning - Know the technical knowledge and skills to build Internet of Things (IoT)
outcomes systems
Skills: programmation des Microcontrôleur ESP32 et raspberry pi avec
implémentation sur cloud
253
IAP.5.3 Positioning Systems and Applications -PSA.
Language English
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 22,5H
Contact hours (lectures, (classroom/homework) exercises, lab.
System programming): 15H (10H lessons, 5H presentations)
Private study:in hours:
7,5H
254
Required and recommended prerequisites for joining the Mobile communication and networks
module Advanced Networks
255
Content 1.
Location based services –LBS: Fundamentals:
Location; Mobile Technologies, techniques
(proximity; trilateration; fingerprinting);
Reference systems; outdoor, indoor
2. Introduction to Satellite-based systems --GNSS
● Examples of GNSS (GPS, Glonass,
Beidou, …)
● Principles of the Global Positioning
System
● Programming assignment -Mini-
Project:
● Applications of GPS on
Android Smartphones
● Hot GNSS-based services?
3. Indoor localization
● Classification
● MEMS and multi-sensor positioning
● Indoor map construction (standards)
● Pedestrian positioning systems:
examples
● Lab. RSS-fingerprinting localization
4. Indoor Pedestrian Navigation using
Smartphone: from research to production
● Architecture of navigation Systems
(Cartography, Pathfinding, guiding)
● Mini-Project: WiFi-based navigation
(ENSI)
256
Grading (Total 20 points) 35% CW + 65% Final Exam
with CW --Continuous work = Mean (classroom exercises;
Mini-projects; presentation)
References 5.
Data Management for Mobile Computing,
Evaggelia Pitoura and George Samaras ,
Kluwer Academic Publishers, 1998 ,ISBN: 0-
7923-8053-3
6. Alkhawaja, Fares & Jaradat, Mohammad &
Romdhane, Lotfi. (2019). Techniques of Indoor
Positioning Systems (IPS): A Survey. 1-8.
10.1109/ICASET.2019.8714291.
7. K. -J. Li, S. Zlatanova, J. Torres-Sospedra, A.
Perez-Navarro, C. Laoudias and A. Moreira,
"Survey on Indoor Map Standards and
Formats," 2019 International Conference on
Indoor Positioning and Indoor Navigation
(IPIN), 2019, pp. 1-8, doi:
10.1109/IPIN.2019.8911796.
8. A. Billa, I. Shayea, A. Alhammadi, Q. Abdullah
and M. Roslee, "An Overview of Indoor
Localization Technologies: Toward IoT
Navigation Services," 2020 IEEE 5th
International Symposium on
Telecommunication Technologies (ISTT), 2020,
pp. 76-81, doi:
10.1109/ISTT50966.2020.9279369.
257
Workload (incl. contact hours, self- (Estimated) Total workload:50h
study hours) Contact hours: 30h (14h Lessons, 10h Laboratory tests, 06h Exercise)
9
Private study:in hours : 20h
Credit points 2ECTS
Required and recommended MAT.1.1, MAT.1.2, EHA.1.1, EHA.1.2, NET.2.1, EHA.4.1.
prerequisites for joining the module
Module objectives/intended learning This course develop advanced skills for on-line diagnosis and reliability
outcomes processing dedicated to failure prediction and detection at incipient stage for
ES. More specifically:
- to develop skill and knowledge in diagnosis and fault detection
techniques dedicated to ES;
- to introduce the principals of independent/dependent components
analysis in ES;
- to investigate the on-line processing of reliability prediction in ES.
- C1. To master in depth the basic sciences, in particular computer
science and mathematics, essential for the design and production of
computer applications.
- C4. Identify, formulate, and solve complex or incompletely defined IT
problems with the objective of ensuring maximum availability for
users
Content Lesson 1 (01h). Introduction – Diagnosis, Safety and
Reliability for Modern Embedded Systems (DSR-ES)
Lesson 2 (02h). Diagnosis – Model-based techniques
- Exercices (02)
Lesson 3 (03h). Diagnosis – Signal-based techniques
- Laboratory simulation (03)
Lesson 4 (02h). Systems Analysis with independent components
- Exercices (02)
Lesson 5 (02). Systems Analysis with dependent components
- Exercices (02)
Lesson 6 (02). Application of dependability methodologies to ES
- Laboratory simulation (03)
Lesson 7 (02). Reliability prediction methodology for ES
- Laboratory simulation (04)
Examination forms 35% Continues Laboratory evaluation + 65% Written exam.
Study and examination requirements 10/20
Reading list - Gao, Zhiwei, Carlo Cecati, and Steven X. Ding. "A survey of fault diagnosis
and fault-tolerant techniques—Part I: Fault diagnosis with model-based
and signal-based approaches." IEEE transactions on industrial electronics
62.6 (2015): 3757-3767.
- Liggesmeyer, Peter, and Oliver Maeckel. "Quantifying the reliability of
embedded systems by automated analysis." 2001 International
Conference on Dependable Systems and Networks. IEEE, 2001.
- Huang, Chin-Yu, and Yung-Ruei Chang. "An improved decomposition
scheme for assessing the reliability of embedded systems by using
dynamic fault trees." Reliability Engineering & System Safety 92.10 (2007):
1403-1412.
- Han, Zhong, Liting Tian, and Lin Cheng. "A deducing-based reliability
optimization for electrical equipment with constant failure rate
components duration their mission profile." Reliability Engineering &
System Safety 212 (2021): 107575.
258
SEC.5.2 IoT Security
Teachers team
Language French
259
Required and recommended prerequisites for joining the SEC.4.1 Cybersecurity and Cryptography
module NET.4.1 Computer Networks
E.g. existing competences in ...
Competencies:
260
Content Chapter 1 – IoT Security context
1. IoT security requirements
2. IoT security challenges
3. IoT potential risks in various use cases
4. IoT security risks assessments
Chapter 2 - Securing IoT devices
5. IoT device hardware and firmware
6. Vulnerabilities and Attacks at the Hardware
Layer
7. Threat mitigation of the Hardware Layer
Chapter 3- Securing IoT network layer
8. IoT network layer vulnerabilities
9. Mitigating IoT network layer threats
Chapter 4 - Securing IoT application layer
10. IoT application layer vulnerabilities
11. OWASP projets (Secure coding, OWASP Top 10)
12. Mitigating IoT application layer threats
Chapter 5 – Securing IoT plateforms
13. Cloud security
14. Securing data at rest
Chapter 6 – Security in embedded systems
15. security risks in embedded systems
16. Mitigating embedded systems threats
17. STM32 security features
Lab Works:
Lab1: Firmware security assessments using OWASP-fstm.
Lab2: Testing commonly found vulnerabilities in IoT devices
using the deliberately insecure firmware IoTGoat.
Lab3: audit IoT hardware security using HardSploit
Lab4: designing a secure embedded system, using the
STM32Trust security framework.
261
Examination forms 50% continuous assessment (lab works) + 50% written exam
10
262
Required and recommended EHA.2.1: Architecture & microprocessors
prerequisites for joining the module EHA.4.1: Introduction to embedded Systems
EHA.5.2: Microcontroller-based system
Module objectives/intended learning - Knowledge:
outcomes - Familiarity with automotive architectures and automotive protocols
- Importance of the security issues in the automotive domain
- Skills: cognitive and practical abilities for which knowledge is used
- Competences: Students are able to:
- C5. Specify an information system in all its dimensions: software,
hardware and architecture using the state-of-the-art available
technologies and considering the company's strategic objectives
- C6. Assess the vulnerability of an IS and implement solutions to
protect applications and data.
- C7. Identify, locate, and collect all the data necessary for the research
and development of new software or new IS architectures.
- C8. Master good practices in terms of software development as well
as applicable standards and regulations.
- C13. Become aware of the need to constantly update your knowledge
and, if necessary, to undertake additional studies.
Content Chapter 1: Automotive Overview
Section I: Vehicle structure
Section II: Electronic Control Unit (ECU)
Section III: Network in Vehicle
Chapter 2: AUTOSAR overview
Section I: AUTOSAR overview
Section II: Definition and history
Section III: AUTOSAR vs OSI model
Section IV: AUTOSAR Application
Section V: AUTOSAR RTE
Section VI: AUTOSAR BSW
Chapter 3: Security in Automotive
Section I: Automotive SPICE
Section II: Functional Safety ISO 2626
Section III: Automotive Cybersecurity
● Challenges
● Terminology
● STRIDE
● Risk Determination
● Security Concepts and Engineering
● Hardware Security Modules
● Secure Boot
● Secure on-Board Communication
● Security Testing (e.g. Fuzztesting)
Chapter 4: CAN bus fundamentals (ISO 11898)
Section I: CAN vs OSI model
Section II: Addressing and physical layer
Section III: Bus access
Section VI: CAN framing and Data protection
Section V: CAN FD
Section VI: CAN tools and CAN Database
263
SEC.5.4 IoT security project
Teachers team
Language French
264
Required and recommended prerequisites for joining the SEC.4.1 Cybersecurity and Cryptography
module NET.5. 2 Communication Architectures and protocols for IoT
SEC.5.1 IoT security
Competencies:
265
Content Project information:
- This is a project-based module. Students apply
- The instructor defines projects dealing with securing IoT
applications (securing devices, embedded systems, network,
and application layers)
- Students will be divided into groups.
- Each group chooses a project to develop ( requirements,
design, implementation, and tests)
- Each group defines the project outline and divides the tasks
among the team members.
Project samples:
- securing an e-health application
- securing a smart-home application
- securing a smart-hotel application
266
Reading list 1- Naoui, S., Elhdhili M.E. and Azouz Saidane, L. Novel
Enhanced LoRaWAN Framework for Smart Home Remote
Control Security. Wireless Pers Commun 110, 2109–2130
(2020)
2- Boussada R., Balkis H., Elhdhili M.E. and Saidane L. A.,
Privacy‐preserving aware data transmission for IoT‐based
e‐health, Computer Networks, Volume 162, 2019 – SJR:0.845
3- Naoui S., Elhdhili M.E. and Saidane L.A. Lightweight and
Secure Password-Based Smart Home Authentication
Protocol:LSP‐SHAP. J Netw Syst Manage 27, 1020–1042
(2019)
4-https://www.iot.org.au/wp/wp-
content/uploads/2016/12/IoTAA-Security-Guideline-V1.2.pdf
5- https://owasp.org/www-project-internet-of-things/
Language French
267
Teaching methods lesson, project.
Required and recommended prerequisites for joining the MAT.1.1: Probability and Statistics
module AI .3.1.: IA & Machine Learning
Students must be competent in python.
268
Module objectives/intended learning outcomes Knowledge:
● To introduce students to the basic concepts
and techniques of Data Mining.
● To develop skills of using recent data mining
software for solving practical problems.
● To gain experience of doing independent study
and research.
269
Content Chapter1: Introduction to Data Mining
● What is data mining?
● Related technologies - Machine Learning,
OLAP, Statistics
● Data Mining Goals
● Stages of the Data Mining Process
● Data Mining Techniques
● Knowledge Representation Methods
● Applications
270
Examination forms 100% Lab exam
Reading list Data Mining: Concepts and Techniques, Jiawei Han and
Micheline Kamber
271
Semester 5 Modules: Specialization Services,
Technologies and Internet of things (ST-IoT)
272
ESEP.5.1 Microcontrollers based Systems
Teaching team
Language French
273
Credit points 2. ECTS
Required and recommended prerequisites for joining the Analog Ecletronic, Embedded System, Basic programming
module skills (preferrably C/C++). Hardware: Any STM32 Board
Module objectives/intended learning outcomes Key question: what learning outcomes should students attain
in the module?
E.g. in terms of:
● Knowledge to acquaint students with the
interfaces between sensors, network devices
and ARM Cortex devices;
Skills: By the end of the course, students will know:
● basics of programming for ARM Cortex devices
● general principles and approaches to
debugging and verification of embedded
systems.
● perform modeling, optimizing for IOT
project
274
Content Chapter I – Introduction to ARM® Cortex® (4h)
1. Based design. STM32CubeMX
2. Compiling, downloading, and running
3. simple programs on an evaluation board STM32.
Chapter II - Processors and STM-Library – review (HAL/LL)
(6)
1. tools and libraries (HAL/LL) for STM32-based design
2. Programming I/O, investigates some of the functions that
configure I/O
Chapter III- Peripheral Programming (20h)
3. Digital interfaces.
4. Graphic LCD Interfacing
5. Programming interface
UART. I2C, PWM ,ADC SPI, CAN interfaces
=>Lab Works (10h)
275
Reading list Steve furber, “ARM System-on-Chip Architecture”, Pearson
Education
oseph Yiu, “The Definitive Guide to ARM® Cortex®-M3 and
Cortex®-M4 Processors”, Third Edition, Newnes, 2013.
Technical references and user manuals on www.arm.com.
276
ESEP.5.3 Cyber-Physical Systems
Teaching team
Language English
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 45h
Contact Hours: 30h (20h lesson, 10h labs )
Private study:in hours:
15h
277
Required and recommended prerequisites for joining the EHA.4.1:Introduction to embedded Systems
module Automates ; Networking ; Programmation C/C++ ;
Programmation JavaScript
278
Content Introduction
Chapter 1: Motivation: Cyber Physical Systems
● Embedded Systems vs. Cyber Physical Systems
● The Hype Cycle; CPS Requirements and
challenges
● Examples of CPS and IoT applications
● IoT Scene; Utility vs. Usability
Chapter 2: Model Based Design
● Iterative process: modelling, design and
analysis
● Model based design vs. Statistical methods
● The value of models, determinism, Models vs.
implementations, Abstraction layers
● Models of Computation: State machines, FSM
and their composition; Hybrid Automata;
Dataflow and KPN
● Video Resource: Drone Simulation and Control
(https://www.youtube.com/watch?v=gEmGfo3
6INc)
Practical session 1: Practical exercises on Modeling
Chapter 3: Sensors and Actuators
● Modelling issues with sensors and actuators
● Affine Model of Sensors
● Bias and Sensitivity
● Range and dynamic range ; Precision and
quantization
● Faults in Sensors ; Sensor fusion
● Brief Overview of Actuators
Chapter 4: Embedded Systems Programming
● Roles of Memory
● Memory Architecture issues
● Memory organization (statically allocated,
stacks, heaps)
● Memory hierarchies (scratchpads, caches);
Processors; Parallel and serial digital interfaces
● IO mechanisms in Software (Polling vs
Interrupt) ; Concurrency
Reading: Scientific paper selection from the proceedings of
“Design Automation Conference”
Chapter 5: Networking
● Communication technologies and protocols,
and their use
● Wired Networks (CAN, TTP, FlexRay,
TTEthernet, TSN (a.k.a. AVB))
● Radio technologies (IEEE 802.15.4
(Zigbee, WirelessHART), Bluetooth,
NFC)
● 6LowPAN; CoAP
● Ultrasonic ; Visible light ; Vibration
● IoT infrastructure and Cloud Service
Composition (IFTTT)
Chapter 6: IoT Ecosystem
● IoT visions, views, characteristics,
requirements and building blocks
● Reference Architecture for IoT
● Resource management in IoT
● Resource partitioning: Container;
Virtualization
● Scheduling and provisioning: Cloud
vs. Fog
● Resource/Device discovery and
selection
Chapter 7: IoT Analytics
● Publish subscribe for IoT : MQTT
● Sensors reading and actuation
● MQTT broker clients and topics
279
Examination forms 40% continuous evaluation +60% written exam
280
Person responsible for the module (coordinator) Naouel Ben Salem Grati
Language French
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 30H
Contact hours (please specify whether lecture, exercise,
laboratory session, etc.): 20H Lectures, 10H exercises
Required and recommended prerequisites for joining the Existing competences in Réseaux locaux (Net.3.1), TP Réseaux
module locaux (Net.3.2) and Réseaux informatiques (Net.4.1)
281
Module objectives/intended learning outcomes Students :
● know the difference in architectures between
2G, 4G and 5G networks (focus on security and
mobility management).
● know the difference in the basic procedures
used in 2G, 4G and 5G networks.
● Can evaluate the challenges related to the
deployment of a simple 2G cellular network
under well-defined conditions and scenarios.
C2. Set up a technology watch system to select the relevant
tools and methodologies in the design, production or
maintenance of an Information System (IS).
C3. Analyze complex IS architectures considering non-
technical constraints such as societal, health and safety,
environmental or economic constraints.
C4. Identify, formulate and solve complex or incompletely
defined IT problems with the objective of ensuring maximum
availability for users
C6. Assess the vulnerability of an IS and implement solutions
to protect applications and data.
282
Content Part I : Architecture and protocols of 2G networks
Lesson 1 (6H)
● Cellular communications
● Duplex and Multiple Access
● Frequency reuse
● Network deployment : Health, environmental,
economic and technical challenges
Lesson 2 (6H)
● Components of a 2G cellular network
● Identifiers and their uses
Lesson 3 (6H)
● Security
● Location registration and update
● Handover and roaming
● Call establishment
Part II : Introduction to 4G networks
Lesson 4 (6H)
● Architecture
● Security
Part II : Introduction to 5G networks
Lesson 5 (6H)
● Massive MIMO
● 3D Beamforming
● Basic Procedures and Mobility Management
283
Examination forms 30% Continuous assessment + 70% Written exam
Reading list ●
Mahbub Hassan, Wireless and Mobile
Networking, CRC Press 2022.
● Martin Sauter , From GSM to LTE-Advanced
Pro and 5G: An Introduction to Mobile
Networks and Mobile Broadband, Wiley, 2021
● Jörg Eberspächer, Hans-Joerg Vögel, Christian
Bettstetter, Christian Hartmann, GSM -
Architecture, Protocols and Services, 3rd
Edition, Wiley, 2009.
● MOOCs de l’IMT
(https://www.youtube.com/c/MOOCdelInstitut
MinesT%C3%A9l%C3%A9com)
● Réseaux Cellulaires : Interface Radio
GSM
● Réseaux cellulaires - Concept
cellulaire et générations de réseaux
● 4G Network Fundamentals
● 5G : Principes de fonctionnement
284
Person responsible for the module (coordinator) Hanen Idoudi
Language French
Required and recommended prerequisites for joining the Existing competences in networking
module
285
Module objectives/intended learning outcomes The purpose of this course is to study the fundamental
concepts of Internet of Things. At the end of the course, the
students will be able:
C1. Understand the basic concepts of Internet of Things (IoT)
C2. Identify the main components of the IoT ecosystem
C3. Explore the major applications in IoT
C4. Understand the architecture and protocol stack proposed
for IoT
C5. Set up the specific requirements to design the logic and
network architectures of an IoT application
286
Content Chapter I – Introduction to the Internet of Things
● - The inception of IoT
- Basic concepts : smart objects, global connectivity,
sensors, etc.
- IoT Ecosystem
● - IoT challenges
287
Examination forms Labs and final written exam (20%+80%)
Reading list ●
Ala Al-Fuqaha, Mohsen Guizani, Mehdi
Mohammadi, Mohammed Aledhari, Moussa
Ayyash. Internet of Things: A Survey on
Enabling Technologies, Protocols and
Applications. IEEE COMMUNICATIONS SURVEYS
& TUTORIALS. JANUARY 2015
Teachers team
288
Language French
Required and recommended prerequisites for joining the NET 4.1 Computer Networks
module NET3.1 Local Area Networks
NET.2.1 Digital Transmission
289
Module objectives/intended learning outcomes Knowledge:
Give the students principles and concepts of network
management but also a practical and operational vision of
network management systems and tools while highlighting
their strengths and limitations to solve the main network
management problems. This course focuses on SNMP as a
standard TCP/IP network management protocol. At the end
of the course, the students will :
● Understand the concepts and architecture
behind SNMP management.
● Have knowledge of latest network
management tools and systems.
Be capable of developing small SNMP programs to perform
specific network management tasks. Competencies:
C1. To master in depth the basic sciences, in particular
computer science and mathematics, essential for the design
and production of computer applications.
C2. Set up a technology watch system to select the relevant
tools and methodologies in the design, production or
maintenance of an Information System (IS).
C13. Become aware of the need to constantly update your
knowledge and, if necessary, to undertake additional studies.
290
Content Basic Foundations
Definitions, Scope and Issues
Models, Architectures and Standards
SNMP Network Management
Concepts, Architecture and Protocol (SNMP v1 v2c and v3)
Structure of Management Information (ASN.1, SMI BER …)
Object Identifiers and Instance Identification
Management Information Base (MIB-II, RMON) and MIB
Browsing
SNMP Authentication and Access Control
SNMP Programming
Alternatives and complementary Solutions
CLI, WBEM, WMI
NETCONF/YANG, RESTCONF
NETFLOW/IPFIX
Tools and Network Management Systems
Main functions of Network Management Systems and Tools
● NET-SNMP, RRDtools, Cacti, Nagios, HP
Openview …
291
Reading list - J. Richard Burke, Network Management: Concepts and
Practice: A Hands-on Approach, Prentice Hall, 2004.
- William Stallings, SNMP, SNMPv2, SNMPv3 and RMON 1 and
rd
2, 3 Ed., Addison Wesley Inc., 2005.
Language French
292
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 22h
Contact hours: 15h (10h lessons, 5h labs/classroom exercices)
Private study including examination preparation: 7h
293
Module objectives/intended learning outcomes At the end of the course, the students will :
● Master the various engineering mechanisms
and approaches related to the performance of
wired, wireless and mobile networks,
particularly in terms of sizing, resource
allocation and control.
● Knowing how to use techniques and tools to
plan, implement and develop architectures
capable of providing quality of service
depending on the types of applications.
C4. Identify, formulate and solve complex or incompletely
defined IT problems with the objective of ensuring maximum
availability for users
C5. Specify an information system in all its dimensions:
software, hardware and architecture using the state-of-the-
art available technologies and taking into account the
company's strategic objectives
C8. Master good practices in terms of software development
as well as applicable standards and regulations.
294
Content I. Mono-service networks:
1. Sizing in fixed and mobile telephone networks
2. Congestion control, scheduling and dimensioning in best-
effort IP networks
II. Multi-service IP networks:
1. Quality of Service Paradigms in Multiservice IP Networks
2. Advanced techniques (advanced congestion control, active
queue management, etc.)
3. Flow level modelling and quality of service
III. Wireless and mobile networks:
1. Quality of services in cellular networks (3G, 4G, 5G)
2. Quality of service in wireless networks (personal, local,
metropolitan, regional
295
Reading list ●
M. Agiwal, A. Roy, N. Saxena, Next generation
5G wireless networks: A comprehensive
survey, IEEE Communications Surveys and
Tutorials, Vol. 18, No. 3, 2016
● N. Panwar, S. Sharma, A. K. Singh, A survey on
5G: The next generation of mobile
communication, Physical Communication 18,
2016
● R. N. Mitra, D. P. Agrawal, 5G mobile
technology: A survey, ICT Express 1, 2015
● SP-150149, “5G” timeline in 3GPP
● D. Flore, Chairman of 3GPP RAN, Qualcomm
Technologies Inc., LTE evolution and 5G,
Broadband World Forum 2016
● A. Scrase, ETSI CTO, 5G from Myth to Reality:
The why, when, where, what and how of 5G
standards, Broadband World Forum, London,
October 2016
Person responsible for the module (Latrach lassaad), Mohamed Karim Bouafoura, Jerad chedlia, Masmoudi Mohamed
(coordinator ) + team
Language French
296
Teaching methods lab works, project
Required and recommended prerequisites for Embedded System, operating system, Basic programming skills (preferrably C/C++). Hardware:
joining the module Any STM32 Board
Module objectives/intended learning Key question: what learning outcomes should students attain in the module?
outcomes E.g. in terms of:
● Knowledge: understand problems related to real-time applications and
operating systems;
● understand how to use real-time operating systems following the FreeRtos
● Skills: Develop an Embedded Real Time software
● Design real-time applications using freeRTOS Build real-time
297
Content Chapter I – Introduction
7. Introduction to Real-time systems and Embedded Real-time
8. Design objective for Real-time software
9. RTOS Task and Task state
Chapter II - Real-time operating systems
Examination forms 35% continuous assessment (project and mid-term exam) + 65% written exam
298
Study and examination requirements 10/20
Reading list ●
Buttazzo, Giorgio C. Hard Real-time Computing Systems, Kluwer Academic
publishers,
Building real-time embedded systems using FreeRTOS, STM32 MCUs, and SEGGER debug tools
Hands-On RTOS with Microcontrollers: Building real-time embedded systems using FreeRTOS,
STM32 MCUs, and SEGGER debug tools
,
Language French
299
Teaching methods Lessons, lab works, exercises & mini-project
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 40H
Contact hours (lectures, (classroom/homework) exercises, lab.
System programming): 30H (20H lessons, 10H lab works)
Private study:in hours:
10H
Required and recommended prerequisites for joining the Operating systems and Concurrent Programming (OS.3.03)
module Object-oriented Programming (AP.2.1)
300
Module objectives/intended learning outcomes Objectives:
With the omnipresence of distributed, multi-users and open
computing, running constantly under different wide
variations of platforms, this module provides a good
comprehensive on fundamental concepts and issues of
distributed systems. In particular, it masters in depth
practical of the client-server programming applications and
services upon (standard) middlewares (synchronous,
asynchronous, transient, and persistent communications)
with common and newest technologies.
Intended learning outcomes:
C7: To identify, locate and collect all the data necessary for
the research and development of new software or new
services.
C8 extended: To master good practices in terms of
client/server programming (with middleware) which is vital
for distributed computing.
301
Content CHAP. 1. Client-server Programming
(2 weeks)
●Introduction to distributed systems: basics
concepts; architectures (C/S with
request/response; Master-slaves; P2P; …)
● Client-server model: definitions; characteristics.
(synchronous/asynchronous) communication
● Programming C/S with Remote Procedure Call
(RPC): Interface description language –IDL;
stubs; marshalling; binding; portmapper; XDR.
LAB: C/S PROGRAMMING with RPC
● Synchronous Programming on laptops (with C
on Linux)
303
Module objectives/intended learning This course will deal with the fundamental issues in large distributed database
outcomes systems which are motivated by the computer networking and distribution of
processors, and control. The theory, design, specification, implementation, and
performance large systems will be discussed.
C1. To master in depth the basic sciences, in particular
computer science, essential for the
design and production of computer applications,
C2. Set up a technology watch system to select the relevant
tools and methodologies in the design, production or
maintenance of an Information System (IS).
C8. Master good practices in terms of software
development as well as applicable standards and
regulations.
C13. Become aware of the need to constantly update your
knowledge and, if necessary, to undertake additional
Content I INTRODUCTION
II. BDR DESIGN
I. BDR By Practice
III. TRANSACTION AND COMPETITOR ACCESS
IV. OPTIMIZATION OF DISTRIBUTED QUERIES
V. OPERATING SAFETY
VI. RDBMS ARCHITECTURE
304
DOS.5.4 Advanced architectures and parallel programming
Language French
305
Credit points 2ECTS
Required and recommended prerequisites for joining the EHA.2.1: Architecture & microprocessors
module EHA.3.1: Processor Design Methodology
AP.1.3: Advanced C
AP.2.1: Object-Oriented programming
OS.3.03: Operating systems and concurrent programming
Existing competencies: curiosity, autonomy
306
Content
General Introduction
Section I: Limits of classical architectures
Section II: Definition of parallelism
Section III Characteristics of parallel architectures
Chapter I: Classification of Parallel Machines
Section I: Flynn's classification (SISD, SIMD, MIMD)
Section II: Raina's classification
- Exercises related to SIMD and MIMD architectures (about
1h)
Chapter II: Performance of computer architectures
Section I: Importance of performance calculation
Section II: Amdahl’s law/Gustafson's law
Section III: Units of performance measurement
Section IV: SPEC standard
- Exercises related to performance (about 2h with discussions)
Chapter III: Cache coherence for parallel architectures
Section I: Memory Cache
o Definition
o Type of cache memory mapping
o Write problem
Section II: Cache coherence protocols
o Snoopy Bus
o Directory-based protocols
- Exercises related to performance (about 2h with discussions)
307
Examination forms 35% continuous evaluation + 100% written exam
Reading list ●
Hennessy, J. L., & Patterson, D. A. (2021).
Computer organization and design risc-v
edition: The hardware software interface.
● Emmanuel Quemener, Des architectures
parallèles aux programmes parallélisés - De la
métrologie à la mesure de la performance,
Course in line November 2021
DOI:10.13140/RG.2.2.23467.72483
● https://www.openmp.org/ (consulted October
2022)
● Ayguadé, E., Copty, N., Duran, A., Hoeflinger,
J., Lin, Y., Massaioli, F., ... & Zhang, G. (2008).
The design of OpenMP tasks. IEEE Transactions
on Parallel and Distributed Systems, 20(3), 404-
418.
● Reed, D., Gannon, D., & Dongarra, J. (2022).
Reinventing High Performance Computing:
Challenges and Opportunities. arXiv preprint
arXiv:2203.02544.
Module designation
DOS.5.8
308
Person responsible for the module (coordinator)
Teaching team
Language
French
Relation to curriculum
Compulsory
Teaching methods
●
Lesson
● Lab work
Credit points
1ECTS
309
Module objectives/intended learning outcomes
●
To understand the related architecture designs
and technologies of cloud computing
● To explain the overall architecture and key
design principles of IoT systems, including both
functional and non-functional aspects
● To design cloud-based IoT applications using
proper cloud services
● To gain hands-on experience in key
technologies for developing an IoT system,
including sensor selection / interfacing,
embedded system programming, use of
suitable network protocols, and various cloud
services (compute, storage, data analytics,
management)
● To gain design experience in solving a real-
world problem using IoT and cloud
technologies
● To gain both the experience and confidence in
learning a new IoT technology independently
By the end of the course, students are expected to be able to:
● Describe the IoT and Cloud architectures.
● Deploy Cloud Services using different cloud
technologies.
● Implement cloud computing elements such
virtual machines, web apps, mobileservices,
etc.
● Establish data migration techniques from IoT
devices to the cloud.
● Implement security features to protect data
stored in the cloud.
● Use visualisation techniques to show data
generated from the IoT device.
310
Content
311
Examination forms
●
20% labs
● 80% written examination
Study and examination requirements Student must achieve an overall minimum module mark of
10/20
312
Reading list
●
Mell, P. & Grance, T. (2011). The NIST
Definition of Cloud Computing (800-145).
National Institute of Standards and Technology
(NIST) National Institute of Standards and
Technology (NIST) .
● Duncan, C. H. (2017). Cloud computing
gateway, cloud computing hypervisor, and
methods, International Conference on Cloud
Computing.
● Hennion, R., Tournier H., Bourgeois E.( 2014).
Cloud computing : Décider - Concevoir - Piloter
– Améliorer.
● Plouin G. (2014). Cloud Computing, Sécurité,
stratégie d'entreprise et panorama du marché,
Collection InfoPro, Dunod.
● Rapport Cigref (2013) Fondamentaux du Cloud
Computing : Le point de vue des Grandes
Entreprises.
● Moyer C. M. (2011), Building Applications in
the Cloud : Concepts, Patterns, and Projects,
Addison-Wesley.
● Marks, E. A., Lozano B. (2010.) Executive’s
Guide to Cloud Computing, Wiley.
● Fagroud, F. Z., Benlahmar, E. H., Elfilali, S.,
Toumi H. (2019). IOT et Cloud Computing : état
de l’art. Colloque sur les Objets et systèmes
Connectés, Ecole Supérieure de Technologie de
Casablanca (Maroc), Institut Universitaire de
Technologie d’Aix-Marseille (France),
CASABLANCA, Maroc.
● Odun-Ayo, I., Okereke, C., Evwieroghene, O.
(2018). Cloud Computing and Internet of Things
- Issues and Developments.
● Christos, S., Kostas, P., Byung-Gyu K., Gupta, B.
B. (2016). Secure Integration of Internet-of-
Things and Cloud Computing. Future
Generation Computer Systems.
● Vertiv (2018). l’impact du cloud et de l’internet
des objets sur la demande en datacenters, Livre
blanc et noir.
313
IAP.5.3 Positionning Systems: tecnniques and Applications
Language English
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 22,5H
Contact hours (lectures, (classroom/homework) exercises, lab.
System programming): 15H (10H lessons, 5H presentations)
Private study:in hours:
7,5H
314
Required and recommended prerequisites for joining the Mobile communication and networks
module Advanced Networks
315
Content 2.
Location based services –LBS: Fundamentals:
Location; Mobile Technologies, techniques
(proximity; trilateration; fingerprinting);
Reference systems; outdoor, indoor
3. Introduction to Satellite-based systems --GNSS
● Examples of GNSS (GPS, Glonass,
Beidou, …)
● Principles of the Global Positioning
System
● Programming assignment -Mini-
Project:
● Applications of GPS on
Android Smartphones
● Hot GNSS-based services?
4. Indoor localization
● Classification
● MEMS and multi-sensor positioning
● Indoor map construction (standards)
● Pedestrian positioning systems:
examples
● Lab. RSS-fingerprinting localization
5. Indoor Pedestrian Navigation using
Smartphone: from research to production
● Architecture of navigation Systems
(Cartography, Pathfinding, guiding)
● Mini-Project: WiFi-based navigation
(ENSI)
316
Grading (Total 20 points) 35% CW + 65% Final Exam
with CW --Continuous work = Mean (classroom exercises;
Mini-projects; presentation)
References 6.
Data Management for Mobile Computing,
Evaggelia Pitoura and George Samaras ,
Kluwer Academic Publishers, 1998 ,ISBN: 0-
7923-8053-3
7. Alkhawaja, Fares & Jaradat, Mohammad &
Romdhane, Lotfi. (2019). Techniques of Indoor
Positioning Systems (IPS): A Survey. 1-8.
10.1109/ICASET.2019.8714291.
8. K. -J. Li, S. Zlatanova, J. Torres-Sospedra, A.
Perez-Navarro, C. Laoudias and A. Moreira,
"Survey on Indoor Map Standards and
Formats," 2019 International Conference on
Indoor Positioning and Indoor Navigation
(IPIN), 2019, pp. 1-8, doi:
10.1109/IPIN.2019.8911796.
9. A. Billa, I. Shayea, A. Alhammadi, Q. Abdullah
and M. Roslee, "An Overview of Indoor
Localization Technologies: Toward IoT
Navigation Services," 2020 IEEE 5th
International Symposium on
Telecommunication Technologies (ISTT), 2020,
pp. 76-81, doi:
10.1109/ISTT50966.2020.9279369.
317
Semester(s) in which the module is taught S5
Person responsible for the module (coordinator) Faiza Najjar & Chiraz Houaidia
Language French
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 22h
Contact hours: 15h (10h lessons, 5h lab works)
Private study including examination preparation: 7h
Required and recommended prerequisites for Introduction to OS and Unix Environment Operating systems and
joining the module concurrent programming
networks and C / JAVA language
introduction to distributed systems and applications
318
Content 1. General introduction to middleware and distributed applications
2. Designation and Linkage in distributed systems
DNS
LDAP
JNDI
3. Web services architectures
SOAP
REST
4. Event-Oriented Middleware
MQTT
5. Middleware for mobile, ubiquitous and pervasive environments
Examination forms 30% continuous assessment (lab works) + 70% written exam
DOS.5.2 Blockchain
Person responsible for the module Mohamed Houcine Hdhili, Hanen Idoudi
Language French
319
Required and recommended prerequisites for SEC.4.1 Cybersecurity and Cryptography
joining the module
Competencies:
C6. Assess the vulnerability of an IS and implement solutions to protect applications and
data.
C13. Become aware of the need to constantly update your knowledge and, if necessary, to
undertake additional studies.
320
AI.5.12 Introduction to Deep Learning
Language French
Required and recommended prerequisites for joining the MAT.1.1: Probability and Statistics
module AI .3.1.: IA & Machine Learning
Students must be competent in python.
321
Content Introduction
Chapter1: Applied Math and Machine Learning Basics
● Linear Algebra
● Probability and Information Theory
● Numerical Computation
● Machine Learning Basics
Projects ideas :
● Smart routing
● Smart home security
● Smart energy managment
Reading list ●
Deep Learning avec Keras et TensorFlow,
Aurélien Géron, 2e édition, 576 pages, Dunod,
2020
● Introduction au Deep Learning, Eugene
Charniak, 176 pages, Dunod, 2021
●
322
Semester(s) in which the module is taught S5
Language French
323
Required and recommended prerequisites for joining the MAT.1.1: Probability and Statistics
module AI .3.1.: IA & Machine Learning
Students must be competent in python.
324
Content Chapter1: Introduction to Data Mining
● What is data mining?
● Related technologies - Machine Learning,
OLAP, Statistics
● Data Mining Goals
● Stages of the Data Mining Process
● Data Mining Techniques
● Knowledge Representation Methods
● Applications
Chapter4 : Clustering
● Basic issues in clustering
● First conceptual clustering system: Cluster/2
● Partitioning methods: k-means, expectation
maximization (EM)
● Hierarchical methods: distance-based
agglomerative and divisible clustering
Projects ideas :
● Text mining: extracting attributes (keywords),
structural approaches (parsing, soft parsing).
● Bayesian approach to classifying text
● Web mining: classifying web pages, extracting
knowledge from the web
325
Examination forms 100% Lab exam
Reading list Data Mining: Concepts and Techniques, Jiawei Han and
Micheline Kamber
326
ISA.5.1 Big Data
Language French
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 45 hours
Contact hours: 30 hours: 20 hours lessons + 10 hours lab
works
Private study:in hours: 15 hours
327
Required and recommended prerequisites for joining the Basic knowledge in programming (Python and Java) and
module relational databases
328
Content Chapter I – Introduction to Big Data
1. Motivations
2. Definition
3. The 3Vs and the additional Vs
4. Benefits and challenges
5. Application examples
6. Stages of a Big Data project
7. New professions
8. Related fields
Chapter II – Hadoop: Building Blocks
1. Hadoop presentation
2. Hadoop history
3. Hadoop ecosystem
4. HDFS
5. MapReduce V1
6. MapReduce V2
7. Design Patterns MapReduce
Chapter III - Advanced Processing Tools
1. Data processing types
2. MapReduce review
3. Abstraction languages
a. Pig
b. Hive
4. Apache Spark
Chapter IV – NOSQL Databases
1. DBMS strengths
2. DBMS limits
3. BD NOSQL
4. BDR vs BD NOSQL
5. Study of BD NOSQL instances
a. Cassandra
b. MongoDB
Chapter V – Big Data Architectures
1. Motivations
2. Lambda architecture
3. Kappa architecture
4. Other architectures
5. Case study
Practical Works
1. Installation and testing of the working environment
2. HDFS
3. MapReduce
4. Pig and Hive
5. Spark
6. HBase
329
Examination forms 35% continuous evaluation (Lab works, presentations) ; 65%
written exam
331
SEC.5.2 IoT Security
Language French
Required and recommended prerequisites for joining the SEC.4.1 Cybersecurity and Cryptography
module NET.4.1 Computer Networks
E.g. existing competences in ...
332
Module objectives/intended learning outcomes Knowledge:
At the end of the course, the students will :
● Be able to discuss the main threats and attacks
on IoT devices and services.
● Identify convenient cryptographic tools and
protocols to secure devices, communications
and IoT plateforms
● Be able to assess IoT threats and risks as they
arise
● Be able to design a secure embedded system
Competencies:
333
Content Chapter 1 – IoT Security context
2. IoT security requirements
3. IoT security challenges
4. IoT potential risks in various use cases
5. IoT security risks assessments
Chapter 2 - Securing IoT devices
6. IoT device hardware and firmware
7. Vulnerabilities and Attacks at the Hardware
Layer
8. Threat mitigation of the Hardware Layer
Chapter 3- Securing IoT network layer
9. IoT network layer vulnerabilities
10. Mitigating IoT network layer threats
Chapter 4 - Securing IoT application layer
11. IoT application layer vulnerabilities
12. OWASP projets (Secure coding, OWASP Top 10)
13. Mitigating IoT application layer threats
Chapter 5 – Securing IoT plateforms
14. Cloud security
15. Securing data at rest
Chapter 6 – Security in embedded systems
16. security risks in embedded systems
17. Mitigating embedded systems threats
18. STM32 security features
Lab Works:
Lab1: Firmware security assessments using OWASP-fstm.
Lab2: Testing commonly found vulnerabilities in IoT devices
using the deliberately insecure firmware IoTGoat.
Lab3: audit IoT hardware security using HardSploit
Lab4: designing a secure embedded system, using the
STM32Trust security framework.
334
Examination forms 50% continuous assessment (lab works) + 50% written exam
Language French
335
Required and SEC.4.1 Cybersecurity and Cryptography
recommended NET.5. 2 Communication Architectures and protocols for IoT
prerequisites for joining SEC.5.1 IoT security
the module
Module Knowledge:
objectives/intended At the end of the course, the students will :
learning outcomes ● Be able to identify security requirements for a specific IoT application
● Be able to design and implement a security solution for a specific IoT application
● Identify convenient cryptographic tools and protocols to secure IoT applications
Competencies:
C6. Assess the vulnerability of an IS and implement solutions to protect applications and data.
C13. Become aware of the need to constantly update your knowledge and, if necessary, to
undertake additional studies.
Project samples:
- securing an e-health application
- securing a smart-home application
- securing a smart-hotel application
Reading list 1- Naoui, S., Elhdhili M.E. and Azouz Saidane, L. Novel Enhanced LoRaWAN Framework for Smart
Home Remote Control Security. Wireless Pers Commun 110, 2109–2130 (2020)
2- Boussada R., Balkis H., Elhdhili M.E. and Saidane L. A., Privacy‐preserving aware data
transmission for IoT‐based e‐health, Computer Networks, Volume 162, 2019 – SJR:0.845
3- Naoui S., Elhdhili M.E. and Saidane L.A. Lightweight and Secure Password-Based Smart Home
Authentication Protocol:LSP‐SHAP. J Netw Syst Manage 27, 1020–1042 (2019)
4-https://www.iot.org.au/wp/wp-content/uploads/2016/12/IoTAA-Security-Guideline-V1.2.pdf
5- https://owasp.org/www-project-internet-of-things/
336