Download as pdf or txt
Download as pdf or txt
You are on page 1of 421

Tunisian Republic Ministère de l’Enseignement ‫ﻭﺯﺍﺭﺓ ﺍﻟﺘـﻌﻠـﻴﻢ ﺍﻟﻌـﺎﻟـﻲ ﻭﺍﻟﺒﺤﺚ ﺍﻟﻌﻠﻤﻲ‬

Ministry of Higher Education and Supérieur et de la recherché


Scientific Research scientifique

University of Manouba Université de la Manouba ‫ﺟـﺎﻣـﻌـﺔ ﻣـﻨـﻮﺑـﺔ‬

National School of Computer ECOLE NATIONALE DES SCIENCES ‫ﺍﻟﻤـﺪﺭﺳـﺔ ﺍﻟﻮﻁﻨﻴـﺔ ﻟﻌﻠـﻮﻡ ﺍﻹﻋﻼﻣﻴﺔ‬
Sciences DE L'INFORMATIQUE

Computer science engineering

Module Handbook

Part I :Common core courses

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:

Specialization Name (English French name Used acronym


translation)
Artificial Intelligence Intelligence Artificielle IA
Software Engineering Génie Logiciel GL
Data Science & computer Vision Vision par ordinateur CV
Financial Engineering Ingénierie pour la finance IF
Embedded Software and Systems Systèmes et logiciels embarqués SLE
Services, Technologies and Internet of Services, Technologies et Internet ST-IoT
things des objets,

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

Table 1: codes defining teaching subjects

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

MAT.1.1 Probability and Statistics 3

MAT.1.2 Mathematics of engineering 3

FIN.1.1 Introduction to banking and Financial systems 3

EHA.1.1 Digital circuits 3

EHA.1.2 Analog Electronics 1,5

AI.1.1 Formal Logic 3

DAT.1.1 Database and DBMS 3

AP.1.2 Algorithmics and Data Structures 3

AP.1.3 Advanced C programming 1,5

BDC.1.1 Management of Organization 3

Language and communication 1 : English for Computer


BDC.1.2 3
Science

p. 6
MAT.1.1 Probability and Statistics

Module designation MAT.1.1


Semester(s) in which the module is S1
taught
Person responsible for the module Leila Horchani
Teaching team Leila Horchani; Nadia Chaouachi
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 3 ECTS
Required and recommended Introduction to probability
prerequisites for joining the module Combinatorics
Module objectives/intended learning C1
outcomes
Content Chapter I: Reminders -6hours
1. Generalities of probability
2. Discrete Random Variables
Chapter II: Continuous Random Variables -12hours
1.Definitions
2.Characteristic function
3.Usual laws
Chapter III: Continuous Random Pair -6hours
1.Law of probability of a random vector.
2.Density of a continuous random pair
3.Distribution function.
4.Independence.
5.Marginal laws
6.Sum of two independent c.a.v.'s
Chapter IV: Convergence and limit theorems -12hours
1.Almost sure convergence and limit theorems
2.Convergence in probability and in L2 space
3.Convergence in law.
4.Strong law of large numbers
5.Estimates of laws
6.Central Limit Theorem
Chapter V: Introduction to Statistics -9hours
1.Point estimation
2.Hypothesis testing
3.Confidence interval
Examination forms 35% continuous evaluation; 65% written exam
Study and examination requirements 10/20
Reading list ● J.F. Delmas, B. Jourdain : Modèles aléatoires :
applications aux sciences de l'ingénieur et du vivant,
Springer 2006.
● B. Jourdain : Probabilités et statistique, Ellipses, 2009.
● Y. Lacroix, L. Mazliak : Probabilités, variables
aléatoires, convergences, conditionnement, ellipses,
2006.
● S. Méléard, Introduction à la théorie et au calcul des
probabilités, éditions de l'école Polytechnique, 2010

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.

FIN.1.1 Introduction to the banking and financial system


Module designation FIN.1.1 Introduction to the banking and financial system
Semester(s) in which the S1
module is taught
Person responsible for the Snoussi Imen
module (coordinator)
Teaching team Mouna Ben Salah, Amor oueslati, Rania Jammazi
Language French
Relation to curriculum Compulsory
Teaching methods Lesson
Workload (Estimated) Total workload: 65h
Contact hours : 45h (30h lessons, 15h exercises)
Private study :20hntact hours : 45h (30h lessons, 15h ex20h
Credit points 3ECTS
Required and The course requires knowledge of basic financial
recommended mathematics.
prerequisites for joining
the module
Module The main objective of this course is to familiarize the student with
objectives/intended the main concepts of financial mathematics and to provide him/her
learning outcomes with the tools and techniques necessary to solve financial
problems. These problems can be found in several areas of finance:
investments, insurance, amortization, bond management...

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.

EHA.1.1 Digital circuits


Module designation EHA.1.1 Digital Circuits
Semester(s) in which the S1
module is taught
Person responsible for the Montassar Ezzine
module (coordinator)
Teaching team Montassar EZZINE, Yasser GRITLI, Moez SOLTANI, Rym BESSROUR,
Nizar SGHAIER
Language French
Relation to curriculum Compulsory
Teaching methods Lesson
Workload (incl. contact hours, (Estimated) Total workload: 77h
self-study hours) Contact hours: 45h (25h Lessons, 20h Exercise)
Private study including examination preparation, specified in hours:
32h
Credit points 3ECTS
Required and recommended Automatic, Physics.
prerequisites for joining the
module

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)

Lesson 3 (08h). Boolean algebra and Logic Gates


● Boolean algebra operators
● Boolean algebra theorems
● Representation of a logical function
● Simplification of logical expressions Elementary logic gates
● Universal logic gates
● Other logic gates
● Synthesis of logic circuits
- Exercices (05h)

Lesson 4 (10h). Combinational Circuits


● Transcoding operators
● Referral operators
● Comparison operators
● Arithmetic operators
-Exercices (05h)

Lesson 5 (08h). Sequential Circuits


- Flip flops (asynchronous RS flip-flop, synchronous RS flip-flop, D-
type flip-flops, JK-type flip-flops, T-type flip-flops)
- Counters (asynchronous counters, synchronous counters)
- Shift registers
- Exercices (04h)
Examination forms 35% Continues evaluation + 65% Written exam.
Study and examination 10/20
requirements

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.

EHA.1.2 Analogue Electronics


Module designation EHA.1.2 Analogue Electronics
Semester(s) in which the module S1
is taught
Person responsible for the Yasser GRITLI
module (coordinator)
Teaching team Yasser GRITLI, Moez Soltani.
Language French
Relation to curriculum Compulsory

Teaching methods Lesson


Workload (incl. contact hours, (Estimated) Total workload:38.5h
self-study hours) Contact hours: 22.5h (12.5h Lessons, 10h Exercise)
Private study including examination preparation, specified in hours:
16h
Credit points 1.5ECTS
Required and recommended Automatic, Physics.
prerequisites for joining the
module
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

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.

AI.1.1 Formal Logic


Module designation AI.1.1
Semester(s) in which S1
the module is taught
Person responsible for Hela Boukef
the module
(coordinator)
Teaching team Hela Boukef, Sirine Ben Meskina
Language French
Relation to curriculum Compulsory
Teaching methods Lesson, assignment
Workload (incl. contact Total workload: 60 hours
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 Boolean Algebra/Sets Theory
recommended
prerequisites for joining
the module

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 :

● studying the main operators, universal quantifiers and their


properties,
● understanding the notions of implication and equivalence,
● modeling a statement to test its validity,
● applying all these notions to the mathematical demonstration
in order to test its validity,
● and, by structuring an own reasoning.

Competences: students are able :


C1. To master in depth the basic sciences, in particular computer science and
mathematics, essential for the design and production of computer
applications.

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

Examination forms 35% continuous evaluation; 65% written exam


Study and examination 10/20
requirements

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.

DAT.1.1 Database and DataBase Management Systems

Module designation DAT.1.1 Data Base and DBMS


Semester(s) in which the module is S1
taught
Person responsible for the module Raoudha KHCHERIF
(coordinator)
Teachers Hela Boukef
Language French
Relation to curriculum Compulsory
Teaching methods lecture, lesson, assignment, labs
Workload (incl. contact hours, self- Total workload: 60 h
study hours) Contact hours: 45 h ( lecture, exercise, laboratory , etc.):
Private study: 15 h
Credit points 3ECTS
Required and recommended AP.1.2
prerequisites for joining the module
Module objectives/intended learning C1. To master in depth the basic sciences, in particular
outcomes 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 Chapter1: Introduction to databases
Chapter 2: Introduction to the different Models
Chapter3: Entity/Association Model
Chapter 5: Relational model
Chapter 6: Relational Algebra
Chapter 7: Introduction to the SQL language
Chapter8: NoSQL Databases

Examination forms 35% continuous evaluation+65% written exam


Study and examination requirements 10/20
Reading list [1] Georges GARDARIN, “Bases de Données », Eyrolles, 2003
[2] Frédéric Brouard, Christian Soutou, “Modélisation de bases de
données“, Eyrolles 2015, 384 pages
[3] Frédéric Brouard, “SQL“, PEARSON , 2001, 510 pages
[4] Rudi BRUCHEZ ,“l es bases de données NoSQL et le BigData“,
Eyrolles 2015, 315 pages

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;

Competences: 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.
C8. Master good practices in terms of software development as
well as applicable standards and regulations.
Content Chapter I – Introduction and reminder
1. Structure of an algorithm
2. Data types
3. Basic operations
4. Control structures
5. Modular decomposition
Chapter II - Structured Objects
1. Arrays
2. Character strings
3. Structures Application: Sorting algorithms
Chapter III – Recursivity
1. Definition and examples
2. Properties of recursive algorithms
3. Execution stack
4. Application: Tower of Hanoi
Chapter IV – Dynamic memory allocation
1. Pointer concept
2. Declaration of a pointer
3. Memory reservation
4. Access to the pointed variable
5. Freeing up memory
Chapter V – Files
1. Interest of the files
2. Organization
3. Types of access

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

Examination forms 35% continuous evaluation; 65% written exam


Study and examination 10/20
requirements
Reading list ● CORMEN, Thomas H., LEISERSON, Charles Eric, RIVEST,
Ronald L., et al. Introduction à l’algorithmique. Dunod, 1997.
● COURTIN, Jacques, KOWARSKI, Irène. Initiation à
l'algorithmique et aux structures de données Volume 2.
Dunod, 1997.
● COURTIN, Jacques, KOWARSKI, Irène. Initiation à
l'algorithmique et aux structures de données Volume 1.
Dunod, 1994.
● FROIDEVAUX, Christine, GAUDEL, Marie-Claude, et SORIA,
Michele. Types de données et algorithmes. Ediscience
International, 1993.

AP.1.3 Advanced C programming


Module designation AP.1.3 Advanced C Programming
Semester(s) in which the module S1
is taught
Person responsible for the module Sabri ALLANI
(coordinator)
Teaching team Dhouib Dorra, Saidi Rihab

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

BDC.1.1 Management of Organization


Module designation BDC.1.1 : Management of Organization
Semester(s) in which the 1stSemester
module is taught
Person responsible for the Houda HAKIM GUERMAZI.
module Team: Wissem Ben Saiid, Mokrani Fatma
Language French
Relation to curriculum Compulsory

Teaching methods lecture, lesson, project,.


Workload (incl. contact hours, Total workload:45 h
self-study hours)
Credit points 3
Required and recommended No prerequisites for joining the module
prerequisites for joining the
module
Module objectives/intended -Familiarize students with Economics and management concepts
learning outcomes - Help students to :
● Identify the Strategic management Process .
● Identify business relationship and business environment
● To master financial department functions
● To master MKG department functions
● To master HR department functions
Core Competences strategic planning and management skills
Competence in conflict management and problem solving and decision
making
Leadership Competence
Competence in Finance management
Competence in Mrk management
Competence in HR management

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.

BDC.1.2 Language and communication I: English For


Computer Science
Module designation BDC.1.2 Language and communication I: English For Computer Science
Semester(s) in which the S1
module is taught
Person responsible for Faycel DHAKHLAOUI
the module (coordinator)
Teaching team Hanen JAYARI, Ahlem BEN CHOUCHANE
Language English
Relation to curriculum Compulsory

Teaching methods Lecture, project, group work,


Workload (incl. contact (Estimated) Total workload:55h
hours, self-study hours) Contact hours (please specify whether lecture, exercise, laboratory session,
etc.):45h (15 lessons, 30practice)
Private study including examination preparation:10h
Credit points 3ECTS
Required and E.g. General English intermediate level
recommended
prerequisites for joining
the module
Module - Familarize learners with the basics of the computer system and the latest
objectives/intended development in the field.
learning outcomes - Develop communicative skills involved in the job of a computer science engineer.
- Develop writing skills specific to business correspondence

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

MAT.2.1 Graph algorithmic 3

MAT.2.2 Numerical methods 3

EHA.2.1 Microprocessor and microcontroller engineering 3

NET.2.1 Digital transmission 3

Introduction to operating systems and Unix


OS.2.1 3
environment

AP.2.1 Object-oriented programming 3

AP.2.2 Web technologies 1,5

AP.2.3 Automata threory and formal Languages 3

DAT.2.1 Database lab 1,5

IMA.2.1 Image introduction 3

BDC.2.1 Language and communication 2 3

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

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 algorithms and data structure (AP.1.2)
prerequisites for joining the advanced C Programming (AP.1.3)
module
Module objectives/intended C1/C4/C13
learning outcomes
Content Chapter I: Basic concepts of graph theory (6 hours)

1. Basic definitions and concepts


2. graph representation (matrices, lists …)
3. Connectivity ( weakly and strongly connected components,
articulation points, isthmus)

Chapter II: Extremal paths of weighted graphs (15 hours)

1. Typology of optimization problems (depending on the nature of the


valuations, the graph structure and the considered problem)

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)

1. Définitions and properties


2. Resolution algorithms (Prim, Kruskal, Edmonds – Karp)
3. Related problem : Steiner tree

Chapter IV : Flow Network (15 hours)

1. Concepts useful to Flow problems (Definitions and properties)

2. Maximum flow problem: Ford – Fulkerson algorithm

3. Cuts: Max-Flow Min-Cut theorem

4. Feasible Flows : Hoffman theorem

5. Minimum cost flow problem : Busacker-Gowen algorithm

6. Applications :

a. Matchings and Coverings in Bipartite Graphs

b. The Optimal Assignment problem

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

● T. Cormen,, C. Leiserson., R.Rivest, C.Stein : Introduction à


l'algorithmique (2ème édition) – Dunod (2004)

● M. Gondran, M. Minoux : Graphes et algorithmes, Eyrolles

● Lacomme, C. Prins , M. Sevaux : Algorithmes de graphes , Eyrolles


2003

● Vijay V. Vazirani :Approximation Algorithms, Springer, 2001

MAT.2.2 Numerical methods


Module designation MAT.2.2
Semester(s) in which the module S2
is taught
Person responsible for the module Nahla Abdellatif
( coordinator)
Teaching team Nahla Abdellatif, Nacef Elloumi and Sarra Smaali

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).

Chapter III: Numerical solution of linear systems-15hours


1. Direct solution methods
a. Gaussian elimination
b. LU decomposition
c. Cholesky decomposition
2. Iterative methods
a. General principle
b. Jacobi method.
c. Gauss-Seidel method.
d. Relaxation methods.
e. Convergence of the iterative methods.
3. Gradient methods
a. Stationary methods
b. Optimized Gradient method
c. Conjugate Gradient Algorithm.
d. Conditioning and Accuracy.
e. Preconditioning.
Chapter IV: Numerical calculation of eigenvalues -9hours
1. Introduction
2. Power method
3. Jacobi method.
4. QR method.
Examination forms 35% continuous evaluation; 65% written exam
Study and examination Eval > 50%
requirements 10/20
Reading list ● S.C. Chapra, and R.P. Canale – Numerical methods for
engineers, volume 2, Mcgraw-hill, New York, 1998.
● A.M. Quarteroni, R. Sacco, F. Saleri – Méthodes
numériques pour le calcul scientifique : programmes
en MATLAB. Springer Science & Business Media, 2000.
● A.M. Quarteroni, R. Sacco, F. Saleri – Numerical
Mathematics, Texts in Applied Mathematics, Springer-
Verlag, 2006.
● A. Quarteroni, F. Saleri – Calcul scientifique, Cours,
exercices corrigés et illustrations en MATLAB et
Octave, Springer, 2006.
● Y. Saad – Iterative Methods for sparse linear systems.
PWS Publishing Company, Boston, 1996.
● R. Théodor – Initiation à l’analyse numérique, Masson,
1992.

EHA.2.1 Microprocessor and microcontroller engineering


Module designation Microprocessor and microcontroller engineering
Semester(s) in which the S2
module is taught
Person responsible for the Rym Besrour
module (coordinator)
Teaching Team Rym Besrour, Imed Abdesselem, Nizar Sghaier, Montasser Ezzine
Language French
Relation to curriculum Compulsor

Teaching methods lesson, lab works

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

Content Chapter1 : Microprocessor based systems


● Digital computer,
● Microprocessor,
● Van Neumann and Harvard Architecture,
● CISC and RISCProcessors

Chapter2 : Memory
RAM, ROM….

Chapter3 : 8086 Microprocessor


● Architectural Block Diagram,
● Schematic and Pin diagrams,
● Pin functions,
● Bus Organization,
● Internal operations and registers,
● Externally initiated operations,
● Timing and Control Unit,
● Microprocessor communication,
● Multiplexing of address/data bus,
● Generation of control signals,
● 8086 machine cycles,Fetch and execution of only MOV

Chapter4 : 8086 Assembly language programming


● Programming model of 8086,
● Addressing modes,
● programming of 8086 based on data transfer,
● arithmetic and logical group,
● branching instructions,
● bit manipulation instructions and I/O Port programming.
● Concept of stack, subroutine and related instructions
Examination forms 35% Continues evaluation + 65% Written exam.
Study and examination 10/20
requirements

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

NET.2.1 Digital transmission


Module designation NET 2.1 Digital Transmission
Semester(s) in which the S2
module is taught
Person responsible for the Rym Besrour
module (coordinator)
Teaching team Dorra Dhouib, Leila Nasraoui, Yasser Gritli
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 3ECTS


Required and recommended MAT.1.2, EHA.1.1, EHA.1.2,
prerequisites for joining the
module
Module objectives/intended C1. To master in depth the basic sciences, in particular computer science
learning outcomes and mathematics, essential for the design and production of computer
applications.
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 taking into account 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.
Content Lecture 1: Introduction to OSI Model
(layers and their functions with a focus on the PHY
one:synchronization, multiplexing, transmission medium,…)
Lecture 2: Baseband analog modulation
(AM, FM, PM, and their applications)
Lecture 3: Baseband digital modulation
(Serial encoding mechanism NRZ, RZ, Manchester and their
applications: ADSL, WiFi, Special Line).
Lecture 4: Optimum receiver design and performance
(analysis for AWGN channels).
Lecture 5 : Passband digital modulation
(FSK, PSK, ASK, QAM).
Lecture 6 : Digital pulse modulation
(PAM, PWM, PCM).
Examination forms 35% continuous evaluation + 65% written exam
Study and examination 10/20
requirements
Reading list Reference books:
- Xiong, Fuqin. Digital Modulation Techniques, (Artech House
Telecommunications Library). Artech House, Inc., 2006.

p. 30
- Harris, Sarah L., and David Harris. Digital design and computer
architecture. Morgan Kaufmann, 2015.

OS.2.1 Introduction to operating systems and Unix


environment
Module designation OS.2.1
Semester(s) in which S2
the module is taught
Person responsible for Maher Sellami
the module
Teachers team Chiraz Houadia; Hanen Idoudi; Manel Ben Sassi; Ichrak Amdouni; Mehrez Essafi
Language French
Relation to curriculum compulsory
Teaching methods Lesson, labs
Workload (incl. contact (Estimated) Total workload: 60h
hours, self-study Contact hours: 45h (21h lessons, 24h lab works)
hours) Private study including examination preparation, 4 in hours: 15h
Credit points 3ECTS
Required and AP.1.3 Advanced C programming
recommended EHA.2.1 Architecture and microprocessors
prerequisites for
joining the module
Module Knowledge:
objectives/intended At the end of the course, the students will :
learning outcomes - know software architecture of operating systems,
- Discover the UNIX system,
- Study the development tools for programs,
- Master the system interfaces: SHELL, API,
- Understand the basics of file management systems.

Content 1) Architecture and Functional Blocks


2) General presentation of operating systems
2.1) Definition and objectives of an operating system
2.2) Evolution of operating systems
2.3) Functions of an operating system
2.4) Structure of an operating system
2.5) Characteristics of Modern Operating Systems
3) UNIX environment
3.1) The File System
3.2) The shell
3.3) The grep, sed, awk, find, sort filters
4) Programming under GNU/LINUX
4.1) Program translation chain
4.2) Compiling with GCC
4.3) The MAKE configurator
4.4) Debugging with the GNU Debugger (GDB)
4.5) Runtime environment, error management, …
4.6) Writing and using Libraries
5) The file management system
5.1) Organization of a file management system
5.2) Basic file access primitives
5.3) Security and File Protection
5.4) The UNIX file system (basic I/O, directory, inode)
Examination forms 50% continuous assessment (mid-term exam + lab works) + 50% written exam
Study and examination 10/20
requirements

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

AP.2.1 Object-oriented programming


Module designation AP.2.1 Object Oriented Programming
Semester(s) in which the S2
module is taught
Person responsible for the Imtiez Fliss
module (coordinator)
Teaching teams Imen Boukris ; Raoudha Chebil ;Ichrak Amdouni ; Amine Mezghich
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works, projects.
Workload (incl. contact hours, Total workload: 60h
self-study hours) Contact hours: 45h (30h lessons, 15h projects)
Private study including examination preparation:15h
Credit points 3ECTS
Required and recommended AP.1.2 Algorithmics and data structures
prerequisites for joining the AP.1.3 Advanced C programming
module
Module objectives/intended Students know the object-oriented paradigm.
learning outcomes Students understand the interest and origins of Object-Oriented
Programming (OOP).
Students learn the new concepts introduced by the OOP style.
Students become familiar with the C++ and Java programming languages
and learn to use them to program in an object style.

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.

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.

AP.2.2 Web technologies


Module designation AP.2.2 Web technologies
Semester(s) in which the S2
module is taught
Person responsible for the Maroua Bakri
module (coordinator)
Teaching teams Amina Sayeb
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works, projects.
Workload (incl. contact hours, Total workload: 45h
self-study hours) Contact hours: 22.5h
Private study including examination preparation, specified in hours:
22.5h
Credit points 1.5ECTS
Required and recommended AP.1.2 Algorithmics and data structures
prerequisites for joining the
module
Module objectives/intended This course is intended for beginners in the design and implementation
learning outcomes of static and dynamic websites. It covers the basic concepts and syntax
of the programming languages used to implement websites.
At the end of this course, students will:
- Be familiar with web programming languages, namely: HTML, CSS,
Javascript and PHP.
- Be able to develop static as well as dynamic websites.

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.

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

Teaching methods lesson, project


Workload (incl. contact (Estimated) Total workload: 45h
hours, self-study hours) Contact hours (30h Lessons, 15h Exercices and Project)
Credit points
Required and Mathematical Foundations of Computer Science (Set Theory and Function
recommended Theory),
Formal logic (IA.1.1) and
prerequisites for joining Data structures and Algorithms (AP.1.2.)
the module
Module Formal Languages and Automat Theory deals with the concepts of
objectives/intended automata, formal languages, grammar, algorithms, computability,
decidability, and complexity.
learning outcomes The reasons to study Formal Languages and Automata Theory are
Automata Theory provides a simple, elegant view of the complex machine
that we call a computer.
Automata Theory possesses a high degree of permanence and stability, in
contrast with the changing paradigms of the technology, development, and
management of computer systems. Further, parts of the Automata theory
have direct bearing on practice, such as Automata on circuit design and
compiler design. We focus on three processes: representation, recognition
and generation for regular, non-contextual and contextual languages.
Knowledge:
● Develop a formal notation for strings, languages and machines.
● Design finite automata to accept a set of strings of a language.
● Prove that a given language is regular and apply the closure
properties of languages.
● Design context free grammars to generate strings from a context
free language and convert them into normal forms.
● Prove equivalence of languages accepted by Push Down
Automata and languages generated by context free grammars.
● Identify the hierarchy of formal languages, grammars and
machines
● Distinguish between computability and non-computability and
Decidability and undecidability.
Competencies:
C1. Become able to built intuitively a model (automata), prove that it
recognise a language and develop programs supporting recognition
processes.
C2. Identify, formulate and solve complex control problems

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.

