Algorithme et conception logicielle

Durée : 90 heures – Évaluation : Travaux dirigés + Travaux Pratiques    

Présentation

Ce cours apporte une logique algorithmique solide, facilitant l’apprentissage ultérieur des langages de programmation en permettant d’aborder avec confiance la réalisation concrète de solutions. Les étudiants en informatique seront ainsi capables de penser de façon analytique, de concevoir des algorithmes pour développer ensuite des logiciels structurés et performants. Il est crucial d’étudier en détail la structure et le fonctionnement des algorithmes, pour permettre d’acquérir une capacité d’abstraction, indispensable pour réaliser des conceptions en limitant les erreurs. Ce cours offre les clés pour évoluer sereinement dans le domaine de l’informatique.

 

Les atouts pour réussir cette matière sont de bien savoir lire les énoncés, de souligner les mots clés vecteurs d’information pour appliquer les bonnes structures de données et les bonnes structures de traitements.

 

Les compétences développées se positionnent sur la souplesse de réflexion, une organisation et une bonne vision globale et structurelle de la demande pour construire des algorithmes fonctionnels sans erreurs.

Docteur Cyril-Alexandre PACHON
Docteur Cyril-Alexandre PACHON

Titulaire d'un Doctorat en Informatique, Systèmes et Communication à l'Université Grenoble-Alpes, le Dr PACHON s'est spécialisé dans l'enseignement supérieur notamment sur la thématique de l'Intelligence Artificielle. Il est concepteur et modéliste d'agents communicants ce qui lui a permis également de faire de la robotique ; où il conçoit les projets portés au FabLab du Campus de Molsheim. Enfin, le Dr PACHON encadre les travaux de rédaction des Mémoires de fins d'études de nos étudiants en 5ème année.

Objectifs pédagogiques

  • Comprendre le vocabulaire, la logique, et la conception algorithmique
  • Maîtriser les conditions, les boucles et leur fonctionnement
  • Comprendre la gestion de la mémoire et les pointeurs
  • Manipuler les structures de données abstraites : tableaux tuples, chaînes, listes, piles, files, graphes, arbres
  • Construire des algorithmes modulaires, procéduraux et récursifs
  • Appliquer les concepts pour résoudre des problèmes : théorie des graphes, sujet complexe

Plan du module

  1. Introduction aux bases de la conception algorithmique (6 heures)
  2. Structures de traitements (6 heures)
    • Les conditionnées
    • Les itératives
  3. Structures linéaires de données (6 heures)
    • Présentation
    • Les accès
    • Les indexations
  4. Structures simples non linéaires de données (6 heures)
    • Structure abstraite
    • Les chaînes
  5. Structures non linéaires de données (12 heures)
    • Les listes
    • Les piles
    • Les files
  6. Structures de programmes modulaires (6 heures)
    • Programmation procédurale
    • Procédures : présentation, utilisation et paramétrages
    • Fonctions : présentation, utilisation et valeurs de retour
  7. Structures de programmes récursifs (6 heures)
    • Récursivité versus itération
    • Récursivité croisée, multiple et imbriquée
  8. Structures avancées non linéaires de données (6 heures)
    • Représentation graphique
    • Graphes orientés et non orientés, définition et topologie
    • Modélisation et structure de données
    • Matrices, listes, adjacence et incidence
    • Construction d’un modèle de lecture d’un graphe
    • Interprétation dynamique d’un graphe
  9. Lectures et études de graphes (6 heures)
    • Eulériens
    • Hamiltoniens
    • Coloration
    • Graphes avec valuation
    • Algorithmes de recherche
  10. Utilisation des graphes et arbres (6 heures)
    • Arbres couvrants
    • Algorithme de construction
  11. Ordonnancements (6 heures)
  12. Résolution de problèmes (6 heures)
    • Approche de résolution globale d’un problème
    • Résoudre un problème en informatique
    • Qualités d’un programme informatique
  13. Résolution de problèmes (6 heures)

Bibliographie et ressources

  • Les Algorithmes (Aurélie Jean, éditeur : Humensis, ISBN : 9782715416666, 2715416660 – 2024)
  • Bases en algorithmique et en programmation Cours et exercices corrigés (Pascal Lienhardt, éditeur : Ellipses, ISBN : 9782340069671, 234006967X – 2022)
  • Conception d’algorithmes (Patrick Bosc, Laurent Miclet, Marc Guyomard, Contributeur : Colin De la Higuera, Éditeur : Eyrolles, ISBN : 9782416001031, 2416001035 – 2021)
  • Introduction à la théorie des graphes, cours et exercices corrigés (Irène Larramendy Valverde, Alain Marie-Jeanne, éditeur : Ellipses, ISBN : 9782340028449, 2340028442 – 2015)
  • Théorie des graphes et applications avec exercices et problèmes (2e ed.) (FOURNIER Jean-Claude, Livre numérique, ISBN : 9782746241732, 2746241730 – 2011)
  • Exercices et problèmes d’algorithmique (Nicolas Flasque, Helen Kassel, Franck Lepoivre, Boris Velikson, Éditeur : Dunod, ISBN : 9782100550722, 2100550721 – 2010)

Ce module fait partie de notre parcours Bachelor Informatique (Bac+3) en première année.

Plutôt envie de découvrir ce module en immersion avant de vous inscrire ?
Participez à une de nos prochaines journées découvertes.