Introduction à l'algorithmique

linfo1103  2018-2019  Louvain-la-Neuve

Introduction à l'algorithmique
6 crédits
30.0 h + 30.0 h
Q2
Enseignants
Dupont Pierre;
Langue
d'enseignement
Français
Préalables
Ce cours suppose acquises les notions de base de la programmation visées par le cours LINFO1101
https://uclouvain.be/cours-LINFO1101.html
Thèmes abordés
  • Conception et mise en oeuvre d'algorithmes itératifs ou récursifs : parcours, comptage, tri, recherche dans des collection
  • Complexité calculatoire
  • Structures de données élémentaires : tableaux, piles, files, listes chaînées
  • Structures de données récursives : structures arborescentes, arbres binaires de recherche
  • Invariants
Acquis
d'apprentissage

A la fin de cette unité d’enseignement, l’étudiant est capable de :

1
Eu égard au référentiel AA du programme « Bachelier en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
  • S1.I2, S1.I3
  • S2.2-4
  • S6.2

Les étudiants ayant suivi avec fruit ce cours seront capables de :

  • justifier un choix entre plusieurs solutions algorithmiques pour résoudre un problème donné,
  • analyser des d'algorithmes, itératifs ou récursifs, pour représenter et manipuler des collections et d'en proposer des variantes,
  • choisir, concevoir et utiliser des structures de données, y compris récursives,
  • donner une estimation motivée de la complexité temporelle d'algorithmes itératifs et de la complexité spatiale de structures de données,
  • raisonner sur des propriétés d'algorithmes ou de structures de données en terme d'invariants.

Les étudiants auront développé des compétences méthodologiques et opérationnelles. En particulier, ils ont développé leur capacité à :

  • porter un regard critique et faire une analyse argumentée sur une solution ou un ensemble de solutions qui pourraient être apportées à un problème posé en se fixant des critères de qualité,
  • réaliser des programmes de taille réduite utilisant des algorithmes et structures de données classiques.
 

La contribution de cette UE au développement et à la maîtrise des compétences et acquis du (des) programme(s) est accessible à la fin de cette fiche, dans la partie « Programmes/formations proposant cette unité d’enseignement (UE) ».
Contenu
L'algorithmique concerne la résolution de problèmes par la mise en oeuvre de suites d'opérations élémentaires selon un processus défini aboutissant à une solution.
Cette discipline est à la fois abstraite et mise en pratique par le biais de programmes, typiquement en Python, exécutés sur un ordinateur. 

 
Méthodes d'enseignement
  • cours magistraux,
  • séances de travaux pratiques
  • 2 mini-projets en fin de quadrimestre
  • serveur de calcul (INGINious) pour faciliter l'auto-évaluation par les étudiants des solutions qu'ils proposent aux travaux pratiques
Modes d'évaluation
des acquis des étudiants
Une note de PARTICIPATION reflète l'implication de l'étudiant pendant l'année aux séances d'exercices, ses travaux sur INGINIOUS (serveur avec correction semi-automatique) et 2 mini-projets en fin de quadrimestre
 
En première session, la note de participation vaut pour 20 % de la note finale + 80 % pour l'examen final (à livre fermé).
 
La note de participation ne peut pas être réévaluée.
 
En seconde session, elle compte pour 10 % et l'examen final pour 90 % de la note globale.
Bibliographie
L'ensemble des documents (transparents des cours, énoncés de travaux pratiques, ...) présents sur le site Moodle du cours :
 
 
Il n'y a pas d'ouvrage de référence obligatoire mais, à titre complémentaire, des ouvrages sont recommandés sur le site Moodle.
Faculté ou entité
en charge
INFO


Programmes / formations proposant cette unité d'enseignement (UE)

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Bachelier en sciences informatiques

Master [120] en linguistique

Mineure en sciences informatiques

Approfondissement en sciences et technologies de l'information et de la communication