DAT.2.1 Database lab


Module designation DAT.2.2: Data Base Labs
Semester(s) in which the module S2
is taught
Person responsible for the Raoudha KHCHERIF
module (coordinator)
Teachers Hela Boukef
Language French

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

Examination forms 50% continuous 50% Project evaluation


Study and examination 10/20
requirements
Reading list [1] Lex de Haan, Tim Goramn, Inger Jorgensen and Melanie
Caffrey, “Beginning Oracle SQL for Oracle Database 12c“, Apress
2014, 429 pages

[2] Steven Feuerstein & Bill Pribyl & Chip Dawes, “Oracle PL/SQL
Language Pocket Reference“, O’reilly, 2015, 189 pages.

IMA.2.1 Introduction to Image Processing


Module designation IMA.2.1 Introduction to Image Processing
Semester(s) in which the S2
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, laboratory sessions, mini-projects
Workload (incl. contact Total workload: 60h
hours, self-study hours) Contact hours : 45h
Private study: 15h.
Credit points 3
Required and recommended Engineering Mathematics, Analysis, Integration, Geometry
prerequisites for joining the and Algebra
module

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

Two-dimensionnal signals and systems :


● Elementary signals, Properties of two-dimentional
Fourier transform, Discretization (spatial and
spatio-temporal artefacts),
● Two-dimensional digital filters,
● Two-dimensional z-transform,
● Transfer function.

Captors, monitors, printers, half-toning, color spaces.

Multi-dimensional filtres Design of Infinite Impulse


Response and Finite Impulse Response filters,
Implementation of multi-dimensional filters :

● Directional decomposition and directional filters,


● M-D Sub-band filters,
● M-D Wavelets.

Visual perception Neural system :


Eye, Retina, Visual cortex, Model of visual system, Special
effects, Mach phenomena and lateral inhibition, Color,
Temporal vision.

Contour and feature extraction :


● segmentation Local methods,
● Region based methods,
● Global methods, Canny,
● Mathematical morphology. Segmentation,

Motion estimation Visual information coding


● Overview of the information theory and basics of
rate-distortion,
● Conventional techniques : predictive coding,
transform coding, subband coding, vector
quantization,
● Advanced methods : multiresolution coding,
perception based coding, region based coding,
directional coding, fractals, Video coding : motion
compensation, digital TV, High definition TV.
● Standards: JPEG, MPEG, H.261, H.263
Examination forms 35% continuous eval+65% written exam
Study and examination 10/20
requirements
Reading list handouts of image and video processing course Fundamentals of
Digital Image Processing, A. K. Jain

p. 38
BDC.2.1 Language and communication 2

p. 39
Semester 3 Modules:
code Title Credits

MAT.3.1 Linear and nonlinear programming 3

EHA.3.1 Processor design methodology 3

NET.3.1 Local Area Networks (LAN) 3

NET.3.2 Lab Local Area Networks 1,5

OS.3.03 Operating Systems and concurrent programming 3

AP.3.1 Compilation techniques 1,5

AP.3.2 Design and analysis of computer algorithms 3

SE.3.1 Software engineering 3

SE.3.2 Object-oriented analysis and design 3

AI.3.1 AI & Machine Learning 3

BDC.3.1 Language and communication 3 3

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

Teaching methods Lecture, tutorials


Workload (incl. contact 45 contact hours
hours, self-study hours) 20 self-study hours
Credit points 3
Required and MAT.2.2 Numerical methods
recommended
prerequisites for joining
the module
Module The concept of optimization is now well rooted as a
objectives/intended principle underlying the analysis of many complex
learning outcomes decision or allocation problems. It offers a certain degree
of philosophical elegance that is hard to dispute, and it
often offers an indispensable degree of operational
simplicity. Using this optimization philosophy, one
approaches a complex decision problem, involving the
selection of values for a number of interrelated variables,
by focusing attention on a single objective designed to
quantify performance and measure the quality of the
decision. This one objective is maximized (or minimized,
depending on the formulation) subject to the constraints
that may limit the selection of decision variable values. If a
suitable single aspect of a problem can be isolated and
characterized by an objective, be it profit or loss in a
business setting, speed or distance in a physical
problem,expected return in the environment of risky
investments, or social welfare in the context of
government planning, optimization may provide a suitable
framework for analysis.
Competencies:
C1, C9

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

Examination forms 35%Mid-term quiz +65%Written final exam


Study and examination 10/20
requirements
Reading list David G. Luenberger and Yinyu Ye, Linear and nonlinear programming,
Springer 2021

EHA.3.1 Processor design methodology


Module designation EHA.3.1 : Processor design methodology
Semester(s) in which the S3
module is taught
Person responsible for the Imed Ben Abdessalem
module (coordinator)
Teaching team Lobna Kriaa; Montassar Ezine ; Lassaad Latrech
Language French
Relation to curriculum Compulsory
Teaching methods Lesson & lab work.
Workload (incl. contact hours, (Estimated) Total workload: 65h
self-study hours) Contact hours: 45h (30h lessons, 10h exercises,5h laboratory)
Private study including examination preparation, specified in hours:
20h
Credit points 3ECTS
Required and recommended EHA.1.1: Digital circuits
prerequisites for joining the EHA.2.1: Architecture & microprocessors
module

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

Content General introduction and reminder


- Introduction to computer architecture
- CISC vs RISC
- Reminder on logical systems
Chapter I: MIPS ISA
Section I: Study of MIPS instructions
Section II: Classification and instruction formats
Chapter II: Design of arithmetic units
Section I: Design of the arithmetic and logic unit data path
Section II: Design of the multiplication and division data paths
Chapter IV: Monocycle Design
Section I: Data Path Design
Section II: Control Unit Design
Chapter IV: Multicycle Design
Section I: Data Path Design
Section II: Control Unit Design
Chapter V Pipeline Design
Section I: Introduction and notions of pipeline execution
Section II: Hazard Problems and Their Resolution
Section III: Pipeline Data Path Design
Examination forms 35% continuous evaluation + 65% written exam
Study and examination 10/20
requirements
Reading list ● Hennessy, J. L., & Patterson, D. A. (2021). Computer
organization and design risc-v edition: The hardware
software interface.
● David A. Patterson, John L. Hennessy. Architecture des
ordinateurs, Une approche quantitative, 3th Edition. Vuibert,
2003, 1194 pages
● Andrew Tanenbaum. Architecture de l’ordinateur. 5th edition,
Pearson France, 2005, 748 pages
● Emmanuel Lazard, Architecture de l’ordinateur, Pearson
education, 2006, 213 pages

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, …)

CHAP. 2. CPU SCHEDULING (2


weeks)
● Basic concepts: scheduler, dispatcher
● Scheduling objectives/criteria
● Types of scheduling
● Scheduling algorithms; non preemptive/preemptive (FCFS, SJF,
RR, SRTF…)
● Scheduling hierarchy
● Thread Scheduling

p. 46
HOMEWORK : exercises on archive exams

CHAP. 3. PROCESS SYNCHRONIZATION AND COMMUNICATION (4


weeks)
● Critical section problem
● Mechanisms of synchronization (locks, Semaphores, monitors, …).
● Standards synchronization problems (RDV, producer/consumer;
readers/writers)
● Posix Threads IPC (mutex, sem, condition, …).
● Communication with messages –pipe Unix (pipe, FIFO)
● Homework exercises & Lab. Unix pipe (Programming)
ct: Thread synchronization (mutex, sem, conditional variables, …).

CHAP. 4. MEMORY MANAGEMENT AND VIRTUAL MEMORY (3


weeks)
● Fundamental concepts, storage-device hierarchy (pyramid of
memories)
● Static/dynamic allocation
● Allocation algorithms (first fit, best fit, worst fit)
● Segmentation/ paging/ swapping
● Virtual memory management
● Addressing mechanisms
● Replacement algorithms (FIFO, optimal, LRU/LFU, …)
RK : exercises on memory management

CHAP. 5. DEADLOCK & RECAP (1


week)
● Notion of deadlock (constraints), graph presentation
● Detection, correction, prevention, avoidance
● Recap and summary & Cutting edge IT
● Correction of midterm exam
● Classroom exercises
Examination forms 20% CW + 30% Midterm Exam + 50% Final Exam
with CW -- Continuous work =Mean(test; (programming) assignments,
HomeWorks; classroom exercises)
Study and examination 10/20
requirements
Reading list W. Stallings, Operating Systems: Internals and Design Principles, 9th
Edition, Pearson, 2018; ISBN 13: 978-0-13467095-9
A. Silberschatz, & P. Glavin and G. Gagne. OPERATING SYSTEMS Concepts,
9th edition, John Wiley & sons, inc. 2012 (ISBN-13: 978-1118063330).
A. Tanenbaum, & Herbert Bos, Modern Operating Systems, 4th edition,
Pearson, ISBN-13: 978-0133591620; (2014)

AP.3.1 Compilation techniques


Module designation AP.3.2. Compilation Techniques
Semester(s) in which the S3
module is taught
Person responsible for the Leila Ben Ayed
module
Language French
Relation to curriculum Compulsory
Teaching methods lesson, project (B4free and NuSMV Tools)
Workload (incl. contact (Estimated) Total workload: 22h30mn
hours, self-study hours) Contact hours (12h Lessons, 10h30mn Exercices and Project (with C
language))

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

Content Lesson I (03h). Introduction to compilation


● Compilation steps
● Backus-Naur form Grammar
● Compilation in one pass
Lesson 2 (06h). Syntactical analyses
● Recursive analyses
● Predictive recursive analysis
● Predictive non recursive analyses
Lesson 3 (3h) Lexical analyses
● Regular expression and lex (or Flex)
● Automata and lexical analysis
● Intermediate table
Lesson 4 (3h) Semantic analysis
● Formal Specification of semantic control
● Integration of semantic control
Lesson 5 (4h 30mn) Transformation into intermediate code
● Specification of transformation rools
● Integration of transformation rools
Lesson 6 (3h) Interpretation
● Interpretation of intermediate code
● Project Presentation

Examination forms 35% Continues 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’, Addition-Wesley, 2001.
● Aho A., Sethi R. and Ullman J. D, ‘Compilateurs Principes,
Techniques et Outils’, InterEditions, Paris, 1991.

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

Module objectives/intended learning Students Have a general overview of


outcomes ● Complexity of algorithms
● Complexity of Problems
● NP-complete problem
● Some advanced Algorithmic paradigms
● Some advanced data structure

Content The description of the contents should clearly indicate the


weighting of the content and the level.
Chapter 1: Introduction
1. Module objectives
2. Asymptotic notation
Chapter 2: Complexity of algorithm
1. Introduction
2. Iterative algorithm
3. Recursive algorithm
Chapter 3: Complexity of problem
1. Introduction
2. Complexity of Turing Machine
3. Complexity of problem (definition)
4. P an NP problem
5. NP-Complete problems
6. Some polynomial transformation
Chapter 4: Some algorithmic strategies
1. Introduction
2. Divide and conquer
3. Greedy algorithm
4. Branch & Bound strategy
5. Dynamic programming
Chapter 5: Some advanced data structure
1. Balanced tree
2. AVL-tree
3. Bi-colour Tree

Examination forms 35% continuous assessment + 65% written exam


Study and examination 10/20
requirements

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.

SE.3.1 Software engineering


Module designation SE.3.1
Semester(s) in which the S3
module is taught
Person responsible for the Nesrine Ben Yahia
module
Teachers Chiraz Zribi ; Imtiez Fliss ; Aroua Hdhili ; Fadoua Ouamani ; Narjès
Bellamine ; Wala Rebhi
Language French
Relation to curriculum Compulsory
Teaching methods lesson, seminar, projects, workshops
Workload (incl. contact hours, (Estimated) Total workload: 60h
self-study hours) Contact hours: 45h (30h lessons, 15h projects)
Private study including examination preparation, specified in hours:
15h
Credit points 3
Required and recommended AP.2.1 Object oriented Programming
prerequisites for joining the AP.2.2 Web Technologies
DAT.1.1 Data base & SGBD
module
Module objectives/intended Students Have a general overview of software engineering and
learning outcomes understand the added value of software engineering
Students know software development processes using semi-formal
approaches and know how to choose and apply these processes
Students Know the different steps of software development (analysis,
design, implementation, test, integration) and are able to choose and
apply different techniques for each step

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.
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. Analyse 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 taking into account the company's strategic
objectives
C8. Master good practices in terms of software development as well as
applicable standards and regulations.

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 3: REQUIREMENT ANALYSIS


1. Requirements description
a. Issues
b. Functional requirements
c. Non-Functional requirements
d. Domain requirements
e. Example of IEEE standard for requirements description
2. Specification
a. Modelling
b. Specification Styles

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

CHAPTER 5: TESTING THE SOFTWARE


1. Introduction
2. Objectives of the tests
3. Characteristics of a “good” test
4. The different test methods
5. Black box testing
a. Partitional analysis (equivalence classes)
b. Limit tests
6. White box testing
a. Principle
b. Control flow graph
c. Coverage criteria
d. Cyclomatic complexity
7. Criteria for stopping tests
8. Automatic tests
Examination forms 35% continuous assessment (project and mid-term exam) + 65%
written exam
Study and examination 10/20
requirements
Reading list ● Ian Sommerville, " Engineering Software Products", Pearson,
2020
● Ian Sommerville, " Software Engineering",10th Edition, 2015
● Roger S. Pressman, "Software Engineering A Practitioner’s
Approach", 8th Edition, 2015
● The DevOps Handbook: How to Create World-Class Agility,
Reliability, and Security in Technology Organizations
Paperback – October 6, 2016, Gene Kim, Patrick Debois, John

p. 51
Willis, Jez Humble, John Allspaw

SE.3.2 Object-oriented analysis and design


Module designation SE.3.2
Semester(s) in which the module is S3
taught
Person responsible for the module Imtiez Fliss
Teachers Chiraz Zribi ; Narjès Bellamine ; Nesrine Ben Yahia ; Aroua
Hdhili ; Fadoua Ouamani ; Wala Rebhi
Language French
Relation to curriculum Compulsory
Teaching methods lesson, seminar, projects, workshops
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 AP.2.1 Object oriented Programming
prerequisites for joining the module AP.2.2 Web Technologies
DAT.1.1 Data base & SGBD
Module objectives/intended learning Students Have a general overview of Unified Modelling
outcomes Language (UML)
Students know the different diagrams of UML2.5
Students learn object modelling
Students Know and use design patterns
Content The description of the contents should clearly indicate the
weighting of the content and the level.
Chapter 1: Introduction
1. Object orientation
2. Importance and interest of modeling
3. The UML modeling language
4. Complete chain of a modeling approach from the need to
the code
Chapter 2: Analysis diagrams
1. Introduction
2. Requirements modeling
3. Structural modeling: analysis
4. Dynamic modeling: analysis
Chapter 3: Architectural Design Diagrams
1. Introduction
2. Views of a software architecture
3. Package Diagram
4. Component diagram
5. Deployment diagram
Chapter 4: Detailed Design Diagrams
1. Introduction
2. Concepts Underlying Detailed Design
3. Structural modeling: design
4. Dynamic modeling: design
Chapter 5: Design Patterns
1. Introduction: Background
2. Presentation of design patterns
3. Classification of patterns
4. Design patterns of creation
5. Structural design patterns
6. Behavioral Design Patterns
Chapter 6: Summary Case Studies

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)

AI.3.1 Artificial Intelligence & Machine Learning


Module designation Artificial Intelligence and Machine learning
Semester(s) in which the S3
module is taught
Person responsible for Moncef TAGINA
the module (coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works, projects.
Workload (incl. contact Total workload: 60h
hours, self-study hours) Contact hours: 45h (30h lessons, 15h projects)
Private study including examination preparation, specified in hours:
15h
Credit points 3ECTS
Required and MAT.1.1, M.1.2,
recommended Algorithmics and data structures
prerequisites for joining
the module
Module In terms of Knowledge:
objectives/intended This course introduces the foundations artificial intelligence and machine
learning. The first objective is to allow problem solving using artificial
learning outcomes intelligence algorithms by searching methods (well-defined problems and
solutions, formulating problem, real-world problems). The second objective is to
provide Its objective is to make the theoretical concepts understood and to
provide a good mastery of the different algorithms to implement them in
academic situations and above all to be able to distinguish the situations
favourable for the application of each approach studied.
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.

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

Chapter 4 Unsupervised Learning (9 h)


● Introduction and definitions
● Agglomeration approaches
● Distribution approaches
● Model-based approaches
● Density approaches
● Practical: K-means

Chapter5 Reinforcement learning (9h)


● Introduction and definitions
● Markov decision process
● Approaches for exploration and exploitation
● Q-learning algorithm
● Practical: Q-learning with Python
Examination forms 35% continuous assessment + 65% written exam
Study and examination 10/20
requirements
Reading list 1. Artificial intelligence a modern approach, Stuart Russell et Peter
Norvig, 4th USA edition, 2022
2. APPRENTISSAGE ARTIFICIEL ; DEEP LEARNING, CONCEPTS ET
ALGORITHMES, Antoine Cornuéjols, Laurent Miclet, Vincent Barra,
Eyrolles Algorithmes 2018
3. Apprentissage artificiel, Concepts et algorithmes - De Bayes et
Hume au Deep Learning, Antoine Cornuéjols, Laurent Miclet, Vincent Barra -
Collection Algorithmes, 2021

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

Teaching methods Lecture, project, group work,


Workload (incl. contact (Estimated) Total workload:55h
hours, self-study hours) Contact hours (please specify whether lecture, exercise, laboratory session,
etc.):45h (15 lessons, 30practice)
Private study including examination preparation:10h
Credit points 3ECTS
Required and General English intermediate level
recommended
prerequisites for joining
the module
Module -develop techniques in two areas of communication: presenting information and
objectives/intended participating in meetings.
learning outcomes - develop knowledge of the language used in these two areas and also to develop
knowledge in the language used for job interview, job application and other
business issues
- Develop communicative skills of preparing, presenting and assessing projects.

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

Examination forms oral presentation, mini project and essay writing.


Study and examination 10/20
requirements

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

MAT.4.1 Stochastic processes 3

EHA.4.1 Introduction to Embedded Systems 3

NET.4.1 Computer networks 3

SE.4.1 Formal development methods 3

SE.4.2 Software Architectures 3

SEC.4.1 Cybersecurity & Cryptography 3

FIN.4.1 Introduction to financial markets 3

DDP.4.1 Design and development project 3

BDC.4.1 introduction to Entreprenership and innovation 3

BDC.4.2 Language and communication 3

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

Teaching methods Lessons, Lab, Projects.


Workload (incl. contact 45 contact hours
hours, self-study hours) 20 self-study hours
Credit points 3
Required and MAT.1.1 Probability and statistics
recommended
prerequisites for joining
the module
Module The objective of this course is the study of the main stochastic processes.
objectives/intended More specifically, Poisson processes (p.p), discrete-time Markov chains
(CMTD), continuous-time Markov chains (CMTC), waiting phenomena, birth
learning outcomes and death processes , Gaussian processes (p.g), Brownian motions (mb),
stochastic integrals, martingales, stopping times.
A focus of this course is the use of simulation. I have chosen to use the
popular statistical
freeware R, which is an accessible interactive computing environment. The
use of simulation, important in its own right for applied work and
mathematical research, is a powerful pedagogical tool for making
theoretical concepts come alive with practical,
hands-on demonstrations.
Competencies:
C1, C9

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.

EHA.4.1 Introduction to Embedded Systems


Module designation EHA.4.1: Introduction to Embedded Systems
Semester(s) in which the S4
module is taught
Person responsible for Lobna Kriaa
the module
(coordinator)
Teaching team Imed Ben Abdessalem ; Montassar Ezine ; Lassaad Latrech;
Industrial collaboration with STMicroelectronics
Language French

p. 60
Relation to curriculum Compulsory

Teaching methods Lesson & lab works.


Workload (incl. contact (Estimated) Total workload: 70h
hours, self-study hours) Contact Hours: 45h (20h lessons, 5h exercises,20h laboratory)
Private study including examination preparation, specified in hours:
25h
Credit points 3ECTS
Required and EHA.1.1: Digital circuits
recommended EHA.2.1: Architecture & microprocessors
EHA.3.1: Processor methodology design
prerequisites for joining AP.1.2: Algorithmics & data structure
the module AP.1.3: Advanced C programming
Module ● Knowledge: students
objectives/intended ● Identify the characteristics and specificities, structure and operation of
embedded systems
learning outcomes ● Understand the methods of specification and design of embedded
systems
● Learn the programming of microcontrollers
● Know the architectural design using VHDL and FPGA circuits
● Master the difference between software and hardware design
● Skills: Students know
● how to read datasheets
● How to discover existing libraries and identify their use
● How to use EDA tools (Quartus, VIVADO, Keil, IAR, etc).
● The cross-compilation mechanism
● Competences: Students are able to:
● Understand the µ controllers’ architectures and programming low
level
● the best solutions of µcontrollers programming and 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.

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.

SE.4.1 Formal development methods

Module designation SE.4.1. Formal Development Methods

Semester(s) in which the S4


module is taught
Person responsible for the Leila Ben Ayed
module
Language French
Relation to curriculum Compulsory
Teaching methods lesson, project (B4free and NuSMV Tools)
Workload (incl. contact (Estimated) Total workload: 45h
hours, self-study hours) Contact hours (30h Lessons, 15h Exercices and Project)
Credit points
Required and Formal Logic (IA.1.1.), Automata Theory and Languages (AP.1.1),
recommended Compilation Techniques (AP.3.2)
prerequisites for joining
the module
Module The objective of this Lesson is to allow students to be able to ensure
objectives/intended safety requirements of developed systems in development process.
Formal methods are mathematical approaches to software and system
learning outcomes development which support the rigorous specification, design and
verification of computer systems. The use of notations and languages
with a defined mathematical meaning enable specifications, that is
statements of what the proposed system should do, to be expressed with
precision and no ambiguity. The properties of the specifications can be
deduced with greater confidence and replayed to the customers, often
uncovering facets implicit in the stated requirements which they had not
realised. In this way a more complete requirements validation can take
place earlier in the life-cycle, with subsequent cost savings.
Designs, likewise expressed in a language with a mathematically defined
meaning, can be methodically derived from the specifications as to
provably possess all their properties. Several levels of specification and
design may be produced, each derived from and fulfilling the properties
of its predecessor. This process is known as refinement.
The reasons for the use of formal methods are generally: reduction in
maintenance costs (in part of the specific correction), robustness
(endlineantexplicite the scope of the software) and reliability. Their
application is the case, in part, the function of critical or embedded
systems, because the correction and continuity of service of these systems
can involve the lives of human beings or simply large sums of money.
In addtion to introduced concepts, some case studies are given with B4fee,
SPIN and NuSMV. Students will be able to develop models, specify rquirements
and verify required properties or give bed behaviour for the test team.

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 ;

Examination forms 35% Continues evaluation + 65% Written exam


Study and examination 10/20
requirements
Reading list References books:
● Abrial J-R., The B-Book, Assigning Programs to meanings,
Cambridge University Press, 1996,
● Harel D., Michal Politi, Modeling reactive systems with statecharts
the statemateapproach, McGraw-Hill, 1998,
● Manna Z., Amir Pnueili, The Temporal Logic of Reactive and
Concurrent Systems: Specification, Springer, 1992.
● Lano K., The B language and method: a guide to practical formal
development, Springer, 1996,
Philippe Schnoebelen, Vérification de logiciels Techniques et outils
du model-checking, Vuibert, 1999.
● Baier Ch., Joost-Pieter Katoen, Principles of Model-Checking, MIT
Press Cambridge, London, 2008.
● Schnoebelen PH., Vérification de logiciels Techniques et outils du
model-checking, Vuibert, 1999.

SE.4.2 Software Architectures


Module designation SE.4.2 Software Architecture
Semester(s) in which the S4
module is taught
Person responsible for the Nesrine Ben Yahia
module
Teachers Imtiez Fliss ; Aroua Hdhili ; Fadoua Ouamani ; Wala Rebhi
Language French
Relation to curriculum Compulsory
Teaching methods lesson, seminar, projects, workshops
Workload (incl. contact hours, (Estimated) Total workload: 60h
self-study hours) Contact hours: 45h (30h lessons, 15h projects)
Private study including examination preparation, specified in hours:
15h
Credit points 3
Required and recommended AP.2.1 Object oriented Programming
prerequisites for joining the AP.2.2 Web Technologies
DAT.2.1 Data base & SGBD
module SE.3.1 Software Engineering
SE.3.2 Object Oriented Analysis & Design

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

Students are able to:


C3. Analyse 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 taking into account the company's strategic
objectives
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.
C13. Become aware of the need to constantly update your knowledge
and, if necessary, to undertake additional studies.

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.

SEC.4.1 Cybersecurity & Cryptography


Module designation SEC.4.1
Semester(s) in which the module S4
is taught
Person responsible for the module Naouel Ben Salem Grati
(coordinator)
Teachers Maroua Bakri; Mohamed Houcine Elhdhili; Nesrine Chakchouk
Language French
Relation to curriculum Compulsory
Teaching methods lesson, exercices, labs
Workload (incl. contact hours, (Estimated) Total workload: 60h
self-study hours) Contact hours (please specify whether lecture, exercise, laboratory
session, etc.): 20h lesson, 10h exercises, 15h labs
Private study including examination preparation, specified in hours:
15h
Credit points 3ECTS
Required and recommended Net.3.1&2 Local Area Networks,
prerequisites for joining the AP.2.2 web technologies
OS.2.1 Introduction to operating systems and Unix environment
module
Module objectives/intended Knowledge: After completion of this course, students will
learning outcomes ● Be able to make a basic risk assessment of a simple system
under well-defined conditions and scenarios.
● Be able to classify different types of cyber attacks and
propose basic countermeasures.
● Know basic cryptographic protocols and some of their use
cases
● Know how to use simple cryptanalysis tools
● Know how to use a simple vulnerability scanner
Competencies
C1. To master in depth the basic sciences, in particular computer
science and mathematics, essential for the design and production of
computer applications.
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.

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

FIN.4.1 Introduction to financial markets


Module designation FIN.4.1 Introduction to financial markets

Semester(s) in which the S4


module is taught
Person responsible for the Snoussi Imen
module (coordinator)
Teaching team Mouna Ben Salah

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)

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. ∙
Gresse C : 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.

