INF 201 A : Algorithmique


Retour
Imprimer la fiche programme
Code analytique: EDOINFMI1
Responsable  :    
Programmé en UV1 MIN INF

Présentation :

Le but de ce cours est de présenter une approche de l'informatique par ce qui est, et de toute évidence restera, stable pour longtemps indépendamment des mutations techniques et technologiques.
En effet, contrairement aux systèmes qui subissent toujours la tension qu'exerce sur eux leur époque et en fait, répondent aux exigences d'objectifs toujours en évolution, ce cours présente des principes fondateurs de l'informatique et en particulier l'algorithmique.
Encore aujourd'hui, l'image stéréotypée de l'informatique se réduit injustement à une pratique organisée autour d'une machine et d'un humain en situation de résolution d'un problème. Or, cette image, qui doit beaucoup à la banalisation de l'informatique, n'est que la partie médiatique d'une science à part entière qui articule des principes, des méthodes, des exigences et des valeurs de rigueur. C'est aussi une image appauvrissante dans la mesure où elle occulte plusieurs aspects d'une discipline dont la complexité grandissante se reflète dans sa pénétration dans presque tous les secteurs de l'activité humaine de nos jours. Il est et sera impensable de concevoir un modèle d'ingénieur, d'aujourd'hui ou de demain, étranger à l'informatique. Mais alors, même s'il ne sera pas amené à programmer lui-même, un ingénieur a et aura toujours à composer avec les potentialités offertes par l'informatique.
Ces potentialités sont bien sûr le corrélât de ce qu'il est possible de réaliser à un moment donné d'évolution technique et technologique des machines. Mais, au fond, elles sont toutes inscrites dans cet état fondationnel de la science informatique dans la mesure où son fond commande l'ensemble, en précédant et situant tout autre aspect pratique. Il définit, plus avant, l'horizon et contraint l'évolution de ce qui est ou apparaît comme techniquement possible.

Ainsi, dans un premier temps on parlera de problèmes et de leur résolution sans se soucier de la médiation effective des machines et des langages. Dans un second temps nous étudierons le passage effectif des solutions algorithmiques apportées sur des machines. Cette seconde partie constituera une introduction à la programmation.

Objectifs (obsolète):

Ce sont précisément ces grandes lignes d'idées qui font l'ambition de ce cours. Un cours qui, en récusant volontairement l'opposition confortable mais réductrice entre théorie et pratique, cherche à placer son objet à une dimension pédagogique intermédiaire et résolument unificatrice. On s'intéressera particulièrement à l'étude de la complexité (i.e. pour simplifier, au coût d'exécution) des algorithmes étudiés.

Pré-requis :

Initiation à l'informatique et à la programmation (S1)

Liens :

Logique et complexité.
Bases de données.

Volume horaire : 21h


Contenu détaillé :

1) Cours 1 + PC 1
Introduction à l'algorithmique et notions de complexité.
2) TP 1/2
Premiers algorithmes en JAVA. Compteurs et calcul complexité.
3) Cours 2 + PC 2
Méthodes de tri.
4) TP 3/4
Implementation et analyse de méthodes de tri élémentaires.
5) Cours 3 + PC 3
Analyse de complexité.
6) Cours 4 + PC 4
Recherche de chaînes de caractères.
7) TP 5/6
Analyse de méthodes de tri.

Travaux personnels encadrés :

Les TPs utiliseront Java comme language de programmation.


Année 2006/2007
Dernière mise à jour le 14-SEP-06
Validation par le responsable de programme le


IMT Atlantique
Campus de Brest
Technopôle Brest-Iroise
CS 83818
29238 Brest Cedex 3
France

Tél  +33 (0)2 29 00 11 11
Fax +33 (0)2 29 00 10 00