Chargement...

ALGORITHME ET STRUCTURES DE DONNEES

OBJECTIFS DU COURS

Le cours d'algorithme et structures de données vise à fournir aux étudiants les connaissances et compétences fondamentales nécessaires à la conception, à l'analyse et à la mise en œuvre d'algorithmes efficaces, ainsi qu'à la manipulation de structures de données. Les objectifs généraux que l'on pourrait retrouver dans ce cours :

  • Compréhension des concepts fondamentaux: Familiariser les étudiants avec les concepts de base liés aux algorithmes et aux structures de données, y compris les types de données, les algorithmes de tri etc.
  • Conception d'algorithmes: Apprendre aux étudiants à concevoir des algorithmes efficaces pour résoudre des problèmes spécifiques, en mettant l'accent sur la clarté, l'efficacité et la réutilisabilité du code.
  • Implémentation pratique: Donner aux étudiants l'occasion de mettre en pratique leurs connaissances en mettant en œuvre des algorithmes et des structures de données dans un langage de programmation spécifique.
  • Utilisation des structures de données: Enseigner les différentes structures de données telles que les tableaux, les listes chaînées (Pour le supérieur les piles, les files, les arbres, les graphes, etc.), ainsi que leurs applications pratiques.
  • Algorithmes de tri et de recherche: Explorer les différents algorithmes de tri et de recherche, tels que le tri rapide, le tri fusion, etc.
  • Résolution de problèmes: Former les étudiants à appliquer des techniques algorithmiques pour résoudre efficacement des problèmes réels.

Ces objectifs visent à fournir aux étudiants une base solide en algorithmique et en structures de données, des compétences qui sont essentielles pour tout professionnel de l'informatique, du développeur de logiciels au scientifique des données en passant par l'ingénieur en informatique.

PROGRESSION

CHAPITRE I

Présentation de l'environnement matériel et logiciel que nécessite l'algorithme. Présentation et définition de l'algorithme et des différentes approches dans la programmation.

INTRODUCTION

1.1. Environnement matériel
1.2. Environnement logiciel
1.3. La programmation
1.4. Différentes approches dans la résolution d’un problème
1.5. Les étapes de résolution d’un problème
1.6. La Notion d’algorithme
1.7. Les langages de programmation
1.8. Cycle de vie d’un logiciel

CHAPITRE II

Présentation des instructions algorithmiques de base telles quetions la lecture et l'écriture de données, l'exécution de procédures prédéfinies, les affectations et les déclarations.

ACTIONS ELEMENTAIRES

2.1. Lecture d'une donnée
2.2. Exécution d'une procédure prédéfinie
2.3. Ecriture d'un résultat
2.4. Affectation d'un nom à un objet
2.5. Déclaration d'un nom

CHAPITRE III

Définition et présentation des différents types de données de base.

TYPES ELEMENTAIRES

3.1. Le type entier
3.2. Le type réel
3.3. Le type booléen
3.4. Le type caractère
3.5. Constructeurs de types simples
3.6. Types article
3.7. Variable pointée ou sélection par notion ''pointée''
3.8. Structures d'articles avec variantes
3.9. Le type ensemble

CHAPITRE IV

Définition et présentation des instructions élémentaires et les conversions implicites.

EXPRESSIONS

4.1. Evaluation
4.2. Type d'une expression
4.3. Conversion de type

CHAPITRE V

Présentation des instructions beaucoup plus élaborées, complexes. On apprend ici ce que c'esdt qu'une condition et une instruction conditionnelle.

ENONCES STRUCTURES

5.1. Enoncé composé
5.2. Enoncé conditionnel

CHAPITRE VI

Analyses et études des sous-programmes et apprendre à les utiliser dans un contexte réel. Apprendre à transmettre une donnée d'un sous-programme à un autre.

PROCEDURES ET FONCTIONS

6.1. Intérêt
6.2. Déclaration d'un sous–programme
6.3. Appel d'un sous-programme
6.4. Transmission des paramètres
6.5. Retour d'un sous-programme
6.6. Localisation
6.7. Programmation par objet

CHAPITRE VII

Dans un programme il y a des actions ou des blocs d'actions qui sont répétées plusieurs fois. Or, en programmation, les instructions s'exécutent séquentiellement de haut en bas. Il y a des structures qui permettent de faire remonter les exécutions vers le haut pour répéter ces actions répétées. Ces structures sont appelées énoncés répétitifs ou itératifs.

ENONCES ITERATIFS

7.1. Forme générale
7.2. Enoncé Tant Que
7.3. L'énoncé Répéter

CHAPITRE VIII

Apprendre à utiliser les tableaux et montrer l'importance de cette structure de données qui est devenue presqu'incournable en programmation.

LES TABLEAUX

8.1. Déclaration d'un tableau
8.2. Dénotation d'un composant de tableau
8.3. Modification sélective
8.4. Opérations sur les tableaux
8.5. Chaîne de caractères

CHAPITRE IX

La boucle pour est une boucle qui vient corriger les insuffisances des boucles Tant que et Répéter. Elle est souvent utilisée quand le nombre de répétition est connu.

L'ENONCE ITERATIF Pour

9.1. Forme générale
9.2. Forme restreinte
9.3. Complexité des algorithmes

CHAPITRE X

Les tableaux peuvent faire référence à un ensemble de valeurs tout comme faire référence à plusieurs ensembles liés et donc constituer plusieurs tableaux.

LES TABLEAUX A PLUSIEURS DIMENSIONS

10.1. Déclaration d'un tableau à plusieurs dimensions
10.2. Dénotation d'un composant de tableau

CHAPITRE XI

Les algorithme de tris permettent aux étudiants de développer certaines compétences en programmation.

ALGORITHME DE TRI

11.1. Introduction
11.2. Tri interne
11.3. Tris externes