DDP.4.1 Design and development project

Module designation DDP.4.1 Design & Development project


Semester(s) in which the S4
module is taught
Person responsible for the SID department
module (coordinator)
Language French/English
Relation to curriculum Compulsory

Teaching methods Project

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

Examination forms 50% Supervisor evaluation + 50 % jury evaluation


Study and examination 10/20
requirements
Reading list

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.

• Ch 1. The supply function


• Supply procedure
• Supply organization
• Supply management
• Inventory management
• Ch 2. The production function
• Purpose of the function
• Production policies
• Production process
• Production organization
• Production optimization
• Ch 3. Business creation
• Ideation
• The personal project
• The strategic study of the project
• Financial forecasts
• Development of the business plan
• The statutes, the legal procedure and formalities

Examination forms Continuos control and exam


Study and examination 10/20
requirements
Reading list RIEL Denis (2021)"Entrepreneur 2.0: Méthode d'entreprenariat", Amazon
Digital Services LLC.
PAUNFlorin (2014)"Tous entre-preneurs !: La croissance du XXIe siècle à
l'heure entrepreneuriale", Editions L'Harmattan.
BUSSENAULT C. et PRETET M. (1995) " Economie et Gestion de
l’Entreprise", édition VUIBERT CAPUL J.Y et GARNIER O. (1996)
"Dictionnaire de l’Economie et des Sciences Sociales", édition HATIER
HARAN G. (1995) "Méthode PERT gestion et ordonnancement de projets
par la méthode du chemin critique", édition Eyrolles.
FOURNIER Jean-Claude (2011)"Théorie des graphes et applications: Avec
exercices et problèmes", Lavoisier.
LOCHARD J. (1998) "La comptabilité analytique ou comptabilité de
responsabilité", édition D'Organisation
ASSOUMOU MENYE Oscar (2017) "Comptabilité analytique
d'exploitation: cours, exercices et cas corrigés ", Editions L'Harmattan.
PORTELLA A. (2009) "100 fiches pour creer son entreprise", édition
Studyrama Eds
ZOUAOUI Mahmoud et ZOUAOUI-KAROUI Samia (1999) "Le
management: processus de gestion et fonctions de l'entreprise ", édition la
CLE.
BERGERAULT François, BERGERAULT Nicolas (2013) "De l'idée à la
création d'entreprise : comment concrétiser votre projet", édition Dunod.
PAPIN R. (2017) "Création d'entreprise : De l'idée au business plan",
édition Dunod.
SAULAIS Pierre (2022) "Connaissance et idéation: Analyser les
connaissances inventives pour stimuler l'idéation", ISTE group.
HALLGRIMSSON Bjarki (2020) "Prototypage et design produit: Des
procédés aux matériaux ", Dunod.

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

Teaching methods lecture, lesson, presentations.


Workload (incl. contact (Estimated) Total workload: 55h
hours, self-study hours) Contact hours: 45h (12h lessons, 33h presentations )
Private study including examination preparation: 10h
Credit points 3 ECTS
Required and ● French language rules used in communication (logical
recommended articulators, deictics, modal verbs and adverbs…)
prerequisites for joining ● Exchanging ideas in a consistent way.
the module ● Speaking fluently.
● Writing various administrative documents (CV, letters of
motivation, activity reports…)
Module ● students learn to adapt their communication according to the
objectives/intended audience (specialists or neophytes) or the context in which the
learning outcomes function is performed (National or international) by mastering
at least 3 languages.
● Develop leadership and entrepreneurial skills and the ability
to innovate, particularly through socio-cultural projects.
● Become aware of the need to constantly update your
knowledge and, if necessary, to undertake additional studies.
Extended learning objectives :
● Being able to exchange thoughts and opinions harmoniously.
● Building a solid argumentation using the suitable
communication techniques.
● Listening and discussing other people’s opinions.
● Developing critical thinking.
● Acquiring the necessary tools for discussions and debates.
● Knowing how to speak in public, presenting and convincing
the audience.

p. 77
Content . Chapter I
Activity Assigned
sessions
Course presentation and distribution of works 2 sessions

Applying last year’s requirements in Writing various 2 sessions


administrative documents (CV, letters of motivation,
activity reports…)

Watching and commenting video footages 3 sessions

Oral presentation 8 sessions

After the first two sessions of introduction to the communication


course, as a fundamental concept for the future engineer’s professional
and personal life, the rest of the sessions will be essentially conducted
in a participatory way.
First, students will watch video footages and will deduce the oratory
techniques that lead them to captivate their audience and defend their
theses.
Then, all the students will give an oral presentation, whether they
choose to be alone, or in small groups. Various topics will be treated,
dealing with the information society or any subject of their choosing
they want to discuss. After that, the audience will debate about the
given presentation and will criticize some points using the critical
analysis techniques acquired.

II. Chapter II
Activity Assigned sessions

Roleplays 6 sessions

Speaking in public 6 sessions

Students will conduct roleplays representing life in the company or


enterprise they might be part of. The audience will discuss them.
Within these roleplays, students will be able to speak in public, in order
to present a project they consider as particularly important. The
audience will debate about the techniques used to convince them (or
not).
Approach used: the approach used will be inductive. This approach is
preferred because it gives to the students the opportunity to conceive
their own knowledge, using different tools at their disposal, and with
the supervision of their professor.
p. 78
Examination forms 35% continuous evaluation + 65% written exam
Study and examination 10/20
requirements
Reading list Bourdieu, Pierre, Le Sens pratique, Les Editions de Minuit, 1980
Chamberlain, Alan et Steele, Ross, Guide pratique de la
communication, éd. Didier, Paris, 1991
Charles, René et Williame, Christine, La Communication orale, éd.
Nathan, 2020

p. 79
Semester 5: Common Modules

code Title Credits

BDC.5.1 Complex Project Management 1,5

BDC.5.2 Computer Law and Human Rights 1,5


Language and communication5: Preparing for
BDC.5.3 Standardized exams 1,5

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

Teaching methods lecture, lesson , project .


Workload (incl. contact hours, Total workload:15 h
self-study hours)
Credit points 1
Required and recommended management of organization (ref BDC1.1)
prerequisites for joining the Business creation course
module Applied probabilities course (ref MAT 1.1)
software engineering course
Operational research course
Module objectives/intended Familiarize students with the concepts of project management
learning outcomes - Help students to :
• Identify the stakeholders of a project.
• Identify the steps of a project.
• To master the WBS of a project
• To master planning process,
• To master quality management and risk management
project.
• To master the capitalization of a project
Core competences • Competence in resource management: Human, financial,
intercultural values, time, etc.
• Competence in risk management
• competence in quality management
• Negotiation skills
• Coaching skill
• communication skills
• Project management competence: from planning to execution

Content • Concept Content


.Stakeholders of a project
• Organizational structures and project life cycle
• The phases of a project from ideas to execution

Examination forms Practical works


Homeworks
Classroom exercises
Projects
Presentations
Final exam
.
Study and examination 10/20
requirements

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,
.

BDC.5.2 Computer Law and Human Rights


