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 :
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.
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.
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
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.
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
Définition et présentation des différents types de données de base.
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
Définition et présentation des instructions élémentaires et les conversions implicites.
4.1. Evaluation 4.2. Type d'une expression 4.3. Conversion de type
Présentation des instructions beaucoup plus élaborées, complexes. On apprend ici ce que c'esdt qu'une condition et une instruction conditionnelle.
5.1. Enoncé composé 5.2. Enoncé conditionnel
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.
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
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.
7.1. Forme générale 7.2. Enoncé Tant Que 7.3. L'énoncé Répéter
Apprendre à utiliser les tableaux et montrer l'importance de cette structure de données qui est devenue presqu'incournable en programmation.
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
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.
9.1. Forme générale 9.2. Forme restreinte 9.3. Complexité des algorithmes
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.
10.1. Déclaration d'un tableau à plusieurs dimensions 10.2. Dénotation d'un composant de tableau
Les algorithme de tris permettent aux étudiants de développer certaines compétences en programmation.
11.1. Introduction 11.2. Tri interne 11.3. Tris externes