Algorithmique - Programmation objet - Python

Licence Informatique, Semestre 3, 6 ECTS.
Département Informatique, UFR Sciences, Université de Nice Sophia Antipolis


Année 2012-2013

Responsable : Prof. Andrea G. B. Tettamanzi.

Intervenants :

Actualités

En raison du désistement du chargé de TP M. Miguel Angel Hisojo, les sessions de TP de vendredi 12 octobre 2012 sont annulées. Elles reprendront normalement la semaine prochaine avec le nouveau chargé, M. Julien Badie.

Emploi du temps

L'EDT des CMs, des TDs et des TPs est le suivant :


8h-9h30
9h45-11h15
11h30-13h
13h15-14h45
15h-16h30
16h45-18h15
Lundi






Mardi

Cours
Tettamanzi
[Amphi Phys 2]




Mercredi

TD Groupe MI
Kodjo
[M-III-5]
TD Groupe I1
Kodjo
[M-II-5]

TD Groupe I2
Tettamanzi
[M-III-6]
TD Groupe I3
Fédou
[M-III-4]
Jeudi

TP Groupe I1
[PV212]
Gomez [PV213]
TP Groupe I3
Fédou [PV201]
Gomez [PV202]




Vendredi

TP Groupe I2
Badie [PV212]
[PV213]
TP Groupe MI
Badie [PV201]



Calendrier

Ce module prévoit 20 heures de cours magistral, 20 heures de travaux dirigés et 20 heures de travaux pratiques.

Les séances de cours magistral et de travaux dirigés se dérouleront selon le calendrier suivant :

Date
Séance
Sujet
Mardi 11 septembre 2012
CM 1
Introduction à l'analyse des algorithmes : algorithmes, notations O, o, Θ et Ω, classes de complexité, pseudo-langage.
Mardi 18 septembre 2012
CM 2
Introduction au langage Python.
Mercredi 19 septembre 2012
TD 1
Enoncé, Corrigé
Mardi 25 septembre 2012
CM 3
Introduction à la programmation objet : encapsulation, types de données abstraits, héritage et polymorphisme.
Leur réalisation en langage Python. Éléments d'UML, patrons de conception orientés objet.
Mercredi 26 septembre 2012
TD 2
Enoncé, Corrigé
Mardi 2 octobre 2012
CM 4
Tableaux et matrices, tri par insertion, recherche dichotomique.
Mercredi 3 octobre 2012
TD 3
Enoncé, Corrigé
Mardi 9 octobre 2012
CM 5
Listes, itérateurs.
Mercredi 10 octobre 2012
TD 4
Enoncé, Corrigé
Mardi 16 octobre 2012
CM 6
Algorithmes de tri.
Mercredi 17 octobre 2012
TD 5
Contrôle de connaissances, Corrigé.
Mardi 13 novembre 2012
CM 7
Piles, files et dèques.
Mercredi 14 novembre
TD 6
Enoncé
Mardi 20 novembre
CM
Tables de hachage
Mercredi 21 novembre
TD 6
(continuation de la séance précédente)
Mardi 27 novembre 2012
CM 8
Tables de hachage, ensembles, mappes et dictionnaires.
Mercredi 28 novembre 2012
TD 7 Enoncé, Corrigé.
Mardi 4 décembre 2012
CM 9 Arbres et graphes.
Mercredi 5 décembre 2012
TD 8 Enoncé, Corrigé.
Mercredi 12 décembre 2012
TD 9

Descriptif du cours

Ce cours a pour objectif l'étude, selon l'approche de la programmation orientée objet, des structures de données et des algorithmes fondamentaux permettant d'organiser, de chercher et de manipuler des données de manière efficace. Il y a en fait deux parties bien distinctes dans cet enseignement. Il s'agit d'une part d'apprendre à utiliser des structures et des algorithmes, mais aussi de comprendre leur fonctionnement interne afin de pouvoir choisir le mieux adapté à un problème donné.

Afin de faciliter l'enseignement, un langage de description des algorithmes, proche d'un langage naturel, sera introduit et servira pendant les TDs. Pour chacun des algorithmes étudiés, nous analyserons la complexité algorithmique afin de déterminer les performances théoriques et lors des séances de TPs, en langage Python, des mesures seront effectuées sur les implémentations des étudiants.

Support de cours

Textes de référence

.

Transparents

Les transparents utilisés pendant le cours peuvent être téléchargés en format PDF en cliquant sur la session correspondante dans l'EDT ci-dessus.

Matériels divers

Un memento du pseudo-langage utilisé pour les TD.

Pour les intervenants TD/TP : feuilles d'émargement.

Modalités de contrôle des connaissances

2 CC intermédiaires, durée 1h30, chacun comptant pour 25% de la note finale.
1 CC terminal, durée 1h30, comptant pour 50% de la note finale.


Dernière mise à jour : 6 décembre 2012

Valid HTML 4.01 Transitional