Module designation BDC.5.2 : Computer Law and Human Rights
Semester(s) in which the S5
module is taught
Person responsible for the Ines Louati
module (coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson
Workload (incl. contact (Estimated) Total workload: 20H
hours, self-study hours) Contact hours (please specify whether lecture, exercise, laboratory session,
etc.): 15H Lectures, 10H exercises, 15H labs
Private study including examination preparation, specified in hours: 5H
Credit points 1ECTS
Required and recommended The course is accessible to students without legal training and the
prerequisites for joining the assessment system takes this into account.
module

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.

C6. Assess the vulnerability of an IS and implement


solutions to protect applications and data.
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 Lesson 1 (2H) : Introduction
● The information society and the digital revolution
● Regulation of the information society.
● Definition of IT law.
Lesson 2 (3H) : Protection of Industrial property
● Protection of software by the patent of invention
● Protection of software by industrial design law
● Protection of software by trademark law.
Lesson 3 (7H) : Protection of software by copyright
● Conditions of protection
● Scope and legal duration of protection
● Effects of protection: moral and economic rights
● Legal consequences of the protection
● Action for infringement
Lesson 4 (3H) : Protection of personal data
● Definition and typology
● Human Rights
● Obligations of the person responsible.
Examination forms 100% Written exam
Study and examination A mark of 10/20
requirements
Reading list [1] Pascal Joly "Law and IT" Eyrolles 1978
[2] Céline Castets-Renard "Internet Law" Montchrestien-Lextenso ed,
2009
[3] World Summit on the Information Society
http://en.wikipedia.org/information_society
[4] Legal news: Intellectual Property Law and NTIC
http://www.juritravail.com/actualite/propriete-intellectuelle-ntic
[5] GDPR texts amended Data Protection Act of 1978: new - data
protection Dalloz 2018
[6] Chawki Gaddes “the protection of personal data: a democratic
and economic challenge” (http://www.inpdp.nat.tn)

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

Teaching methods Lecture, project, group work,


Workload (incl. contact (Estimated) Total workload:25h
hours, self-study hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.):15h (5h
lessons, 10hpractice)
Private study including examination preparation:10h
Credit points 1ECTS
Required and General English intermediate level
recommended
prerequisites for joining
the module
Module - To introduce students to the challenges involved in sitting for standardized
objectives/intended exams.
learning outcomes - To familiarize students with types of questions and to train them to the various
difficulties involved in sitting for a standardized exam which the TOEIC.
Content Lesson 1: Introduction of standardized exams: TOEIC, TOEFL and IELTS
5- TOEFL
6- TOEIC
7- IELTS
Lesson 2 : All about the TOEIC
5- Reasons for sitting for the exam
6- The certificates and the scores
7- Physical and mental preparation
Lesson 3 : Business related issues
5- TOEIC and business
6- From which context are the questions of the TOEIC drawn.
7- Challenges and keys to a successful performance
Lesson 4 : Answering Listening comprehension questions
4- The challenges of listening
5- Commenting on pictures about business
6- Sample questions: Assessment and correction.
Lesson 5 : Answering reading comprehension
5- The importance of reading.
6- Reading for grammar
7- Diagnosing mistakes
8- Making intelligent choices
9- Sample questions: reading comprehension and error recognition

Examination forms Written exam


Study and examination 10/20
requirements

Reading list - 600 essential words for the TOEIC

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.

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.

p. 1
Tunisian Republic Ministère de l’Enseignement �‫ﺍﻟﻌﻠ‬
‫ﻱ‬ ‫ﻭﺯﺍﺭﺓ ﺍﻟﺘـﻌﻠـ�ﻢ ﺍﻟﻌـﺎﻟـﻲ ﻭﺍﻟﺏﺤﺚ‬
Ministry of Higher Education and Supérieur et de la recherché
Scientific Research scientifique

University of Manouba Université de la Manouba ‫ﺟـﺎﻣـﻌـﺔ ﻣـﻨـ��ـﺔ‬

National School of Computer Sciences ECOLE NATIONALE DES SCIENCES DE ‫ﺍﻟﻤـﺪﺭﺳـﺔ ﺍﻟﻮﻃﻨ�ـﺔ ﻟﻌﻠـﻮﻡ ﺍﻹﻋﻼﻣ�ﺔ‬
L'INFORMATIQUE

Computer science engineering

Module Handbook
Part II :Semester 5 Specilizations courses

Specialization Name (English translation) French name Used acronym


Artificial Intelligence Intelligence Artificielle IA
Software Engineering Génie Logiciel GL
Data Science & computer Vision Vision par ordinateur CV
Financial Engineering Ingénierie pour la finance IF
Embedded Software and Systems Systèmes et logiciels embarqués SLE
Services, Technologies and Internet of things Services, Technologies et Internet des objets, ST-IoT

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

Table 1: codes defining teaching subjects

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
Embedded System design and validation
ESDV
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

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

Module designation AI.5.1 MultiAgent Systems

Semester(s) in which the module is taught S5

Person responsible for the module Narjès Bellamine Ben Saoud


(coordinator)

Language French/English

Relation to curriculum Compulsory

Teaching methods lesson, lab works, project, seminar.

Workload (incl. contact hours, self-study (Estimated) Total workload:40h


hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.):30h
Private study including examination preparation:10h

Credit points 2ECTS

Required and recommended prerequisites SE.3.1 Software Engineering


for joining the module AI.3.1

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.

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

Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

Reading list - J. Ferber. Les systèmes multi-agents. InterEditions, 1995.


- M. Wooldridge,“An Introduction to MultiAgent Systems”(Wiley, 2002)
- S. Russell, P. Norvig, Intelligence Artificielle, 2ème Edition, Pearson Education France,
2006 (2ème Chapitre)
- S. Russel, P. Norvig, « Artificial Intelligence, A modern Approach », 4th Edition, Pearson,
2020

AI.5.2 Non-Classical Logics

Module designation Non-Classical Logics

Semester(s) in which the module is taught S5

Person responsible for the module Leila Ben Ayed

8
Language French

Relation to curriculum Compulsory

Teaching methods lesson, project (Prolog and Spin Tools)

Workload (incl. contact hours, self-study (Estimated) Total workload: 40h


hours) Contact hours: 30h (20h Lessons, 10h Exercices and Project)
Private study: 10h

Credit points 2ECTS

Required and recommended prerequisites AI.1.1 Formal logic


for joining the module AP.2.3 Automata theory and formal Languages
SE.4.1 Formal Development Methods

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.

The practical aspect is implemented with Prolog and SPIN.



● Knowledge:
- Formal systems and formal inference for decision
- Theorem proving
- Fuzzification, defuzzificaion and decision
- Formal mapping rools
Competencies:
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 taking into account the company’s
strategic objectives
C9. Make complex decisions based on incomplete or limited information.

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 II (06h). Formal Systems for Temporal logics


- Formal system for Modal logic
- Formal system forTemporal logic

Lesson III (09h) . PLTL logic, Buchi models, automata composition and semantic verification
- Buchi automata
- Modeling properties in Buchi
- Automata composition for the verification

Lesson III (09h) Fuzzy Logic- Fuzzification ans Defuzzification


- Modelling in Fuzzy logic
- Fuzzifcation Methods
- Defuzzification Methods

Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

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.

AI.5.3 Applied Deep Learning


Module designation Applied Deep learning

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Nesrine Ben Yahia

Language French/English

Relation to curriculum Compulsory

Teaching methods lesson, lab works, project, seminar.

Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 40h
Contact hours: 30h
Private study:10h

Credit points 2ECTS

Required and recommended prerequisites for MAT.1.1 Probability and Statistics


joining the module MAT.4.1 Stochastic processes
AI.3.1 AI & Machine learning

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

Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

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

AI.5.4 Natural Language Processing


Module designation Natural Language Processing (NLP)

Semester(s) in which the module is S5


taught

Person responsible for the module Chiraz Ben Othmane Zribi


(coordinator)

Language French

Relation to curriculum Compulsory

11
Teaching methods e.g. lecture, lab works, project

Workload (incl. contact hours, self- (Estimated) Total workload:45h


study hours) Contact hours : 30 h (18h lecture + 6h exercise + 6h lab)
Private study:15h

Credit points 2 ECTS

Required and recommended AI.3.1 AI & Machine learning


prerequisites for joining the module

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

Examination forms Project (35%)


Final exam (75%)

Study and examination requirements 10/20

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.

AI.5.5 Robotics and soft computing


Module designation Robotics & Soft Computing
Semester(s) in which the module is S5
taught
Person responsible for the module Moncef TAGINA
(coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works.
Workload (incl. contact hours, self- Total workload: 40h
study hours) Contact hours:30h (18h lecture, 6h exercise, 6h lab)
Self-study:10h

Credit points 2ECTS


Required and recommended MAT.1.1, MAT.1.2
prerequisites for joining the module
Module objectives/intended learning In terms of Knowledge:
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.

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

Examination forms 100% Final exam


Study and examination requirements 10/20
Reading list 1. Introduction à la commande floue, Jean-Yves Dieulot, Laurent Dubois, Pierre Borne, Jean
Rozinoer, Editions Technip 1998
2. Classification et commande par réseaux de neurones, A. Faure, Editions Hermès, 2006.
3. Soft-I-Robot: Soft Computing Techniques, S. Santhosh, LAP Lambert Academic Publishing
2012.

ISA.5.1 Big Data

14
Module designation Big Data

Semester(s) in which the module is taught S5

Person responsible for the module Raoudha Chebil


(coordinator)

Language French

Relation to curriculum Compulsory

Teaching methods lesson, lab works, presentations.

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

Credit points 2ECTS

Required and recommended prerequisites for DAT.1.1 Database and DBMS


joining the module

Module objectives/intended learning outcomes Knowledge: Students:


-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.

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

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

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.

ISA.5.3 Interactive Decision Support Systems


Module designation Interactive Decision support systems (SIAD)

Semester(s) in which the S5


module is taught

Person responsible for the Imen BOUKHRIS


module (coordinator)

Language French

Relation to curriculum optional

Teaching methods lesson, lab works.

16
Workload (incl. contact Total workload: 40h
hours, self-study hours) contact hours: 30h
Self-study: 15h

Credit points 2ECTS

Required and recommended MAT.1.1, M.1.2, DAT 2.1


prerequisites for joining the
module

Module objectives/intended In terms of Knowledge:


learning 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.

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

Examination forms 100% Final exam

Study and examination 10/20


requirements

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

Semester(s) in which the module is taught S5

Person responsible for the module Aroua Hedhili


(coordinator)

Language French

Relation to curriculum Compulsory

Teaching methods Lesson, lab works, project.

Workload (incl. contact hours, self-study Total workload: 45h


hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.):
20h lessons
10h labs
Private study: 10h

Credit points 2ECTS

Required and recommended prerequisites MAT.1.1: Probability and Statistics


for joining the module AI .3.1.: IA & Machine Learning
Students must be competent in python.

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

Study and examination requirements 10/20

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

Semester(s) in which the module is S5


taught

Person responsible for the module Olfa BELKAHLA DRISS

Language French

Relation to curriculum Optional

Teaching methods lecture, lesson, lab works, project, exercises

Workload (incl. contact hours, self- (Estimated) Total workload: 45H


study hours) Contact hour: 30H (20h lecture, 10h exercise)
Private study:in hours[1]: 15H

Credit points 2ECTS

Required and recommended AP.1.2 Algorithms and data structure


prerequisites for joining the module MAT.2.1 Graph theory

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

Examination forms 35% continuous assessment + 65% written exam

Study and examination 10/20


requirements

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

Module designation Category theory and functional programming

Semester(s) in which the module is S:5


taught

Person responsible for the module Fethi Kadhi

Language French

Relation to curriculum Compulsory

Teaching methods Lessons, Lab, Projects.

Workload (incl. contact hours, self- contact hours: 30


study hours) self study hours: 15

Credit points 2ECTS

Required and recommended


prerequisites for joining the module

Module objectives/intended learning The objectives of this modules are:


outcomes - The Introduction of the category theory
- Application of the category theory to functional programming
- The study of Haskell as a pure functional language programming
Competencies:
C1, C9

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

Examination forms 100% Written final exam

Study and examination requirements 10/20;

Reading list Leinster, T., Basic Category Theory, Cambridge Studies in Advanced Mathematics, Cambridge press
2014.
Alejandro Serrano Mena, Practical Haskell, Apress, 2022.

AI.5.6 Knowledge Representation & Reasoning


Module designation Knowledge representation and Reasoning
Semester(s) in which the module is S5
taught
Person responsible for the module Anja Habacha
(coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works, projects.
Workload (incl. contact hours, self- Total workload: 30h
study hours) Contact hours: 15h (9h lessons, 6h lab works)
Private study:in hours:
15h
Credit points 1ECTS
Required and recommended IA.1.1 Formol Logic
prerequisites for joining the module SE.3.2 Object Oriented Analysis & Design

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

Semester(s) in which the module is S5


taught

Person responsible for the module Imtiez FLISS


(coordinator)

Language French/English

Relation to curriculum Compulsory

Teaching methods lectures, lab works and project.

Workload (incl. contact hours, self- (Estimated) Total workload: 30 hours


study hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.): 15
hours
Private study: 15h

Credit points 1ECTS

Required and recommended ISA.5.2 Data Mining


prerequisites for joining the module

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

Study and examination requirements 10/20

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

Semester(s) in which the module is S5


taught

Person responsible for the module Sonia Ben Ticha


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works, projects

Workload (incl. contact hours, self-study Total workload: 45h


hours) Contact hours: 30h (16h lessons, 14h lab works)
Private study:in hours[1]:
15h

Credit points 2ECTS

Required and recommended MAT.1.1, M.1.2,


prerequisites for joining the module Linear algebra
Algorithmics and data structures
python

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

Chapter4 Evaluating recommender systems(6h)


- Online evaluation
- Offline evaluation
- Prediction accuracy
- Diversity, serendipity
- Practical: prediction accuracy and diversity with Python

Examination forms 35% continuous assessment + 65% written exam

Study and examination requirements 10/20

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

Module designation Business intelligence

Semester(s) in which the module is S5


taught

Person responsible for the module Manel BenSassi


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works.

Workload (incl. contact hours, self- (Estimated) Total workload: 40H


study hours) Contact hours:30h (21H lesson, 09H Lab works).
Self study: 10h

Credit points 2ECTS

Required and recommended DAT.1.1 Database and DBMS


prerequisites for joining the module

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

Examination forms 35% Continues evaluation + 75% Written exam

Study and examination requirements 10/20

Reading list References:


[1] Les nouveaux tableaux de bord des managers : le projet Business
intelligence clés en main, Alain Fernandez, 6ème édition Eyrolles, 2013
[2] L’essentiel du tableau de bord, Concevoir le tableau de bord de pilotage
avec Microsoft Excel, Alain Fernandez, 4ème édition, 2013
[3] La Business Intelligence, Livre Blanc, Charlotte Galzy, Pierre Girona,
Benoît Martin, Cédric Nicoloso, Julien Vandermoere, Mai 2010

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

Teaching methods Lessons + lab works + project


Workload (incl. contact hours, self- Total workload: 30h
study hours) Contact hours: 15h (10h lessons, 5h lab session)
1
Private study:in hours :
15h
Credit points 1.5ECTS
Required and recommended MAT.1.1 Probability and Statistics
prerequisites for joining the module MAT.4.1 Stochastic processes
AI.3.1 AI & Machine Learning
AI.5.3 Applied Deep Learning
Module objectives/intended learning Students have a good understanding of Reinforcement Learning.
outcomes Students know the difference between the different deep reinforcement
learning algorithms.
Students are able to implement a deep reinforcement learning algorithm on an
open ai gym environment.

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

Semester(s) in which the module is taught S5

Person responsible for the module Raoudha KHCHERIF


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lecture, lesson, assignment, labs

Workload (incl. contact hours, self-study Total workload: 25 h


hours) Contact hours: 15 h ( lecture, exercise, laboratory , etc.):
Private study: 10h

Credit points 3ECTS

Required and recommended prerequisites DAT.2.1 , DAT.2.2, NET3.1, NET3.2, NET4.1


for joining the module

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

Examination forms 100% written Exam

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

ISA.5.8 Advanced BI
Module designation Advanced Business intelligence

Semester(s) in which the module is S5


taught

Person responsible for the module Manel BenSassi


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works.

Workload (incl. contact hours, self- (Estimated) Total workload: 30H


study hours) Contact hours: 15h (9H lesson, 6H Lab works).
Self study: 15h

Credit points 1ECTS

Required and recommended ISA.5.4 Business intelligence


prerequisites for joining the module

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.

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

Examination forms 30% Continues evaluation + 70% Written exam

Study and examination requirements 10/20

Reading list References:


[1] Les nouveaux tableaux de bord des managers : le projet Business
intelligence clés en main, Alain Fernandez, 6ème édition Eyrolles, 2013
[2] Les bases de données NoSQL, Comprendre et mettre en œuvre, Rudi
Bruchez, 02/12/2021 (3eme édition)
[3] CONSTRUIRE UN DATA LAKE DANS LE CLOUD, Snowflake & Talend, Livre
blanc

AI.5.10 Semantic web & Linked Data


Module designation Semantic Web & Linked Data

Semester(s) in which the module is S5


taught

Person responsible for the module Anja Hbacha


(coordinator)

39
Language French

Relation to curriculum Optional

Teaching methods lesson, lab works, projects.

Workload (incl. contact hours, self- Total workload: 30h


study hours) Contact hours: 15h
Private study: 15h

Credit points 1ECTS

Required and recommended AI.3.1 AI & Machine Learning


prerequisites for joining the module

Module objectives/intended learning This course aims to:


outcomes represent the standards of the Web of data and the Semantic Web.
represent and publish linked data on the Web (RDF);
to interrogate and select data remotely and through the Web (SPARQL);
Students are able to semantically link relationships between Web resources,
real world resources, and concepts through the use of Linked Data enabled
by Resource Description Framework (RDF).

Content Chapter1: Introduction to Semantic Web & Linked Data


1. Brief history of the web
2. Architectural Principles
3. Standards and deployment
4. Linked Data Principles
7. The Standardization Stack

Chapter2: RDF data model


1. Resources
2. Model of triples and graphs
3. Serialization Syntaxes
4. Values, types and languages

Chapter3: SPARQL query language


1. RDF graph matching
2. Filters, constraints and functions
3. Different forms of requests
4. Modification of RDF databases

Chapter4: Supporting RDFS ontologies and schemas


1. Introduction to ontologies
2. Schemas for and by RDF
3. Class hierarchies
4. Property Hierarchies
5. Property signatures
6. Schema Documentation

Chapter4: Formalization in OWL


1. Class relations
2. Characterization of properties
3. Equivalences and alignments
4. Restriction of properties
5. Manage schemas
6. OWL Profiles

40
Examination forms 50% Continues evaluation + 50% Final project

Study and examination requirements 10/20

Reading list [1] Foundations of Semantic Web Technologies. Pascal Hitzler,


Markus Krötzsch, Sebastian Rudolph. Chapman & Hall/CRC, 2009,
455 pages,
[2] Semantic Web Technologies: Research and Applications, Archana
Patel, Narayan C. Debnath, Bharat Bhushan, CRC Press, 2022, 404
Pages.

AI.5.8 Affective computing


Module designation AI.5. Affective computing

Semester(s) in which the module is S5


taught

Person responsible for the module Imtiez Fliss


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works, projects.

Workload (incl. contact hours, self- Total workload: 30h


study hours) Contact hours: 15h
Private study:in hours[1]:15h

Credit points 1ECTS

Required and recommended AI.3.1 AI & Machine Learning


prerequisites for joining the module

Module objectives/intended learning This course aims to:


outcomes 1. master the basic concepts of emotion and affective computing;
2. be able to design an emotion recognition system
3. have knowledge of some computational models of emotions for a robot and for a virtual
character;
4. learn about the presentation of scientific work.

41
Content
Chapter 1: Introduction
Section I: Importance of emotions
Section2: Emotional Intelligence
Section 3: Affective Computing

Chapter II: Emotions


Introduction
Section I: Emotion Definitions
Section II: Types of emotion
Section III: Components of an emotion
Section IV: Theories of emotions
Section V: Representation of emotions

Chapter III: Automatic Emotion Recognition


Introduction
Section I: Recognition of emotions by facial expressions
Section II: Recognition of emotions by voice analysis
Section III: Recognition of emotions by gesture analysis
Section IV: Recognition of emotions from physiological signals
Section V: Multimodal Recognition of Emotions

Chapter IV: Computer Modeling of Emotions


Introduction
Section I: Computational models of emotions
Section II: Computational modeling of specific emotions for virtual agents
Section III: Examples of expressive virtual agents
Section IV: Modeling emotions in robotics
Section V: Examples of Expressive Companion Robots

42
Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

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

Semester(s) in which the module is S5


taught

Person responsible for the module Walid Chaker


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works, projects.

Workload (incl. contact hours, self- Total workload: 30h


study hours) Contact hours: 15h
Private study:in hours[1]:
15h

Credit points 1ECTS

Required and recommended AI.3.1 AI & Machine Learning


prerequisites for joining the module

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

Chapter II: Examples of projects


(one or more examples for each of the following headings)
− ATIS (Advanced Traveler Information Systems)
− ATMS (Advanced Transportation Management Systems)
− APTS (Advanced Public Transportation Systems)
− Connected Vehicles and Autonomous Vehicles
− ITS in crisis and emergency management

Chapter III: ITS in Tunisia


− Strategy of the Ministry of Transport in the field of ITS
− Examples of completed projects
− Presentation of student initiatives

Examination forms 50% Continues evaluation + 50% Final project

Study and examination requirements 10/20

Reading list [1] Intelligent Transportation Systems: From Good Practices to


Standards 1st Edition, Paolo Pagano, CRC Press, 2016, 203 Pages.

45
DOS.5.8 Introduction to Cloud computing
Module designation Introduction to Cloud Computing

46
Semester(s) in which the module is 5
taught

Person responsible for the module Dr. Mehrez Essafi


(coordinator)

Teaching team -

Language French

Relation to curriculum Compulsory

Teaching methods • Lesson


• Lab work

Workload (incl. contact hours, self- Total workload: 25h


study hours) Contact hours: 15 (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

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

Examination forms • 20% labs


• 80% written examination

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

Semester(s) in which the S5


module is taught

Person responsible for the Mohamed Houcine Hdhili, Hanen Idoudi


module

Teachers team Hanen Idoudi

Language French

Relation to curriculum Compulsory

Teaching methods Lesson, Lab works

Workload (incl. contact hours, (Estimated) Total workload:25h


self-study hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.): 15h
(12 lesson, 3h lab works)
Private study: 10h

Credit points 1 ECTS

Required and recommended SEC.4.1 Cybersecurity and Cryptography


prerequisites for joining the
module

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:

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

Examination forms 100% written exam

Study and examination 10/20


requirements

Reading list IBM Blockchain Developper – Official course material

AI.5.11 AIOT
Module designation AIoT

Semester(s) in which the module is S5


taught

Person responsible for the module Pr Wided Chaari


(coordinator)

52
Teaching team Dr Mansour Saber

Language French

Relation to curriculum Optional

Teaching methods lecture, lesson, project, presentation

Workload (incl. contact hours, self- (Estimated) Total workload: 30h


study hours) Contact hours: (15h lessons)
Private study: 15h

Credit points 1ECTS

Required and recommended AI.3.1 AI & Machine learning


prerequisites for joining the module DAT.1.1 Databases and DBMS

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)

C1. To master in depth the basic concepts of IoT, in particular the


different layers of an IoT solution, the main communication
protocols used in the IoT infrastructure.
C2. Set up a complete system to be connected to the field, retrieve
data and be able to propose added value solution and answer
defined problems using the system.
C3. The students are able to identify the issue that needs the
deployment of IoT solution, define exactly the expected offer from
customer and design the system they will deploy.
C4. The students are able to evolve the IoT designed system to
exploit the received data in order to design AI algorithms making
their solution smarter.
C5. The students are aware that using IoT systems imply some
security and privacy concerns that should be treated in design
phase. They are able to define in design stage solutions to limit
these issues.
C6. The students are aware that AioT solutions are natively open
systems and they need to be accessible for external developers.
Therefore the importance of a well designed API is acquired.

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).

Examination forms Mini Project of AiOT solution presented by pair of students

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.

Reading list Intelligence of Things: AI-IoT Based Critical-Applications and Innovations


(AIoT Innovation) (Springer; 1st ed. 2021 edition (October 29, 2021)

55
Semester 5 Modules: Specialization Software Engineering
(Génie Logiciel – GL -)

Code Title Contact Hours Credits Type


SE.5.1 Software Reengineering 30 2 compulsory
SE.5.2 Software quality & test 30 2 compulsory
SE.5.3 Mobile Development 15 1 compulsory
SE.5.4 Complex systems engineering 30 2 optional
SE.5.5 Model driven engineering 30 2 optional

ISA.5.1 Big Data 30 2 compulsory


ISA.5.3 Interactive Decision Support Systems 30 2 compulsory
ISA.5.7 Distributed databases 15 1 compulsory
ISA.5.4 Business Intelligence 30 2 compulsory
ISA.5.9 Geographic Information Systems 30 2 optional
ISA.5.2 Data mining 30 2 compulsory
ISA.5.10 Urbanization of information systems 30 2 optional
ISA.5.11 Data Engineering 30 2 optional
ISA.5.6 Text Mining 15 1 optional
ISA.5.8 Advanced BI 15 1 compulsory

AI.5.3 Applied Deep learning 30 2 compulsory


AI.5.1 Multi-agent systems 30 2 optional

DOS.5.1 Cloud computing 30 2 compulsory


DOS.5.2 Blockchain 15 1 compulsory
DOS.5.3 IoT 15 1 optional

56
SE.5.1 Software Reengineering
Module designation Software Reengineering

Semester(s) in which the module is S5


taught

Person responsible for the module Nesrine Ben Yahia


(coordinator) Wala Rebhi

Language French

Relation to curriculum Compulsory

Teaching methods lesson, projects.

Workload (incl. contact hours, self- (Estimated) Total workload: 45H


study hours) Contact hours: 30h (21H lesson, 09H projects and Exercises).
Private study: 15h

Credit points 2ECTS

Required and recommended SE.3.1 Software engineering,


prerequisites for joining the module SE.3.2 Object-oriented analysis and design,
AP.2.1 Object-oriented programming,
DAT.1.1.Database and DBMS

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

Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

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

Semester(s) in which the module is taught S5

Person responsible for the module Narjès Bellamine Ben Saoud


(coordinator)

Language French/English

Relation to curriculum Compulsory

Teaching methods lesson, lab works, project, seminar.

Workload (incl. contact hours, self-study (Estimated) Total workload:40h


hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.):30h
Private study including examination preparation:10h

Credit points 2ECTS

Required and recommended prerequisites SE.3.1 Software Engineering


for joining the module

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

Students are able to:


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
C8. Master good practices in terms of software development as well as applicable
standards and regulations.

Content Part 1: Software Quality Management


1. Chapter 1: Software Quality Management
2. Chapter 2: Software Quality Standards
3. Chapter 3: Software measurement and metrics

Part 2: Software Testing


1. Chapter 4: Software Testing fundamentals
2. Chapter 5: Functional Testing
3. Chapter 6: Test Automation
4. Chapter 7: Test-driven development
5. Chapter 8: code reviews

Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

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

Module designation Mobile Development

Semester(s) in which the module is S5


taught

Person responsible for the module Sabri ALLANI


(coordinator)

Teaching team Sabri ALLANI

Language French

Relation to curriculum Compulsory

Teaching methods lab works and project.

Workload (incl. contact hours, self- Total workload: 30h


study hours) Contact hours : 15h
Private study : 15h

Credit points 1.5ECTS

Required and recommended AP.2.1, AP.2.2 and DAT.2.1


prerequisites for joining the module

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

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).

66
67
SE.5.4 Complex systems engineering
Module designation SE.5.4 Complex systems engineering

Semester(s) in which the module is taught S5

Person responsible for the module Narjès Bellamine Ben Saoud


(coordinator)

Language French/English

Relation to curriculum Optional

Teaching methods lesson, lab works, project, seminar.

Workload (incl. contact hours, self-study (Estimated) Total workload:40h


hours) Contact hours:30h
Private study including examination preparation:10h

Credit points 2 ECTS

Required and recommended prerequisites SE.3.1 Software Engineering


for joining the module AI.3.1

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

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.
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.
C7. Identify, locate and collect all the data necessary for the research and development of
new software or new IS architectures.

1. Introduction to Complexity Science


2. - Modeling and Simulation (M&S) of complex systems
- agent-based modeling and simulation
- Cellular automata
3. Introduction to Systems of Systems
- System complexity
- System of systems classification
- Systems of systems engineering
- Systems of systems architecture

Examination forms 35% Continuous evaluation + 65% Written exam

Study and examination requirements 10/20

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.

SE.5.5 Model driven engineering


Module designation SE.5.5 Model Driven Engineering

Semester(s) in which the module is S5


taught

Person responsible for the module Rim Drira


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works, projects.

Workload (incl. contact hours, self- Total workload: 45h


study hours) Contact hours: 30h
Private study:in hours[1]:
15h

Credit points 2ECTS

Required and recommended SE.3.1 Software Engineering


prerequisites for joining the module SE.3.2 OOAD

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

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.

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

Chapter II: Principles and standards of MDE


MDA: the new vision of the OMG
From contemplative to productive
4 level hierarchy
Concepts: CIM, PIM, PSM
MOF (MetaObject Facility)
UML profile
Chapter III: Object Constraints Language (OCL)
Why OCL
OCL Syntax
Invariant with OCL
Pre and Post conditions with OCL

Chapter IV: Model transformation


Definitions and generalities
Why the transformations
Endogenous/exogenous transformation
Vertical/Horizontal transformation
Transformation in MDA
Processing categories
Transform tools
processing techniques
Processing Difficulties
Example with ATL and Kermeta

71
Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

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

Semester(s) in which the module is S5


taught

Person responsible for the module Raoudha Chebil


(coordinator)

Language French

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: 15 hours

Credit points 2ECTS

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

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.

76
ISA.5.3 Interactive Decision Support Systems
Module designation Interactive Decision support systems (SIAD)

Semester(s) in which the module is S5


taught

Person responsible for the module Imen BOUKHRIS


(coordinator)

Language French

Relation to curriculum Compulsory

Teaching methods lesson, lab works.

Workload (incl. contact hours, self- Total workload: 45h


study hours) Contact hours: 30h (18h lecture, 9h exercise, 3h lab)
Self-study: 15h

Credit points 2ECTS

Required and recommended MAT.1.1, M.1.2, DAT 2.1


prerequisites for joining the module

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

Examination forms 100% Final exam

Study and examination requirements 10/20

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

Module designation ISA.5.7 Distributed Databases

Semester(s) in which the module is taught S5

Person responsible for the module Raoudha KHCHERIF


(coordinator)

Language French

Relation to curriculum Compulsory

Teaching methods lecture, lesson, assignment, labs

Workload (incl. contact hours, self-study Total workload: 25 h


hours) Contact hours: 15 h ( lecture, exercise, laboratory , etc.):
Private study: 10h

Credit points 1ECTS

Required and recommended prerequisites DAT.2.1 , DAT.2.2, NET3.1, NET3.2, NET4.1


for joining the module

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

Examination forms 100% written Exam

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

ISA.5.4 Business Intelligence


Module designation Business intelligence

Semester(s) in which the module is S5


taught

82
Person responsible for the module Manel BenSassi
(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works.

Workload (incl. contact hours, self- (Estimated) Total workload: 45H


study hours) Contact hours:30h (21H lesson, 09H Lab works).
Self study: 15h

Credit points 2ECTS

Required and recommended DAT.1. Database and DBMS


prerequisites for joining the module

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

Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

Reading list References:


[1] Les nouveaux tableaux de bord des managers : le projet Business
intelligence clés en main, Alain Fernandez, 6ème édition Eyrolles, 2013
[2] L’essentiel du tableau de bord, Concevoir le tableau de bord de pilotage
avec Microsoft Excel, Alain Fernandez, 4ème édition, 2013
[3] La Business Intelligence, Livre Blanc, Charlotte Galzy, Pierre Girona,
Benoît Martin, Cédric Nicoloso, Julien Vandermoere, Mai 2010

84
ISA.5.9 Geographic Information Systems
Module designation Geographic Information Systems

Semester(s) in which the module is S5


taught

Person responsible for the module Sabri ALLANI


(coordinator)

Teaching team Sabri ALLANI

Language French

Relation to curriculum optional

Teaching methods Lesson, lab works and project.

Workload (incl. contact hours, self- Total workload: 45h


study hours) Contact hours: 30h (5h lecture, 10h lab work and 15h project)
Private study: 15h

Credit points 2ECTS

Required and recommended AP.2.1, AP.2.2 and DAT.2.1


prerequisites for joining the module

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.

Examination forms 35% project eval +65% final exam

Study and examination requirements 10/20

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

Semester(s) in which the module is S5


taught

Person responsible for the module Fadoua Ouamani


(coordinator)

Language English

Relation to curriculum Compulsory

Teaching methods lecture, Programming labs, hands-on exercises and 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: 15 hours

Credit points 2ECTS

Required and recommended MAT.1.1 Probability and Statistics


prerequisites for joining the module AI.3.1 AI & Machine learning

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

C1. Master in depth the basic concepts related to data mining,


C2. Explore and Analyze any type of dataset, and be able to choose the right
preprocessing forms, tasks and techniques to clean, integrate, reduce, and
transform the data before feeding it to mining algorithms
C3. Set up a mining goal and choose the right technique and algorithms to
achieve it
C4. Re-use python programming language libraries to solve data mining
problems
C5. Be able to choose the right visualization techniques to display the results
of the mining process as well as to explore the data and have an idea about
its characteristics

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

Programming labs. with Python


1. Get to know your data
2. Prepare your data before the mining step
3. The mining step: clustering to classification
4. Data visualization with python
2 sets of hands-on exercises
2. Preprocessing step exercises
3. Mining step exercises

91
Examination forms 35% in-class evaluation (project, quizzes, presentations, programming labs
completion, homeworks) ; 65% written exam

Study and examination requirements 10/20

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

Semester(s) in which the module is S5


taught

Person responsible for the module Amina Sayeb


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works, projects.

Workload (incl. contact hours, self- Total workload: 45h


study hours) Contact hours: 30h
Private study:15h

Credit points 2ECTS

Required and recommended SE.3.1 Software Engineering


prerequisites for joining the module

Module objectives/intended learning This course aims to:


outcomes - Present the organization of activities, architecture and modes of
architecture governance within the company
- Understand the governance issues in the control of business activities
- Know the best practices in IS Governance
- Give a vision of the components of the digital company and the
architectural questions they raise

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)

Chapter II The governance of the company's IS


Section I: IS governance
1. Introduction
2. Characteristics of IS governance (knowing and anticipating, deciding,
communicating and
follow, adapt)
3. Evolution of the IS strategic approach
4. Definition of the governance of information systems (cross-functional
requirements: business,
functional, data)
Section II: Foundations of an IS governance model
1. Strategic alignment
2. Value creation
3. Risk management
4. Resource management
5. Performance measurement
Master’s Guide Form version of 08/25/2021 64
Section III: Key Initiatives
4.1. Organizations (ISACA, AFAI, itSMF, SEI, ITGI)
4.2. Best practice repositories (Cobit, ITIL, CMMI, etc.)

Examination forms 35% Continues evaluation + 65% Final project

Study and examination requirements 10/20

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

Semester(s) in which the module is S5


taught

Person responsible for the module Manel Ben Sassi


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works, projects.

Workload (incl. contact hours, self- Total workload: 45h


study hours) Contact hours: 30h
Private study: 15h

Credit points 2ECTS

Required and recommended DAT.1.1 Database and DBMS


prerequisites for joining the module

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

Chapter 2. Data Engineering: Approaches, Methods and Techniques


1. The process, steps and tools
2. ETL and ELT processes, data pipelines and data integration*
3. Complexity reduction approaches, distribution
4. Search by similarity: Application to recommender systems
5. Application to graph mining

Chapter 3. Data Quality Metrics


1. Components of data quality and methods of validation
2. Data Persistence
3. Modeling and data exchange
4. Data wragling

Chapter 4. Monitoring and Improving Data Quality


1. Data profiling
2. Master data management (MDM)

Examination forms 35% Continues evaluation + 65% Written exam

Study and examination 10/20


requirements

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

Semester(s) in which the module is S5


taught

Person responsible for the module Fadoua Ouamani


(coordinator)

Language English

Relation to curriculum Compulsory

Teaching methods lecture, Programming labs, hands-on exercises and presentations

Workload (incl. contact hours, self- (Estimated) Total workload: 30 hours


study hours) Contact hours: 15 hours: 10 hours lessons + 5 hours lab works
Private study: 15 hours

Credit points 1ECTS

Required and recommended ISA.5.2 Data Mining


prerequisites for joining the module

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

C1. Master in depth the basic concepts related to text mining,


C2. Explore and Analyze any type of text corpus, and be able to choose the
right NLP techniques, the text mining technique and algorithms depending on
the goal of the study
C3. Set up a text mining goal and choose the right technique and algorithms
to achieve it
C4. Re-use python programming language libraries to solve text mining
problems

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)

Study and examination requirements 10/20

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

Semester(s) in which the module is S5


taught

Person responsible for the module Manel BenSassi


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works.

Workload (incl. contact hours, self- (Estimated) Total workload: 30H


study hours) Contact hours: 15h (9H lesson, 6H Lab works).
Self study: 15h

Credit points 1ECTS

Required and recommended ISA.5.4 Business intelligence


prerequisites for joining the module

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

Examination forms 30% Continues evaluation + 70% Written exam

Study and examination requirements 10/20

Reading list References:


[1] Les nouveaux tableaux de bord des managers : le projet Business
intelligence clés en main, Alain Fernandez, 6ème édition Eyrolles, 2013
[2] Les bases de données NoSQL, Comprendre et mettre en œuvre, Rudi
Bruchez, 02/12/2021 (3eme édition)
[3] CONSTRUIRE UN DATA LAKE DANS LE CLOUD, Snowflake & Talend, Livre
blanc

AI.5.3 Applied Deep learning


Module designation AI.5.3 Applied Deep learning

Semester(s) in which the module is S5


taught

Person responsible for the module Nesrine Ben Yahia


(coordinator)

105
Language French/English

Relation to curriculum Compulsory

Teaching methods lesson, lab works, project, seminar.

Workload (incl. contact hours, self- (Estimated) Total workload: 45h


study hours) Contact hours (please specify whether lecture, exercise, laboratory session,
etc.): 30h
Private study:15h

Credit points 2ECTS

Required and recommended MAT.1.1 Probability and Statistics


prerequisites for joining the module MAT.4.1 Stochastic processes
AI.3.1 AI & Machine learning

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

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

107
Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

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

Semester(s) in which the module is taught S5

Person responsible for the module Narjès Bellamine Ben Saoud


(coordinator)

Language French/English

Relation to curriculum Optional

Teaching methods lesson, lab works, project, seminar.

Workload (incl. contact hours, self-study (Estimated) Total workload:40h


hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.):30h
Private study including examination preparation:10h

Credit points 2ECTS

Required and recommended prerequisites SE.3.1 Software Engineering


for joining the module AI.3.1

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

Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

Reading list - J. Ferber. Les systèmes multi-agents. InterEditions, 1995.


- M. Wooldridge,“An Introduction to MultiAgent Systems”(Wiley, 2002)
ème
- S. Russell, P. Norvig, Intelligence Artificielle, 2 Edition, Pearson Education France,
ème
2006 (2 Chapitre)
- S. Russel, P. Norvig, « Artificial Intelligence, A modern Approach », 4th Edition,
Pearson, 2020

DOS.5.1 Cloud computing


Module designation Cloud Computing

Semester(s) in which the module is S5


taught

Person responsible for the module Mehrez Essafi


(coordinator)

Teaching team -

Language French

Relation to curriculum Compulsory

110
Teaching methods · Lesson
· Lab work

Workload (incl. contact hours, self- Total workload: 45h


study hours) Contact hours: 30h (24h lessons, 6h lab work)
Private study: 15h

Credit points 2ECTS

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

Examination forms · 20% labs


· 80% written examination

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

Semester(s) in which the S5


module is taught

Person responsible for the Mohamed Houcine Hdhili, Hanen Idoudi


module

Teachers team Hanen Idoudi

Language French

Relation to curriculum Compulsory

Teaching methods Lesson, Lab works

Workload (incl. contact hours, (Estimated) Total workload:25h


self-study hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.): 15h
(12 lesson, 3h lab works)
Private study: 10h

Credit points 1 ECTS

Required and recommended SEC.4.1 Cybersecurity and Cryptography


prerequisites for joining the
module

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:

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.

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

Examination forms 100% written exam

Study and examination 10/20


requirements

Reading list IBM Blockchain Developper – Official course material

117
DOS.5.3 IoT

Module designation 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 Compulsory

Teaching methods lecture, project

Workload (incl. contact hours, self- (Estimated) Total workload: 30h


study hours) Contact hours: 15h
Private study: 15h

Credit points 1ECTS

Required and recommended Existing competences in networking


prerequisites for joining the module

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

Chapter IV – Middelwares and Application protocols for IoT


- Web of Things: concepts and communication’s
models
- WoT : Data Standards
- IoT middelwares
- Publish/subscribe model
- WoT : Data exchange protocols
- MQTT
- CoAP

Practical Work (personal project) : Design of a simple IoT application

Examination forms Oral presentation of the personal project.

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 &AMP TUTORIALS. JANUARY 2015

121
Semester 5 Modules: Specialization Data Science & computer Vision (Vision par Ordinateur et Science des données - DS-CV-)

Code Title Contact Hours Credits Type

AI.5.14 Machine and Deep Learning 30h 2 Compulsory

CV.5.1 Restoration and digital Considerations 30h 2 Compulsory

CV.5.2 Shape recognition and geometric invariants 30h 2 Compulsory

CV.5.3 3D representation: Curves, Shapes and Surfaces 30h 2 Optional

CV.5.4 Discrete Representation of 3D Objects 30h 2 Optional

CV.5.5 Compression techniques for computer vision applications 30h 2 Optional

CV.5.6 Mathematical Morphology and medical applications 30h 2 Compulsory

CV.5.7 Multispectral image processing 30h 2 Compulsory

CV.5.8 Multidimensional signal processing 30h 2 Optional

CV.5.9 Computer vision 30h 2 Optional

ISA.5.1 Big Data 30h 2 Compulsory

AI.5. 13 Machine and Deep Learning Workshops 15h 1 Compulsory

AI.5.14 Speech recognition&Chatbots application 15h 1 Compulsory

AI.5.15 Optimization and Reinforcement Learning 15h 1 Compulsory

AI.5.16 Introduction to Natural Language Processing 15h 1 Optional

CV.5.11 Medical Imaging Workshops 15h 1 Compulsory

DOS.5.2 Blockchain 15h 1 Optional

DOS.5.3 IoT 15h 1 Optional


DOS.5.8 Introduction to cloud computing 15h 1 Optional
SE.5.3 Mobile Development 15h Optional

Complementary module1 30h 2

Complementary module2 30h 2

Complementary module3 30h 2

Complementary module4 15h 1

Complementary module5 15h 1

Complementary module6 15h 1

AI.5.14 Machine and Deep Learning

Module designation AI.5.14


Semester(s) in which the module is S5
taught
Person responsible for the module Faouzi Ghorbel
(coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works.

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.

Examination forms 100% Final exam


Study and examination requirements 10/20

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.

CV.5.1 Restoration and digital Considerations

Module designation DS-CV.5


Semester(s) in which the module is S5
taught
Person responsible for the module Slim MHIRI
(coordinator)
Language French
Relation to curriculum Compulsory

Teaching methods lesson, lab works.


Workload (incl. contact hours, self- Total workload: 45h
study hours) Contact hours: 30h
3
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 This course aims to:
outcomes - present, within the unifying framework of Bayesian estimation,
methods for solving inverse problems.
- understand particularly image restoration, signal deconvolution and
image reconstruction .

Content Chapter 1. Inverse problems examples: Deconvolution, Image restoration,


Image reconstruction, Fourier synthesis, ...
Chapter 2. Classification of Invesion methods: Analytical, Parametric and Non
Parametric algebraic methods
Chapter 3. Regularization theory
Chapter 4. Bayesian inference for invese problems
Chapter 5. Full Bayesian with hyperparameter estimation
Chapter 6. Two main steps in Bayesian approach: Prior modeling and Bayesian
computation
Chapter 7. Priors which enforce sparsity
Chapter 8. Heavy tailed: Double Exponential, Generalized Gaussian, ...
Chapter 9. Mixture models: Mixture of Gaussians, Student-t, ... ◮ Gauss-
Markov-Potts
Chapter 10. Computational tools: MCMC and Variational Bayesian
Approximation
Chapter 11. Some results and applications : X ray Computed Tomography,
Microwave and Ultrasound imaging, Sattelite Image separation, Hyperspectral
image processing, Spectrometry, CMB, ...
Examination forms 100% Final exam
Study and examination requirements 10/20

124
Reading list ● GONZALEZ, Rafael C. Digital image processing. Pearson education
india, 2009

CV.5.2 Shape recognition and geometric invariants


Module designation DS-CV.5
Semester(s) in which the module is S5
taught
Person responsible for the module Faouzi Ghorbel
(coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works
Workload (incl. contact hours, self- Total workload: 45h
study hours) Contact hours: 30h
4
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 This course aims to:
outcomes - Introduce the main methods of image analysis and pattern
recognition.:

Content
Chapter I. Shape representation and description
Chapter II. Shape recognition
Chapter III. Invariant Theory
Chapter IV. Practical works on computers

Examination forms 100% Final exam


Study and examination requirements 10/20
Reading list ● KUNT, Murat. Reconnaissance des formes et analyse de scènes. PPUR
presses polytechniques, 2000.
● SONKA, Milan, HLAVAC, Vaclav, et BOYLE, Roger. Image processing,
analysis, and machine vision. Cengage Learning, 2014.
CV.5.3 3D representation: Curves, Shapes and Surfaces
Module designation CV.5.3
Semester(s) in which the module S5
is taught
Person responsible for the Mehdi Hajji
module (coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works, projects.
Workload (incl. contact hours, Total workload: 45h
self-study hours) Contact hours: 30h
Private study:in hours:
15h
Credit points 2ECTS
Required and recommended IMA.2.1 Image Introduction
prerequisites for joining the
module

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

Semester(s) in which the module is S5


taught
Person responsible for the module Majdi Jribi
(coordinator)
Language French
Relation to curriculum Optional
Teaching methods lesson, projects.
Workload (incl. contact hours, self- Total workload: 45h
study hours) Contact hours: 30h
Private study including examination preparation:15h
Credit points 2ECTS
Required and recommended IMA.2.1 Image Introduction
prerequisites for joining the module
Module objectives/intended learning This course aims to:
outcomes - Understand the importance of 3D data in the field of shape
recognition.
Students are able to:
- Master 3D mesh simplification methods.
- Master 3D registration methods.
- Master of the methods of 3D objects construction from a
discrete cloud of points.

126
Content
Chapter I: From 2D to 3D

I.1. Comprehension of 2D images and limitations


I.2. 3D shape and discrete representation

Chapter II. 3D object construction

II.1. 3D modality acquisition


II.2. Voronoi diagram
II.3. Method 1 of construction: Delaunay triangulation
II.4. Method 2 of construction: Crust triangulation

Chapter III. 3D mesh simplification

III.1. Basic concepts of 3D mesh


III.2. Definition of the simplification notion
III.3. The vertex clustering method
III.4. The vertex removal method
III.5. The edge collapse method
III.6. The half edge collapse method

Chapter IV. 3D object registration

IV.1. Definition of the registration notion


IV.2. Steps of registration
IV.3. The ICP algorithm

Examination forms 35% Continues evaluation + 65% Written exam


Study and examination requirements 10/20
Reading list ● J. Montagnat and H. Delingette, A review of deformable surfaces:
topology, geometry and deformation, Image and Vision Computing,
19(14), 1023-1040, 2001.

● N. Nikolaidis and I. Pitas, 3D image processing algorithms, J. Wiley &


Sons, 2000.

CV.5.5 Compression techniques for computer vision applications


Module designation CV.5.5
Semester(s) in which the module is S5
taught
Person responsible for the module Dorsaf Sebai
(coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works, projects.
Workload (incl. contact hours, self- Total workload: 45h
study hours) Contact hours: 30h
Private study: 15h
Credit points 2ECTS
Required and recommended IMA.2.1 Image Introduction
prerequisites for joining the module

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

Examination forms 100% Final exam


Study and examination requirements 10/20
Reading list · Aziz Berkay Yesilyurt, "End-to-end learned image compression with conditional
latent space modelling
for entropy coding", doctoral thesis, 2019.
· S. Mosbah, D. Sebai, et F. Ghorbel, "Analysis of SHVC Coding Tree Unit
Partitioning for Depth Maps
SNR Scalability", 8th International Workshop on Representation, analysis and
recognition of shape and
motion FroM Imaging data (RFMI), 2019.
· K. Rana et S. Thakur, "Data Compression Algorithm for Computer Vision
Applications: A Survey",
International Conference on Computing, Communication and Automation
(ICCCA), 2017.
· T. Ebrahimi et M. Kunt, "Visual data compression for multimedia applications",
Proceedings of the
IEEE, vol. 86, no 6, p. 1109-1125, 1998.
CV.5.6 Mathematical Morphology and medical applications
Module designation CV.5.6 Mathematical Morphology and medical applications
Semester(s) in which the module is S5
taught
Person responsible for the module Dorra DHOUIB
(coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson, projects.
Workload (incl. contact hours, self- Total workload: 45h
study hours) Contact hours: 30h
5
Private study:in hours :
15h
Credit points 2ECTS
Required and recommended IMA.2.1 Image Introduction
prerequisites for joining the module
Module objectives/intended learning This course aims to:
outcomes - Understand the importance of mathematical morphology
techniques in the field of medical images.

Students are able to:


- Master mathematical morphology techniques
- Applicate mathematical morphology techniques in image
analysis and processing
- Applicate mathematical morphology techniques for medical
images

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

Examination forms 35% Continues evaluation + 65% Written exam


Study and examination requirements 10/20
Reading list ● BOLON, Philippe, CHASSERY, Jean-Marc, COCQUEREZ, Jean-Pierre, et
al. Analyse d'images: filtrage et segmentation. Masson, 1995.
● MAITRE, H. Le traitement des images, coll. traitement du signal et de
l’image (traité IC2). Lavoisier/Hermes Science Publications, 2003.
● NAJMAN, Laurent et TALBOT, Hugues (ed.). Mathematical
morphology: from theory to applications. John Wiley & Sons, 2013.
● SERRA, Jean et SOILLE, Pierre (ed.). Mathematical morphology and its
applications to image processing. Springer Science & Business Media,
2012.

CV.5.7 Multispectral image Processing

Module designation CV.5.7


Semester(s) in which the module is S5
taught
Person responsible for the module Dorra Dhouib
(coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works
Workload (incl. contact hours, self- Total workload: 45h
study hours) Contact hours: 30h
6
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)

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

Examination forms 100% Final exam


Study and examination requirements 10/20
Reading list ● CALOZ, Régis et COLLET, Claude. Précis de télédétection-Volume 3:
Traitements numériques d'images de télédétection. PUQ, 2001.
● CAMPS-VALLS, Gustavo, TUIA, Devis, GÓMEZ-CHOVA, Luis, et al. Remote
sensing image processing. Synthesis Lectures on Image, Video, and
Multimedia Processing, 2011, vol. 5, no 1, p. 1-192.

CV.5.8 Multidimensional signal processing

Module designation CV.5.8


Semester(s) in which the module is S5
taught
Person responsible for the module
(coordinator)
Language French
Relation to curriculum optional

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.

Credit points 2ECTS


Required and recommended Engineering Mathematic
prerequisites for joining the module
Module objectives/intended learning This course is concerned with understanding signals of more than one variable
outcomes and with systems for processing them. The most common examples of these
signals include images, video, 3D…

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

Examination forms 100% Final exam


Study and examination requirements 10/20
Reading list [1] D. E. Dudgeon and R. M. Mersereau, « Multidimensional digital signal
processing », édité par Prentice Hall en 1984.
[2] R. C. Gonzales et R. E. Woods, « Digital image processing » publié chez
Addison & Westley en 1992
[3] A. K. Jain, « Fundamentals of digital image processing » édité par Prentice
Hall en 1989
[4] J. C. Russ, « The image processing handbook », édité par CRC en 1992.

CV.5.9 Computer Vision

Module designation CV.5.9


Semester(s) in S5
whichthemoduleistaught
Person responsible for themodule Slim MHIRI
(coordinator)
131
Language French
Relation tocurriculum optional

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

Examinationforms 100% Final exam


Study andexaminationrequirements 10/20
Reading list [1] L. SHAPIRO et G. STOCKMAN : Computer Vision. Prentice Hall,
UpperSaddle River, NJ, 2001
[2] E. TRUCCO et A. VERRI : Introductory Techniques for 3-D Computer
Vision. Prentice Hall, 1998
[3] D. H. BALLARD et C. M. BROWN : Computer Vision. Prentice Hall,
Englewood Cliffs, New Jersey, 07632, 1982. ISBN 0-13-165316-4
[4] G.A. BAXES : Digital Image Processing:Principles and Applications. John
Wiley& Sons, New York ; Toronto, 1994. ISBN 0471009490
[5] K. R. CASTLEMAN : Digital Image Processing. Prentice Hall, 1996
[6] M. de BERG, M. van KREVELD, M. OVERMARS et O. SCHWARZKOPF :
ComputationalGeometry : Algorithms and Applications. Springer-Verlag,
Berlin, Germany, 2nd édition, 2000

ISA.5.1 Big data


Module designation ISA.5.1
Semester(s) in which the module is S5
taught
Person responsible for the module Raoudha Chebil
(coordinator)
Language French

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

Credit points 2ECTS


Required and recommended Basic knowledge in programming (Python and Java) and relational databases
prerequisites for joining the module
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.

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

Module designation AI.5.15


Semester(s) in which the module is S5
taught
Person responsible for the module Faouzi Ghorbel
(coordinator)
Language French
Relation to curriculum optional

Teaching methods lesson, lab works.


Workload (incl. contact hours, self- Total workload: 15h (15h lab) contact hours 10h
study hours) Self-study.

Credit points 1ECTS


Required and recommended • Machine Learning & Deep Learning
prerequisites for joining the module • Basic Programming Skills (Matlab and Python)
Module objectives/intended learning Students are able to:
outcomes ● Know and understand the main architectures of neural networks, as
well as their use in different scenarios.
● Effectively manipulate a framework for Deep Learning.
● Know the good practices around the resolution of Deep Learning
problems, both on the optimization of the models and on their
deployment in production.

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.

Workshop 2: One-layer fully connected network


• Principle
• Understanding in simple cases
• Learning a simple curve
• Learning on black and white images
• Learning a probability distribution by maximizing likelihood
• Interpretation of learned weights
Adding Layers
• Compromise number of neurons / number of layers
• Initialization of network weights

Workshop 3: CONVOLUTIONAL NEURON NETWORKS (CNN)


Convolution: Intuition
• Convolution: interpretations
• Exact operation performed by a convolutional filter in the different
frameworks
• The various convolutional filters and options (strides, layers, etc.)
• Effect of pooling: what do we get between the intermediate layers?

Workshop 3: CONVOLUTIONAL NEURON NETWORKS FOR IMAGES

• Convolution & 2D Pooling


• Transfer Learning: make only part of the network learn.
1D convolutions for sound and sequences
• Convolution & 1D Pooling
• Interest and limitations

Workshop 4: RECURRENT NEURON NETWORKS (RNN)

Principles of RNN and different associated layers


• Why do we need RNN?
• Simple recurrent neural network
• Long-Short Term Memory (LSTM) & Gated Recurrent Unit (GRU)
Textual data processing
• Text vectorization
• Embedding
• Apps
• Classification of a sequence
• Text generation
Advanced Uses of RNNs
• Stacking of RNN layers
• Bi-directional RNN
• Combination with convolutional layers

Workshop 5: ADVANCED ARCHITECTURES OF NEURON NETWORKS

• Interest and uses of auto-encoders


• Examples of use
• Information compression
• Anomaly detection
• Feature extraction
Generating data with Generative Adversarial Networks (GANs)
• Principle
• Generation of image samples according to a probability distribution
• Existing variants of GANs
Examination forms 100% Final exam
Study and examination requirements 10/20

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

Teaching methods Active approach (by problems and projects)


Project integrated to the course "creation of an intelligent chatbot" + practical
work
Workload (incl. contact hours, self- Total workload: 15 h contact hours 10h
study hours) Self-study.
Credit points 1ECTS
Required and recommended - Signal processing
prerequisites for joining the module - Foundations of Machine Learning, Linear Algebra
- Python for Machine Learning
- Python for Deep Learning

Module objectives/intended learning This course aims to:


outcomes - provide an overview of modern optimization methods for
applications in machine learning and data science.
- present, in particular, the framework and the theoretical and
practical foundations of speech recognition

Content Chapter 1 : Introduction to automatic speech recognition


1.1 Uses of automatic speech recognition
1.2The progress of the field over time
1.3 Challenges
Chapter 2 : Overview of automatic speech recognition applications
2.1 Subtitling and automatic video translation
2.2 Indexing and information extraction in audiovisual documents
2.3 Human-computer voice interfaces.
2.4 Geolocation and mapping
Chapter 3: Architecture of an Automatic Speech Recognition System
3.1 Acoustic model,
3.2 Language model
3.3 Pronunciation model
3.4 Decoder
4: Methods and metrics for evaluating automatic speech recognition systems
5: "Chatbots" project:
Project progress:
-Identification of the mission
-Identification of the context
-Setting up the scenario and the dialogic sequences
-Development of the chatbot: from a chatbot creation platform such as AWS
Examination forms 100% Final exam
Study and examination requirements 10/20

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)

CV.5. Optimisation and Reinforcement Learning

Module designation CV.5. Optimisation and Reinforcement Learning

Semester(s) in which the module is


S5
taught
Person responsible for the module
Faouzi Ghorbel
(coordinator)
Language French
optional
Relation to curriculum
Teaching methods Active approach (by problems and projects)
Total workload: 25h (15 h contact hours 10h
Workload (incl. contact hours, self-
Self-study.
study hours)
Credit points 1ECTS
- Cloud.
- Basic knowledge of Data Science/Machine Learning (statistics,
Required and recommended algorithms).
prerequisites for joining the module - Basic knowledge of Linux, network,
- Python, bash.

This course aims to:


- provide an overview of modern optimization methods for applications in
machine learning and data science.
- discuss in theory and practice the scalability of algorithms to large data
Module objectives/intended learning sets.
outcomes - provides an introduction to the main models of reinforcement learning
and its use in the optimization of machine learning (ML) and deep
learning (DL) algorithms.
Keywords: Deep learning, artificial neural networks, reinforcement learning, TD
learning, SARSA
Part 1:
1. General introduction to Reinforcement Learning
2. Markov decision processes and dynamic programming
3. Reinforcement learning algorithms: Introduction to stochastic
approximation, TD(λ) and Q-learning algorithms
4. Dynamic programming with approximation: analysis in L∞
norm, Iteration on values with approximation, Iteration on
Content
policies with approximation, Minimization of Bellman residual,
Analysis of some algorithms: LSTD, Bellman residual, LSPI, Fitted
Q-iterations, Extension to analysis in Lp norm

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

Examination forms 100% Final exam


Study and examination requirements 10/20
1. B. Espinasse, P. Bellot, "Introduction to Big-Data: opportunity, storage and
analysis of megadata," in Dossiers Techniques de l'Ingénieur (DTI), Ref.
H6040, 2017.
2. F. Duchateau, "Les SGBD Non-relationnels", Univ. Lyon 1, 2014.
3. J. CHOKOGOUE, Hadoop: Become operational in the world of Big Data,.
Edition : ENI - 373 pages , 1st edition, April 12, 2017.
4. H. Karau, A. Konwinski, P. Wendell, M. Zaharia, Editor: O'Reilly Media,
Learning Spark Lightning-Fast Big Data Analysis, 2015.
Reading list
5. P. Delort, "Le Big Data". Presses Universitaires de France, 2015.
6. P. Lemberger, M. Batty, M. Morel, J.L. Raffeëlli, "Big Data and Machine
Learning," Dunod, 2015.
7. P. Lacomme, S. Aridhi, R. Phan, "Bases de données NoSQL et Big Data",
Ellipses, 2014.
8. R. Bruchez, "Bases de données NoSQL," Ellipses, 2013.
9. R. Bruchez, NoSQL databases and Big Data: Understanding and implementing,
Eyrolles Publisher, 2015.
AI.5.16 Introduction to Natural Language Processing
Module designation AI.5.16 Introduction to Natural Language Processing (NLP)
Semester(s) in which the module is S5
taught
Person responsible for the module Chiraz Ben Othmane Zribi
(coordinator)
Language French
Relation to curriculum Optional

Teaching methods e.g. lecture, lab works, project


Workload (incl. contact hours, self- (Estimated) Total workload:
study hours) Contact hours : 15h
Private study:in hours:6h

Credit points 1 credit


Required and recommended Students should have basic knowledge on programming with Python
prerequisites for joining the module
Module objectives/intended learning This course introduces the fundamental concepts and techniques of NLP by
outcomes presenting the different 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

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.

CV.5.11 Medical Imaging Workshops

Module designation CV.5.11


Semester(s) in which the module is S5
taught
Person responsible for the module Slim Mhiri
(coordinator)
Language French
Relation to curriculum optional

Teaching methods Active approach (by problems and projects)


Workload (incl. contact hours, self- Total workload: 15 h contact hours 10h
study hours) Self-study.

Credit points 1ECTS


Required and recommended - Image processing
prerequisites for joining the module - 3D
- Engineering mathematics.

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.

Content Through workshops; This module addresses the following questions:


Part 1. Introduction of the Image in medicine
● Clinical use of images
● Needs of the medical community
● Pathologies in the image
● Purpose of medical image processing
● Terms of acquisition
Part 2 Modalities
● Ultrasound imaging (ultrasound)
● 3D ultrasound
● X-ray
● X-ray scanner (Computed tomography)
● CT imaging and artifacts
● Nuclear magnetic resonance imaging (MRI)
● PET-MRI complementarity
● Functional MRI
● X-ray angiography
● CT angiography
● MRI angiography
Part 3.The main processing of medical images
● Segmentation
● Visualization
● Image merging
● Shape analysis
● Building Atlas
● Image series analysis
● Movement analysis
● Simulation
● Computer-assisted surgery

Examination forms 100% Final exam


Study and examination requirements 10/20
Reading list ● FARNCOMBE, Troy et INIEWSKI, Kris (ed.). Medical imaging:
technology and applications. CRC Press, 2017.

SEC.5.3 Blockchain

Module designation SEC.5.3


Semester(s) in which the S5
module is taught
Person responsible for the Mohamed Houcine Hdhili, Hanen Idoudi
module
Teachers team Hanen Idoudi
Language French
Relation to curriculum Optional
Teaching methods Lesson, Lab works
Workload (incl. contact (Estimated) Total workload:25h
hours, self-study hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.): 15h (12
lesson, 3h lab works)
Private study:in hours: 10h
Credit points 1 ECTS
Required and recommended SEC.4.1 Cybersecurity and Cryptography
prerequisites for joining the
module

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

Examination forms 100% written exam

Study and examination 10/20


requirements
Reading list IBM Blockchain Developper – Official course material

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

Teaching methods lecture, project


Workload (incl. contact hours, self- (Estimated) Total workload:
study hours) Contact hours (please specify whether lecture, exercise, laboratory session,
etc.): 12
Private study:in hours: 3
Credit points 1ECTS
Required and recommended Existing competences in networking
prerequisites for joining the module

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

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

Chapter IV – Middelwares and Application protocols for IoT

- Web of Things: concepts and communication’s models


- WoT : Data Standards
- IoT middelwares
- Publish/subscribe model
- WoT : Data exchange protocols
- MQTT
- CoAP

Practical Work (personal project) : Design of a simple IoT application

Examination forms Oral presentation of the personal project.


Study and examination requirements To acquire at least 10/20 in the oral of the personal project
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 &AMP
TUTORIALS. JANUARY 2015

DOS.5.8 Introduction to cloud computing

Module designation DOS.5.8: Introduction to Cloud Computing


Semester(s) in which the module is
5
taught
Person responsible for the module
Dr. Mehrez Essafi
(coordinator)
Teaching team -
Language French
Relation to curriculum Optional
Teaching methods ● Lesson
● Lab work

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.

SE.5.3 Mobile development

Module designation SE.5.3


Semester(s) in which the module is S5
taught
Person responsible for the module Sabri ALLANI
(coordinator)
Teaching team Sabri ALLANI
Language French
Relation to curriculum optional

Teaching methods lab works and project.


Workload (incl. contact hours, self- Total workload: 15h (5h lab works and 10h project)
study hours)
Private study:in hours: 6h
Credit points 1.5ECTS
Required and recommended AP.2.1, AP.2.2 and DAT.2.1
prerequisites for joining the module
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.

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

FIN.5.1 International Finance

Module designation International Finance


Semester(s) in which the module is S5
taught
Person responsible for the module Snoussi Imen
(coordinator)
Teaching team Snoussi Imen
Language French
Relation to curriculum Compulsory

Teaching methods lesson


Workload (incl. contact hours, self- Total workload: 65h
study hours) Contact hours : 45h (30h lessons, 15h exercises)
Private study: 20h.
Credit points 2.5
Required and recommended Financial markets concepts
prerequisites for joining the module
Module objectives/intended learning To acquire a good knowledge of the functioning of the international monetary
outcomes system, to understand the functioning of the spot and forward foreign
exchange market, to understand the functioning of the operations on the
various compartments of the foreign exchange market, to make known the
various types of foreign exchange risks and the instruments which allow to
cover them.
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 I. INTRODUCTION TO THE FOREIGN EXCHANGE MARKET :


1) History of the international monetary system
2) The exchange rate regime in Tunisia
3) Organisation of the international foreign exchange market
4) Participants in the foreign exchange market

148
5) The media used
6) Foreign exchange transactions

II. THE FOREIGN EXCHANGE MARKET IN THE SPOT MARKET :

1) Definition and characteristics


