Programme de formation en informatique
Programme de formation en informatique
2
V.H. Hebdomadaire Mode d’évaluation
VHH Travail
VHS Total Personne
Unité d’Enseignement C/TD/TP C/TD/TP C TD TP l Coef Crédits Continu Examen
UE Fondamentales 2.1 135 9 3 1.5 4.5 0 7 12
Object Oriented Programming 67.5 4.5 1.5 1.5 1.5 4 6 40% 60%
Introduction to Linux 67.5 4.5 1.5 3 3 6 40% 60%
UE Methodologiques 2.1 225 15 7.5 7.5 0 0 10 15
Linear Algebra 90 6 3 3 4 6 40% 60%
Mathematical Analysis 1 90 6 3 3 3 6 40% 60%
Introduction to Statistics 45 3 1.5 1.5 3 3 40% 60%
UE Transversales 2.1 45 3 0 3 0 0 1 3
English 2 45 3 3 1 3 40% 60%
Sous-Total par Semaine 27 10.5 12 4.5 0
18 30
Total Semestre 2 (15 Semaines) 405 157.5 180 67.5 0
3
V.H. Hebdomadaire Mode d’évaluation
VHH Travail
VHS Total Personne
Unité d’Enseignement C/TD/TP C/TD/TP C TD TP l Coef Crédits Continu Examen
UE Fondamentales 3.1 180 12 4.5 6 1.5 0 9 14
Data Structures and Algorithms 2 67.5 4.5 1.5 1.5 1.5 4 5 40% 60%
Mathematical Logic 45 3 1.5 1.5 2 4 40% 60%
Mathematical Analysis 2 67.5 4.5 1.5 3 3 5 40% 60%
UE Methodologiques 3.1 180 12 4.5 3 4.5 0 7 15
Databases 67.5 4.5 1.5 1.5 1.5 3 5 40% 60%
Probability 45 3 1.5 1.5 2 4 40% 60%
Web Development 67.5 4.5 1.5 3 2 6 40% 60%
UE Transversales 3.1 22.5 1.5 1.5 0 0 0 1 1
Introduction to Business 22.5 1.5 1.5 1 1 40% 60%
Sous-Total par Semaine 25.5 10.5 9 6 0
17 30
Total Semestre 1 (15 Semaines) 382.5 157.5 135 90 0
Unité d’Enseignement VHS VHH V.H. Hebdomadaire Coef Crédits Mode d’évaluation
4
C/TD/TP Total Travail
C/TD/TP Personne
C TD TP l Continu Examen
UE Fondamentales 4.1 180 12 4.5 4.5 3 0 9 14
Theory of Computing 45 3 1.5 1.5 3 4 40% 60%
Operating Systems 67.5 4.5 1.5 1.5 1.5 3 5 40% 60%
Computer Architecture 67.5 4.5 1.5 1.5 1.5 3 5 40% 60%
UE Methodologiques 4.1 180 12 6 4.5 1.5 0 9 14
Statistical Inference 45 3 1.5 1.5 3 4 40% 60%
Introduction to AI 90 6 3 1.5 1.5 4 6 40% 60%
Mathematical Analysis 3 45 3 1.5 1.5 2 4 40% 60%
UE Découvertes 4.1 22.5 1.5 0 0 1.5 0 1 2
Electronic Circuits Labs 22.5 1.5 1.5 1 2 40% 60%
Sous-Total par Semaine 25.5 10.5 9 6 0
19 30
Total Semestre 2 (15 Semaines) 382.5 157.5 135 90 0
5
1. Fiche d’organisation semestrielle des enseignements du Second Cycle
Unité d’Enseignement VHS VHH V.H. Hebdomadaire Coef Crédits Mode d’évaluation
6
C/TD/TP Total Travail
C/TD/TP Personne
C TD TP l Continu Examen
UE Fondamentales 5.1 112.5 7.5 3 1.5 3 0 7 9
Data Mining 67.5 4.5 1.5 3 4 5 40% 60%
Operations Research 45 3 1.5 1.5 3 4 40% 60%
UE Methodologiques 5.1 195 13 5 4.5 3.5 0 9 15
Stochastic Modelling and Simulation 60 4 2 1.5 0.5 3 5 40% 60%
Software Engineering 67.5 4.5 1.5 1.5 1.5 3 5 40% 60%
Networks and Protocols 67.5 4.5 1.5 1.5 1.5 3 5 40% 60%
UE Transversales 5.1 101.25 6.75 3 0.75 3 0 3 6
Mobile Development 67.5 4.5 1.5 3 2 5 40% 60%
Entrepreneurship and Innovation 33.75 2.25 1.5 0.75 1 1 40% 60%
Sous-Total par Semaine 27.25 11 6.75 9.5 0
408.75 165 101.25 142.5 0 19 30
Total Semestre 1 (15 Semaines)
7
Machine Learning 112.5 7.5 3 1.5 3 4 6 40% 60%
Numerical Methods and Optimisation 60 4 2 1.5 0.5 3 5 40% 60%
UE Methodologiques 6.1 187.5 14 4.5 4.5 5 3 11 17
Time Series Analysis and Classification 52.5 3.5 1.5 1.5 0.5 3 5 40% 60%
Advanced Databases 67.5 4.5 1.5 1.5 1.5 3 5 40% 60%
Computer and network Security 67.5 4.5 1.5 1.5 1.5 3 5 40% 60%
Group Project 1.5 1.5 3 2 2 100%
UE Transversales 6.1 30 2 1.5 0.5 0 0 1 2
Project Management 30 2 1.5 0.5 1 2 40% 60%
Sous-Total par Semaine 27.5 11 8 8.5 3
19 30
Total Semestre 2 (15 Semaines) 412.5 165 120 127.5 45
9
Reinforcement Learning 45 3 1.5 1.5 3 4 40% 60%
UE Methodologiques 8.1 90 6 3 0 3 0 5 8
Speech Processing 45 3 1.5 1.5 3 4 40% 60%
High Performance Computing 45 3 1.5 1.5 2 4 40% 60%
UE Découvertes 8.1 45 3 1.5 0 1.5 0 2 4
Enterprise Computing 45 3 1.5 1.5 2 4 40% 60%
UE Transversales 8.1 22.5 1.5 1.5 0 0 0 1 2
Academic Communication and Research 22.5 1.5 1.5 1 2 40% 60%
Sous-Total par Semaine 25.5 13.5 0 12 0
18 30
Total Semestre 2 (15 Semaines) 382.5 202.5 0 180 0
10
V.H. Hebdomadaire Mode d’évaluation
VHH Travail
VHS Total Personne
Unité d’Enseignement C/TD/TP C/TD/TP C TD TP l Coef Crédits Continu Examen
UE Fondamentales 10.1 0 0 0 0 0 25 1 30
Final Year Project 0 25 1 30 100%
Sous-Total par Semaine 0 0 0 0 25 1 30
Total Semestre 1 (15 Semaines) 0 0 0 0 375
ول اداا
11
1.1 أ دةو
60% 40% 4 1 3 3 45 1 زا
60% 40% 3 1 0.75 0.75 1.5 22.5 داد وار ارات ا
0 4.5 11.25 9.75 25.5 ووع اا
30 14
0 67.5 168.75 146.25 382.5 (وع أ15) داوع اا
12
اداا
13
ث اداا
14
را اداا
15
س اداا
16
دس اداا
17
اداا
ن اداا
م اطر در ل و ام اا موع ا م اا دة اوا
را لوا ل ط ل أو لأ دروسا ا داا
وا
18
8.1 أ دةو
60% 40% 6 4 3 3 6 90 وب ارؤ
60% 40% 6 3 3 3 6 90 ور وات ال ا
60% 40% 4 3 1.5 1.5 3 45 ززم ا
8.1 دةو
60% 40% 4 3 1.5 1.5 3 45 م ا
60% 40% 4 2 1.5 1.5 3 45 داء ا وا
8.1 ا دةو
60% 40% 4 2 1.5 1.5 3 45 ؤ اوا
8.1 أ دةو
60% 40% 2 1 1.5 1.5 22.5 ث وادل اا
0 12 0 13.5 25.5 ووع اا
30 18
0 168 0 189 382.5 (وع أ15) داوع اا
اداا
20
Programme détaillé de la 1ère
année du cycle préparatoire
Semestre 1
Module : Data Structures and Algorithms 1
VHH V.H. hebdomadaire
Semestre 1, CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Fondamentales 1.1 90 6 1.5 1.5 3 3 6
Course Description:
This course introduces basic programming techniques with a high-level programming language.
Topics include a general introduction to computers and programming languages, development
process, variables, data types, expressions and structures of flow control, functions/procedures,
text files, arrays, and pointers.
Prerequisite :
Course Content
● Introduction of Algorithmic and Problem Solving
○ Overview of algorithmic thinking and problem-solving techniques
○ Steps involved in problem-solving
○ Introduction to programming concepts
● Introduction to Programming with C++
○ Basics of C++ programming language
○ Variables, data types, and expressions
○ Input and output operations using standard streams
○ Basic arithmetic operations
● Control Structures
○ Conditional statements (if-else, switch-case)
○ Looping and iteration (while, for)
○ Solving simple problems using control structure constructs
● Functions and Modular Programming
○ Introduction to functions
○ Function declaration, definition, and calling
21
○ Variable scopes
○ Parameter passing (by value, by reference)
○ Writing reusable code with functions
● Arrays and Strings
○ Introduction to arrays
○ Working with one-dimensional arrays
○ Manipulating strings and string operations
● Recursivity
○ Loop-based algorithms and iterations
○ Solving problems using loops and iterations
○ Introduction to Recursion
● Advanced Topics (Algorithms and static data structures)
○ Struct and enum
○ Arrays and multidimensional arrays
○ Basic operations on arrays (traversal, insertion, deletion, search)
○ Sorting algorithm ( bubble sort)
○ Searching algorithm (linear search)
○ File Handling and Streams
References
● Paul J. Deitel and Harvey Deitel, C++ How to Program (10th Edition). Pearson
Education, 2016.
● Bjarne Stroustrup, C++ Programming Language, Addison-Wesley Professional, 2013.
● [Link]
● [Link]
22
Module : Foundational Mathematics
Course Description:
This course introduces students to university Mathematics which are based on rigorous
definitions and proofs. The first part will familiarise students with essential concepts of logic and
reasoning, as well as, the basic elements of algebra. In the second part, students will be
introduced to continuous mathematics' concepts such as sequences, limits and differentiation
where emphasis will be put on proofs and demonstrations of the concepts they will learn.
Prerequisite : None
Course Content
● Concepts of Logic
● Complex Numbers
● Sets and Applications
● Combinatorics and counting
● Arithmetic in Z
● Binary relations on a set
● Algebraic Structures
● Polynomials
● Real Number Fields
● Real Numbers Sequences
● Limits and Continuity of Functions
● Differentiability and Taylor Expansion
● Basic Functions
References
● Stephen Abbott, Understanding Analysis, Springer – 2nd Edition, 2015.
● Marc Peter Deisenroth, Aldo Faisal, Cheng Soon Ong, Mathematics for Machine
Learning, Cambridge University Press. 2020
● M. Hazi, De mes cahiers d’Analyse, OPU
● Amara Hitta, Cours D’Algèbre et exercices corrigés, OPU, 2014
● A. Khelladi, Introduction à l’Analyse mathématique, OPU, 2004
● Peter D. Lax and Maria Shea Terreli, Calculus with Applications, Springer – 2nd Edition,
2013
● Jean-Pierre Marco et Laurent Lazzarini, Mathématiques L1, Pearson, 2ème édition, 2013
23
● Eric Lehman F Thomson Leighton Albert R Meyer, Mathematics for Computer Science,
MIT OpenCourseWare, 2017
● James Stewart, Single Variable Calculus, Cengage Learning – 2015
Course Description
The course addresses the concepts, principles and techniques of designing digital systems. The
course teaches the fundamentals of digital systems applying the logic design and development
techniques. This course forms the basis for the study of advanced subjects like Computer
Architecture and Organization. Students will learn principles of digital systems logic design.
Prerequisite : None
Course Content
● Number Systems
● Boolean Algebra
● Combinational Logic Circuits
● Sequential Circuits
○ Flip-Flops
○ Finite State Machines
○ Registers
○ Standard Sequential Logic Circuits
● Computer Organisation
○ Von Neumann Architecture / Harvard Architecture
○ Data Path and Memory Bus
○ Arithmetic and Logic Unit (ALU)
○ Memory
○ Control Unit (CU)
○ Input/Output
References
● William Stallings, Computer Organization and architecture : designing for performance
11th edition 2019
● Andrew S. Tanenbaum, & Todd Austin, Structured Computer Organization, 6th edition
2012.
● Paolo Zanella, Yves Ligier, Emmanuel Lazard, Architecture et technologie des
ordinateurs : Cours et exercices corrigés - 6 Edition. Dunod. 2018.
● Thomas L. Floyd. Digital Fundamentals, 11th Edition. Pearson, 2015.
24
25
Module : Information Technology Essentials
V.H. Hebdomadaire
Semestre 1, CP VHS VHH Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Découvertes 1.1 45 3 1.5 1.5 2 4
Course Description:
This class includes broad coverage of technology concepts and trends underlying current and
future developments in information technology, and fundamental principles for the effective use
of computer-based information systems. There will be a special emphasis on networks and
distributed computing, including the World Wide Web. Other topics include: hardware and
operating systems, software development tools and processes and electronic commerce. This
course is intended for students with little or no background in computer technology.
Prerequisite : None
Course Content
References
● White, Ron, et. al. How Computers Work. 2004.
● Gralla, Preston, et. al. How the Internet Works. Que Publishing. 2006.
● [Link] Schneider, Invitation to Computer Science (Introduction to CS) 6th Edition,
Cengage Learning, 2012
26
Module : English 1
V.H. Hebdomadaire
Semestre 1, CP VHS VHH Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Transversales 1.1 45 3 3 1 4
Course Description:
This course aims to develop students' English language proficiency specifically for business
purposes. It focuses on enhancing reading, writing, listening, and speaking skills required to
effectively communicate in various business contexts. The course covers topics such as
business communication, negotiations, presentations, and professional writing. Students will
engage in interactive activities, case studies, business simulations, and real-world business
scenarios to strengthen their business vocabulary, critical thinking abilities, and professional
communication skills.
Prerequisite : None
Course Content
References
● David Grant, Jane Hudson, John Hughes, Business Result Pre-Intermediate. Student's
Book, Oxford University Press, 2017
● Ian MacKenzie, English for Business Studies Student's Book: A Course for Business
Studies and Economics Students, Cambridge University Press, 2010
27
Module : Critical Thinking and Creativity Skills
V.H. Hebdomadaire
Semestre 1, CP VHS VHH Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Transversales 1.1 22.5 1.5 0.75 0.75 1 3
Course Description:
This course introduces students to brain main functions, patterns of thinking, ideas generating,
evaluating, implementing, and problem solving strategies and techniques. Furthermore, the
students will be exposed to different blocks to critical thinking and creativity, and how to
overcome them. This course is more practical than theoretical which enables students to
develop their creative and innovative mind set. In addition, digital creativity will be highlighted,
and direct students to develop it.
Prerequisite : None
Course Content
● Introduction: Importance of skills for future employment. Importance of creativity and
critical thinking as soft skills.
● The brain's main structure: left brain – right brain – upper brain - lower brain.
● The brain main functions: Left and right brain functions, upper and lower brain functions.
● The concept of Four-Quadrant Brain Model of Thinking Preferences”
● The Whole Brain concept.
● Relationship between the brain & skills.
● The Concept of Brain Dominance
● How does the “Four-Quadrant Model” relate to the physical brain?
● How to develop creative problem solving?
● Divergent & convergent thinking
● How to improve students’ critical thinking skills?
● Critical thinking barriers, and how to overcome them.
● Creative thinking barriers, and how to overcome them.
● Digital Creativity
References
.ردن ا،وزر وا دار أ. تراد وار ا ا.(2011) .قد ر و،رةا ●
28
ر .ر دا درا:رت اب ادى ط دير ارات ا .(2021) .رون وآط ،وي ●
.رزا ا.ر ا
● Bruce, N. W. (2012). Critical Thinking. 6 th Ed. Pearson, Boston.
● Foresman, A. G.& Fosl, S. P.; Watson, C. J. (2017). The Critical Thinking . Wiley
Blackwell. USA.
● Joe, Y. F Law (2011). An Introduction to Critical Thinking and Creativity. Wiley
Company.
● Lumsdaine, E.; Lumsdaine, M. (1995). Creative problem Solving. McGraw Hill Company.
New York.
● Proctor, T. (2021). Absolute Essentials of Creative Thinking and Problem Solving.
Rutledge, London.
● Smith, C. J. (2018). Critical Thinking. Second Edition, Wiley Blackwell, New Jersey.
Semestre 2
Module : Introduction to Linux
Course Description
This course serves as a guided tour of the unix operating system, commonly used unix tools.
The course is designed for individuals who wish to become familiar with unix and its data
processing capabilities. Students will also use various scripting languages to write filters for
transforming data from a variety of sources. By the end of the course, students will have
developed a proficiency for UNIX, a basic understanding of the shell programming and a
familiarity with tools including AWK, GIT and Make.
Course Content
● Introduction to Unix
● Linux utilities and commands
● Linux File System and permissions
● The shell
29
● Linux Guis
● Awk, Sed, Grep
● Advanced Shell Scripting
● Networking and Internet
● System Administration and Security
● Programming Tools
References
● Sumitabha Das, Your UNIX/LINUX: The Ultimate Guide. McGraw Hill, 2012.
● Mike Joy, Stephen Jarvis and Michael Luck. Introducing Unix and Linux. Palgrave
Macmillan. 2002
● Mokhtar Ebrahim and Andrew Mallett, “Mastering Linux Shell Scripting: A practical
guide to Linux command-line, Bash scripting, and Shell programming” 2018
30
Module : Object Oriented Programming
Course Description:
This course introduces fundamental conceptual tools and their implementation of object-
oriented design and programming such as: object, type, class, implementation hiding,
inheritance, parametric typing, function overloading, polymorphism, source code reusability, and
object code reusability. Object-Oriented Analysis/Design for problem solving. Implementation of
the Object-Oriented programming paradigm is illustrated by program development in OO
languages (The programming language is the same as the one taken in the introductory
programming course ).
Course Content
● Introduction to OOP
● Classes and Objects
● Methods and Overloading
● Encapsulation
● Abstraction
● Dynamic Memory Allocation in OOP
● Inheritance and Polymorphism
● Exception Handling
References
● Paul J. Deitel and Harvey Deitel, C++ How to Program (10th Edition). Pearson
Education, 2016.
● Robert Lafore, Object-Oriented Programming in C++, 2002
31
Module : Mathematical Analysis 1
Course Description:
In this course, students will develop more advanced concepts of mathematical continuous
analysis such as limited development, primitives and acquire a deeper understanding of
integrals.
Course Content
● Limited Developments
● Calculation of primitives
● Riemann integral
● Generalised Integrals
● Differential Equations - Basic Study
References:
● M. Hazi, De mes cahiers d’Analyse, OPU, 2015
● A. Khelladi, Introduction à l’Analyse mathématique, OPU, 2004
● Peter D. Lax and Maria Shea Terreli, Calculus with Applications, Springer – 2nd Edition,
2013
● James Stewart, Single Variable Calculus, Cengage Learning – 2015
32
Module: Linear Algebra
Course Description:
This course will provide students with all essential linear algebra tools to enable them to
understand the mathematical foundations of machine learning and data mining algorithms.
Students will become familiar with matrix manipulations and calculations. In addition, they will
learn about concepts such as eigenvalues and vectors, diagonalisation, matrix triangulation and
orthogonality.
The last chapter is dedicated to symmetric matrices and quadratic forms.
Course Content
Part 1
● Vector space
● Dimension and basis
● Linear applications
● Matrices
● Solving Systems of Linear Equations
● Eigenvalues and Eigenvectors and Diagonalization
Part 2
● Matrix Triangularisation
● Orthogonality
● Symmetric Matrices and Quadratic Forms
References
● Strang, G. (2016) Introduction to Linear Algebra, (5th Edition), Wellesley-Cambridge
Press.
● Lay, D.C., Lay, S.R., and McDonald, J.J. (2015) Linear Algebra and Its Applications
(5thEdition), Pearson.
● Axler, S. (2015) Linear Algebra Done Right (3rd Edition), Springer.
● Kuldeep Singh (2013) Linear Algebra: Step by Step (1st Edition), Oxford University
Press.
● Introduction à l'Algèbre linéaire, Benali BENZAGHOU, OPU, 2015.
● Mark Peter Deisenroth, A. Aldo Faisal, Cheng Soon Ong, Mathematics for Machine
Learning, Cambridge University Press, 2020
● Amara Hitta, Cours D’Algèbre et exercices corrigés, OPU, 2014
33
34
Module : Introduction to Statistics
Course Description:
In this introductory course on statistics, students will learn about essential concepts of statistics
and probability. In the first half of the course, students will learn the basic tools for statistical
analysis such as graphical and numerical representations of the different types of data. In the
second half, the foundations of probability theory are introduced.
Course Content
● Basic concepts and statistical vocabulary
○ Basic concepts of statistics
○ Statistical tables and graphical representation
● Numerical representation of data
○ Central tendency or positional characteristics
○ Dispersion characteristics
● Contingency Tables
● Correlation and Regression
● Probability
○ Combinatorial analysis
○ Probability Space
○ The relationship between probability theory and set theory.
○ Probability Calculation
○ Conditional probabilities, independence and compound probabilities
References
● Probability. Jim Pitman. Springer, 1993.
● Probability Theory. Alexandr A. Borovkov. Springer, 2009.
● Probability and Statistics for Computer Science. David Forsyth. Springer, 2018.
● Probability Essentials. Jean Jacod and P. Potter. Springer, 2004.
● Neil A. Weiss, Introductory Statistics, 10th Edition, Addison-Wesley, 2015.
● Elements of Probability Theory T1, Moussedek BOUSSEBOUA, OPU, 2016.
● Elements of Probability Theory T2, Moussedek BOUSSEBOUA, OPU, 2016.
● Cours de probabilités, K. REDJDAL, OPU, 2015.
35
Module : English 2
Course Description:
This course aims to develop students' English language proficiency specifically for business
purposes. It focuses on enhancing reading, writing, listening, and speaking skills required to
effectively communicate in various business contexts. The course covers topics such as
business communication, negotiations, presentations, and professional writing. Students will
engage in interactive activities, case studies, business simulations, and real-world business
scenarios to strengthen their business vocabulary, critical thinking abilities, and professional
communication skills.
Prerequisite : None
Course Content
References
● David Grant, Jane Hudson, John Hughes, Business Result Pre-Intermediate. Student's
Book, Oxford University Press, 2017
● Ian MacKenzie, English for Business Studies Student's Book: A Course for Business
Studies and Economics Students, Cambridge University Press, 2010
36
Programme détaillé de la 2ème
année du cycle préparatoire
Semestre 3
Course Description:
This module introduces the principal fundamentals of data structures and algorithms used in
computer science. Data structures will be formulated to represent information in such a way that
it can be conveniently and efficiently manipulated by the algorithms that are developed.
On successful completion of this module, students should be able to demonstrate
understanding of abstract models of data and computation, to explain and apply data structures
such as binary trees, heap-trees, graphs and tables, and to explain the differences between
basic complexity classes of algorithms (constant, linear, quadratic, logarithmic, exponential).
Course Content
● Introduction
● Efficiency and Complexity
● Sorting Algorithms
● Basic data structures and operations
○ Linked Lists
○ Queues
○ Stacks
● Trees
○ Binary Trees
○ AVL Trees
○ Heap Trees
○ B-Tree
● Hash Tables
● Graphs
37
References
● Weiss, Mark A. Data Structures and Algorithm Analysis in C++ (4rd Edition), Pearson.
2014
● Michael T. Goodrich, Roberto Tamassia, David M. Mount, Data Structures and
Algorithms in C++ 2nd Edition, Wiley, 2011
● John Bullinaria, Lecture Notes for Data Structures and Algorithms, School of Computer
Science. University of Birmingham. Birmingham, UK. Version of 27 March 2019.
[Link]
● Malik, D S. Data Structures using Java (2nd Edition), Cengage Learning. 2009
38
Module : Mathematical Analysis 2
VHH V.H. Hebdomadaire
Semestre 3, CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Fondamentales 3.1 67.5 4.5 1.5 3 3 5
Course Description:
This course is a continuation of Continuous Mathematics 1 and covers topics in multivariate
calculus, numerical series, and Fourier series. The course begins with a study of multivariate
numerical and vector functions, including partial derivatives, gradients, and optimization. This
leads into a study of multiple integrals. The course then moves on to numerical series, and the
study of sequences and series of functions. Finally, the course covers Fourier series, including
convergence and periodic functions.
Course Content
● Multivariate Numerical and Vector Functions
● Multiple Integrals
● Numerical Series
● Sequence and series of functions
● Integer Series
● Fourier Series
References
● Bruno Aebisher, Fonctions à plusieurs variables et géométrie analytique cours et
exercices corrigés. edition Vuibert.
● Kada Allab, Eléments d'Analyse : fonction d'une variable réelle, O.P.U. 2002.
● Nourdine El jaouhari, Calcul différentiel et calcul intégrale. Edition Dunod.
● Mohamed Hazi, De mes cahiers d'analyse O.P.U.
● Jean-Marie Monier, Analyse MP : Cours, méthodes et exercices corrigés
● Walter Rudin, Principes d'Analyse mathématique.
39
40
Module : Mathematical Logic
VHH V.H. Hebdomadaire
Semestre 3, CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Fondamentales 3.1 45 3 1.5 1.5 2 4
Course Description
This course aims to provide the basic notions of formal logic, mainly the syntax and semantics
of propositional logic and first-order predicate logic. At the end of the course, the student will be
able to manipulate logical expressions, check their well-formedness and deduce new
expressions. The student will also be able to analyse the truth or falsity of a statement using the
notions of satisfiability and model theory as well as verifying the validity of reasoning through
systems of formal proof.
Prerequisite : Algebra
Evaluation Method
Coursework (40%) + Final Exam (60%)
Course Content
References
● Ian Chiswell. Mathematical Logic. Oxford University Press. 2007
● Shawn Hedman. A first course in logic : an introduction to model theory, proof theory,
computability, and complexity, Oxford: Oxford University Press, 2004
41
Module : Databases
VHH V.H. Hebdomadaire
Semestre 3, CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 67.5 4.5 1.5 1.5 1.5 3 5
3.1
Course Description :
The object of this course is to teach students the general concepts of relational databases and
how to design a database that is anomaly free. Students will learn to design, create, populate,
and query a database by working with a relational database engine and the SQL language.
Students will also learn basic database administration skills such as creating users,
granting/revoking privileges individually or collectively to several users through the use of roles.
Further, students will learn how to create constraints with triggers in addition to the use of
PL/SQL language.
Course Content
● Database Systems
● The Relational Database Model
● Entity Relationship (ER) Modelling
● Normalisation of Database Tables
● Introduction to Structured Query Language (SQL)
● Advanced SQL (LABS)
● Transaction Management and Concurrency Control
References
● Carlos Coronel and Steven Morris. Database Systems: Design, Implementation, &
Management, 13th Edition, 2018.
● Raghu Ramakrishnan, Johannes Gehrke. Database Management Systems, McGraw-Hill
Higher Education; 3rd edition. 2002
● Ramez Elmasri, Shamkant B. Navathe. Fundamentals of Database Systems, Pearson;
7th edition, 2015.
42
Module : Probability
VHH V.H. Hebdomadaire
Semestre 3, CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 45 3 1.5 1.5 2 4
3.1
Course Description :
This course covers the classical aspects of probability theory and focuses on the probabilistic
model and its basic properties. It also considers random experiments whose characteristic of
interest can be modelled by univariate or multivariate random variables (discrete or continuous).
It introduces random vectors, sequences of random variables, and different aspects of
convergence. Finally, students will be introduced to elements of statistical and Bayesian
inference, such as parameter estimation and hypothesis testing.
Course Content
● Discrete Random Variables
● Continuous Random Variables
● Jointly Distributed Random Variables
● Properties Of Expectation
● Generating Functions
References
● Sheldon M. Ross, A first course in probability, Pearson, 2018.
● Hossein Pishro-Nik, Introduction to probability, statistics and random processes, Kappa
Research, 2014.
● Sheldon M. Ross, Introduction in probability and statistics for scientists and engineers,
Academic Press, 2014.
● David Forsyth, Probability and statistics for computer science, Springer, 2018
● Mario Triola, Elementary Statistics, Pearson, 2021.
● F.M. Dekking, C. Kraaikamp, H.P. Lopuhaa and L.E. Meester: A Modern Introduction to
Probability and Statistics: Understanding Why and How, Springer, 2005.
43
Module : Web Development
VHH V.H. Hebdomadaire
Semestre 3, CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 67.5 4.5 1.5 3 2 6
3.1
Course Description:
This course is an introduction to programming for the World Wide Web. Students will be taught
the concepts for developing web applications using various technologies and frameworks
including JavaScript and server-side programming languages. The course will cover in depth
the following aspects:
● JavaScript for creating interactive web pages
● Asynchronous JavaScript and XML (Ajax) with fetch and JSON for enhanced web
interaction and applications
● PHP Hypertext Processor for generating dynamic pages on a web server
● Web services for handling and responding to client-side requests
● Security for Web Applications
Course Content
● Server-Side Programming
○ Server-Side Basics
○ Programming Languages
○ Web Frameworks
● Javascript : Client-Side Programming
○ Introduction to JavaScript
○ JSON Data format
○ JavaScript Frameworks
● Integration & Extension
○ Database Programming
○ Web Services and APIs
○ Using Cloud Technologies
○ Large Scale Web Applications
● Web Security
44
References
● W3 Schools. Online content. [Link] (HTML, CSS, JS)
● David Flanagan. The Definitive Guide: Master the World's Most-Used Programming
Language, 7th Edition, 2020
● Robin Nixon. Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5
(Learning PHP, MYSQL, Javascript, CSS & HTML5, 2018
Course Description :
Course Content
● Developing Managerial Competencies;
● Learning from the History of Mgt, Thought
● Ethics and Social Responsibility
● Assessing the Environment
● Managing Globally
● Fostering Entrepreneurship and startups
● Formulating Plans and Strategies
● Fundamentals of Decision Making
● Using Planning and Decision Aids
● Achieving Organisational Control
● Motivating Employees
● Dynamics of Leadership
● Communicating Effectively
● Working in Teams
● Understanding Org. Culture & Cultural Diversity
45
● Designing Organisations
● Guiding Org Change and Innovation
● Managing Human resources
● Understanding marketing concepts and strategies
● Understanding financial statements.
.
References
1. Bill Aulet. Disciplined Entrepreneurship: 24 Steps to a Successful Startup. Wiley. 2013.
2. John W. Slocum, Don Hellriegel, Susan E. Jackson, Competency-based Management,
2008, Thomson South-Western
Semestre 4
Course Description :
This course provides an introduction to computer organisation, systems programming and the
hardware/software interface. Topics include instruction sets, computer arithmetic, datapath
design, data formats, addressing modes, memory hierarchies including caches and virtual
memory, I/O devices, bus-based I/O systems, and multicore architectures. Students learn
assembly language programming and design a pipelined RISC processor.
Course Content
● Introduction of RISC-V Architecture
● RISC-V Instruction Set
● RISC-V Programming Model
● RISC-V: Processor Design
● Pipelining
● Cache Management
● Virtual Memory
● I/O & interrupts
46
● Advanced Computer Architecture (Optional)
References
● John L. Hennessy, David A. Patterson, Computer Organization and Design. The
Hardware/Software. Interface: RISC-V Edition. 2nd Edition. 2020.
Course Description :
The aim of this module is to provide the basic concepts for the theory of computational
complexity. The main models of computability are explained providing various examples of
undecidable problems. Further, students are taught the measures of the complexity of problems
and of algorithms, based on time and space being used on abstract models. Complexity classes
are explained along with the notion of completeness established through a thorough study of
NP-completeness.
Course Content
● Introduction to Computational theory
● Deterministic Finite Automata
● Non-Deterministic Finite Automata
● Regular Expressions
● Regular and Non-Regular Languages
● Context Free Grammar
47
● Pushdown Automaton
● Context Free Languages
● Turing Machines
● Variations and Turing Machine
● Decidability and Reducibility
● Complexity Theory
● Advanced Topics
References
● Michael Sipser. Introduction to the Theory of Computation. 3rd Edition. 2012
● Sanjeev Arora, Boaz Barak. Computational Complexity: A Modern Approach. 2009.
● Ingo Wegener and [Link]. Complexity Theory: Exploring the Limits of Efficient
Algorithms. 2005.
● Steven Homer and Alan L. Selman, Computability and Complexity Theory, Springer
Verlag New York, 2011
48
Module : Operating Systems
VHH V.H. Hebdomadaire
Semestre 4 CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Fondamentales 67.5 4.5 1.5 1.5 1.5 3 5
4.1
Course Description:
The purpose of this course is to provide an overview of computer operating systems. Topics to
be discussed include a brief history of OS’s and their design and development. The course will
start with a presentation of a Linux OS and how to manipulate a Linux-like workstation for
development purposes. Then, the course will cover major OS components and the underlying
algorithms and implementation techniques. Programming assignments will be done on Linux
machines.
Course Content
● Overview of Operating Systems
● Background and Basics
● Processes
● CPU Scheduling
● Process Synchronisation
● Deadlocks
● Memory Management
● Storage Management
● File System Implementation
● Virtualization & Containers
References
● Silberschatz, A., Galvin, P.B., and Gagne, G. (2018) Operating System Concepts (10th
Edition), John Wiley & Sons, Inc.
● Tanenbaum, A. and Bos, H. Modern Operating Systems (4th edition), Prentice Hall. 2014.
49
Module : Statistical Inference
VHH V.H. Hebdomadaire
Semestre 4 CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 45 3 1.5 1.5 3 4
4.1
Course Description :
This course covers the classical aspects of probability theory and focuses on the probabilistic
model and its basic properties. It also considers random experiments whose characteristic of
interest can be modelled by univariate or multivariate random variables (discrete or continuous).
It introduces random vectors, sequences of random variables, and different aspects of
convergence. Finally, students will be introduced to elements of statistical and Bayesian
inference, such as parameter estimation and hypothesis testing.
Course Content
● Limit Theorems
○ Chebyshev’s Inequality and the Weak Law of Large Numbers
○ The Central Limit Theorem
○ The Strong Law of Large Numbers
● Statistical Inference
○ Point Estimation
○ Interval Estimation
○ Hypothesis Testing
● Bayesian Inference
References
● Sheldon M. Ross, A first course in probability, Pearson, 2018.
● Hossein Pishro-Nik, Introduction to probability, statistics and random processes, Kappa
Research, 2014.
● Sheldon M. Ross, Introduction in probability and statistics for scientists and engineers,
Academic Press, 2014.
● David Forsyth, Probability and statistics for computer science, Springer, 2018
● Mario Triola, Elementary Statistics, Pearson, 2021.
50
Module : Mathematical Analysis 3
VHH V.H. Hebdomadaire
Semestre 4 CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 45 3 1.5 1.5 2 4
4.1
Course
This Description
course :
covers topics in advanced calculus, including integrals depending on a parameter,
integral transformations, special functions, and extremum of a function with one or more
variables. The course builds on the foundations of calculus, including limits, derivatives, and
integrals. The course begins with a study of integrals depending on a parameter, including
differentiation under the integral sign and the Laplace transform. This leads into a study of
integral transformations, including the Fourier transform. The course then covers special
functions, including the gamma function, the beta function, and the Bessel functions. The course
concludes with a study of the extremum of a function with one or more variables, including
Lagrange multipliers and optimization in several variables.
● Elie Azoulay & Jean Avignant, Mathématiques : cours et exercices. 3, Analyse, Auckland
References
Paris etc. : Mc Graw Hill, 1984.
● Lokenath Debnath Dambaru Bhatta, Integral Transforms and Their Applications,
Chapman and Hall/CRC; 2nd edition, 2006.
● Murray [Link], Fourier Analysis, Schaum's outline series, McGraw-Hill Education;
1st edition, 1974.
51
Module : Introduction to AI
VHH V.H. Hebdomadaire
Semestre 4 CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 90 6 3 1.5 1.5 4 6
4.1
Course Description :
This course is intended to expose the students to the general subject of Artificial Intelligence. In
particular, it is meant to explain what it means for a computer to be “intelligent” and what
aspects need to be modelled in terms of knowledge representation and reasoning mechanisms.
Further, the module would teach students the various applications and research areas where
artificial intelligence is used as the pivotal component for the aim to give students a glimpse of
future research areas in this arena.
Course Content
● Introduction to AI
● Intelligent Agents
● Search
● Adversarial Search and Games
● Constraint Satisfaction Problems
● Knowledge Representation and Reasoning
● Automated Planning
● Key Application Areas for AI
References
● Russel, S. and Norvig, P. Artificial Intelligence, A Modern Approach (4th Edition),
Pearson Education Limited. 2020. [Link]
● Luger, G. F., Artificial Intelligence - Structures and Strategies for Complex Problem
Solving, Addison Wesley, 6th Edition, 2009.
● Poole, D., Mackworth, A, Artificial Intelligence - Foundations of Computational Agents,
Cambridge University Press, Second Edition, 2017.
52
Module : Electronic Circuits Labs
VHH V.H. Hebdomadaire
Semestre 4 CP VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Découvertes 4.1 22.5 1.5 1.5 1 2
Course Description:
This course aims to equip beginners with basic functional knowledge of the Arduino
microcontroller through a practical approach. Students can expect to learn how to write and
upload simple code, integrate various physical inputs and outputs, and build low-cost, low-
power systems.
Prerequisite :
Course Content
● Introduction, programming, and electronics
○ A tour of the Arduino Uno and how to use the IDE to talk with it
○ Elementary programming; blinking an LED
○ Assembling the course kits and taking a tour of the components
○ Ohm’s Law, DMMs, wiring using the board’s built-in supply, and schematics
○ Reading buttons or potentiometers to change LED behaviours
● Reading the world and responding to it
○ Exploring different ways of getting data into and action out of the Arduino
○ Using an input of choice to drive an output of choice
○ Back of envelope sketches of a final project of choice
● Project development, presentation, and critique
○ Further development of project, testing, tinkering, exploring, etc.
○ Student project Presentation and peer critique
References
● Banzi, M., and Shiloh, M. (2015). Getting Started with Arduino: The Open Source
Electronics Prototyping Platform (3rd Edition), Make Community, LLC.
● Monk, M. (2016). Programming Arduino: Getting Started with Sketches (2nd Edition),
McGraw-Hill Education.
53
● Nicholas, S. (2020). Arduino Programming: A Comprehensive Beginner's Guide to
learn the Realms of Arduino from A-Z, Independently published.
Course Description:
The course introduces basic data mining concepts and techniques for discovering interesting
patterns hidden in data including large-scale data sets. Topics covered include feature
engineering, association, clustering, and correlation analysis.
Course Content
54
● Dimensionality Reduction : Principal component analysis. Directions of maximal
variance,or equivalently, approximating a matrix by another matrix with a given
(smaller)rank. Interpretation of principal components, usages, limitations.
Multidimensional scaling, isomap, local linear embedding.
● Factor Analysis
● Feature Selection : Objective function, methods and algorithms.
● Correlation analysis : Correlation. Canonical correlation analysis. Zero correlation versus
independence. Shortcomings of correlation for nonlinear relationships. Rank correlation,
maximal correlation, distance correlation.
● Anomaly Detection
● Data Mining Case Studies
References
● Andrew R. Webb, Keith D. Copsey, Statistical Pattern Recognition, 3rd Edition, 2011
● Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques, Morgan
Kaufmann Publishers, 2000.
● Charu C. Aggarwal, Data Mining: The Textbook, 2015, Springer
Course description:
Operations research (OR) has many applications in science, engineering, economics, and
industry and thus the ability to solve OR problems is crucial for both researchers and
practitioners. Being able to solve real life problems and obtaining the right solution requires
understanding and modelling the problem correctly and applying appropriate optimization tools
and skills to solve the mathematical model. The aim of this module is to teach the student the
techniques of modelling problems by a linear program or a graph, the methods of solving these
models and the practical interpretation of the results.
55
Part 2. Graph Theory
● Definitions and basic concepts
● Connectivity in Graphs
● Planar graphs
● Graph Coloration
● Applications of Graph Theory
References
● Frederick Hillier, Gerald Lieberman: Introduction to Operations Research, McGraw Hill,
2020.
● R. J. Vanderbei. Linear Programming: Foundations and Extensions. Kluwer Academic
Publishers, 1998.
● Michael W. Carter, Camille C. Price: Operations Research: A Practical Introduction,
Routledge, 2001.
● West, D.B. Introduction to Graph Theory (2nd Edition), Prentice-Hall, 2000.
● Wilson, R.J. Introduction to Graph Theory (5th Edition), Pearson, 2010.
● Berge. Graphes. Book . Editions Gauthier-Villars. 1983.
● F.M. Dekking, C. Kraaikamp, H.P. Lopuhaa and L.E. Meester: A Modern Introduction to
Probability and Statistics: Understanding Why and How, Springer, 2005.
Course Description:
This course provides an introduction to the theory and practice of stochastic modelling and
simulation. Stochastic modelling is the study of systems subject to random variations, where
probability theory provides a powerful tool for modelling the behaviour of such systems.
Course Content
Part 1: Stochastic Processes and their Classification
● Discrete time Markov chains
56
● Poisson processes
● Continuous time Markov chains
Part 2: Introduction to Stochastic Simulation
● Pseudo random number generator
● Simulation of random variables
● Simulation of random vectors
● Monte Carlo methods and variance reduction methods
● Simulation of stochastic processes (MCMC, queuing models)
Part 3: Probabilistic Machine Learning
● Bayesian networks
● Hidden Markov Models
References
● S. M. Ross: Introduction to Probability Models. Academic Press; 13th edition, 2023.
● M. A. Pinsky et S. Karlin : An Introduction to Stochastic Modeling. 4th ed. Academic
Press, 2011.
● Hossein Pishro-Nik, Introduction to probability, statistics and random processes, Kappa
Research, 2014.
● T. Hastie, R. Tibshirani and Friedman, The Elements of Statistical Learning, Springer.
● F. V. Jensen. "Bayesian Networks and Decision Graphs". Springer. 2001.
Course Description :
Successful software development depends on an in-depth understanding of how the phases
and supporting activities of the software development life cycle work together. Each phase of
the life cycle contributes to a reliable, maintainable product that satisfies user requirements. The
application of good engineering practices throughout the cycle dramatically improves the
likelihood of delivering a quality software project on time, in scope and within budget. While
there are many rigorous methodologies, in fact most approaches and tools have a mixture of
strengths and weaknesses.
57
The main objectives of the course are as follows:
● Describe and compare various software development methods and understand the
context in which each approach might be applicable.
● Develop students’ critical skills to distinguish sound development practices from ad hoc
practices, judge which technique would be most appropriate for solving large-scale
software problems, and articulate the benefits of applying sound practices.
● Expand students’ familiarity with mainstream languages used to model and analyse
object designs (e.g., UML).
● Introduction
Course Content
● Software processes
● Agile Methodologies
● Requirements engineering
● System modelling : Behavioural Modelling
● System modelling : Structural Modelling
● Architectural design
● Design and implementation
● Software Testing
● Software Integration and Delivery
● Software Maintenance
● Advanced Topics In Software Engineering
References
● Ian Sommerville. Software Engineering, Pearson Edition, 2015.
● Roger S. Pressman, Bruce Maxim. Software Engineering: A Practitioner's Approach 8th
Edition, McGraw Hill, 2014.
● Stephens, Rod. Beginning software engineering, Wrox, a Wiley Brand, 2015.
● Systems Analysis and Design: An Object-Oriented Approach with UML 6th Edition, Alan
Dennis, Barbara Wixom, David Tegarden, Wiley, 2020.
● Kim, G., Humble, J., Debois, P., Willis, J., & Forsgren, N. The DevOps handbook: How
to create world-class agility, reliability, & security in technology organizations. IT
Revolution. 2021
58
Course Description:
This course is focusing on fundamental concepts, principles and techniques. The course will
introduce basic networking concepts, including: protocol, network architecture, reference
models, layering, service, interface, multiplexing, switching and standards. An overview of digital
communication from the perspective of computer networking will also be provided.
Topics covered in this course include: Internet (TCP/IP) architecture and protocols, network
applications, congestion/flow/error control, routing and internetworking, data link protocols, error
detection and correction, channel allocation and multiple access protocols, communication
media and selected topics in wireless and data centre networks. It will cover recent advances in
network control and management architectures by introducing the concepts of software-defined
networking (SDN) and network (function) virtualisation.
Students will gain hands-on experience in network programming using the socket API; network
traffic/protocol analysis; and on assessment of alternative networked systems and architectures.
Course Content
References
● J. F. Kurose and K. W. Ross, Computer Networking: A Top-Down Approach (8th
Edition), Pearson Education, 2021
● L. L. Peterson and B. S. Davie, Computer Networks: A Systems Approach (6th Edition),
Morgan Kaufmann, 2020
● A. S. Tanenbaum, N. Feamster and D. J. Wetherall, Computer Networks (6th Edition),
Pearson Education, 2021
● L. Peterson, C. Cascone, B. O'Connor, T. Vachuska, and B. Davie, Software-Defined
Networks: A Systems Approach, 2021
59
C/TD/TP
C TD TP
UE Transversales 5.1 67.5 4.5 1.5 3 2 5
Course Description:
Students will learn mobile application development and design by looking at different
technological frameworks. Students are expected to design and develop a professional-quality
mobile application that addresses a real-world problem in an innovative way. Coursework
includes project conception, design, implementation, and pilot testing of mobile phone software
applications.
Prerequisite : Programming
Course Content
Part 1 : Introduction:
● Why Mobile Apps?
● Technology : Native, Web and Hybrid
Part 2 : App Design Issues and Considerations
● Mobile Development Lifecycle Overview
● Architecture, Design and Engineering Considerations
● Usability and User Interaction Design
● Overarching Design Principles and Guidelines
Part 3: Developing the Mobile App
● Techniques, Methodologies for Mobile Application Development
● Mobile Application Development Frameworks
● Persistent Data in Mobile Apps
● Maps and Location in Mobile Apps
● Access to Hardware and Sensors
● Building Mobile Apps Powered by Enterprise Backend
● Secured Data Store and Synchronisation
Part 4 : Testing and Publishing Apps
● Mobile Application Build and Delivery
● Testing Mobile Applications
● App Distribution Through App Stores
● Monetizing Apps
References
● Catalin Ghita, Kickstart Modern Android Development with
Jetpack and Kotlin, 1st ed, 2022
● Shaun Lewis and Mike Dunn “Native Mobile Development: A Cross-Reference for iOS
and Android”, 2019
60
Module: Entrepreneurship and Innovation
VHH V.H. Hebdomadaire
Semestre 5 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Transversales 5.1 33.75 2.25 1.5 0.75 1 1
Course Description:
This course is designed to provide students with a comprehensive understanding of innovation
and entrepreneurship. The course will begin by exploring the various types of innovation. Then
students will learn about the processes and techniques used for developing new products and
services and the role of R&D and knowledge management in [Link] course will then
move on to explore the concept of creativity and the different techniques and tools for idea
generation. The course will also cover intellectual property and how it can be protected through
patents, trademarks, and copyrights.
The second half of the course will focus on entrepreneurship, exploring the key traits and skills
of successful entrepreneurs. Students will learn about the different forms of entrepreneurship,
including social and civic entrepreneurship, and the opportunities and challenges presented by
entrepreneurship in the 21st century.
Course Content
● Types of innovation and innovation models
● New products and services
● R&D and knowledge management
● Developing creativity & Business Idea
● Intellectual property
● Innovation and entrepreneurship
● Entrepreneurship in the 21st Century
● Social and civic Entrepreneurship
References
● Paul Burns, Entrepreneurship and Small Business: Start-up, growth and maturity, 2011,
Pal-Grave.
61
Semestre 6
Module : Machine Learning
VHH V.H. Hebdomadaire
Semestre 6 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Fondamentales 6.1 112.5 7.5 3 1.5 3 4 6
Course Description:
This course provides a broad introduction to machine learning and statistical pattern recognition.
Students will be introduced to many machine learning algorithms and methods such as
regressions, decision trees and support vector machines. They will understand the
mathematical foundations of the different machine learning algorithms as well as acquire
practical experience in using them for the different types of data.
Course Content:
● Introduction to Machine Learning
● Linear models for regression and classification
● Nonlinear regression
● Decision Trees
● Instance-Based Learning
● Support Vector Machine
● Ensemble Methods
● Introduction to Neural Networks
● Performance Analysis
● Case Studies
References
● Andrew R. Webb, Keith D. Copsey, Statistical Pattern Recognition, 3rd Edition, 2011
● Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques, Morgan
Kaufmann Publishers, 2000.
● C. Bishop : Pattern Recognition and Machine Learning. Springer: New York,2006.
● A. Cornuéjols and L. Miclet : Apprentissage artificiel – Concepts et algorithmes.
Eyrolles, 2010.
● T. Hastie, R. Tibshirani and Friedman, The Elements of Statistical Learning, Springer.
[ebook]
● G. James, D. Witten, T. Hastie, R. Tibshirani, An Introduction to Statistical Learning,
62
Springer, 2013
● K. P. Murphy : Machine Learning: a Probabilistic Perspective. MIT Press, 2012.
● B. D. Ripley, Pattern Recognition and Neural Networks, Cambridge University Press,
1996. [Link]
Course Description:
This course in Numerical methods is designed to provide students with a strong foundation in
numerical methods and their applications. The course begins with an introduction to the concept
of errors in numerical analysis and the importance of using approximate methods. The course
then delves into the topic of solving linear systems, polynomial interpolation and the least
squares approximation method and its applications in data fitting and curve fitting.
Students will learn about the importance of numerical optimization and the various methods
used for one-dimensional optimization, as well as optimization techniques with or without
constraints.
Finally, metaheuristics will be introduced, including single-state methods such as simulated
annealing and empirical analysis. Students will learn about research space structure and
performance, population methods, and random search theory heuristics.
Course Content
Part 1 Numerical Analysis
● Notions of errors in numerical analysis
● Approximate resolution of nonlinear equations of type f(x)=0
● Solving linear systems: Direct methods
● Solving linear systems: Iterative methods
● Polynomial Interpolation
● Least Squares Approximation
● Digital Integration
Part 2 Optimisation
● One-dimensional optimization
● Optimization without constraints
● Optimization with constraints
● Special cases and approximation
63
Part 3 Metaheuristics
● Definition of Metaheuristics
● Combinatorial Optimization Problems
● Trajectory Methods
● Population-based Methods
● Hybrid approaches
References
● M. Atteia. M. Pradel : Eléments d’analyse numérique. Ceradues-Editions.
● Curtis F. Gerald. P. O. Wheatdey : Applied Numerical Analysis. Addison-Wesley Pub.
Compagny.
● E. K. P Chong, S. M. Zak : An introduction to optimization. Second edition- John Wiley
and Sons. New York. 2001.
● P.E. Gill. W. Murray, M. H. Wright : Practical optimization. Academic Press, 1981.
● J. Nocedal and S. J. Wright. Numerical Optimization. Springer-Verlag. New York. 1999.
● A. Eiben, J. E. Smith : Introduction to Evolutionary Computing. Springer, 2003.
● H. Hoos, T. Stützle : Stochastic Local Search: Foundations and Application. Morgan
Kaufmann; 1st edition, 2004.
● S Luke : Essentials of Metaheuristics, 2010. Second edition, available at
[Link]
64
Module: Computer and Network Security
VHH V.H. Hebdomadaire
Semestre 6 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 67.5 4.5 1.5 1.5 1.5 3 5
6.1
Course Description :
This course presents the foundations of information security, cybersecurity, computer security,
and network security. It consists of four main parts. The first part presents an introduction to
information security and cybersecurity, and discusses the various security principles and real-
life paradigms that exist in our cyber-physical and intelligent systems. The second part
introduces cryptography as a strong and versatile mathematical tool to implement security
mechanisms and protocols. The third part covers computer security by going through the
different security threats and vulnerabilities related to computer hosts and operating systems
and how computers thwart cyberthreats. The last part, covers security of networks, which
covers network threats, large-scale cyber attacks, and security mechanisms (firewalls, IDS,
honeypots, etc).
Course Content
Part 1: Introduction to Information security
● Overview of information security and cybersecurity.
65
● Information security principles and terminologies.
● Threats, vulnerabilities, exploits, attacks, cyberattacks, intrusions, and countermeasures.
● Importance of information, computer, network, and cybersecurity.
● Ethics: security mindset, security engineering, and ethical hacking.
Part 2: Cryptography
● Introduction to cryptography.
● Classical and modern cryptography.
● Cryptanalysis and formal analysis of cryptographic protocols.
● Hash function and Message Integrity.
● PKI infrastructures, digital certificates, and digital signatures.
● Key Management Algorithms.
● Elliptic curve cryptography [and Zero-Knowledge algorithms].
● Security protocols and authentication mechanisms.
● Formal analysis of security protocols.
References
● William Stallings and Lawrie Brown. Computer Security: Principles and Practice,
Pearson Education, 2012.
● David Wagner, Nicholas Weaver, Peyrin Kao, Fuzail Shakir, Andrew Law, and Nicholas
Ngai. [Link]
● Michael Goodrich and Roberto Tamassia. Introduction to Computer Security, Pearson,
2010.
66
Module : Advanced Databases
VHH V.H. Hebdomadaire
Semestre 6 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 67.5 4.5 1.5 1.5 1.5 3 5
6.1
Course Description :
The objective of this course is to teach students advanced concepts of databases. Students will
learn to optimise and tune databases before and after going into production. Students will learn
how to design, manipulate and optimise distributed databases across a network. The course
also focuses on specific kinds of databases such as data warehouses used for decision support
as well as the new NoSQL databases used to overcome the scalability problems of relational
databases. At the end of the course, the student will be able to easily administer and secure a
database to protect it from the most dangerous threats.
Course Content
1. Database Performance Tuning and Query Optimization
2. Distributed databases
3. Business Intelligence and Data Warehouses
4. NoSQL Databases
5. Database Administration and Security
References
● Carlos Coronel and Steven Morris. Database Systems: Design, Implementation, &
Management, 13th Edition, 2018.
● Raghu Ramakrishnan, Johannes Gehrke. Database Management Systems, McGraw-Hill
Higher Education; 3rd edition. 2002
● Ramez Elmasri, Shamkant B. Navathe. Fundamentals of Database Systems, Pearson;
7th edition, 2015.
67
Module : Time Series Analysis and Classification
VHH V.H. Hebdomadaire
Semestre 6 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 52.5 3.5 1.5 1.5 0.5 3 5
6.1
Course Description:
This course will provide an introduction to time series analysis and its applications in various
fields such as finance, engineering, and economics. We will first explore the fundamental
concepts and techniques used to analyse time series data, including time series models,
spectral analysis, time-frequency representation, and multivariate time series.
We will then discuss time series classification as well as pattern recognition and anomaly
detection. We will explore different methods such as Graphical models, dynamic time warping
(DTW).
Overall, this course will provide a comprehensive overview of time series analysis and its
applications, including both theoretical and practical aspects of the subject matter.
Course Content
References
● Box G.E., Jenkins G.M., Reinsel G.C, Time series analysis: forecasting and control,
John ,2011, Wiley & Sons.
● P. J. Brockwell; Davies R.A. Introduction to Time Series and Forecasting. 2nd ed.
Springer. 2002
68
● Percival D.B., Walden A.T. , Wavelet methods for time series analysis , 2000,
Cambridge university press.
● Lütkepohl H., New Introduction to Multiple Time Series Analysis, 2006, Springer
● Charu C. Aggarwal, Data Mining: The Textbook, 2015, Springer
Course Description: Students are given a topic where they can develop a software solution
using various slack of technological tools. Students would put in practice all the notions and
theories learnt across different modules into practice from analysing the application domain of
the selected topic into developing a fully functional software application.
The project will be supervised by an academic staff with the recommendation to conduct the
project as part of an internship within a company.
69
Module: Project Management
Course Description:
Reinforcement Learning (RL) is a general framework that can capture the evolving and
unpredictable learning environment and has been used to design intelligent agents that achieve
high level performances on challenging tasks. This course will provide a solid introduction to the
field of reinforcement learning and students will learn about the core challenges and
approaches, including generalisation and exploration.
Course Content
70
References
● Jack R. Meredith, Scott M. Shafer, Samuel J. Mantel Jr., Margaret M. Sutton: Project
Management in Practice, 7th Ed, Wiley, 2020
Course Description:
Natural Language Processing addresses fundamental questions at the intersection of human
languages and computer science. How can computers acquire, comprehend and produce
language? How can computational methods give us insight into observed human language
phenomena? In this introductory course, you will learn how computers can do useful things with
human languages, such as translate from French into English, filter junk email, extract social
networks from the web, and find the main topics in the day's news. You will also learn about how
computational methods can help linguists explain language phenomena, including automatic
discovery of different word senses and phrase structure. Over the past decade, natural
71
language processing has been revolutionised by statistical and probabilistic methods; you will
learn about robust approaches to parameter estimation and inference.
Course Content
Part 1 : NLP Fundamentals
● Introduction and Overview
● Language and Text Processing
● N-gram Language Models
● Vector Semantics and Embeddings
● Neural Networks and Neural Language Models
● Sequence Labelling for Parts of Speech and Named Entities
● Transformers and Pretrained Language Models
Part 2 : Annotating Language Structure
● Constituency Parsing
● Dependency Parsing
● Logical Representations of Sentence Meaning
● Computational Semantics and Semantic Parsing
Part 3 : NLP Applications
● Machine Translation
● Question Answering
● Chatbots
Part 4: Generative AI for NLP
References
● Dan Jurafsky and James H. Martin, Speech and Language Processing (3rd ed. draft),
2023
● Jacob Eisenstein, "Introduction to Natural Language Processing", The MIT Press, 2019
● Chris Manning and Hinrich Schutze, "Foundations of Statistical Natural Language
Processing", MIT Press, 1999
72
Module : Deep Learning
VHH V.H. Hebdomadaire
Semestre 7 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Fondamentales 67.5 4.5 1.5 3 4 5
7.1
Course Description:
Students gain an understanding of the theoretical and practical concepts of deep neural
networks including, optimization, inference, architectures and applications. After this course,
73
students should be able to develop and train deep neural networks, reproduce research results
and conduct original research in this area.
Prerequisite :
Course Content
● Introduction to Deep Learning
● Training Deep Neural Networks: Optimisation
● Teaching Deep Learners to Generalize: Regularisation
● Convolutional Neural Networks
● Recurrent and Recursive Neural Networks
● Deep Generative Models (GAN, Boltzmann Machines, Autoencoders..)
● Transformers and Attention Mechanism
References
● C. Bishop : Pattern Recognition and Machine Learning. Springer, New York, 2006.
● A. Cornuéjols and L. Miclet : Apprentissage artificiel – Concepts et algorithmes.
Eyrolles, 2010.
● I. Goodfellow, Y. Bengio, A. Courville, Y. Bengio : Deep learning. Vol. 1. Cambridge:
MIT Press, 2016
● T. Hastie, R. Tibshirani, Friedman, The Elements of Statistical Learning, Springer.
● Charu C. Aggarwal, Neural Networks and Deep Learning: A Textbook, 1st ed, Springer,
2018
74
C/TD/TP
UE Methodologiques 45 3 1.5 1.5 2 3
7.1
Course Description:
This course introduces the students to the fundamentals of Human Computer Interaction. These
include principles of good design and user interface and various aspects that have to do with
the interface are discussed such as the devices used in such interactions, the notions of colour
and content, the design process and the consideration of human-centred factors. The students
will also better understand what drives the design of Graphical User Interfaces before moving
on to specifics related to the design of screens and windows, all of which serve certain
functionalities that are to be developed in any application. The notions of information
visualisation, time, etc., will also be discussed in the context of HCI.
Course Content
● Introduction to HCI
● Interaction Paradigms
● Human memory
● Design rules
● Prototyping
● User Interfaces
● Usability
● Design Evaluation
● Interactive Mobile Systems
● Accessibility and Universal design
● Information Visualisation
● Intelligent Interactive Systems
References
● Shneiderman, B., Plaisant, C., Cohen, M., Jacobs, S., Elmqvist, N., and Diakopoulos, N.
Designing the User Interface: Strategies for Effective Human-Computer Interaction (6th
Edition), Pearson, 2016.
● Tidwell, J., Brewer, C., and Valencia, A. Designing Interfaces: Patterns for Effective
Interaction Design (3rd Edition), O’Reilly Media, 2020.
75
Module : Introduction to Mobile Robotics
VHH V.H. Hebdomadaire
Semestre 7 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 67.5 4.5 1.5 1.5 1.5 2 5
7.1
Course Description:
This course provides a general understanding of mobile robotics and related concepts, covering
topics such as sensing, computer vision (i.e., visual perception), state estimation (e.g.,
localisation and mapping) and motion planning. The emphasis is on algorithms, probabilistic
reasoning, optimization, inference mechanisms, and behaviour strategies, as opposed to
electromechanical systems design. Practically useful tools and simulators for developing real
robotic systems will also be covered in this course.
At the end of the course, students will develop sufficient skills in the analysis of predominant
mobile robots, being able to understand the visual perception and navigation system for a self-
driving car
Prerequisite :
Course Content
● Introduction of Robotics: concept, use cases, and system architecture on sensing,
perception & control. Ethical and privacy implications of robots.
● Robot Motion Model: Coordinate transformations and Representation of Rotations;
Forward kinematics.
● Sensor Model and Measurement: Proprioceptive and exteroceptive models; a case
study with cameras, lidar, radar, ultrasonic, inertia etc.
● Recursive State Estimation: Kalman filters, EKF etc.
● Localization & Tracking: Monte Carlo Localization, Ranging based Triangulation,
Fingerprinting etc.
● Mapping: environment model, grid map.
● Robot Operating System: basic principles, use cases, and examples.
● SLAM: Framework & systems, loop closing, pose graph optimization.
● Planning and Navigation: Obstacle avoidance, Path planning, receding horizon control.
● Self-driving Car Development Platform.
● Basic Control Theory for Robotics: Open-loop and closed-loop control. Basic Idea on
PID control.
References
● Bongard, Josh. "Probabilistic robotics. Sebastian Thrun, Wolfram Burgard, and Dieter
76
Fox. (2005, MIT Press.).
● Ulrich Nehmzoe, Mobile Robotics: A Practical Introduction, 2nd Edition
● Robin R. Murphy, Introduction to AI Robotics, MIT Press, 2000, ISBN: 0262133830
Course Description:
This course introduces fundamental concepts of wireless communication and networks. The
design of wireless networks is influenced heavily by how signals travel through space, so the
course starts with an introduction to the foundations of wireless communications and the
physical layer. Also, the course covers a broad range of wireless networking standards (e.g.,
Wi-Fi, Bluetooth, RFID, LTE, and 5G), and reviews important wireless network application areas
in the context of intelligent systems (e.g., sensor networks, vehicular networks, etc.) and other
applications of wireless technologies for smart applications (e.g., GPS, RFID, sensing, etc.).
Finally, we will touch on public policy issues, e.g., as related to spectrum use.
Hence, the objective of the course is to familiarize the students with understanding of the
fundamental knowledge of wireless communications and technologies in the context of
intelligent systems. They will also gain a critical understanding of the technical challenges
related to each technology.
Prerequisite :
Course Content
● Introduction to wireless communication and networks
○ Foundations of wireless communication.
○ Access techniques in wireless technologies.
○ Basics of antennas and signal propagation.
○ Signal processing, coding, and modulation techniques.
● Introduction to wireless networks
○ Architecture of wireless networks.
○ Types of wireless networks.
77
○ Wireless communication and networks in intelligent systems.
○ Mobile networks.
● Satellite Networks:
○ Satellite foundations.
○ Satellite architecture and classification.
○ Satellite types and features (LEO, MEO, and GEO).
○ Satellite radio bands, communication, and services.
● Cellular Networks:
○ Cellular networks foundations.
○ Cellular communications.
○ Handover.
○ Radio band management in cellular networks.
○ 2G, 3G, 4G, and 5G.
● Wireless local and personal networks
○ Infrared technology.
○ IEEE 802.11 — Wi-Fi
○ IEEE 802.15.1 — Bluetooth
○ RFID
○ LoRa
○ IEEE 802.15.4 — ZigBee
References
● Cory Beard and William Stallings. Wireless Communication Networks and Systems,
Pearson, first edition, 2015.
78
Module: Selected Topics in AI and Technology
VHH V.H. Hebdomadaire
Semestre 7 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Transversales 7.1 45 3 1.5 1.5 2 3
Course Description:
In this module, students will be introduced to a selected number of advanced fields of research
and industrial applications where artificial intelligence is being used. This includes topics from
other disciplines including agriculture, medicine, biological sciences and economics. From the
applicative side, various industrial case studies will be discussed where AI plays a pivotal role.
Prerequisite :
Course Content
Sub-module A
● Robotics
● Autonomous Vehicles and UAVs
● Remote Sensing
79
Sub-module B
● IoT and its application (e-health, …)
● Blockchain
● ML for Cybersecurity
Sub-module C
● VR/AR
● Human Robot Interaction
Sub-module D
● Quantum Computing
Sub-modules E
● Application of AI in Oil and Gas Industry
● Application of AI in Engineering and Physics
Sub-module F
● Application of AI in Medicine
● Application of AI in Ecology and Environmental Sciences
● Application of AI in Biological Sciences.
Sub-module G
● Application of AI in Economics and Finance
● Application of AI in Social Sciences and Humanities and Art
References
● Chris Baker, Artificial intelligence a modern approach: The application in healthcare,
industry and more. The fascinating topic of machine learning and prediction machines.
The complexity explained for beginners 2019
● Lei Xing, Maryellen L. Giger, Artificial Intelligence in Medicine: Technical Basis and
Clinical Applications, 2020
● Alexis Besse, Artificial Intelligence for Finance Executives: The AI revolution, from
industry trends and case studies to algorithms and concepts, 2021
80
Module : AI and Ethics
VHH V.H. Hebdomadaire
Semestre 7 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Découvertes 7.1 22.5 1.5 1.5 1 1
Course Description:
This course explores the ethical considerations that arise in the development, deployment, and
use of artificial intelligence (AI) systems. The course discusses the ethical challenges that arise
with AI, and the frameworks and approaches that can be used to address these challenges.
Through readings, discussions, and case studies, students will gain a deep understanding of the
81
ethical considerations involved in designing, implementing, and using AI systems in various
contexts.
Prerequisite : None
Course Content
● AI & PERSONHOOD
● AI & ENGINEERING (SMART CITIES)
● AI & CREATIVITY
● AI and the MILITARY
● AI & SOCIAL JUSTICE
● AI & MEDICINE
● AI & THE LAW
● SUPERINTELLIGENCE
● AI & and Environmental Sustainability / EDUCATION
References
● Bostrom, N. Superintelligence: Paths, Dangers, Strategies, Oxford University Press,
2014.
● Wallach, W., Allen, C., Moral Machines, Oxford University Press, 2008.
82
Semestre 8
Module : Computer Vision
VHH V.H. Hebdomadaire
Semestre 8 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Fondamentales 90 6 3 3 4 6
8.1
Course Description:
This course introduces fundamental concepts and techniques for image processing and
computer vision. Topics to be covered include image formation, image filtering, edge detection
and segmentation, morphological processing, registration, object recognition, object detection
and tracking, etc. Students will gain familiarity with both established and emergent methods,
algorithms and architectures. This course will enable students to apply computer vision and
image processing techniques to solve various real-world problems, and develop skills for
research in the field.
Course Content
● Introduction : The human eye-brain system as a model for computer vision
● Image formation: sampling theorem, Fourier transform and Fourier analysis
● Basic image processing: Sampling and quantisation, Brightness and colour, Histogram
operations, Filters and convolution, Frequency domain processing
● Edge detection
● Boundary and line extraction
● Building machines that see: constraints, robustness, invariance and repeatability
● Feature extraction
● Interest point detection
● Segmentation
● 2-D Shape representation
● Local features
● Image matching
● Moving Objects
● Practical examples, including: biometric systems (recognising people), industrial
computer vision, etc.
References
● Mark Nixon, Feature Extraction and Image Processing for Computer Vision 3rd Edition
● Richard Szeliski, Computer Vision: Algorithms and Applications, 2nd Edition, 2022
83
Module : Big Data Analytics & Visualization
VHH V.H. Hebdomadaire
Semestre 8 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Fondamentales 90 6 3 3 3 6
8.1
Course Description:
This course will cover a series of important Big-Data-related problems and their solutions.
Specifically, we will introduce the characteristics and challenges of the Big Data, state-of-the-art
computing paradigm sand platforms (e.g., MapReduce), big data programming tools (e.g.,
Hadoop and MongoDB), big data extraction and integration, big data storage, scalable indexing
for big data, big graph processing, big data stream techniques and algorithms, big probabilistic
data management, big data privacy, big data visualisations, and big data applications (e.g.,
spatial, finance, multimedia, medical, health, and social data).
Course Content
● Understanding Big Data
● Big data tools and platforms
● Big data processing : extraction, preprocessing and integration
● Big data storage and indexing
● Big data stream techniques and algorithms
● Big data analytics
● Big data privacy
● Big data visualisation
References
● Kuan-Ching Li, Hai Jiang, Laurence T. Yang, and Alfredo Cuzzocrea. Big Data:
Algorithms, Analytics, and Applications. Chapman & Hall/CRC Big Data Series, 2015.
● Thomas Erl, Wajid Khattak, and Dr. Paul Buhler. Big Data Fundamentals: Concepts,
Drivers & Techniques. The Prentice Hall Service Technology Series, 2016.
84
VHH V.H. Hebdomadaire
Semestre 8 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Fondamentales 45 3 1.5 1.5 3 4
8.1
Course Description:
Reinforcement Learning (RL) is a general framework that can capture the evolving and
unpredictable learning environment and has been used to design intelligent agents that achieve
high level performances on challenging tasks. This course will provide a solid introduction to the
field of reinforcement learning and students will learn about the core challenges and
approaches, including generalisation and exploration.
Course Content
References
● Reinforcement Learning, An Introduction, R. S. Sutton and A. G. Barto, 2018, The MIT
Press
● Foundations of Deep Reinforcement Learning by L. Graesser and W. L. Keng, 2019,
Addison-Wesley Professional
85
VHH V.H. Hebdomadaire
Semestre 8 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 45 3 1.5 1.5 2 4
8.1
Course Description:
This is an introductory course on High Performance Computing Clusters, providing a solid
foundation in parallel computer architectures, parallel programming models, application
performance monitoring & optimization techniques. This course will discuss fundamentals of
parallel systems covering topics ranging from what an HPC cluster consists of to how to
efficiently solve complex large scale problems in the areas of computational fluid dynamics,
image processing, machine learning and analytics on these systems. The course will consist of
lectures, practical hands-on homework assignments, and hands-on laboratory work where
students will build their own HPC cluster from the ground up
Course Content
● High performance computing systems
● Parallel programming patterns
● Multiprocessor architectures
● Cache coherence in symmetric multiprocessors
● Shared memory programming with OpenMP
● Accelerators programming with OpenMP extensions
● Models of parallel processing
● Performance metrics
● Distributed memory programming with MPI
● Parallel algorithms
● Map Reduce
References
● P. Pacheco, An Introduction to Parallel Programming, Morgan Kaufman, 2011,
● M. McCool, J. Reinders, and A. Robison, Structured Parallel Programming: Patterns for
Efficient Computation (1st ed.). Morgan Kaufmann Publishers Inc., 2012.
86
Module : Speech Processing
VHH V.H. Hebdomadaire
Semestre 8 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Methodologiques 45 3 1.5 1.5 3 4
8.1
Course Description:
This course introduces students to the rapidly developing field of speech processing which includes
automatic speech recognition. Speech Processing offers a practical and theoretical
understanding of how human speech can be processed by computers. It covers speech
recognition, speech synthesis and spoken dialog systems. The course involves practicals where
the student will build working speech recognition systems, build their own synthetic voice and
build a complete telephone spoken dialog system. This work will be based on existing toolkits.
Details of algorithms, techniques and limitations of state-of-the-art speech systems will also be
presented. This course is designed for students wishing to understand how to process real data
for real applications, applying statistical and machine learning techniques as well as working
with limitations in the technology.
Course Content
● Introduction
● Mathematical foundations
○ Signals and transforms
○ Digital filters Probability
○ Statistics and estimation theory
● Speech analysis and coding
○ Short-time Fourier analysis and synthesis
○ Linear prediction of speech
○ Source estimation
○ Cepstral analysis
● Speech and speaker recognition
○ Template matching
○ Hidden Markov models and Refinements for HMMs
○ Large vocabulary continuous speech recognition
○ The HTK speech recognition system
○ Speaker recognition
● Speech synthesis and modification
○ Text-to-speech
○ Prosodic modification of speech
○ Voice conversion
References
● Huang, Acero, and Hon. Spoken Language Processing. Upper Saddle River, NJ: Prentice-
Hall, 2001.
87
● Frederick Jelinek. Statistical Methods for Speech Recognition. Cambridge, MA: MIT Press,
1998.
Course Description:
This course covers the computing background for large-scale enterprise computing. Students
are given insights into the world of heterogeneous enterprise computing architecture with an
emphasis on networked, distributed applications using objects, services and components.
Course Content
● Introduction to Enterprise Computing
● Distributed Systems : Communication Paradigms
● IDL and CORBA
● Component-Based Systems
● Enterprise Frameworks : J2EE, EJB and Web Technologies
● Service-Oriented Computing
● Queue-Based/Messaging Architecture
● Microservices Architecture
● ERP Systems : Design, Planning, Development and Integration.
● Engineering Scalable Systems
● Cloud Technologies
● Technological Frameworks and Tools
References
● Martin Fowler, Patterns of Enterprise Application Architecture 1st Edition, 2002
● Sourabh Sharma , Mastering Microservices with Java: Build enterprise microservices
with Spring Boot 2.0, Spring Cloud, and Angular, 3rd Edition 3rd Edition, 2019
88
Module : Academic Communication and Research
VHH V.H. Hebdomadaire
Semestre 8 SC VHS Total
C/TD/TP C/TD/TP C TD TP Coef Crédits
UE Transversales 8.1 22.5 1.5 1.5 1 2
Course Description:
This course is designed to develop students’ skills in academic research and communication.
The course will cover topics such as finding and evaluating sources, synthesising information,
and citing sources in different styles. In addition, students will be introduced to tools and
techniques for academic writing and presentation.
Prerequisite :
Course Content
● Introduction
● Literature Search
○ Literature Review
○ Search Tools and Databases
● Writing
○ Latex and Word Processors
○ Bibliography Management
○ Writing Reports
○ Writing Research Articles
○ Publishing Research
● Presentation
● Research Ethics
References
● Susan M. Reinhart. Giving Academic Presentations (2nd Edition). Michigan Publishing,
University of Michigan Press 2013.
● Justin Zobel. Writing for Computer Science: The Art of Effective Communication.
Springer; 2nd ed., 2004
89