Algorithmique avancée GTI3103
Enseignant:
Email:
Durée totale du cours: 60 H
Semestre : 1
Nombre de crédits : 3
| Modules
spécialisés |
Modules de
base |
Sciences et techniques de
l’ingénierie |
Préparation à la carrière professionnelle |
| |
|
X |
|
| Nombre d’heures |
Activités hors classe |
|
| 45 |
38 |
|
| cours |
TD |
TP |
| 30 |
15 |
15 |
|
|
|
|
|
Sommaire:
L’algorithmique est l’ensemble des règles et des techniques qui sont impliquées dans la définition et la conception d’algorithmes, c’est à dire de processus systématiques de résolution, par le calcul, d’un problème permettant de décrire les étapes vers le résultat. En d’autres termes, un algorithme est une suite finie et non-ambiguë d’opérations permettant de donner la réponse à un problème.
| Code |
GTI3103 |
Algorithmique avancée
|
Objectifs d’apprentissage et compétences visées
A l’issue de cette unité d’enseignement, l’étudiant sera capable de :
Maitriser les concepts algorithmiques de base : constituants d’un programme, types simples et structurés, structures de contrôle, sous-programmes
Concevoir et réaliser des algorithmes et des structures de données récursifs ou non ;
Choisir un algorithme de tri et expliquer son fonctionnement ;
Concevoir un type de données abstrait à partir de spécifications données en langage naturel ;
Choisir et justifier le choix d’un algorithme ou d’une structure de données ;
Concevoir une structure linéaire particulière de manière statique ou dynamique ;
Implémenter les primitives sur les listes, les piles et les files chaînées
Appliquer les parcours d’arbre sur des exemples concrets : arbres binaires de recherche.
Eléments de contenu
Partie 1 (3 séances)
1 séance (3h) : Introduction + types de données (types intégrés + énuméré + tableaux + enregistrement + exemples) et structures de contrôle (choix + boucles + exemples)
2 séances (6h) : TD
Partie 2 (5 séances)
1 séance (3h) : sous-programmes + décomposition + variable locale/globale + paramètre formel/réel + passage de paramètres + exemple(s)
1 séance (3h) : récursivité
1 séance (3h) : recherche et tri (insertion, sélection, à bulles, rapide)
2 séances (6h) : TD sur la partie 2 (anciens DS et Examens)
Partie 3 : (5 séances)
3 séances (9h) : pointeurs + types abstraits de données (liste + pile + file + exemples)
1 séance (3h) : arbre binaire + exemples
1 séance (3h) : TD
Méthodes d’enseignement et d’apprentissage
¨Enseignement frontal (magistral) avec des exemples à résoudre en commun.
¨Exercices d’application & Travaux dirigés avec discussion.
Connaissances et compétences pré-requises
L’étudiant doit connaître et savoir utiliser les notions suivantes : constituants d’un programme, types simples et structurés, structures de contrôle, sous-programmes.
Références bibliographiques
Un polycopié (Notes du cours) de l’enseignant sera disponible.
Les recommandations bibliographiques suivantes doivent être considérées :
Thomas Cormen, « Algorithmes : Notions de base », Éditeur Dunod, 2013, ISBN 2100702904, 9782100702909.
Modalité d’évaluation
40% Contrôle continu (Tests + Devoir surveillé, Assiduité)
60% Examen semestriel
Résultats d’apprentissage :
Conception d’algorithmes avancés : Développer des algorithmes complexes pour résoudre des problèmes techniques spécifiques liés aux télécommunications.
Analyse de complexité : Évaluer la performance des algorithmes en termes de temps d’exécution et de consommation de ressources, en utilisant des notions de complexité algorithmique.
Optimisation d’algorithmes : Améliorer l’efficacité et la rapidité des algorithmes existants pour répondre aux exigences des systèmes de télécommunication.
Algorithmes de traitement de signal : Comprendre et appliquer des algorithmes de traitement de signal pour améliorer la qualité des communications.
Algorithmes de compression de données : Apprendre à comprimer efficacement les données tout en maintenant leur intégrité pour une transmission plus rapide et une utilisation plus efficace de la bande passante.
Algorithmes de routage dans les réseaux : Concevoir des méthodes de routage avancées pour optimiser les communications entre différents nœuds d’un réseau de télécommunications.
Algorithmes de correction d’erreur : Mettre en œuvre des techniques d’identification et de correction d’erreurs dans les transmissions pour assurer l’intégrité des données.
Algorithmes pour les réseaux sans fil : Développer des algorithmes adaptés aux communications sans fil, en tenant compte des contraintes spécifiques de ces réseaux.
Algorithmes pour les communications sécurisées : Intégrer des mécanismes de sécurité dans les algorithmes pour protéger les informations sensibles transmises dans les réseaux de télécommunications.
Applications pratiques : Appliquer les compétences en algorithmique avancée à des domaines spécifiques des télécommunications, tels que la gestion du spectre, l’acheminement de données ou la conception de protocoles.
[lifterlms_course_continue_button]