2) Exchange rate quotation methods
3) The transition from rating with uncertainty to rating with certainty
4) The calculation of cross rates
5) Geographical arbitrage
6) Triangular arbitration (for the bank's own account and for the
customer's account)

III. THE FORWARD FOREIGN EXCHANGE MARKET

1) Definition and characteristics


2) Notions of carry forward and backwardation
3) Forward foreign exchange market quotations
4) The mechanism for forming forward rates: forward outright
exchange
5) Calculation of the forward price
6) The calculation of the forward price
7) Foreign exchange swaps

IV. HEDGING CURRENCY RISK THROUGH CURRENCY OPTIONS


1) Origin and development of options markets
2) Over-the-counter markets
3) Organised markets
4) Calls/currencies
5) Puts/contracts
6) Determinants of currency options
7) The principle of hedging currency risk through currency options

Examination forms 35% continuous eval+65% written exam


Study and examination requirements 10/20
Reading list ● Bourguinat, Teïletche, Dupuy, Finance internationale, Dunod, 2007.

● Paul Krugman, Maurice Obstfeld, International Economics, 9th


edition, Pearson, 2012.

MAT.5.3 Numerical Optimization with R

Module designation MAT.5.f.1.Numerical Optimization with R


Semester(s) in which the module is S:5
taught
Person responsible for the module Fethi Kadhi
Language English
Relation to curriculum Compulsory

