Formation en Développement: Algorithmique avancé (4-049) - Ascent Formation
Retour aux formations
Développement

Algorithmique avancé (4-049)

5 jour(s)30h

Description

Objectif général: À l’issue de la formation, les participants auront une compréhension approfondie des concepts avancés en algorithmique, leur permettant de résoudre des problèmes complexes et d’utiliser des algorithmes spécialisés comme la compression, la cryptographie et les algorithmes répartis. Modalité : Toutes les modalités (présentiel, classe virtuelle et hybride) sont possibles Lieu possible de réalisation : Locaux du bénéficiaire ou locaux d’Ascent Formation, en France métropolitaine et dans les DROM-COM Nombre maximal de participants : 20 Niveau SAME visé : Application (A) Compétences visées Identifier et comprendre les grandes catégories d’algorithmes. Maîtriser les algorithmes de compression des données et leur utilisation. Appliquer les algorithmes de cryptographie dans des systèmes sécurisés. Concevoir des solutions basées sur des algorithmes stochastiques et adaptatifs. Utiliser les algorithmes répartis pour des systèmes distribués. Comprendre et anticiper les évolutions avec les algorithmes émergents.

Objectifs pédagogiques

  • Définir et appliquer les grandes catégories d’algorithmes (gourmands, dynamiques, etc.).
  • Intégrer les algorithmes de compression et de cryptographie dans des projets.
  • Comprendre les algorithmes stochastiques pour des problèmes aléatoires.
  • Optimiser les systèmes distribués grâce aux algorithmes répartis.
  • Adapter des algorithmes aux changements de données et de contraintes.

Public concerné

Développeurs souhaitant approfondir leurs connaissances en algorithmique avancée.
Ingénieurs en informatique ou en systèmes souhaitant optimiser des solutions techniques.
Toute personne travaillant sur des systèmes nécessitant des algorithmes complexes.

Prérequis

Connaissance de base en algorithmique (tri, structures de données, graphes)
Connaissance d’un langage de programmation (Python, C++, Java, etc.).
Familiarité avec les concepts mathématiques de base (probabilités, statistiques)

Déroulé du programme

1

Jour 1 : Grandes catégories d’algorithmes (6 heures)

6h
  • Introduction aux catégories d’algorithmes (2 heures)
2

Algorithmes gourmands, dynamiques, et heuristiques.

3

Comparaison des performances et des cas d’usage.

4

Travaux pratiques : Implémenter un algorithme dynamique pour un problème d’optimisation.

  • Analyse et complexité des algorithmes (2 heures)
5

Évaluation des performances en temps et espace.

6

Approches pour optimiser un algorithme.

7

Travaux pratiques : Analyser la complexité de différents algorithmes.

  • Exemples pratiques d’algorithmes avancés (2 heures)
8

Algorithmes utilisés dans la recherche scientifique et l’industrie.

9

Travaux pratiques : Développer une solution utilisant un algorithme gourmand.

10

Jour 2 : Compression des données (6 heures)

6h
  • Principes de la compression des données (2 heures)
11

Compression sans perte (Huffman, LZW).

12

Compression avec perte (JPEG, MP3).

13

Travaux pratiques : Implémenter un algorithme de compression Huffman.

  • Applications des algorithmes de compression (2 heures)
14

Optimisation du stockage et transmission des données.

15

Intégration dans des systèmes existants.

16

Travaux pratiques : Créer une solution de compression pour un fichier texte.

  • Optimisation et limitations (2 heures)
17

Limites théoriques de la compression.

18

Cas particuliers et défis dans la compression.

19

Travaux pratiques : Identifier les défis dans un scénario de compression réel.

20

Jour 3 : Cryptographie et algorithmes stochastiques (6 heures)

6h
  • Introduction aux algorithmes de cryptographie (2 heures)
21

Cryptographie symétrique (AES, DES) et asymétrique (RSA).

22

Hashing et signatures numériques.

23

Travaux pratiques : Implémenter un chiffrement basique avec RSA.

  • Algorithmes stochastiques (2 heures)
24

Principes de base des algorithmes stochastiques.

25

Utilisation pour des problèmes aléatoires ou probabilistes.

26

Travaux pratiques : Développer un algorithme stochastique pour un problème d’optimisation.

  • Applications combinées (2 heures)
27

Utilisation de la cryptographie et des algorithmes stochastiques ensemble.

28

Travaux pratiques : Concevoir un système sécurisé intégrant ces concepts.

29

Jour 4 : Algorithmes répartis et adaptatifs (6 heures)

6h
  • Principes des algorithmes répartis (2 heures)
30

Conception pour systèmes distribués.

31

Synchronisation et gestion des ressources.

32

Travaux pratiques : Implémenter un algorithme de consensus distribué.

  • Algorithmes adaptatifs (2 heures)
33

Adaptation aux variations des données et des contraintes.

34

Travaux pratiques : Concevoir un algorithme adaptatif pour un problème dynamique.

  • Combinaison des concepts (2 heures)
35

Cas pratiques où algorithmes répartis et adaptatifs sont combinés.

36

Travaux pratiques : Résolution d’un problème complexe impliquant plusieurs systèmes.

37

Jour 5 : Algorithmes émergents et projet final (6 heures)

6h
  • Introduction aux algorithmes émergents (2 heures)
38

Définition et cas d’usage (IA, big data, blockchain).

39

Perspectives futures et limitations actuelles.

40

Travaux pratiques : Analyse critique d’un algorithme émergent.

  • Projet final (4 heures)
41

Développement d’une solution intégrant plusieurs concepts avancés (cryptographie, compression, répartis).

42

Présentation des solutions et débriefing.

Informations

Durée

5 jour(s)

30h

Tarif

Sur demande