Vous êtes sur la page 1sur 11

Facult des sciences et de gnie

Dpartement d'informatique et de gnie logiciel

PLAN DE COURS
IFT-2008 : Algorithmes et structures de donnes
NRC 55974 | t 2017

Pralables:GIF 1003
Mode d'enseignement: distance
Temps consacr:3-2-4 Crdit(s):3

Notions d'ordre: comportement du meilleur cas, du cas moyen et du pire cas. Notion de types abstraits et modularit. Programmation
gnrique. Structures de donnes classiques: les listes, les piles, les files (avec et sans priorit), les arborescences, les graphes, les tables
de dispersion et les monceaux binaires. Algorithmes de tri.

Ce cours est offert distance. Pour plus d'informations, consultez la page du cours l'adresse www.distance.ulaval.ca .

Plage horaire
Classe virtuelle synchrone
lundi 15h00 16h50 Du 1 mai 2017 au 16 juil. 2017
mardi 11h00 12h50 Du 1 mai 2017 au 16 juil. 2017
jeudi 08h30 10h20 Du 1 mai 2017 au 16 juil. 2017

Il se peut que l'horaire du cours ait t modifi depuis la dernire synchronisation avec Capsule. Vrifier l'horaire dans Capsule

Site de cours
https://sitescours.monportail.ulaval.ca/ena/site/accueil?idSite=81668

Coordonnes et disponibilits
Mondher Bouden Pierre-Marc Levasseur
Enseignant Responsable des travaux dirigs
Veuillez s.v.p. utiliser cette adresse pour me contacter et ne pas ift2008-e2017-depannage@ift.ulaval.ca
utiliser mon courriel personnel : Disponibilits
ift2008-e2017@ift.ulaval.ca jeudi :
Disponibilits 08h30 10h30 - Classe virtuelle - du 1 mai 2017 au 14 sept.
vendredi : 2017
15h00 17h00 - R.D.V. sur Adobe Connect - du 1 mai 2017 au
14 juil. 2017

Franck Manirakiza Mario Marchand


Responsable des sances de dpannage Professeur responsable du cours
ift2008-e2017-depannage@ift.ulaval.ca Mario.Marchand@ift.ulaval.ca
Disponibilits
lundi :

19h00 20h00 - Classe virtuelle - du 8 mai 2017 au 14 juil. 2017


Universit Laval Page 1 de 11
19h00 20h00 - Classe virtuelle - du 8 mai 2017 au 14 juil. 2017
mercredi :
19h00 20h00 - Classe virtuelle - du 8 mai 2017 au 14 juil. 2017

Soutien technique
Pour recevoir du soutien technique relatif l'utilisation de monPortail, contactez :
Comptoir LiberT (FSG)
Pavillon Adrien-Pouliot, Local 3709
aide@fsg.ulaval.ca
418-656-2131poste 4651

Session d'automne et hiver


Lundi 08h00 18h45
Mardi 08h00 18h45
Mercredi 08h00 18h45
Jeudi 08h00 18h45
Vendredi 08h00 16h45

Session d't
Lundi 08h00 16h00
Mardi 08h00 16h00
Mercredi 08h00 16h00
Jeudi 08h00 16h00
Vendredi 08h00 16h45

Universit Laval Page 2 de 11


Sommaire
Description du cours .......................................................................................................................... 4
Objectifs ................................................................................................................................................................................................................................. 4
Description sommaire ......................................................................................................................................................................................................... 4
Place et rle du cours dans le ou les programmes ...................................................................................................................................................... 4
valuation de qualits ou de comptences dveloppes dans le programme. .................................................................................................... 4
Objectifs spcifiques ........................................................................................................................................................................................................... 4
Mthodologie ........................................................................................................................................................................................................................ 4

Contenu et activits ........................................................................................................................... 5

valuations et rsultats ..................................................................................................................... 6