Teaching methods Lessons, Lab, Projects.


Workload (incl. contact hours, self- 30 contact hours
study hours) 20 self study hours
Credit points 3
Required and recommended MAT.3.1Linear and nonlinear programming
prerequisites for joining the module MAT.2.2 Numerical methods

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.

Content Ch:1 Basics of R


1.1 Data structures in R
1.2 Funtios in R
1.3 Decision-Making and Loop Statements
1.4 Graphics
Ch:2 Optimality Conditions
2.1 First-Order Necessary Condition
2.2 Second-Order Necessary Condition
2.3 Second-Order Sufficient Condition
Ch: 3 One-Dimensional Optimization Methods
3.1 Introduction
3.2 Golden Section Search Method
3.3 Newton–Raphson Method
3.4 Secant Method .
Ch:4 Steepest Descent Method
4.1 Introduction
4.2 Basics of Steepest Descent Method
4.3 Steepest Descent Method for Quadratic Functions
4.4 Convergence Analysis of Steepest Descent Algorithm .
Ch:5 Conjugate Gradient Methods
5.1 Introduction
5.2 Basics of Conjugate Direction
5.3 Convergence Analysis of Conjugate Direction Method
5.4 Method of Conjugate Gradient
Ch: 6 Newton’s Method
6.1 Introduction
6.2 Newton’s Method for Multiple Unknowns
6.3 Convergence Analysis of Newton’s Method

Examination forms 35%Mid-term quiz + 65% Written final exam


Study and examination requirements 10/20;
Reading list Shashi Kant Mishra and Bhagwat Ram, Introduction to Unconstrained
Optimization with R, Springer 2019.
Manfred Gilli, Dietmar Maringer, Enrico Schumann, Numerical Methods and
Optimization in Finance, Academic Prezz, 2019

FIN.5.2 The Risk Modelling and Dynamic Financial Risk Management

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

Teaching methods Lesson


Workload (incl. contact hours, self- Total workload: 40h
study hours) Contact hours : 30h (21h lessons, 9 h exercises)
Private study: 10h.
Credit points 2.5
150
Required and recommended Portfolio management, financial market
prerequisites for joining the module
Module objectives/intended learning The Risk Modeling and Dynamic Financial Risk Management course aims to
outcomes understand the concept of financial risk, and to provide information on the
methods of measuring and managing this risk.
This course will focus on market risk (equity market risk and interest rate risk
related to movements in the term structure of interest rates). The classical
methods of measuring this type of risk (standard deviation) as well as modern
methods (Value at Risk or VaR) are studied. Next, this course will present the
instruments used to hedge against market risk, namely: forwards, futures,
options and swaps.
At the end of this course, the student will acquire the necessary tools to identify
measure and hedge financial risks.
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 Chapter 1: Financial Risk Assessment


I: Measures of Financial Asset Risk
II. Value at Risk
1. Definition of VaR
2. Historical VaR
3 Parametric VaR
3.1 Calculation of the VaR of a stock position or a stock portfolio
3.2 Calculation of the VaR of a currency position
3.3 Calculation of the VaR of a bond position
3.4 Aggregate VaR
3.5 portfolio VaR
a. Marginal VaR
b. Incremental VaR
c. Individual VaR
d. The VaR component
4. VaR by Monte Carlo simulation
5.The VaR of an option position
5.1 The VaR of a "Delta Normal" Option Position
5.2 VaR of a "Delta Gamma" Option Position
6. The expected short fall (ES)
7. Stressed VaR
Chapter 2: Portfolio Insurance
I. Definition of Options
1. The Call Option
2. The Put Option
II. Uncovered Positions
III. Portfolio Insurance
1. Stop-Loss Strategy
2. Option-based portfolio insurance
2.1 Put-based portfolio insurance
2.2 Call-based portfolio insurance
2.3 Cushion Method Insurance

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

Examination forms 35% continuous+65% written exam


Study and examination requirements 10/20
Reading list 𑠀 Bellalah, M. et Simon, Y. (2000), Options, contrats à terme et gestion des
risques: Analyse, évaluation et stratégies, Ed, Economica.
𑠀 Bellalah, M. (2003), Gestion des risques et produits dérivés classiques et
exotiques, collection: Gestion Sup, Dunod.
𑠀Esch L., Kieffer R. et Lopez T., 2003, Asset and Risk Management : La finance
orientée « risques », Ed. De Boeck et Larcier, 1ère edition
ème
𑠀 Hull, J. (1997), Options, futures and other derivatives, 3 édition-New york:
Prentice Hall
𑠀Roncalli T., 2004, La Gestion des Risque Financiers, Ed. Economica
𑠀Simon Y., 1995, Marchés dérivés de Matières Premières et Gestion du Risque
de Prix, Ed. Economica
𑠀Simon Y. et Bellalah M., 2003, Options, contrats à terme et gestion des
risques,
ème
2 édition, Economica.
ème
𑠀Simon Y., Lautier D. et Morel C., 2009, Finance internationale, 10 édition,
Economica.
𑠀Vernimmen P., 2002, Finance d’Entreprise, Ed. Dalloz

FIN.5.3 Bank Management

Module designation Bank Management


Semester(s) in which the module is taught S5
152
Person responsible for the module Mouna Ben Salah
(coordinator)
Teaching team Mouna Ben Salah
Language French
Relation to curriculum Compulsory

Teaching methods Lesson


Workload (incl. contact hours, self-study Total workload: 65h
hours) Contact hours : 45h (30h lessons, 15h exercises)
Private study: 20h.
Credit points 2.5
Required and recommended prerequisites for Financial analysis
joining the module
Module objectives/intended learning The Banking Management course aims to introduce students to the
outcomes different types of banks and their respective businesses and to identify
the risks they face through their activity (interest rate risk, market risk,
credit risk, operational risk) and the mechanisms of credit risk
management under the effect of tightening regulations and capital
allocation requirements through the Basel I, Basel II and Basel III
agreements ...

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 Chapter 1: Organization and functioning of the credit institution: the


Tunisian banking system
1. Definition and mission of the credit institution
2. Rules of constitution
3. The three main areas of banking activity
4. Architecture of the Tunisian banking sector
Chapter 2: Banking risks, definition and typology
I. Typologies of banking risks
1. The credit risk
2. Market risk
3. Operational risk
4. Liquidity risk
5. Global Interest Rate Risk
Chapter 3: The Regulatory Framework
1. History of the Basel Committee
2. Role of the Basel Committee
3. The Basel I agreement
4. The three pillars of the Basel II agreement
4.1 Minimum capital requirement
4.2 Prudential supervision process
4.3 Market discipline
5. The contributions of the Basel III agreement
Chapter 4 : Credit risk management
Section 1: Credit risk assessment
I. The traditional approach to assessing credit risk: financial
analysis
II. The new approach to credit risk assessment
1. The credit scoring method
2. the Rating
3. RAROC: Risk Adjusted Return On Capital
4. Credit VaR
5. Measuring the credit risk of a bond portfolio

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

Examination forms 35% continuous+65% written exam


Study and examination requirements 10/20
Reading list 𑠀 Dumontier, P. et Dupré, D. (2005), “Pilotage bancaire : les normes
IAS et la réglementation Bâle II. ” - Paris : Revue Banque Editeur, 2005.
- 298 p.
𑠀 Van Greuning, H et Bratanovic, S (2004), “Analyse et Gestion du
Risque Bancaire : Un cadre de référence pour l'évaluation de la
gouvernance d'entreprise et du risque financier. ” édition ESKA.
𑠀 Coussergues, S.et Bourdeaux, G (2013), “Gestion de la banque du
diagnostic à la stratégie“, Dunod.
Banque des règlements internationaux (2017). Bâle III: finalisation des
réformes de l'après-crise.

154
ISA.5.1 Big Data

Module designation Big Data

Semester(s) in which the module is S5


taught

Person responsible for the module Raoudha Chebil


(coordinator)

Language French

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 : 15 hours

Credit points 2ECTS

Required and recommended DAT.1.1 Database and DBMS


prerequisites for joining the module

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

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.

FIN.5.4 Monte carlo methods and financial model simulation


FIN.5.4 Monte Carlo Methods & Simulation of Financial Models
Module designation FIN.5.4 Monte Carlo Methods & Simulation of Financial Models

Semester(s) in which the module is S5


taught

Person responsible for the module Amor Oueslati


(coordinator)

Teaching team

Language French

Relation to curriculum Compulsory

Teaching methods lecture, lab works

Workload (incl. contact hours, self- Total workload: 50h


study hours) Contact hours: 30h (20h lessons, 10h lab works)
Private study:20h

Credit points 2ECTS

Required and recommended Probability, inferential statistics, Bayesian statistics, stochastic calculus,
prerequisites for joining the module stochastic process, Financial Mathematics

Module objectives/intended learning


outcomes

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.

MAT.5.5 Data analysis


Module designation MAT.5.5 Data Analysis

Semester(s) in which the module is Sem:5


taught

Person responsible for the module Fethi Kadhi

Language French

Relation to curriculum Compulsory

Teaching methods Lessons, Lab, Projects.

Workload (incl. contact hours, self- 30 contact hours


study hours) 20 self study hours

Credit points 2

Required and recommended MAT.1.1 Probabilty and statstics


prerequisites for joining the module

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

Examination forms 100% final exam

Study and examination requirements 10/20

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

MAT.5.4 Statistical Inference with R

Module designation MAT.5.4 Statistical inference with R


Semester(s) in which the module is Sem:5
taught
Person responsible for the module Fethi Kadhi
Language French
Relation to curriculum Optional

Teaching methods Lessons, Lab, Projects.


Workload (incl. contact hours, self- 30 contact hours
study hours) 20 self study hours
Credit points 2
Required and recommended MAT.1.1 Probabilty and statstics
prerequisites for joining the module
Module objectives/intended learning In a statistical investigation, it is known that for reasons of time or cost, one
outcomes may not be able to study each individual element of the population. In such a
situation, a random sample should be taken from the population, and the
inference can be drawn about the population on the basis of the sample. Hence,
statistics deals with the collection of data and their analysis and interpretation.
In this book, the problem of data collection is not considered. We shall take the
data as given, and we study what they have to tell us. The main objective is to
draw a conclusion about the unknown population characteristics on the basis of
information on the same characteristics of a suitably selected sample.
Competencies:
C1, C9

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

Examination forms 100% final exam


Study and examination requirements 10/20
Reading list Jonathan Gillard - A First Course In Statistical Inference-Springer (2020)

(Wiley Series in Probability and Statistics) Robert Bartoszynski, Magdalena


Niewiadomska-Bugaj - Probability and Statistical Inference, Third Edition-Wiley-
Interscience (2020)

Shailaja Deshmukh, Madhuri Kulkarni - Asymptotic Statistical Inference_ A


Basic Course Using R-Springer (2021)

161
ISA.5.4 Business intelligence

Module designation Business intelligence

Semester(s) in which the module is S5


taught

Person responsible for the module Manel BenSassi


(coordinator)

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works.

Workload (incl. contact hours, self- (Estimated) Total workload: 40H


study hours) Contact hours:30h (21H lesson, 09H Lab works).
Self study: 10h

Credit points 2ECTS

Required and recommended DAT.1.1 Database and DBMS


prerequisites for joining the module

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

Examination forms 35% Continues evaluation + 75% Written exam

Study and examination requirements 10/20

Reading list References:


[1] Les nouveaux tableaux de bord des managers : le projet Business intelligence clés en main, Alain
Fernandez, 6ème édition Eyrolles, 2013
[2] L’essentiel du tableau de bord, Concevoir le tableau de bord de pilotage avec Microsoft Excel,
Alain Fernandez, 4ème édition, 2013
[3] La Business Intelligence, Livre Blanc, Charlotte Galzy, Pierre Girona, Benoît Martin, Cédric
Nicoloso, Julien Vandermoere, Mai 2010

163
AI.5.1 Multi agent systems

Module designation AI.5.1 MultiAgent Systems

Semester(s) in which the module is taught S5

Person responsible for the module Narjès Bellamine Ben Saoud


(coordinator)

Language French/English

Relation to curriculum Compulsory

Teaching methods lesson, lab works, project, seminar.

Workload (incl. contact hours, self-study (Estimated) Total workload:40h


hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.):30h
Private study including examination preparation:10h

Credit points 2ECTS

Required and recommended prerequisites SE.3.1 Software Engineering


for joining the module AI.3.1

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

Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

Reading list - J. Ferber. Les systèmes multi-agents. InterEditions, 1995.


- M. Wooldridge,“An Introduction to MultiAgent Systems”(Wiley, 2002)
- S. Russell, P. Norvig, Intelligence Artificielle, 2ème Edition, Pearson Education France,
2006 (2ème Chapitre)
- S. Russel, P. Norvig, « Artificial Intelligence, A modern Approach », 4th Edition, Pearson,
2020

FIN.5.6 Valuation and financing of companies

Module designation FIN.5.6 Valuation and financing of companies


Semester(s) in which the module is S5
taught
Person responsible for the module Snoussi Imen
(coordinator)
Teaching team Snoussi Imen
Language French
Relation to curriculum Compulsory

Teaching methods lesson


Workload (incl. contact hours, self- Total workload: 20h
study hours) Contact hours : 15h
Private study: 5h.
Credit points 1
Required and recommended
prerequisites for joining the module
Module objectives/intended learning This course aims to present mathematical methods adapted to the interests of
outcomes 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.

165
Content I. Investment decision in a context of certainty :

1) The criteria for evaluating the profitability of a project (Van, IRR,


DR...)
2) Calculation of investment parameters
3) Calculation of cash flows
4) Study of conflicting NPV and IRR cases (NPV replicated to infinity,
equivalent annuity)

II. Investment decision in a context of risk and uncertainty :

1) Projects that are independent of the company's activity (Use of cash


flow distribution, Use of NPV distribution: Decision tree technique)
2) Projects that are integrated into the company's activities

III. Financing choices :

1) Definition of the Weighted Average Cost of Capital


2) The cost of the various sources of financing (common shares,
preferred shares, bank loans, bonds...)
3) Formal expression of the Weighted Average Cost of Capital (choice of
weights...)
4) The impact of debt on the risk and return on common equity
(financial leverage, optimal capital structure....)

Examination forms 35% continuous eval+65% written exam


Study and examination requirements 10/20
Reading list ● Pierre Vernimmen: Finance d'entreprise, Dalloz books,19th edition,
2020.
● Juliette Pilverdier, Philippes Gillet, Sylvie Guidici, Carlos Vinhas
Pereira: Finance d'entreprise, Economica, 9th edition, 2016.
● George Le Gros, Finance d'entreprise, Dunod, 3rd edition, 2018.

166
AI.5.12 Introduction to Deep Learning

Module designation AI.5.12

Semester(s) in which the module is S5


taught

Person responsible for the module Rym Besrour


(coordinator)

Teaching team Rym Besrour

Language French

Relation to curriculum Compulsory

Teaching methods Lesson and project

Workload (incl. contact hours, self- Total workload: 21h


study hours) Contact hours: 15h lessons
Private study:in hours:
6h

Credit points 1ECTS

Required and recommended MAT.1.1: Probability and Statistics


prerequisites for joining the module AI .3.1.: IA & Machine Learning
Students must be competent in python.

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

● Competences: 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.
● C9. Make complex decisions based on incomplete or limited information.

Content Introduction
Chapter1: Applied Math and Machine Learning Basics
● Linear Algebra
● Probability and Information Theory
● Numerical Computation
● Machine Learning Basics

Chapter2: Modern Practical Deep Networks


● Deep Feedforward Networks
● Regularization for Deep Learning
● Optimization for Training Deep Models
● Convolutional Networks
● Sequence Modeling: Recurrent and Recursive Nets
● Practical Methodology
● Applications

Chapter3 : Deep Learning Research


● Autoencoders
● Deep Generative Models

Projects ideas :
● Smart routing
● Smart home security
● Smart energy managment

Examination forms 100% project evaluation

Study and examination requirements 10/20

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

FIN.5.5 Quantitative Finance

Module designation Quantitative Finance


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

Teaching methods Lesson


Workload (incl. contact hours, self- Total workload: 20h
study hours) Contact hours : 15h (10h lessons, 5h exercises)
Private study: 5h.
Credit points 2.5
Required and recommended Stochastic calculus, differential equations. Portfolio Management.
prerequisites for joining the module
Module objectives/intended learning The objective of the Numerical Optimization Methods in Finance course is to
outcomes introduce students to the most commonly used numerical methods in finance
and mainly to the numerical methods used in the valuation of derivative
products.
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.

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

Examination forms 100% written exam


Study and examination requirements 10/20
Reading list 𑠀 Bellalah, M. (2003), Gestion des risques et produits dérivés classiques et
exotiques, collection: Gestion Sup, Dunod.
𑠀 François, P. (2005), Les produits dérivés financiers : Méthodes d'évaluation,
Dunod .
𑠀 Hull, J. (1997), Options, futures and other derivatives, 3ème édition-New
york: Prentice Hall.
𑠀 Huu Tue, H., Van Son L., Issouf S. (2006), Simulation Stochastiques et
application en fiannce avec programmation Matlab, édition Economica.
𑠀 Khoury, N., Laroche, P. et François P. (2010), Introduction aux instruments
financiers dérivés, Les presses de l’université Laval, Québec.
𑠀 Racicot, F., Théoret, R. (2006), Finance computationnelle et gestion des
risques : ingénierie financière avec applications Excel et Matlab, Les presses de
l’université Laval, Québec.

170
DOS.5.2 Blockchain

Module designation DOS.5.2

Semester(s) in which the module is taught S5

Person responsible for the module Mohamed Houcine Hdhili, Hanen Idoudi

Teachers team Hanen Idoudi

Language French

Relation to curriculum Optional

Teaching methods Lesson, Lab works

Workload (incl. contact hours, self-study (Estimated) Total workload:25h


hours) Contact hours (please specify whether lecture, exercise, laboratory session,
etc.): 15h (12 lesson, 3h lab works)
Private study:in hours: 10h

Credit points 1 ECTS

171
Required and recommended prerequisites SEC.4.1 Cybersecurity and Cryptography
for joining the module

Module objectives/intended learning Knowledge:


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

Examination forms 100% written exam

Study and examination requirements 10/20

Reading list IBM Blockchain Developper – Official course material

SE.5.3 Mobile Development

172
Module designation Mobile Development

Semester(s) in which the module is S5


taught

Person responsible for the module Sabri ALLANI


(coordinator)

Teaching team Sabri ALLANI

Language French

Relation to curriculum Compulsory

Teaching methods lab works and project.

Workload (incl. contact hours, self- Total workload: 30h


study hours) Contact hours : 15h
Private study : 15h

Credit points 1.5ECTS

Required and recommended AP.2.1, AP.2.2 and DAT.2.1


prerequisites for joining the module

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.

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).

ISA.5.7 Distributed data Bases

174
Module designation ISA.5.7 Distributed Databases

Semester(s) in which the module is taught S5

Person responsible for the module Raoudha KHCHERIF


(coordinator)

Language French

Relation to curriculum Compulsory

Teaching methods lecture, lesson, assignment, labs

Workload (incl. contact hours, self-study Total workload: 25 h


hours) Contact hours: 15 h ( lecture, exercise, laboratory , etc.):
Private study: 10h

Credit points 1ECTS

