2ALG2A - 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 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

  1. Algorithmes de tris
  2. Recherche dichotomique Vs recherche linéaire
  3. Complexités
  4. Tableaux 2D
  5. Récursivité
  6. Listes chainées
  7. 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