Modalits d'valuation ....................................................................................................................................................................................................... 6
Informations dtailles sur les valuations sommatives ............................................................................................................................................ 6
Examen Intra .................................................................................................................................................................................................................. 6
Examen Final .................................................................................................................................................................................................................. 6
Travail pratique 1 .......................................................................................................................................................................................................... 7
Travail Pratique 2 .......................................................................................................................................................................................................... 7
Travail Pratique 3 .......................................................................................................................................................................................................... 7
Politique sur les examens ................................................................................................................................................................................................... 7
Politique sur les travaux ..................................................................................................................................................................................................... 8
Consignes sur les examens ................................................................................................................................................................................................ 8
Consignes sur les travaux ................................................................................................................................................................................................... 8
chelle des cotes .................................................................................................................................................................................................................. 8
Politique sur les cotes ......................................................................................................................................................................................................... 9
Modalits sur les laboratoires ........................................................................................................................................................................................... 9
Politique sur l'utilisation d'appareils lectroniques ..................................................................................................................................................... 9
Politique sur le plagiat et la fraude acadmique .......................................................................................................................................................... 9
tudiants ayant un handicap, un trouble dapprentissage ou un trouble mental ................................................................................................ 9

Matriel didactique .......................................................................................................................... 10


Matriel obligatoire ........................................................................................................................................................................................................... 10
Matriel complmentaire ................................................................................................................................................................................................. 10
Logiciels ............................................................................................................................................................................................................................... 10

Mdiagraphie et annexes ................................................................................................................. 10


Bibliographie ...................................................................................................................................................................................................................... 10

Universit Laval Page 3 de 11


Description du cours

Objectifs
Une application informatique utilise gnralement trs intensment les donnes qui lui sont lies. La reprsentation et l'organisation de
ces donnes sont donc vitales l'efficacit de l'application qui s'en sert. Consquemment, partir des contraintes relies une
application, il faut effectuer un choix de structures qui rencontrent ces contraintes.

Ce cours a pour but de prsenter l'tudiant et l'tudiante les diffrents types de structures de donnes, chacune rpondant un type
de besoins. Il a pour but galement de relever l'importance de la spcification rigoureuse des structures de donnes et de l'tude de la
complexit des algorithmes qui les manipulent afin d'effectuer des choix clairs pour la mise en oeuvre de ces structures.

Description sommaire
Conception et analyse d'algorithmes : notions d'ordre; comportement du meilleur, du moyen et du pirecas. Conception et
dveloppement d'algorithmes : notion de types abstraits et modularit,programmation gnrique, structures de donnes classiques :
les listes, les piles, les files (avec et sanspriorit), les arborescences, les graphes, les tables de dispersion et les monceaux binaires,
algorithmesde tri.

Place et rle du cours dans le ou les programmes


Ce cours est obligatoire dans tous les programmes de formation de 1er cycle en informatique et en gnie logiciel. Les donnes tant
souvent au coeur des applications informatiques, leur organisation est ncessaire leur manipulation efficace. Bien que certaines
structures de donnes de base soient offertes dans les langages de programmation, le dveloppement de logiciel de grande envergure
ncessite souvent l'adaptation de leur modle d'implantation afin de rencontrer certaines contraintes dterminantes pour l'application.
Cette tche de conception de structures de donnes adaptes et de modles d'implantation inhrents l'environnement et aux besoins
des applications qu'elles visent desservir est indissociable de la tche d'un informaticien.

valuation de qualits ou de comptences dveloppes dans le programme.


Capacit analyser un algorithme en vue de dterminer son exactitude, son temps d'excution et l'espace mmoire utilise: cette
comptence est value lors des examens.
Capacit mettre en oeuvre des algorithmes l'aide des structures de donnes appropries: cette comptence est value lors des
travaux pratiques.

