Vous êtes sur la page 1sur 7

COMMISSION LMD-UL

Domaine : Sciences et Technologies


Etablissement : Ecole Nationale
Supérieure d’Ingénieurs (ENSI)
___________________________________________________________________
_

Algorithmes et structures de données (INF200)

SEANCE N° 1
Diagnostique, objectifs du cours, plan du cours, évaluation et ressources
Durée : 3 Heures
Responsable : Adekunlé Akim SALAMI
Objectif :
Cette séance vous permettra de :

 vérifier les connaissances que vous devez avoir avant de commencer le cours ;
 connaitre les objectifs du cours ;
 connaitre le plan du cours ;
 connaitre la méthode d’évaluation ;
 connaitre les ressources pour mieux comprendre ce cours.

Contenu :
1. Diagnostique - cours ;
2. Diagnostique – travaux pratiques ;
3. Objectifs du cours ;
4. Plan du cours ;
5. Evaluation ;
6. Ressources.
Activités :
Activité N°1 (Diagnostique - cours)
Durée : 01 Heure
Cette activité consiste à vérifier si le cours préalable sur l’informatique de base était bien assimilé
par l’apprenant.
Les réponses aux questions doivent être envoyées dans les 24H à l’adresse asalami@univ-lome.tg
Il est demandé à l’apprenant pour une durée totale d’une (01) Heure:
AVRIL 2020
COMMISSION LMD-UL
Dans un premier temps (30 minutes) sans se servir d’aucune ressource et dans un second temps
(30 minutes) en se servant des ressources (les supports de cours INF100 et le web) de :
définir les termes suivants :
informatique ;
ordinateur ;
instruction ;
programme ;
application ;
syntaxe
décrire brièvement les termes suivants:
périphériques de stockage,
logiciel,
matériel,
mémoire centrale,
mémoire programme,
mémoire données,
langage de programmation,
langage évolué.
distinguer entre :
une application et un système d’exploitation,
un langage évolué et un langage machine,
langage compilé et un langage interprété.

Activité N°2 (Diagnostique – travaux pratiques sur ordinateur ou sur téléphone portable)
Durée : 01 Heure
Cette activité consiste à vérifier si les Travaux Pratiques (TP) préalables sur l’initiation à la
programmation en langage C (INF100) étaient bien assimilés par l’apprenant.
Le rapport (programme et imprime écran de la fenêtre d’exécution) de TP doit être envoyé dans
les 24H à l’adresse asalami@univ-lome.tg
Dans un premier temps (30 minutes) sans se servir d’aucune ressource et dans un second temps
(30 minutes) en se servant des ressources (les supports de cours INF100 et le web) d’écrire sur une
machine un programme en langage C permettant de calculer et d’afficher une table de
multiplication (a est un nombre entier naturel) sous la forme :

AVRIL 2020
COMMISSION LMD-UL
ax0=0
ax1=a
ax2=2a
ax3=3a
ax4=4a
ax5=5a
ax6=6a
ax7=7a
ax8=8a
ax9=9a
ax10=10a
ax11=11a
ax12=12a

Activité N°3 (Objectifs du cours)


Durée : 20 minutes
Cette activité doit permettre à l’élève ingénieur de faire connaissance aux objectifs du cours
« algorithme et structure de données ». Avant cela l’apprenant doit se poser la question suivante :
pourquoi dois-je suivre ce cours ?

