"Foundations of AI Practical Work" offers hands-on experience in implementing fundamental artificial intelligence concepts, techniques, and algorithms.
- Teacher: BOUGHIDA ADIL

L'objectif de ce module est de présenter les fondements du domaine de l'intelligence artificielle. Dans ce cours, les principes de base des différents éléments de l’intelligence artificielle seront présentés : Logiques et Raisonnement, Résolution de problèmes, Méta heuristiques, Problème de satisfaction de contraintes, Apprentissage automatique et réseaux de neurones, Systèmes multi-agents.
- Teacher: YAMINA BORDJIBA
Le cours de GL vise à vous doter des connaissances et des compétences essentielles pour concevoir, développer et maintenir des logiciels de qualité.
Nous explorerons les concepts fondamentaux du génie logiciel, les outils et les méthodes utilisées pour créer des solutions logicielles performantes, fiables et évolutives.
- Teacher: LYNDA DJAKDJAKHA
Le cours a pour but de permettre la compréhension et la pratique de méthodes de l'analyse numérique. Le cours porte l'accent sur la compréhension des théorèmes mathématiques, méthodes numériques et des algorithmes aidant à modéliser certains problèmes qu'on rencontre actuellement dans de nombreux domaines. A l'issue du cours, l'étudiant doit être capable de concevoir et modéliser les problèmes de nature scientifique et implémenter des méthodes complexes à partir d’opérations de base.
- Teacher: SALAH DERDAR
Le but de ce module est de présenter les principes de base inhérents à la réalisation des compilateurs, ce qui permet aux étudiants de bien maitriser les principes des langages de programmation. En effet, il est primordial de comprendre le fonctionnement des compilateurs afin de programmer efficacement et concevoir des langages dédiés à des applications spécifiques.
Le processus de compilation est souvent associé et restreint aux langages de programmation (procéduraux, orientés objets) alors qu'il peut être généralisé à une multitude de langages tels que : les langages logiques, fonctionnels, formels….
Les concepts abordés par ce module concernent :
· Les principes de base inhérents à la réalisation des compilateurs : analyse lexicale, analyse syntaxique, analyse sémantique, et génération du code intermédiaire.
· Les outils fondamentaux utilisés pour effectuer ces analyses : fondements de base de la théorie des langages (grammaires, automates, ...), méthodes algorithmiques d'analyse, ...
A la fin de ce module, l’étudiant peut comprendre comment est écrit un compilateur, ce qui lui permet de mieux comprendre les "contraintes" imposées par les différents langages lorsque l'on écrit un programme dans un langage de haut niveau.
Des travaux pratiques ont comme objectif de réaliser un micro-compilateur, en deux versions de complexité croissante (relatives aux analyses : lexicale et syntaxique).- Teacher: YACINE LAFIFI
Ce module présente les principaux concepts de la programmation linéaire et dynamique (théoriques et algorithmiques) en mettant l’accent sur les problèmes applicatifs et les méthodes de résolution (graphique, simplexe,…). L'objectif est d'apprendre à l'étudiant à modéliser des problèmes combinatoires et de choisir l’algorithme le plus adéquat.
- Teacher: ZOHRA MEHENNAOUI

Ce module
permet de cerner le niveau de stockage des données relationnelles. Seront
présentées les contraintes d’intégrités (définition et représentation à l’aide
d’un langage), l’organisation de données et structures d’accès, et les
métadonnées, le mécanisme des vues ainsi que le contrôle d’accès
- Teacher: ADEL BENAMIRA