Objectifs spcifiques
l'issue du cours, l'tudiant sera en mesure de manipuler les structures de donnes courantestelles que les vecteurs, les listes, les piles,
les files, les arbres, les tables de dispersionet lesgraphes. Cela implique que l'tudiant sera en mesure d'implanter les algorithmes
permettant la gestion de ces structures et de dterminer la complexit (i.e., le temps d'excution) de ces algorithmes. L'tudiantsera
aussi en mesured'effectuer le bon choix destructures de donnes utiliser afin de satisfaire les spcifications et les contraintes relies
une application.

Mthodologie
Cours thorique(2 sances par semaine:: 1h50 chacune)

Prsentation de la matire par l'enseignant.


Les tudiants et les tudiantes interviennent durant le cours pour demander des explications supplmentaires relativement un
sujet trait en cours.

Travaux dirigs (1 sance par semaine: jeudi de 8h30 10h20)

Mise en pratique des concepts vus en classe avec un environnement deprogrammation en langage C++.
Universit Laval Page 4 de 11
Mise en pratique des concepts vus en classe avec un environnement deprogrammation en langage C++.

Sances de dpannagessupplmentaires(2 sance par semaine: lundiet mercredi de 19h 20h)

Ces sances commeceront le 08mai et elles ne seront pas enregistres.


Un auxiliaire d'enseignement sera prsent afin de rpondre vos questions (p.ex. des questions sur le C++, l'utilisation de la
machine virtuelle, etc.). En fait, c'est le service CAR de l't pour ceux qui ont en besoin surtout ceux qui travaillent le jour et ne
peuvent donc pas assister aux autres sances en direct.

la maison

Lecture des notes de cours et rsolution des exercices proposs sur le site Web du cours.
Ralisation destravaux pratiques obligatoires faire durantla session.
Il est primordial d'tre jour dans votre rvision de la matire.

Activits d'apprentissage

La section Contenu et activits prsente une srie de modules. Chaque module comprend :

des notes de cours tudier qui prsentent les concepts importants apprendre;
des exercices faire afin de consolider les concepts prsents dans les notes
les laboratoires permettant la mise en pratique des conceps dans un environnement de programmation en langage C++;

AVERTISSEMENT: Afin de dterminer la complexit et l'efficacit des algorithmes manipulant les structures de donnes, ce cours
utilise des notions mathmatiques qui sont normalement vues au secondaire et au cours de calcul diffrentiel du CEGEP. En
particulier, ce cours utilise les fonctions exponentielles et logarithmiques, les limites, les drives, les sries. Une mise niveau de
ces notions mathmatiques est fournie la section Contenu et activits.

Courrier lectronique
Une adresse de courrier lectronique vous est fournie par l'Universit Laval. Vous devrez utilisercette adresse pour toutes vos
communications dans les cours du baccalaurat en informatique del'Universit Laval. Cette adresse est compose du prnom du nom
et d'un nombre, ces trois lmentstant spars par un point, suivi de l'arobas (a commercial) et de ulaval.ca (exemple: l'adresse de
JeanTil est jean.til.2@ulaval.ca). Le nombre indique la nime personne portant ce nom et ce prnom l'Universit Laval. Pour connatre
votre adresse de courriel et relever votre courriel ulaval.ca, veuillezconsulter http://www.capsule.ulaval.ca

Il est noter qu'tant donn le trs grand volume de courrier traiter quotidiennement, il se peut que vous n'obteniez une rponse
l'une de vos questions que quelques jours ouvrables aprs avoir envoy votre message. Dans ces cas, nous apprcierons votre
comprhension. Nous vous recommandons toutefois de ne pas attendre la dernire minute pour nous contacter; S.V.P., planifiez ce
dlai lorsque vous nous envoyez un message. De plus, afin d'viter des dlais supplmentaires, il est recommand d'tre explicite dans
vos questions et commentaires (ex. : spcifiez les noms des documents et les pages auxquelles vous vous rfrez), de vous identifier
(nom prnom, matricule) pour permettre une rponse personnalise. Notez galement la prsence de forums de discussion sur le site du
cours vous permettant de vous entraider. Il est important par contre de ne pas crire du code dans les sections rserves aux TPs afin
d'viter le plagiat.

Contenu et activits
Le tableau ci-dessous prsente les semaines d'activits prvues dans le cadre du cours.

