2ALG2A - Algorithmique 2
Appartient à l'UE Algorithmique 2
Personnes enseignantes
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 d’algorithmes linéaires et quadratiques.
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
- Listes chainées
- Piles et Files
- Représentation de données
- Récursivité
Modalités d’évaluations
L’UE est évaluée à deux moments distincts.
- Lors d’une évaluation, appelée bilan, organisée à mi-parcours.
- Lors d’une évaluation, appelée examen, organisée durant la session.
Tant pour le bilan que pour l’examen, l’évaluation prend la forme d’un écrit (sur papier).
Si le bilan est réussi (≥ 10/20) et que la note obtenue est supérieure à celle de votre examen, la cotation sera effectuée comme suit :
- 25 % pour la note du bilan,
-
75 % pour la note de l’examen. Dans toute autre situation ainsi qu’en seconde session, la cotation sera effectuée comme suit :
- 100 % pour la note de l’examen.
Le bilan et l’examen se font sans supports, à 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