Required and recommended prerequisites DAT.2.1 , DAT.2.2, NET3.1, NET3.2, NET4.1


for joining the module

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

Examination forms 100% written Exam

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

Module designation 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 Compulsory

Teaching methods lecture, project

Workload (incl. contact hours, self- (Estimated) Total workload: 30h


study hours) Contact hours: 15h
Private study: 15h

Credit points 1ECTS

Required and recommended Existing competences in networking


prerequisites for joining the module

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

Chapter IV – Middelwares and Application protocols for IoT


- Web of Things: concepts and communication’s
models
- WoT : Data Standards
- IoT middelwares
- Publish/subscribe model
- WoT : Data exchange protocols
- MQTT
- CoAP

Practical Work (personal project) : Design of a simple IoT application

Examination forms Oral presentation of the personal project.

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 &AMP TUTORIALS. JANUARY 2015

179
Semester 5 Modules: Specialization Embedded Software and Systems (Systèmes et Logiciels embarqués - SLE-)

Code Title Contact Hours Credits Type


AI.5.5 Robotics and soft computing 30H 2 Optional
AI.5.12 Introduction to Deep Learning 15H 1 Optional
DOS.5.4 Advanced Architectures and parallel programming models 30h 2 Optional
DOS.5.5 Real Time Operating Systems 30h 2 Compulsory
DOS.5.6 Distributed Systems and applications 30h 2 Compulsory
DOS.5.7 Embedded Linux 30h 2 Optional
DOS.5.8 Introduction to cloud computing 15H 1 Compulsory
DOS.5.9 Software Development for robotics 15h 1 Optional
DOS.5.10 Introduction to Digital EcoSystems: from IoT to Cloud computing -DES 15h 1 Optional
ESDV.5.1 Microcontroller-based systems 30h 2 Compulsory
ESDV.5.2 System Integration (VHDL) 30h 2 Compulsory
ESDV.5.3 Real-Time systems design and validation 30h 2 Compulsory
ESDV.5.4 Cyber-Physical Systems 30h 2 Optional
ESDV.5.5 Electronics for embedded systems 30h 2 Compulsory
ESDV.5.6 Embedded Interfacing 15h 1 Optional
ESDV.5.7 Integration project 15h 1 Compulsory
ESDV.5.8 Microcontroller Project 15h 1 Compulsory
ESDV.5.9 Reconfigurable Architectures 15h 1 Optional
IAP.5.1 Soft Actuator Control and Applications 30H 2 Optional
IAP.5.2 Programming connected objects 15h 1 Optional
IAP.5.3 Positioning Systems and Applications -PSA. 15h 1 Optional
SEC.5.1 Diagnosis, safety and reliability of embedded systems 30h 2 Optional
SEC.5.2 IoT Security 30h 2 Compulsory
SEC.5.3 Automotive Architecture and Security 15h 1 Optional
SEC.5.4 IoT security project 15h 1 Compulsory
ISA.5.12 Introduction to Datamining 15H 1 Optional
Complementary module1 30h 2
Complementary module2 30h 2
Complementary module3 30h 2
Complementary module4 15h 1
Complementary module5 15h 1
Complementary module6 15h 1

180
AI.5.5 Robotics and soft computing

Module designation AI.5.5

Semester(s) in which the module S5


is taught

Person responsible for the Moncef TAGINA


module (coordinator)

Language French

Relation to curriculum optional

Teaching methods lesson, lab works.

Workload (incl. contact hours, Total workload: 30h (18h lecture, 6h exercise, 6h lab) contact hours 15h
self-study hours) Self-study.

Credit points 2ECTS

Required and recommended MAT.1.1, M.1.2


prerequisites for joining the
module

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

Study and examination 10/20


requirements

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.

AI.5.12 Introduction to Deep Learning

Module designation AI.5.12

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Rym Besrour

Teaching team Rym Besrour

Language French

Relation to curriculum optional

184
Teaching methods Lesson and project

Workload (incl. contact hours, self-study hours) Total workload: 21h


Contact hours: 15h lessons
Private study:in hours:
6h

Credit points 1ECTS

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

● Competences: 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.
● C9. Make complex decisions based on
incomplete or limited information.

186
Content Introduction
Chapter1: Applied Math and Machine Learning Basics
● Linear Algebra
● Probability and Information Theory
● Numerical Computation
● Machine Learning Basics

Chapter2: Modern Practical Deep Networks


● Deep Feedforward Networks
● Regularization for Deep Learning
● Optimization for Training Deep Models
● Convolutional Networks
● Sequence Modeling: Recurrent and Recursive
Nets
● Practical Methodology
● Applications

Chapter3 : Deep Learning Research


● Autoencoders
● Deep Generative Models

Projects ideas :
● Smart routing
● Smart home security
● Smart energy managment

187
Examination forms 100% project evaluation

Study and examination requirements 10/20

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

DOS.5.4 Advanced Architectures and parallel programming models

Module designation DOS.5.4

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Lobna KRIAA

Teaching team Chadlia Jerad

Language French

188
Relation to curriculum Optional

Teaching methods Lesson & lab work.

Workload (incl. contact hours, self-study hours) Total workload: 45h


Contact hours: 30h (15.5h lessons, 5 hours exercises, 0.5h oral
presentations, 9h labs)
Private study:in hours:
15h

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

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)

Chapter IV: Basic Concepts for Parallel Programming


Section I: Basic concepts
Section II: Sharing for what purpose?
Section III: Data Concurrency and Synchronization
Chapter V : Programming with OpenMP
- Introduction to OpenMP
Section II: Studies of OpenMP pragmas
- Private Variables vs Shared Variables
- Parallel tasks
- This chapter is fed by practical labs for each concept studied
(about 9h)
o Realization of the tests
o Analysis of the results
* Students in this context must choose another parallel
programming model or language and make a presentation
focusing on the parallel paradigm or concept offered by the
chosen language

191
Examination forms 35% continuous evaluation + 100% written exam

Study and examination requirements 10/20

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.

DOS.5.5 Real Time Operating Systems

Module designation DOS.5.5

Semester(s) in which the module is taught S5

192
Person responsible for the module (coordinator) Latrach lassaad
Mohamed Karim Bouafoura
Jerad chedlia
Masmoudi Mohamed

Teaching team

Language French

Relation to curriculum Compulsory

Teaching methods lab works, project

Workload (incl. contact hours, self-study hours) (Estimated) Total workload:40h


Contact hours (please specify whether lecture, exercise,
laboratory session, etc.):20h (9h lessons, 21h lab works)
Private study:in hours:
10h

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)

=>Lab Works (10h)

Examination forms 35% continuous assessment (project and mid-term exam) +


65% written exam

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
,

DOS.5.6 Distributed Systems and applications

Module designation DOS.5.6

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Faïza NAJJAR

Language French

Relation to curriculum Compulsory

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

Credit points 2ECTS

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)

CHAP.2. gRPC Programming


(1,5 weeks)
● Data serialization and Google protocol buffers
–protobuf
● Message description Language ( *.proto files)
● Message Encodage
● gRPC principles (https://grpc.io/)
● IDL Grpc; protoc compiler (from .proto to code)
Programming Assignment:
● HelloWorld Application C/S (laptop &
Smartphone-Android) with at least two
different languages (Go; java; …).

CHAP. 3 Message-oriented Middleware (MOM)


(1 week)
● Communication types (Synchronous vs.
Asynchronous ; Transient vs. Persistent)
● High-level middleware communication
services: Point-to-point; Message queueing --
MQ; publish-subscribe –pub-sub; pull and push
delivery.
● MOM technology Java-message service –JMS.
Mini-project: Asynchronous distributed
programming with open
MQ

CHAP. 4. Peer-to-Peer systems and applications


(2 weeks)
● Motivations: skype, Spotify, BitTorrent, ...
● Overlays on networks; Research issues
(lookup/discovery, connectivity,
communication, security, …).
● Types of P2P: centralized; decentralized;
hybrid; semantic.
● Examples of P2P systems and applications:
● Distributed Hash table –DHT (on Chord)
HOMEWORK : exercises on DHT

CHAP. 5. Distributed file systems


(2,5 weeks)
● Services and protocols
● A standard DFS: NFS
● A large scale DFS: HDFS
● Introduction to Big data
● Google FS –GFS: Master-slave
architecture; Chunk; chunkserver;
map-reduce distributed
programming model.
199 ● Hadoop distributed file systems:
Namenode, Datanodes; JoTtracker,
TaskTrackers; hdfs shells
Mini-project: WordCount application with Hadoop map-
reduce and hdfs
Examination forms 40% CW + 60% Final Exam
with CW -- Continuous work =Mean(test; (programming)
assignments, HomeWorks; classroom exercises)

Study and examination requirements 10/20

Recommended readings 30.


A. S. Tanenbaum, M. V. Steen, Distributed
Systems: Principles and Paradigms,
Createspace Independent Pub; 2nd edition (26
February 2016), ISBN-10: 153028175X (ISBN-
13: 978-1530281756). Free download on
https://www.distributed-
systems.net/index.php/books/ds3/ (third
edition, 2017).
31. Max Hailperin, Operating Systems and
Middleware: Supporting Controlled Interaction,
Revised Edition 1.3.1, Max Hailperin, June 4,
2019
32. Indranil Gupta, Advanced distributed systems,
P2P systems, Spring 2018
33. Martin Crane, Messaging on Distributed
Systems (CA4006) LN (2017)
(http://www.computing.dcu.ie/~mcrane/CA40
06)

DOS.5.7 Embedded Linux

Module designation DOS.5.7

Semester(s) in which the module is taught S5

200
Person responsible for the module (coordinator) Lobna KRIAA

Teaching team Industrial partner team (https://www.actia.com/fr/ : Tunisian


pole)
● Lassaad Jemai

Language Frensh

Relation to curriculum Optional

Teaching methods Lesson and labs

Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 40h
Contact hours: 30h (21h lessons, 9h labs)
Private study:in hours:
10h

Credit points 2ECTS

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

Module objectives/intended learning outcomes ●


Knowledge:
● Understand the design of an embedded
operating system
● Install a cross-compilation chain
● Use Buidlroot
● Configure a cross-compilation chain
● Generate an image for a specific chipset with
Buildroot
● 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.
● 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.

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

Practical labs will be proposed in order to:


● Install a cross-compilation chain
● Use Buidlroot
● Configure a cross-compilation chain
● Generate an image for a specific chipset with
Buildroot

Examination forms 35% continuous evaluation +65% written exam

Study and examination requirements 10/20

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

DOS.5.8 Introduction to cloud computing

Module designation

DOS.5.8

Semester(s) in which the module is taught

Person responsible for the module (coordinator)

Dr. Mehrez Essafi

Teaching team

Language

French

Relation to curriculum

Compulsory

Teaching methods


Lesson
● Lab work

204
Workload (incl. contact hours, self-study hours)

Total workload: 25h


Contact hours: 15h (12h lessons, 3h lab work)
Private study: 10h

Credit points

1ECTS

Required and recommended prerequisites for joining the


module

OS.2.1 Introduction to Operating systems and Unix


environment
NET.3.1 Local Networks
NET.4.1 Computer Networks
SE.4.2 Software Architecture
SEC.4.1 Cybersecurity & cryptography

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

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

207
Examination forms


20% labs
● 80% written examination

Study and examination requirements

Student must achieve an overall minimum module mark of


10/20

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

Module designation DOS.5.9

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Med Karim Bouaffoura

Teaching team

Language French

Relation to curriculum Optional

Teaching methods Lesson and Project

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

Module objectives/intended learning outcomes ●


Knowledge:
● Master the Robot Operating Systems
● Deal with models and simulations for robots
such as gazebo environment
● 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.

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.

Examination forms 100% project evaluation

Study and examination requirements 10/20

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

DOS.5.10 Introduction to Digital EcoSystems: from IoT to Cloud computing -DES

Module designation DOS.5.10

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Faïza NAJJAR

Language English

Relation to curriculum Optional

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

Credit points 1ECTS

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)

Study and examination requirements 10/20

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

ESDV.5.1 Microcontroller-based systems

Module designation ESEP.5.1

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Latrach lassaad


Mohamed Masmoudi

Teaching team

Language French

216
Relation to curriculum Compulsory

Teaching methods lab works, project

Workload (incl. contact hours, self-study hours) (Estimated) Total workload:40h


Contact hours (please specify whether lecture, exercise,
laboratory session, etc.):20h (9h lessons, 21h lab works)
Private study:in hours:
10h

Credit points 1.
ECTS

Required and recommended prerequisites for joining the ●


module Analog Ecletronic, Embedded System, Basic
programming skills (preferrably C/C++).
Hardware: Any STM32 Board

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)

Examination forms 35% continuous assessment (project and mid-term exam) +


65% written exam

Study and examination requirements 10/20

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.

ESDV.5.2 System Integration (VHDL)

Module designation ESDV.5.2

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Karim Bouaffoura

Teaching team Mohamed Masmoudi


Mourad Fathallah

Language Frensh

Relation to curriculum Compulsory

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

Credit points 2ECTS

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

Examination forms 35% continuous evaluation +65% written exam

Study and examination requirements 10/20

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/

ESDV.5.3 Real-Time systems design and validation

Module designation ESDV.5.3

Semester(s) in which the module is taught S5

Person responsible for the module Leila Ben Ayed

Language French

224
Relation to curriculum Compulsory

Teaching methods lesson, project (TINA validation Tool)

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

Examination forms 35% Continues evaluation + 65% Written exam

Study and examination requirements 10/20

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.

ESDV.5.4 Cyber-Physical Systems

Module designation ESDV.5.4

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Chadlia Jerad

Teaching team

Language English

Relation to curriculum Optional

Teaching methods Lesson and Project

228
Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 45h
Contact Hours: 30h (20h lesson, 10h labs )
Private study:in hours:
15h

Credit points 2ECTS

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

Study and examination requirements 10/20

Reading list Texbooks :


● Introduction to Embedded Systems – A Cyber-
Physical Systems Approach, Second Edition, by
E. A. Lee and S. A. Seshia, 2015. (ebook)
● Internet of Things: Principles and paradigms. R.
Buyya, A.V. Dastjerdi, editors. Elsevier, May
2016
● Claudius Ptolemaeus, Editor, System Design,
Modeling, and Simulation Using Ptolemy II,
Ptolemy.org, 2014. (ebook)
● Based on “Introduction to Embedded
Systems”: EECS 149/249A UC Berkeley
Scientific papers:
● Based on “Design Automation Conference”
(Class A*) proceedings
Tools and frameworks:
● Ptolemy II tool:
https://ptolemy.berkeley.edu/ptolemyII/ptII11
.0/index.htm
● Node-Red: https://nodered.org/

ESDV.5.5 Electronics for embedded systems

Module designation ESDV.5.5

232
Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Latrach lassaad

Teaching team

Language French

Relation to curriculum Compulsory

Teaching methods lab works, project

Workload (incl. contact hours, self-study hours) (Estimated) Total workload:40h


Contact hours (please specify whether lecture, exercise,
laboratory session, etc.):20h (9h lessons, 21h lab works)
Private study:in hours:
10h

Credit points 26.


ECTS

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

Chapter III- Static, Dynamic sequential circuits


31. Deep sub-micron designs; design for
performance
32. Wires; Coping with Interconnects
33. Adders, Multipliers, data paths; timing issues
34. Memory Circuits
35. Design and optimize complex functional blocks

=>Lab Works (10h)

Examination forms 35% continuous assessment (project and mid-term exam) +


65% written exam

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,

ESDV.5.6 Embedded Interfacing

Module designation ESDV.5.6

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Latrach lassaad

Teaching team

Language French

Relation to curriculum Optional

236
Teaching methods lab works, project

Workload (incl. contact hours, self-study hours) (Estimated) Total workload:20h


Contact hours (please specify whether lecture, exercise,
laboratory session, etc.):15h (3h lessons, 13 h lab works)
Private study:in hours:
5h

Credit points 26.


ECTS

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)

Examination forms 100% Lab exam

Study and examination requirements 10/20

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

ESDV.5.7 Integration project

Module designation ESDV.5.7

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Lobna KRIAA

Teaching team Industrial partner team Alpha Connect International


(https://www.linkedin.com/company/alpha-connect-
international/ )
● Mohamed Masmoudi

Language French

239
Relation to curriculum Compulsory

Teaching methods Project

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

Credit points 1ECTS

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

● This is a project-based module.


● The students try to integrate their knowledge
of the two modules "Systems Integration
(VHDL)" and the module "Microcontroller-
based systems".
● The idea is to generate an SoC design approach
by integrating software and hardware parts
into a prototype using FPGA prototyping
platform.
The class will be divided in groups:
● Each group will choose a system to implement
and to develop.
● In this part, different types of projects for
example
● Implementation of a mini microcontroller using one
peripheral (e.g. SPI, I2C, UART, GPIO, Timer, etc.) and
integrating a processor (e.g. NIOS, µBlaze, etc.)
○ Implementation of the software layer
● Implementation of an image processing application or a
games
● Define an outline of the project
● Divide the work and assign task to each team
member
● Integrate individual works
● 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 the
students per class)
● Hardware need:
o FPGA boards baseds
o Necessary connection cables
o Necessary equipment to be provided by the participant:
Laptop computer with administration rights

242
Examination forms 100% project evaluation

Study and examination requirements 10/20

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.

ESDV.5.8 Microcontroller Project

243
Module designation ESDV.5.8

Semester(s) in which the module is taught S5

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

Relation to curriculum Compulsory

Teaching methods Project

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

Credit points 1ECTS

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

● This is a project-based module.


● The students try to apply their knowledge of the
learned course Microcontroller Based System
● The idea is to develop a real embedded application
based on STM32 using STM32 tools
● Steps of the project
● Define an outline of the project
● Divide the work and assign task to each
team member
● Integrate individual works
● The module involves spending at least 5 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)
● Hardware need:
● Electronic boards based on
microcontrollers
● Necessary connection cables
● Other electronic components for the
possible assemblies
● Necessary equipment to be provided by
the participant: Laptop computer with
administration rights

Examination forms 100% project evaluation

Study and examination requirements 10/20

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)

ESDV.5.9 Reconfigurable Architectures

Module designation ESDV.5.9

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Lobna KRIAA

Teaching team Industrial partner Siemens Mentor Graphics


https://eda.sw.siemens.com/en-US/
. Zied Marrakchi

Language French

Relation to curriculum Optional

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

Credit points 1ECTS

Required and recommended prerequisites for joining the EHA.4.1: Introduction to embedded Systems
module Integration System

Module objectives/intended learning outcomes ●


Knowledge:
● Master the FPGA EDA steps
● Know the optimization algorithm for mapping
and routing steps
● Deal with Codesign approaches
● 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

249
Content Introduction and Generalities

Chapter 1: Mesh Architectures

Chapter 2: Tree-based architectures

Chapter 3: Configuration and algorithmic tools

Chapter 4: Embedded FPGA

Examination forms 100% written exam

Study and examination requirements 10/20

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.

IAP.5.1 Soft Actuator Control and Applications

Module designation IAP.5.1


Semester(s) in which the module is S5
taught
Person responsible for the module Yasser GRITLI
(coordinator)
Teaching team Yasser GRITLI
Language French
Relation to curriculum optional

Teaching methods Projects


Workload (incl. contact hours, self- (Estimated) Total workload: 50h
study hours) Contact hours: 30h (25h Lessons, 20h Exercise)
7
Private study:in hours : 20h
Credit points 2ECTS
Required and recommended MAT.1.1, AP.1.2, MAT.1.2, EHA.1.1, EHA.1.2, NET.2.1, EHA.4.1, NET.4.1.
prerequisites for joining the module
Module objectives/intended learning This course is provided as Projects to develop skills and Knowledge in :
outcomes - Different techniques of Smart Measurements;
- New technologies of Soft and Smart Sensors;
- Modern Soft and Smart Actuators;
- Concepts of Soft Actuators Control Strategies implementation.

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.

*: Lessons 1 to 4 are provided in parallel with the different projects progress.


Examination forms 100% project evaluation
The exam at the end of term will test everything in the course, but will be
especially closely tied to the practical exercises.
Study and examination requirements 10/20
Reading list Reference books:
- Sharma, Konark, and Lalit Mohan Saini. "Performance analysis of smart
metering for smart grid: An overview." Renewable and Sustainable Energy
Reviews 49 (2015): 720-735.
- Jiang, Yuchen, et al. "A review on soft sensors for monitoring, control, and
optimization of industrial processes." IEEE Sensors Journal 21.11 (2020):
12868-12881.
- Hines, Lindsey, et al. "Soft actuators for small‐scale robotics." Advanced
materials 29.13 (2017): 1603483.

IAP.5.2 Introduction to Programming connected objects

Module designation IAP.5.2

Semester(s) in which the module is S5


taught
Person responsible for the module Latrach Lassaad
(coordinator)
Teaching team
Language French
Relation to curriculum Optional

Teaching methods lab works, project


Workload (incl. contact hours, self- (Estimated) Total workload:20h
study hours) Contact hours (please specify whether lecture, exercise, laboratory session,
etc.):15h (3h lessons, 13 h lab works)
8
Private study:in hours :
5h
Credit points 1. ECTS
Required and recommended EHA.4.1- Embedded System
prerequisites for joining the module EHA.1.2 - Analog Electronics

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

Content Chapter I – Introduction to the Internet of Things (3h)


1. Technologies that led to the evolution of IoT
2. IOT and M2M
3. IoT and cloud platforms
4. ThingSpeak API and MQTT
Chapter II - Sensor & Actuators with ESP32 (4h)
1.Overview of Sensors working
2.Analog and Digital Sensors
3. Interfacing of Temperature, Humidity, Motion, Light and Gas Sensor with ESP32
=>Lab Works (3h)
Chapter III Networking with ESP32 WiFi module and Cloud Platforms for IOT
(8h)
1. ESP8266 Wi-Fi Module and Various Wi-Fi library
2. Web server, installation, configuration
3. Posting sensor(s) data to web server
4. Thing Speak API and MQTT
5. Interfacing ESP8266 with Web services
=>Lab Works (6h)

Examination forms 100% Lab exam


Study and examination requirements 10/20
Reading list A Cuno PfisterGetting Started with the Internet of Things
B Lakshmana Kumar Ramasamy and Seifedine KadryInternet of things
(IoT)

253
IAP.5.3 Positioning Systems and Applications -PSA.

Module designation IAP.5.3

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Faïza NAJJAR

Language English

Relation to curriculum optional

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

Credit points 1ECTS

254
Required and recommended prerequisites for joining the Mobile communication and networks
module Advanced Networks

Module objectives/intended learning outcomes Objectives:


This course is a special interest of mobile and sensor
computing; it will introduce fundamentals and theoretical
foundations of location-based services (LBS), including the
most common services such as wireless localization, tracking
and navigation on outdoor (e.g. GNSS) and a special
emphasis on indoor LBS (e.g. WiFi-based).
Students may undertake projects with real world data to put
in practice the knowledge acquired in wireless positioning
techniques and algorithms.

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)

Study and examination requirements 10/20

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.

SEC.5.1 Diagnosis, safety and reliability of embedded systems

Module designation SEC.5.1


Semester(s) in which the module is S5
taught
Person responsible for the module Yasser GRITLI
(coordinator)
Teaching team Yasser GRITLI
Language French
Relation to curriculum Optional

Teaching methods Lesson, Lab

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

Module designation SEC.5.2

Semester(s) in which the module is taught S5

Person responsible for the module Mohamed Houcine Hdhili

Teachers team

Language French

Relation to curriculum Compulsory

Teaching methods Lesson, Lab works

Workload (incl. contact hours, self-study hours) (Estimated) Total workload:40h


Contact hours (please specify whether lecture, exercise,
laboratory session, etc.): 30h (18h lesson, 12h lab works)
Private study:in hours: 10h

Credit points 2 ECTS

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 ...

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:

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.

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

Study and examination requirements 10/20

Reading list 1- “Security and Privacy in Internet of Things (IoTs): Models,


Algorithms, and Implementations”, Fei Hu, CRC Press, 2016.
2 - Nagaraja Seshadri, Sivakumar Dhakshinamoorthy, 2020,
Internet of things (IoT) and Security, INTERNATIONAL
JOURNAL OF ENGINEERING RESEARCH & TECHNOLOGY (IJERT)
NCAIT – 2020 (Volume 8 – Issue 15),
3-https://www.iot.org.au/wp/wp-
content/uploads/2016/12/IoTAA-Security-Guideline-V1.2.pdf,
visited in october 2022
4- https://owasp.org/www-project-internet-of-things/
5-
https://www.st.com/content/st_com/en/ecosystems/stm32tr
ust.html

