2ALG2A - Algorithmique II
Appartient à l'UE Algorithmique II
Personnes enseignantes
- Arnaud Pollaris (APO)
- Christine Leignel (CLG)
- Emanuel Falkenauer (EFA)
- Amine Hallal (HAL)
- Mathieu Sassolas (MSA)
- Justin Dekeyser (JDK)
- ()
Description technique du cours
- Acronyme de l’activité : ALG2
- Bloc : 1
- Quadrimestre : 2
- Nombre de crédits : 4
- Nombre d’heures de cours : 40
- Nombre d’heures de travail hors cours (estimation) : 80
- Format du cours : classe
- Langue d’instruction : français
- Implantation : HE2B – ESI
- Pré-requis : néant
- Co-requis : néant
Description générale du cours
Techniques de programmation et de conception d’algorithmes. Approche théorique et exercices pratiques.
Objectifs généraux
- Apprentissage de la construction d’algorithmes cohérents (structures logiques des programmes).
- Approche du paradigme de la programmation orienté-objet.
- Etude de la manipulation de certaines structures de données.
- Comprendre les bases de la complexité algorithmique
Acquis d’apprentissage spécifiques sanctionnés par l’évaluation
- Rédiger la résolution d’un problème donné en étapes élémentaires et séquentielles, exprimées dans un pseudo-code
- Maitriser les structures alternatives et itératives contrôlant le déroulement d’un algorithme.
- Gérer le découpage modulaire, c’est-à-dire la division d’un problème important en une combinaison de sous-problèmes plus élémentaires.
- Savoir reproduire et adapter les modèles algorithmiques classiques présentés aux cours (par ex. algorithmes de tri) à des problèmes similaires.
- Identifier les données et les résultats attendus d’un problème donné.
- Représenter et mettre en pratique les structures de données adéquates à utiliser pour résoudre un problème.
- Donner la complexité algorithmique de differents algorithmes et méthodes.
Acquis terminaux visés
Au sein de la formation de bachelier en informatique, cette activité d’apprentissage aura participé à l’acquisition des compétences suivantes.
Communiquer et informer
- Choisir et utiliser les moyens d’informations et de communication adaptés.
- Mener une discussion, argumenter et convaincre de manière constructive.
- Utiliser le vocabulaire adéquat.
Collaborer à la conception, à l’amélioration et au développement de projets
- Analyser une situation donnée sous ses aspects techniques et scientifiques.
S’engager dans une démarche de développement professionnel
- S’informer et s’inscrire dans une démarche de formation permanente.
- Développer une pensée critique.
- Travailler tant en autonomie qu’en équipe dans le respect de la structure de l’environnement professionnel.
Mobiliser les savoirs et les savoir-faire lors du développement d’applications
- Concevoir, implémenter et maintenir des algorithmes répondant aux spécifications et fonctionnalités fournies.
Plan du cours
- Algorithmes de tris
- Recherche dichotomique Vs recherche linéaire
- Complexités
- Tableaux 2D
- Récursivité
- Listes chainées
- Piles et Files
Modalités d’évaluations
L’UE est évaluée par un examen écrit intervenant pour 100 % de la note et organisé durant les sessions de juin et août-septembre (si la cote de juin est < 10).
L’examen se fait sans support, à l’exception d’un aide-mémoire qui vous sera fourni à l’examen et dont une copie se trouve dans le syllabus.
Bibliographie
Syllabus du cours, accessible sur poESI