Titre Date
Classe virtuelle Adobe Connect
Machine virtuelle et tutoriels sur l'environnement de dveloppement
Programmation C++ (rappel)
Mise niveau mathmatique
Guide d'tudes
Accs aux laboratoires (en prsentiel et distance)
Contenu du cours
Introduction l'algorithmique
Les structures de donnes de base
Universit Laval Page 5 de 11
Les structures de donnes de base
Les graphes (1ire partie)
Les graphes (2ime partie)
Les tables de dispersion
Les structures arborescentes et les monceaux
Les arbres binaires de recherche
Les algorithmes de tri

Note : Veuillez vous rfrer la section Contenu et activits de votre site de cours pour de plus amples dtails.

valuations et rsultats

Modalits d'valuation

Sommatives
Titre Date Mode de travail Pondration
Examens (Somme des valuations de ce regroupement) 70 %
Examen Intra Le 8 juin 2017 de 18h30 Individuel 35 %
21h30
Examen Final Le 13 juil. 2017 de 18h30 Individuel 35 %
21h30
Travaux (Somme des valuations de ce regroupement) 30 %
Travail pratique 1 D le 7 juin 2017 17h00 Individuel 8%
Travail Pratique 2 D le 30 juin 2017 17h00 Individuel 12 %
Travail Pratique 3 D le 15 juil. 2017 17h00 Individuel 10 %

Informations dtailles sur les valuations sommatives

Examen Intra
Date : Le 8 juin 2017 de 18h30 21h30
Mode de travail : Individuel
Pondration : 35 %
Remise de l'valuation : Local de l'examen
Matriel autoris : Une feuille manuscrite 8 et 1/2 par 11 recto-verso

Examen Final
Date : Le 13 juil. 2017 de 18h30 21h30
Mode de travail : Individuel
Pondration : 35 %
Remise de l'valuation : Local d'examen
Matriel autoris : Une feuille manuscrite 8et1/2 par 11 recto-verso

Universit Laval Page 6 de 11


Travail pratique 1
Date de remise : 7 juin 2017 17h00
Mode de travail : Individuel
Pondration : 8%
Remise de l'valuation : Bote de dpot

Travail Pratique 2
Date de remise : 30 juin 2017 17h00
Mode de travail : Individuel
Pondration : 12 %
Remise de l'valuation : Bote de dpot

Travail Pratique 3
Date de remise : 15 juil. 2017 17h00
Mode de travail : Individuel
Pondration : 10 %
Remise de l'valuation : Bote de dpot

Politique sur les examens


Les tudiants qui ont une lettre d'Attestation d'accommodations scolaires obtenue auprs d'un conseiller du secteur Accueil et soutien
aux tudiants en situation de handicap (ACSESH) doiventcomplter un rapport d'anomalie sur Pixel cet effet au dbut de la session.
Les tudiants doivent galementrencontrer leur professeur au dbut de la session afin que des mesures d'accommodations en classe ou
lors des valuations puissent tre prvues et planifies suffisamment l'avance puis mises en place. Ceux qui ont une dficience
fonctionnelle ou un handicap, mais qui n'ont pas cette lettre doivent contacter le secteur ACSESH au 656-2880 le plus tt possible.

Concernant une absence un examen, le plus rapidement possible, et ce dans un dlai maximal de 3 jours ouvrables l'tudiant doit
utiliser le formulaire Web cet effet qu'il ou elle trouvera sur son guichet tudiant. Sans quoi, une note de 0 sera automatiquement
alloue pour cet examen.

Lesmotifs acceptables pour s'absenter un examen :

