ALG2 - Algorithmique II

Appartient à l'UE Algorithmique II

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

  1. Algorithmes de tris
  2. Recherche dichotomique Vs recherche linéaire
  3. Complexités
  4. Tableaux 2D
  5. Listes chainées
  6. Piles et Files
  7. Représentation de données
  8. Récursivité

Modalités d’évaluations

L’UE est évaluée à deux moments distincts.

  1. Lors d’une évaluation, appelée bilan, organisée à mi-parcours.
  2. 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