Vous avez appris à programmer en langage C. Les programmes comme calcul de la somme et du
produit de deux nombres réels par exemple sont des programmes simples qui peuvent soit utiliser
des variables de type scalaire ou soit une variable de type tableau, donc deux types de structures
données différentes. Quelle structure de données sera la plus adéquate et quel algorithme sera
approprié pour que le programme s’exécute en temps et ressources mémoires optimaux.
Ce cours abordera des éléments techniques essentiels dans le but d’écrire des programmes
optimaux pour la résolution des problèmes scientifiques et d’ingénieries, même pour le cas des
problématiques complexes.
Quelques exemples de problèmes :
… Chemin dans un graphe : votre GPS, votre téléphone IP, tout ce qui est acheminement (la
Poste)
… Flots : affectations, emploi du temps, bagages (aéroport), portes d’embarquement
… Scheduling (ordonnancement) fabrication de matériel dans les usines, construction
automobiles
… Coupes : coupes d’acier, poterie (assiette du Mont St Michel)
… Compression/Décompression : MP3, xvid, divx, h264 codecs audio et vidéo, tar, zip.
… Cryptage : RSA (achat électronique)
… Internet : Routage des informations, moteurs de recherche
… Simulation : Prévision météo, Explosion nucléaire

AVRIL 2020
COMMISSION LMD-UL
… Traitement d’images (médecine), effets spéciaux (cinéma).

Objectif général : Cette UE vise à initier l’apprenant à la formalisation de problèmes, des


démarches de résolution, des solutions typiques et d’en caractériser les propriétés dans la
discipline d’ingénierie

À la fin de ce cours, l’apprenant devrait être en mesure de :

L’apprenant servira du web pour définir : Formalisation et spécification

Activité N°4 (Plan du cours)


Durée : 15 minutes
Le plan du cours « algorithmes et structures de données » sera présenté comme suit :

Séance N° Rappel des objectifs Titres des parties/ chapitres / sous-


spécifiques chapitres
1 : Diagnostique,  vérifier les 1. Diagnostique - cours ;
connaissances que 2. Diagnostique – travaux pratiques ;
objectifs du vous devez avoir 3. Objectifs du cours ;
cours, plan du avant de commencer 4. Plan du cours ;
cours, le cours ; 5. Evaluation ;
évaluation et  connaitre les objectifs 6. Ressources
du cours ;
ressources  connaitre le plan du
cours ;
 connaitre la méthode
d’évaluation ;
 connaitre les
ressources pour
mieux comprendre ce
cours.

2 : Conception  Analyser un 7. Critère simple d’automatisation;


problème par une Analyse méthodique descendante;
structurée approche
8.
9. Analyse ascendante;
descendante descendante
AVRIL 2020
COMMISSION LMD-UL
 Analyser un 10. Programmation descendante avec
problème par une retour sur un niveau;
approche ascendante 11. Machines abstraites et niveaux
 Connaitre les notions logiques;
de programmation 12. Tests de connaissances acquises au
descendante avec
cours de la séance.
retour sur un niveau
 Acquérir des notions
sur les machines
abstraites et niveaux
logiques

3 : Algorithme ?  Décrire un 1. Notion d’algorithme


algorithme 2. Représentation d’un algorithme;
 Expliquer la relation 3. Notion de programme;
entre algorithme et 4. Les types de données et les opérations;
programme 5. Les variables et les constantes ;
 Décrire les 6. Structure générale d’un algorithme ;
caractéristiques des 7. Les instructions d’un algorithme ;
algorithmes 8. Les structures de contrôle ;
 Concevoir et écrire 9. Tests de connaissances acquises au
des algorithmes en cours de la séance.
pseudo-code ou avec
un organigramme

4 : La récursivité  développer des 1. Notion de fonction


algorithmes pour les 2. Notion de récursivité ;
programmes 3. Fonctionnement de la récursivité;
récursifs 4. Tests de connaissances acquises au
 Ecrire des cours de la séance.
algorithmes récursifs
facilement
transformables en
programmes
 Mettre en œuvre la
formulation récursive
d’un problème.
 Expliquer la
récursivité comme
une forme
d’itération.

5 : Les  Identifier les tableaux 13. Structure de données