1. incapacit pour l'tudiant de passer l'examen durant la plage horaire de cet examen, tre mentionn comme tel par un billet
prcis d'un mdecin (incluant les coordonnes de ce dernier), suite une consultation mdicale. Ce billet doit tre prsent la
direction du dpartement (tel qu'indiqu dans les instructions associes au formulaire Web remplir), qui le dposera au dossier
de l'tudiant.
2. mortalit d'un proche, tre document par une preuve de dcs de la personne et une lettre d'une tierce personne attestant du
lien de parent ou autre entre l'tudiant et la personne dcde. Ces pices doivent galement tre prsentes la direction du
dpartement (tel qu'indiqu dans les instructions associes au formulaire Web remplir).

L'enseignant n'intervient pas dans ce processus mais en est inform automatiquement, d'o la ncessit pour l'tudiant de remplir ce
formulaire Web le plus rapidement possible, car dans l'attente, une note de 0 est automatiquement attribue l'tudiant pour cette
preuve.

Aucune justification d'absence relie des vnements sportifs (sauf pour les athltes du Rouge et Or ou d'quipes nationales, sur
approbation pralable de la direction du Dpartement), un travail, un conflit d'horaire avec d'autres cours ou examens, ou des
horaires de voyage conflictuels (selon des billets d'avion dj achets par exemple) n'est acceptable. Les conflits d'horaire doivent tre
rsolus au tout dbut de la session, avant la fin de la priode de modification de choix de cours, par l'tudiant lui-mme. Un tudiant
inscrit l'un de nos cours aprs cette date est rput ne pas avoir de conflit d'horaire pour passer ses examens.

Toute absence justifie un examen entrane l'obligation pour l'tudiant de passer un examen report. Cet examen est planifi le
Universit Laval Page 7 de 11
Toute absence justifie un examen entrane l'obligation pour l'tudiant de passer un examen report. Cet examen est planifi le
samedi de la premire semaine de cours de la session acadmique suivante, soit le 9 septembre 2017AM (en PM) si conflit.
L'tudiant a l'obligation de se rendre disponible cette date, sans quoi il obtiendra la note 0 pour cet examen. Pour les cours
distance, les examens de reprise n'auront lieu qu' l'Universit Laval.

Politique sur les travaux


Le terme travaux, utilis dans le titre de cette section, fait rfrence tout type de travaux, que ce soit des travaux pratiques, des
travaux en laboratoires ou des examens.

Dans le cadre d'un travail (que ce soit pratique ou en laboratoires), toute communication entre quipes est strictement dfendue.

Toute personne prise plagier, tricher, activement ou passivement, ou contrevenir aux directives donnes dans le cadre d'un
examen ou d'un travail (que ce soit pratique ou en laboratoires) not et contributoire la note finale du cours, peu importe la
pondration attribue l'examen ou au travail en question, fera face aux consquences de ses gestes, qui peuvent aller jusqu'
l'exclusion de son programme de formation. Une politique stricte de tolrance zro est applique en tout temps et sous toutes
circonstances. Tous les cas seront rfrs la direction du Dpartement.

L'tudiant trouvera sur son guichet tudiant la politique dpartementale relative aux examens; il ou elle est rput(e) en avoir pris
connaissance.

Consignes sur les examens


Les tudiants qui veulent faire leur examen sous surveillance l'extrieur du campus doivent obligatoirement s'inscrire au lieu
d'examens. Pour plus d'informations, consultez le site Web de la formation distance .

Important :

Toute rvision de note devra tre demande l'enseignant dans un dlai de 10 jours ouvrables aprs l'affichage des rsultats d'un
examen. Il est noter que les examens reports suite toute absence justifie ne seront en aucun cas moins difficiles que les examens
rguliers.

Consignes sur les travaux


Tous les travaux doivent tre remis selon les modalits dcrites la fin de l'nonc de chaque travail pratique raliser. Les
noncs seront publis sur le site Web du cours. Nous insistons ici pour vous rappeler que l'accomplissement des travaux pratiques
est une activit vitale l'apprentissage dans ce cours.
Tout travail remis en retard se verra pnalis de -25% de la note. Le retard dbute ds la limite de remise dpasse (ds la premire
minute). Un retard excdant une journeprovoquera le rejet du travail pour la correction et la note de 0 pour ce travail. La remise
doit se faire par voie lectronique uniquement en vous connectant votre portail du coursENA (aucun travail envoy par courriel
n'est accept).
Toute rvision de note devra tre demande l'enseignant dans un dlai de 10 jours ouvrables aprs la remise du travail corrig.
Vous avez la responsabilit de vrifier l'intgrit de ce que vous remettez dans la boite de dpt. Donc, vrifiez que vous avez bel et
bien remis tous les fichiers demands dans l'nonc du TP. Tout fichier manquant est un fichier non remis et aucun fichier
manquant ne peut tre remis aprs le dlai prvu. Les dates de dernire modification de fichier ne sont pas considres comme
une preuve qu'unfichier manquant a t produit avant la date de tombe. Vrifiezgalement que les fichiers que vous avez
tlverss dans la bote de dpt sont complets et sont ceux que vous dsiriez remettre. Cette vrification peut tre ralise
entlchargeant sur votre poste ce que vous avez tlvers dans la bote de dpt. Le mcanisme de tlversement vers la bote de
dpt ne corompt jamais les fichiers. Cependant, lorsque vous fabriquez une archive sur votre poste, vrifiezque tous les fichiers
destins tre archivs sont ferms et non en cours d'utilisation par un autre processus (comme votre environement de
dveloppement) car, dans ce cas, le processus d'archivage peut corrompre vos fichiers.
Votre TP sera valu dans l'environnement de dveloppement inclus dans la machine virtuelle du cours. Donc, vos programmes
doivent absolument pouvoir tre compils et excuts sans erreurs dans cet environement. Un programme qui plante, ou qui ne
compile pas, peut se voir attribuer la note zro. Utilisez donc cet environement pour faire votre TP.

chelle des cotes

Cote % minimum % maximum


Universit Laval Page 8 de 11
Cote % minimum % maximum
Cote % minimum % maximum C+ 66 69,99
A+ 90 100 C 63 65,99
A 85 89,99 C- 60 62,99
A- 80 84,99 D+ 57 59,99
B+ 76 79,99 D 55 56,99
B 73 75,99 E 0 54,99
B- 70 72,99

Politique sur les cotes


L'enseignant se rserve le droit d'ajuster quelque peu cette rpartition des cotes afin de reflter l'valuation juste des tudiants du cours.

Modalits sur les laboratoires


Tous les tudiants inscrits aux cours du Dpartement d'informatique et de gnie logiciel ont accs aux salles de laboratoires
d'enseignement. Pour avoir de l'information sur ces salles, consultez la page Web du Dpartement (section Laboratoires
d'enseignement): http://www.ift.ulaval.ca/services/services-techniques.

Politique sur l'utilisation d'appareils lectroniques


La politique sur l'utilisation d'appareils lectroniquesde la Facult des sciences et de gnie peut tre consulte l'adresse :http://www.
fsg.ulaval.ca/fileadmin/fsg/documents/PDF/Calculatrices-autorisees-FSG.pdf .

Politique sur le plagiat et la fraude acadmique


Rgles disciplinaires

Tout tudiant qui commet une infraction au Rglement disciplinaire l'intention des tudiants de l'Universit Laval dans le cadre du
prsent cours, notamment en matire de plagiat, est passible des sanctions qui sont prvues dans ce rglement. Il est trs important
pour tout tudiant de prendre connaissance des articles 28 32 du Rglement disciplinaire. Celui-ci peut tre consult l'adresse
suivante:

https://www2.ulaval.ca/fileadmin/Secretaire_general/Reglements/Reglement_disciplinaire.pdf

Plagiat

Tout tudiant est tenu de respecter les rgles relatives au plagiat. Constitue notamment du plagiat le fait de:

i. copier textuellement un ou plusieurs passages provenant d'un ouvrage sous format papier ou lectronique sans mettre ces
passages entre guillemets et sans en mentionner la source;
ii. rsumer l'ide originale d'un auteur en l'exprimant dans ses propres mots (paraphraser) sans en mentionner la source;
iii. traduire partiellement ou totalement un texte sans en mentionner la provenance;
iv. remettre un travail copi d'un autre tudiant (avec ou sans l'accord de cet autre tudiant);
v. remettre un travail tlcharg d'un site d'achat ou d'change de travaux scolaires.

L'Universit Laval tant abonne un service de dtection de plagiat, il est possible que l'enseignant soumette vos travaux pour analyse.

tudiants ayant un handicap, un trouble dapprentissage ou un trouble mental


Les tudiants qui ont une lettre d'Attestation d'accommodations scolaires obtenue auprs d'un conseiller du secteur Accueil et soutien
aux tudiants en situation de handicap (ACSESH) doivent imprativement se conformer la politique d'Accommodations scolairesaux
examens de la Facult des sciences et de gnie qui peut tre consulte l'adresse :http://www.fsg.ulaval.ca/fileadmin/fsg/documents
/PDF/Politique-Facultaire-Accommodements.pdf

Universit Laval Page 9 de 11


Matriel didactique

Matriel obligatoire

Tout le matriel obligatoire (incluant les notes de cours, tutoriels et exercices) se trouve sur le site Web de cours dans la section Contenu
et activits.

Matriel complmentaire
Data structures and algorithm analysis in C++, fourth edition
Auteur : Mark Allen Weiss
diteur : Addison-Wesley ( Boston, Mass. , 2014 )
ISBN : 9780132847377

Logiciels
Dans le cadre de ce cours, vous devez utiliser une machine virtuelle Linux qui contient tous les logiciels utiles au cours (Eclipse, Google
Test, Doxygene, etc...). Cette machine viruelle (gratuite) est disponible en tlchargement partir du site Web du cours et peut tre
installe sur votre ordinateur personnel (que ce soit un PC ou MAC). Pour excuter cette machine virtuelle, vous devez installer
VirtualBox ou VMware.

Mdiagraphie et annexes

Bibliographie

Livres recommands (mais non obligatoires)


Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, 4thedition, Addison Wesley, 2014
Trs bon livre sur les structures de donnes, un des rares livres qui en parle sans trop s'enfarger dans le C++
Corrigdes exercices du livre
Les codes source
Thomas H. Cormen et al. Introduction to algorithms, Third Edition. MIT 2009. Livre de rfrence incontournable sur l'algorithmique
indpendent de tout langage de programmation. Il aborde les principales structures de donnes et leurs algorithmes. Il vous servira
galement pour le cours de conception et d'analyse d'algorithmes IFT-3001.
Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani. Algorithms. McGraw-Hill 2008. Un trs bon livre sur l'algorithmique,
concis et lgant.

Autres ouvrages trs intressants sur les structures de donnes en C++:


Michael Goodrich, Roberto Tamassia, David Mount. Data Structures and Algorithms in C++. 2006.
C'est mon deuxime choix, livre trs rigoureux sur les principes de base de la programmation.

Programmation en C++
Bjarne Stroustrup: The C++ Programming Language, Addison-Wesley, ISBN 0-201-88954-4 and 0-201-70073-5.
crit par le fondateur du C++ lui-mme, une bonne rfrence, bien complte. Mais a ne va pas tellement en profondeur pour
les templates.
Scott Meyers: Effective STL: 50 specific Ways to Improve Your Use of the Standard Template Libary

Extrmement intressant pour bien comprendre comment vraiment prparer nos classes l'utilisation des algorithmes que
Universit Laval Page 10 de 11
Extrmement intressant pour bien comprendre comment vraiment prparer nos classes l'utilisation des algorithmes que
fournit la STL. Donne des techniques trs avances sur tout ce qu'on peut faire avec les templates.
David Abrahams, Aleksey Gurtovoy: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond
Herb Sutter: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
H.M. Deitel, P.J. Deitel, Comment programmer en C++, ditions Goulet, 3e dition.
Horstmann, Budd: Big C++, 2nd Edition

Webographie
C++ Language Tutorial http://www.cplusplus.com/doc/tutorial/
The C++ Programming Language (Bjarne Stroustrup) http://public.research.att.com/~bs/C++.html
FAQ de Bjarne Stroustrup
Standard Template Library Programmer's Guide http://www.sgi.com/tech/stl/index.html
C++ Reference http://www.cppreference.com/wiki/
C++ Virtual Course of the Globewide Network Academy
The C++ Virtual Library
Cours C++ de Christian Casteyde
C++ FAQ LITE - Frequently Asked Questions

Universit Laval Page 11 de 11