SEC.5.3 Automotive Architecture and Security

Module designation SEC.5.3


Semester(s) in which the module is S5
taught
Person responsible for the module Lobna KRIAA
(coordinator)
Teaching team Industrial partner team (https://group.mercedes-benz.com/en/)
● Rekik Youssef
● Rostom El Abed
Language English
Relation to curriculum Optional

Teaching methods Lesson.


Workload (incl. contact hours, self- (Estimated) Total workload: 20h
study hours) Contact hours: 15h (12h lessons, 3h exercices)
10
Private study:in hours :
5h
Credit points 1ECTS

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

Examination forms 100% written exam


Study and examination requirements 10/20
Reading list - Subke, P. (2019). Diagnostic Communication with Road-vehicles and
Non-road Mobile Machinery. SAE International.
- Etschberger, K., Hofmann, R., Stolberg, J., Schlegel, C., & Weiher, S.
(2001). Controller area network: basics, protocols, chips and
applications. IXXAT Automation.
- Fuzztesting Whitepaper, Fending Off Cyber Attacks – Hardening ECUs
by Fuzz Testing Translation of a German publication in Hanser
automotive, special edition “Safety & Security” August 2018 (
https://cdn.vector.com/cms/content/know-how/_technical-
articles/Security_FuzzTesting_HanserAutomotive_201808_PressArticl
e_EN.pdf)

263
SEC.5.4 IoT security project

Module designation SEC.5.4

Semester(s) in which the module is taught S5

Person responsible for the module Mohamed Houcine Hdhili

Teachers team

Language French

Relation to curriculum compulsory

Teaching methods Project

Workload (incl. contact hours, self-study hours) (Estimated) Total workload:25h


Contact hours (please specify whether lecture, exercise,
laboratory session, etc.): 15h (lab works)
Private study:in hours: 10h

Credit points 1 ECTS

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

Module objectives/intended learning outcomes Knowledge:


At the end of the course, the students will :
● 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

Skills: Work with a team, manage time

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.

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

Examination forms 100% project assessment

Study and examination requirements 10/20

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/

ISA.5.12 Introduction to Datamining

Module designation Data Mining

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Rym Besrour

Language French

Relation to curriculum optional

267
Teaching methods lesson, project.

Workload (incl. contact hours, self-study hours) Total workload: 21h


Contact hours: 15h lessons
Private study:in hours:
6h

Credit points 1 ECTS

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.

Competences: 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.
● C9. Make complex decisions based on
incomplete or limited information.

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

Chapter2: Data preprocessing


● Data cleaning
● Data transformation
● Data reduction
● Discretization and generating concept
hierarchies

Chapter3: Association rules


● Motivation and terminology
● Example: mining weather data
● Basic idea: item sets
● Generating item sets and rules efficiently
● Correlation analysis
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

270
Examination forms 100% Lab exam

Study and examination requirements 10/20

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)

Code Title Contact Hours Credits Type

ESEP.5.1 Microcontrollers based Systems 30h 2 Optional

ESEP.5.2 Connected Objects Programming 30h 2 Optional

ESEP.5.3 Cyber-Physical Systems 15h 1 Optional

NET.5.1 Muti-service Cellular Networks 30h 2 compulsory

NET.5.2 communication Architectures and protocols for IoT 30h 2 compulsory

NET.5.3 Networks Management 15h 1 compulsory

NET.5.4 QoS & Trafic eng. 15h 1 compulsory

DOS.5.5 Real time operating systems 30H 2 compulsory

DOS.5.6 Distributed systems and applications 30H 2 compulsory

DOS.5.12 Distributed Storage systems 30h 2 compulsory

DOS.5.4 Advanced architectures and parallal programming 30h 2 compulsory

DOS.5.8 introduction to Cloud computing 15H 1 compulsory

IAP.5.3 Positionning Systems: tecnniques and Applications 15H 1 Optional

DOS.5.11 IoT Middelwares & frameworks 15H 1 Optional

DOS.5.2 Blockchain 15h 1 Optional

AI.5.12 Introduction to Deep Learning 15H 1 compulsory

ISA.5.12 Introduction to Datamining 15H 1 Optional

ISA.5.1 Big Data 30H 2 Optional

AI.5.13 Introduction to Robotique &soft computing 15h 2 Optional

SEC.5.2 IoT Security 30h compulsory

SEC.5.4 IoT security project 15h Optional

272
ESEP.5.1 Microcontrollers based Systems

Module designation ESEP.5.1

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Latrach lassaad


Mohamed Masmoudi

Teaching team

Language French

Relation to curriculum Optional

Teaching methods lab works, project

Workload (incl. contact hours, self-study hours) (Estimated) Total workload:40h


Contact hours (please specify whether lecture, exercise,
laboratory session, etc.):20h (9h lessons, 21h lab works)
Private study:in hours:
10h

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)

Examination forms 35% continuous assessment (project and mid-term exam) +


65% written exam

Study and examination requirements 10/20

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.

ESEP.5.2 Connected Objects Programming

Module designation ESEP.5.2

Semester(s) in which the module is S5


taught
Person responsible for the module Latrach Lassaad
(coordinator)
Teaching team
Language French
Relation to curriculum Optional

Teaching methods lab works, project


Workload (incl. contact hours, self- (Estimated) Total workload:40h
study hours) Contact hours (please specify whether lecture, exercise, laboratory session,
etc.):30h (15h lesson, 15 h lab works)
Private study:in hours:
10h
Credit points 2. ECTS
Required and recommended EHA.4.1- Embedded System
prerequisites for joining the module EHA.1.2 - Analog Electronics
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

Content Chapter 1 – Embedded Systems, CyberPhysical Systems & IoT


Chapter 2 - Sensor & Actuators with ESP32
Chapter 3I Embedded Programming
Chapter 4 Networking with ESP32 WiFi module and Cloud Platforms for IOT
Chapter 4: IoT ecosystems
chapter 5: IoT analytics

Examination forms 100% Lab exam


Study and examination requirements 10/20
Reading list C Cuno PfisterGetting Started with the Internet of Things
D Lakshmana Kumar Ramasamy and Seifedine KadryInternet of things
(IoT)

276
ESEP.5.3 Cyber-Physical Systems

Module designation ESEP.5.3

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Chadlia Jerad

Teaching team

Language English

Relation to curriculum Optional

Teaching methods Lesson and Project

Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 45h
Contact Hours: 30h (20h lesson, 10h labs )
Private study:in hours:
15h

Credit points 2ECTS

277
Required and recommended prerequisites for joining the EHA.4.1:Introduction to embedded Systems
module Automates ; Networking ; Programmation C/C++ ;
Programmation JavaScript

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.

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

Study and examination requirements 10/20

Reading list Texbooks :


● Introduction to Embedded Systems – A Cyber-
Physical Systems Approach, Second Edition, by
E. A. Lee and S. A. Seshia, 2015. (ebook)
● Internet of Things: Principles and paradigms. R.
Buyya, A.V. Dastjerdi, editors. Elsevier, May
2016
● Claudius Ptolemaeus, Editor, System Design,
Modeling, and Simulation Using Ptolemy II,
Ptolemy.org, 2014. (ebook)
● Based on “Introduction to Embedded
Systems”: EECS 149/249A UC Berkeley
Scientific papers:
● Based on “Design Automation Conference”
(Class A*) proceedings
Tools and frameworks:
● Ptolemy II tool:
https://ptolemy.berkeley.edu/ptolemyII/ptII11
.0/index.htm
● Node-Red: https://nodered.org/

NET.5.1 Muti-service Cellular Networks

Module designation NET.5.1

Semester(s) in which the module is taught S5

280
Person responsible for the module (coordinator) Naouel Ben Salem Grati

Language French

Relation to curriculum Compulsory

Teaching methods lesson, exercises

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

Credit points 2ECTS

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

Study and examination requirements A mark of 10/20

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

NET.5.2 communication Architectures and protocols for IoT

Module designation NET.5.2.

Semester(s) in which the module is taught S5

284
Person responsible for the module (coordinator) Hanen Idoudi

Language French

Relation to curriculum Compulsory

Teaching methods lecture, labs, exercises, project

Workload (incl. contact hours, self-study hours) (Estimated) Total workload:


Contact hours (please specify whether lecture, exercise,
laboratory session, etc.): 21
Private study:in hours: 9

Credit points 2ECTS

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

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

Chapter IV – Middelwares and Application protocols for IoT


Web of Things: concepts and communication’s models
● WoT : Data Standards
IoT middelwares
Publish/subscribe model
WoT : Data exchange protocols
MQTT
● CoAP
Chapter V – Wireeless Sensor networks
Chapter VI – Vehicular Ad hoc Networks

287
Examination forms Labs and final written exam (20%+80%)

Study and examination requirements To acquires at least 10/20

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
&AMP TUTORIALS. JANUARY 2015

NET.5.3 Networks Management

Module designation NET.5.3

Semester(s) in which the module is taught S5

Person responsible for the module Ahmed Elleuch

Teachers team

288
Language French

Relation to curriculum Compulsory

Teaching methods Lesson

Workload (incl. contact hours, self-study hours) (Estimated) Total workload: 25 h


Contact hours (15h lesson)
Private study:in hours: 10h

Credit points 1.5 ECTS

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 …

Examination forms written exam

Study and examination requirements 10/20

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.

NET.5.4 QoS & Trafic engineering

Module designation NET.5.4

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Chiraz Houaidia

Language French

Relation to curriculum compulsory

Teaching methods lesson, classroom exercices, presentations, …

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

Credit points 1.5ECTS

Required and recommended prerequisites for joining the Local Networks


module Computer networks

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

Examination forms 30% continuous assessment (tutorials, lab works) + 70%


written exam

Study and examination requirements 10/20

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

DOS.5.5 Real time operating systems


Module designation DOS.5.5 Real time operating systems

Semester(s) in which the module is taught S5

Person responsible for the module (Latrach lassaad), Mohamed Karim Bouafoura, Jerad chedlia, Masmoudi Mohamed
(coordinator ) + team

Language French

Relation to curriculum Compulsory

296
Teaching methods lab works, project

Workload (incl. contact hours, self-study (Estimated) Total workload:40h


hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.):20h (9h
lessons, 21h lab works)
Private study:in hours:
10h

Credit points 2 ECTS

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

10. Basic principles


11. Scheduling algorithms for periodic tasks: Rate Monotonic, Earliest Deadline
First, Deadline Monotonic;
12. Scheduling algorithms for aperiodic tasks: schedulazione in background,
Polling Server, Deferrable Server;
Chapter III- System architecture of freeRTOS
13. Introduction to FreeRTOS
14. Task Management in Free RTOS
15. Synchronization in FreeRTOS
16. Creating FreeRTOS based project for STM32 MCUs
17. Inter Task Communication (FreeRTOS Queue)
18. Semaphores and Mutex (FreeRTOS)

=>Lab Works (10h)

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
,

DOS.5.6 Distributed systems and applications


Module designation DOS.5.6

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Faïza NAJJAR

Language French

Relation to curriculum Compulsory

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

Credit points 2ECTS

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)

CHAP.2. gRPC Programming


(1,5 weeks)
● Data serialization and Google protocol buffers
–protobuf
● Message description Language ( *.proto files)
● Message Encodage
● gRPC principles (https://grpc.io/)
● IDL Grpc; protoc compiler (from .proto to code)
Programming Assignment:
● HelloWorld Application C/S (laptop &
Smartphone-Android) with at least two
different languages (Go; java; …).

CHAP. 3 Message-oriented Middleware (MOM)


(1 week)
● Communication types (Synchronous vs.
Asynchronous ; Transient vs. Persistent)
● High-level middleware communication
services: Point-to-point; Message queueing --
MQ; publish-subscribe –pub-sub; pull and push
delivery.
● MOM technology Java-message service –JMS.
Mini-project: Asynchronous distributed
programming with open
MQ

CHAP. 4. Peer-to-Peer systems and applications


(2 weeks)
● Motivations: skype, Spotify, BitTorrent, ...
● Overlays on networks; Research issues
(lookup/discovery, connectivity,
communication, security, …).
● Types of P2P: centralized; decentralized;
hybrid; semantic.
● Examples of P2P systems and applications:
● Distributed Hash table –DHT (on Chord)
HOMEWORK : exercises on DHT

CHAP. 5. Distributed file systems


(2,5 weeks)
● Services and protocols
● A standard DFS: NFS
● A large scale DFS: HDFS
● Introduction to Big data
● Google FS –GFS: Master-slave
architecture; Chunk; chunkserver;
map-reduce distributed
programming model.
302 ● Hadoop distributed file systems:
Namenode, Datanodes; JoTtracker,
TaskTrackers; hdfs shells
Mini-project: WordCount application with Hadoop map-
reduce and hdfs
Examination forms 40% CW + 60% Final Exam
with CW -- Continuous work =Mean(test; (programming)
assignments, HomeWorks; classroom exercises)

Study and examination requirements 10/20

Recommended readings 31.


A. S. Tanenbaum, M. V. Steen, Distributed
Systems: Principles and Paradigms,
Createspace Independent Pub; 2nd edition (26
February 2016), ISBN-10: 153028175X (ISBN-
13: 978-1530281756). Free download on
https://www.distributed-
systems.net/index.php/books/ds3/ (third
edition, 2017).
32. Max Hailperin, Operating Systems and
Middleware: Supporting Controlled Interaction,
Revised Edition 1.3.1, Max Hailperin, June 4,
2019
33. Indranil Gupta, Advanced distributed systems,
P2P systems, Spring 2018
34. Martin Crane, Messaging on Distributed
Systems (CA4006) LN (2017)
(http://www.computing.dcu.ie/~mcrane/CA40
06)

DOS.5.11 Distributed Storage systems


Module designation DOS.5.11
Semester(s) in which the module is S5
taught
Person responsible for the module Raoudha KHCHERIF
(coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lecture, lesson, assignment, labs
Workload (incl. contact hours, self- Total workload: 40 h
study hours) Contact hours: 30 h ( lecture, exercise, laboratory , etc.):
Private study: 10 h
Credit points 3ECTS
Required and recommended DAT.2.1 , DAT.2.2, NET3.1, NET3.2, NET4.1
prerequisites for joining the module

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

Examination forms 100% written Exam


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

304
DOS.5.4 Advanced architectures and parallel programming

Module designation DOS.5.4

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Lobna KRIAA

Teaching team Chadlia Jerad

Language French

Relation to curriculum Compulsory

Teaching methods Lesson & lab work.

Workload (incl. contact hours, self-study hours) Total workload: 45h


Contact hours: 30h (15.5h lessons, 5 hours exercises, 0.5h oral
presentations, 9h labs)
Private study:in hours:
15h

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

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.

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)

Chapter IV: Basic Concepts for Parallel Programming


Section I: Basic concepts
Section II: Sharing for what purpose?
Section III: Data Concurrency and Synchronization
Chapter V : Programming with OpenMP
- Introduction to OpenMP
Section II: Studies of OpenMP pragmas
- Private Variables vs Shared Variables
- Parallel tasks
- This chapter is fed by practical labs for each concept studied
(about 9h)
o Realization of the tests
o Analysis of the results
* Students in this context must choose another parallel
programming model or language and make a presentation
focusing on the parallel paradigm or concept offered by the
chosen language

307
Examination forms 35% continuous evaluation + 100% written exam

Study and examination requirements 10/20

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.

DOS.5.8 introduction to Cloud computing

Module designation

DOS.5.8

Semester(s) in which the module is taught

308
Person responsible for the module (coordinator)

Dr. Mehrez Essafi

Teaching team

Language

French

Relation to curriculum

Compulsory

Teaching methods


Lesson
● Lab work

Workload (incl. contact hours, self-study hours)

Total workload: 25h


Contact hours: 15h (12h lessons, 3h lab work)
Private study: 10h

Credit points

1ECTS

Required and recommended prerequisites for joining the


module

OS.2.1 Introduction to Operating systems and Unix


environment
NET.3.1 Local Networks
NET.4.1 Computer Networks
SE.4.2 Software Architecture
SEC.4.1 Cybersecurity & cryptography

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

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

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

Module designation IAP.5.3

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Faïza NAJJAR

Language English

Relation to curriculum Optional

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

Credit points 1ECTS

314
Required and recommended prerequisites for joining the Mobile communication and networks
module Advanced Networks

Module objectives/intended learning outcomes Objectives:


This course is a special interest of mobile and sensor
computing; it will introduce fundamentals and theoretical
foundations of location-based services (LBS), including the
most common services such as wireless localization, tracking
and navigation on outdoor (e.g. GNSS) and a special
emphasis on indoor LBS (e.g. WiFi-based).
Students may undertake projects with real world data to put
in practice the knowledge acquired in wireless positioning
techniques and algorithms.

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)

Study and examination requirements 10/20

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.

DOS.5.11 IoT Middelwares & frameworks

Module designation DOS.5.11

317
Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Faiza Najjar & Chiraz Houaidia

Language French

Relation to curriculum optional

Teaching methods lesson, lab works

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

Credit points 1.5ECTS

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

Module objectives/intended learning outcomes Knowledge:


At the end of the course, the students will :
● Acquire and use knowledge of distributed systems
● Discover the main concepts of middleware and distinguish
between the different types
● Learn how to build a distributed application using different
(recent) technologies.
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.

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

Study and examination requirements 10/20

Reading list Tanenbaum, A. S. and van Steen, M. (2006). Distributed Systems:


Principles and Paradigms. Prentice Hall, 2nd edition. 686 pp.
Schmidt, D. C. and Buschmann, F. (2003). Patterns, frameworks, and
middleware: Their synergistic relationships. In 25th International
Conference on SoftwareEngineering, pages 694–704, Portland, Oregon.
Integration in the Internet of Things : a semantic middleware approach
to seamless integration of heterogeneous technologies, Elsevier, 2016.
Middleware Architecture with Patterns and Frameworks, 2009

DOS.5.2 Blockchain

Module designation DOS.5.2

Semester(s) in which the module is taught S5

Person responsible for the module Mohamed Houcine Hdhili, Hanen Idoudi

Teachers team Hanen Idoudi

Language French

Relation to curriculum Optional

Teaching methods Lesson, Lab works

Workload (incl. contact hours, self-study hours) (Estimated) Total workload:25h


Contact hours (please specify whether lecture, exercise, laboratory session, etc.): 15h (12
lesson, 3h lab works)
Private study:in hours: 10h

Credit points 1 ECTS

319
Required and recommended prerequisites for SEC.4.1 Cybersecurity and Cryptography
joining the module

Module objectives/intended learning outcomes Knowledge:


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

Examination forms 100% written exam

Study and examination requirements 10/20

Reading list IBM Blockchain Developper – Official course material

320
AI.5.12 Introduction to Deep Learning

Module designation AI.5.12

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Rym Besrour

Teaching team Rym Besrour

Language French

Relation to curriculum Compulsory

Teaching methods Lesson and project

Workload (incl. contact hours, self-study hours) Total workload: 21h


Contact hours: 15h lessons
Private study:in hours: 6h

Credit points 1ECTS

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.

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

● Competences: 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.
● C9. Make complex decisions based on
incomplete or limited information.

321
Content Introduction
Chapter1: Applied Math and Machine Learning Basics
● Linear Algebra
● Probability and Information Theory
● Numerical Computation
● Machine Learning Basics

Chapter2: Modern Practical Deep Networks


● Deep Feedforward Networks
● Regularization for Deep Learning
● Optimization for Training Deep Models
● Convolutional Networks
● Sequence Modeling: Recurrent and Recursive
Nets
● Practical Methodology
● Applications

Chapter3 : Deep Learning Research


● Autoencoders
● Deep Generative Models

Projects ideas :
● Smart routing
● Smart home security
● Smart energy managment

Examination forms 100% project evaluation

Study and examination requirements 10/20

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

ISA.5.12 Introduction to Datamining

Module designation ISA.5.12

322
Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Rym Besrour

Language French

Relation to curriculum optional

Teaching methods lesson, project.

Workload (incl. contact hours, self-study hours) Total workload: 21h


Contact hours: 15h lessons
Private study:in hours:
6h

Credit points 1 ECTS

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.

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.

Competences: 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.
● C9. Make complex decisions based on
incomplete or limited information.

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

Chapter2: Data preprocessing


● Data cleaning
● Data transformation
● Data reduction
● Discretization and generating concept
hierarchies

Chapter3: Association rules


● Motivation and terminology
● Example: mining weather data
● Basic idea: item sets
● Generating item sets and rules efficiently
● Correlation analysis

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

Study and examination requirements 10/20

Reading list Data Mining: Concepts and Techniques, Jiawei Han and
Micheline Kamber

326
ISA.5.1 Big Data

Module designation ISA.5.1

Semester(s) in which the module is taught S5

Person responsible for the module (coordinator) Raoudha Chebil

Language French

Relation to curriculum Optional

Teaching methods lesson, lab works, presentations.

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

Credit points 2ECTS

327
Required and recommended prerequisites for joining the Basic knowledge in programming (Python and Java) and
module relational databases

Module objectives/intended learning outcomes Knowledge: Students:


-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.

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

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.

AI.5.5 Robotics & soft computing


Module designation Robotics & Soft Computing
Semester(s) in which the S5
module is taught
Person responsible for the Moncef TAGINA
module (coordinator)
Language French
Relation to curriculum Compulsory
Teaching methods lesson, lab works.
Workload (incl. contact hours, Total workload: 40h
self-study hours) Contact hours:30h (18h lecture, 6h exercise, 6h lab)
Self-study:10h

Credit points 2ECTS


Required and recommended MAT.1.1, MAT.1.2
prerequisites for joining the
module
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:
330
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.
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

Examination forms 100% Final exam


Study and examination 10/20
requirements
Reading list 1. Introduction à la commande floue, Jean-Yves Dieulot, Laurent Dubois, Pierre Borne, Jean
Rozinoer, Editions Technip 1998
2. Classification et commande par réseaux de neurones, A. Faure, Editions Hermès, 2006.
3. Soft-I-Robot: Soft Computing Techniques, S. Santhosh, LAP Lambert Academic Publishing 2012.

331
SEC.5.2 IoT Security

Module designation SEC.5.2

Semester(s) in which the module is taught S5

Person responsible for the module Mohamed Houcine Hdhili

Language French

Relation to curriculum Compulsory

Teaching methods Lesson, Lab works

Workload (incl. contact hours, self-study hours) (Estimated) Total workload:40h


Contact hours (please specify whether lecture, exercise,
laboratory session, etc.): 30h (18h lesson, 12h lab works)
Private study:in hours: 10h

Credit points 2 ECTS

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:

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.

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

Study and examination requirements 10/20

Reading list 1- “Security and Privacy in Internet of Things (IoTs): Models,


Algorithms, and Implementations”, Fei Hu, CRC Press, 2016.
2 - Nagaraja Seshadri, Sivakumar Dhakshinamoorthy, 2020,
Internet of things (IoT) and Security, INTERNATIONAL
JOURNAL OF ENGINEERING RESEARCH & TECHNOLOGY (IJERT)
NCAIT – 2020 (Volume 8 – Issue 15),
3-https://www.iot.org.au/wp/wp-
content/uploads/2016/12/IoTAA-Security-Guideline-V1.2.pdf,
visited in october 2022
4- https://owasp.org/www-project-internet-of-things/
5-
https://www.st.com/content/st_com/en/ecosystems/stm32tr
ust.html

SEC.5.4 IoT security project

Module designation SEC.5.4

Semester(s) in which the S5


module is taught

Person responsible for Mohamed Houcine Hdhili


the module

Language French

Relation to curriculum optional

Teaching methods Project

Workload (incl. contact (Estimated) Total workload:25h


hours, self-study hours) Contact hours (please specify whether lecture, exercise, laboratory session, etc.): 15h (lab works)
Private study:in hours: 10h

Credit points 1 ECTS

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

Skills: Work with a team, manage time

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 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

Examination forms 100% project assessment

Study and examination 10/20


requirements

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

You might also like