et enregistrements Tableaux ;
structures de utilisés pour rganiser
14.
15. Enregistrements;
données de base les données. 16. Tests de connaissances acquises au
: Tableaux et  Expliquer les
cours de la séance.
Enregistrements caractéristiques de
ces structures de
données.
6 : DEVOIR N°1  Evaluer les - 1. Devoir N°1
connaissances
acquises au cours des
séances (N°1 au N°5).

7 : Les  Identifier les Listes 1. Listes chaînées


Chaînées et arbres 2. Arbres ;
structures de
AVRIL 2020
COMMISSION LMD-UL
données de base utilisés pour 3. Tests de connaissances acquises au
organiser les données. cours de la séance
: Listes  Expliquer les
Chaînées et caractéristiques de
arbres ces structures de
données.

8 : Les
types Décrire les types abstraits 1. Les piles
qu’on peut définir à partir 2. Les files ;
abstraits de de ces structures de données 3. Les tables de hachage
données 4. Tests de connaissances acquises au
cours de la séance.
9 : Complexitéet  Connaitre les notions 1. Notions de complexité temporelle et
de complexité d’un spatiale;
performance algorithme ; 2. Mesure de la complexité temporelle
d’un algorithme  Connaitre la mesure d'un algorithme
de la complexité d’un 3. Notation de Landau O(n);
algorithme. 4. Tests de connaissances acquises au
cours de la séance,
10 : Algorithmes  Concevoir un 1. Evaluation d’un polynôme ;
algorithme pour la 2. Calcul de sinus d’un angle
de calculs résolution d’un 3. Calcul des coefficients du binôme de
scientifiques problème Newton ;
scientifique. 4. Produit de deux matrices

11 :Algorithmes  Décrire le processus 1. Introduction


de recherche et de tri. 2. La recherche séquentielle ;
de recherche et  Concevoir des 3. La recherche dichotomique
de tri algorithmes pour la 4. Le tri par sélection ;
recherche 5. Le tri rapide ;
d’information. 6. Tests de connaissances acquises au
Concevoir des algorithmes cours de la séance.
pour le tri d’un ensemble
d’informations
12 : DEVOIR Evaluer les connaissances 1. Devoir N°2
acquises au cours des séances
N°2 (N°7 au N°11)

Activité N°5 (Evaluation)


Durée : 10 minutes
L’évaluation de cette UE sera faite sous forme d’ :
un contrôle continu qui prendra la forme d’un devoir sur table (DST) ou d’un devoir sur
machine ou des travaux de recherches et des exposés. Le contrôle continu a un pourcentage de
40%
un contrôle continu qui sera des rapports des travaux pratiques réalisés avec pourcentage
de 10%
un examen final : L’examen final sera un projet à réaliser. L’examen final a un pourcentage
de 50%

AVRIL 2020
COMMISSION LMD-UL

Activité N°5 (Ressources)


Durée : 15 minutes
Je conseille vivement à l’apprenant de lire au moins deux (02) de ces ouvrages ou des ouvrages
similaires qu’il peut retrouver sur le web.
Les lectures et ressources de ce cours sont les suivantes :
 Flajolet, P. (1981). Analyse d'algorithmes de manipulation d'arbres et de fichiers. Cahiers
du Bureau universitaire de recherche opérationnelle Série Recherche, 34, 5-208.
 Les bases de l’informatique
 Divay, M. (1999). Algorithmes et structures de données génériques. Edition Dunod.
 Flajolet, P., & Puech, C. (1981).
 Paolo Coletti, Basic Computer course book, 8TH Edition: 2014
 Bjarne Stroustrup, Programming: Principles and Practice Using C++, Addison Wesley, 2014
 Algorithmique en C, Jean-Michel Léry, Pearson Education, 2e édition, 2010
 Algorithmes en Pascal et en langage C, Granjon, Dunod, 2004.
 Djamal Abdoul Nasser Seck, Structures de données et algorithmes.
 Hivert, F. Cours d’Algorithmique.

AVRIL 2020

Vous aimerez peut-être aussi