
- Enseignant: Leila AMRANE

Deep learning is a powerful subfield of machine learning that uses artificial neural networks with many layers (hence “deep”) to automatically learn complex patterns from large amounts of data.
- Enseignant: Leila AMRANE

The machine learning lesson introduces students to the core concepts of machine learning (ML) as a subfield of artificial intelligence that enables computers to learn from data, identify patterns, and make decisions without being explicitly programmed for specific tasks. The lesson emphasizes the key idea: instead of writing fixed rules, we provide data so the machine can discover underlying patterns and build predictive models.
The course covers two main types of learning:
-
Supervised Learning: where models are trained on labeled data (input-output pairs), enabling them to predict outcomes for new, unseen data. Examples include classification (e.g., identifying species of flowers like Setosa or Virginica based on sepal measurements) and regression tasks.
-
Unsupervised Learning: where models work with unlabeled data to uncover hidden structures, such as grouping similar data points through clustering (e.g., customer segmentation, document organization). A key algorithm taught is K-means clustering, which partitions data into groups by minimizing intra-cluster distance and maximizing inter-cluster separation.
Additionally, the lesson presents practical algorithms like K-Nearest Neighbors (KNN), a simple yet effective supervised classifier that assigns labels based on the majority vote of the "k" closest data points using distance metrics such as Euclidean distance.
- Enseignant: Leila AMRANE

The Game Theory lesson introduces students to the fundamental concepts of strategic decision-making in competitive environments involving two or more rational players. It covers key elements such as players, strategies, payoffs, and payoff matrices, and explains different types of games, including zero-sum, non-zero-sum, pure-strategy, and mixed-strategy games.
The lesson presents essential solution methods like dominant and dominated strategies, Nash equilibrium, and the minimax/maximin criteria for determining optimal moves. It also includes practical examples such as the Prisoner’s Dilemma, illustrating how individual rationality can lead to suboptimal collective outcomes.
Additionally, the course covers algorithmic approaches like the Minimax algorithm and its optimization through Alpha-Beta pruning, which are crucial in artificial intelligence for decision-making in two-player games. The content is designed for engineering students, combining theoretical foundations with real-world applications in economics, business, and AI.
- Enseignant: Leila AMRANE

This lesson introduces students to solutionsearch algorithms, a fundamental concept in Artificial Intelligence for solving problems by exploring possible states to reach a goal. It begins by defining key components of a search problem: initial state, actions, successor function, goal test, and path cost.
The lesson covers two main categories of search methods:
- Uninformed (Blind) Search: Algorithms that explore the state space without additional information about the direction to the goal. Specifically, it presents:
- Breadth-First Search (BFS): Explores all nodes at the current depth before moving to the next level, ensuring completeness and optimality but with high memory usage.
- Depth-First Search (DFS): Explores as far as possible along each branch before backtracking, using less memory but risking getting stuck in long or infinite paths.
The course explains the step-by-step procedures for implementing both BFS and DFS using data structures like queues and stacks, respectively. It also discusses important algorithm properties such as completeness, optimality, time and space complexity.
- Enseignant: Leila AMRANE

This lesson introduces students to non-classical logics, which extend or deviate from classical logic (based on the principles of the law of excluded middle and the law of non-contradiction) to handle more complex, real-world reasoning scenarios.
The lesson presents several types of non-classical logics, each designed to model specific forms of uncertainty, time, possibility, obligation, or inconsistency:
- Fuzzy Logic: Deals with reasoning that is approximate rather than fixed or exact. It allows truth values between 0 and 1, useful in control systems like washing machines.
- Temporal Logic: Used to reason about time-dependent events, such as sequences in concurrent processes or system behaviors over time.
- Probabilistic Logic: Combines logic with probability theory to manage uncertain information, such as weather forecasts.
- Paraconsistent Logic: Allows reasoning in the presence of contradictions without leading to logical explosion, useful in inconsistent databases.
- Modal Logic: Handles concepts of necessity and possibility, applicable in AI for modeling knowledge and beliefs.
- Deontic Logic: Focuses on norms, obligations, permissions, and prohibitions—ideal for ethical decision-making in autonomous systems like self-driving cars.
- Intuitionistic Logic: Rejects certain classical principles (like the law of excluded middle) and requires constructive proofs, important in computer science and formal verification.
- Enseignant: Leila AMRANE