Vous êtes sur la page 1sur 10

Facult des sciences et de gnie

Dpartement d'informatique et de gnie logiciel

PLAN DE COURS
IFT-3000 : Langages de programmation
NRC 51158 | t 2017

Pralables : IFT 2005 OU IFT 2900 OU GIF 1003


Mode d'enseignement : distance
Temps consacr : 3-0-6 Crdit(s) : 3

Paradigmes de programmation. Lambda-calcul, smantique dynamique et smantique statique. Programmation


fonctionnelle, abstraction fonctionnelle et application. Programmation oriente objet, classes, objets, messages et hritage
(simple et multiple). Programmation concurrente. Modularit et structuration. Langages Objective Caml et Concurrent ML.

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
mardi 15h00 16h50 Du 1 mai 2017 au 16 juil. 2017
mercredi 15h00 16h50 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=81670

Coordonnes et disponibilits
Mondher Bouden Prudencio Tossou
Enseignant Responsable des sances de dpannage
Veuillez s.v.p. utiliser cette adresse pour me contacter et ne Ift3000-e2017-depannage@ift.ulaval.ca
pas utiliser mon courriel personnel : Disponibilits
ift3000-e2017@ift.ulaval.ca mardi :
Disponibilits 19h00 20h00 - Classe virtuelle - du 8 mai 2017 au 14
vendredi : juil. 2017
15h00 17h00 - R.D.V. sur Adobe Connect - du 1 mai jeudi :
2017 au 14 juil. 2017 19h00 20h00 - Classe virtuelle - du 8 mai 2017 au 14
juil. 2017

Bechir Ktari
Professeur responsable du cours
bechir.ktari@ift.ulaval.ca

Universit Laval Page 1 de 10


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-2131 poste 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 10


Sommaire
Description du cours ........................................................................................................... 4
Objectifs ................................................................................................................................................................................ 4
Mthodologie ........................................................................................................................................................................ 4
Contenu ................................................................................................................................................................................ 4

Contenu et activits ............................................................................................................ 4

valuations et rsultats ....................................................................................................... 5


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

Matriel didactique .............................................................................................................. 8


Matriel obligatoire ............................................................................................................................................................... 8
Matriel complmentaire ...................................................................................................................................................... 8
Logiciels ................................................................................................................................................................................ 9

Mdiagraphie et annexes ................................................................................................... 9


Mdiagraphie ........................................................................................................................................................................ 9

Universit Laval Page 3 de 10


Description du cours

Objectifs
Ce cours porte sur les diffrents concepts des langages de programmation. Il se veut un cours de base,
indispensable tout informaticien. L'objectif est d'initier les tudiants aux diffrents paradigmes de
programmation. Ainsi, nous abordons dans ce cours :

le paradigme de programmation fonctionnelle;


le paradigme de programmation oriente objet;
le paradigme de programmation parallle.

Pour chaque paradigme, nous prsentons :

les motivations;
les concepts spcifiques;
l'tude dtaille d'un ou de plusieurs langages reprsentatifs.

Mthodologie
Le matriel du cours ainsi que d'autres informations et dmarches suivre sont disponibles sur le site Web du cours. La
matire est enseigne sous forme magistrale, mais pour mieux approfondir les concepts, des exercices sont proposs
durant les sances ainsi que sur le site Web du cours.

Contenu
Le matriel pdagogique est compos des notes de cours, des actates, de plusieurs sries d'exercices ainsi que leurs
solutions. Voici les principaux sujets qui sont tudis au cours de la session (ce contenu est donn titre indicatif et peut
tre modifi en fonction du temps dont nous disposons):

Paradigme fonctionnel
Langage OCaml (partie I)
Lambdacalcul

Paradigme objet
Langage O'Caml (partie II)
Extension du lambda-calcul

Paradigme parallle
Module Thread d'O'Caml

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

Titre
Classe virtuelle Adobe Connect
Compilateur/valuateur
Notes de cours
Semainier
Semaine 1 (01 mai)
Semaine 2 (08 mai)

Universit Laval Page 4 de 10


Semaine 3 (15 mai)
Semaine 4 (22 mai)
Semaine 5 (29 mai)
Semaine 6 (05 juin: Semaine de lecture)
Semaine 7 (12 juin)
Semaine 8 (19 juin)
Semaine 9 (26 juin)
Semaine 10 (03 juillet)
Semaine 11 (10 juillet)

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
Mode de
Titre Date Pondration
travail
Examen 1 Le 9 juin 2017 de 18h30 Individuel 35 %
21h30
Examen 2 Le 14 juil. 2017 de Individuel 35 %
18h30 21h30
TP1 D le 7 juin 2017 Individuel 15 %
17h00
TP2 D le 13 juil. 2017 Individuel 15 %
17h00

Informations dtailles sur les valuations sommatives

Examen 1
Date : Le 9 juin 2017 de 18h30 21h30
Mode de travail : Individuel
Pondration : 35 %
Matriel autoris : Une feuille manuscrite recto-verso.

Examen 2
Date : Le 14 juil. 2017 de 18h30 21h30
Mode de travail : Individuel
Pondration : 35 %
Matriel autoris : Une feuille manuscrite recto-verso.

Universit Laval Page 5 de 10


TP1
Date de remise : 7 juin 2017 17h00
Mode de travail : Individuel
Pondration : 15 %
Remise de l'valuation : Bote de dpot

TP2
Date de remise : 13 juil. 2017 17h00
Mode de travail : Individuel
Pondration : 15 %
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) doivent complter un rapport d'anomalie sur Pixel cet effet au
dbut de la session. Les tudiants doivent galement rencontrer 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.

Les motifs 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 samedi de la premire semaine de cours de la session acadmique suivante, soit le 9 septembre 2017 AM (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
Universit Laval Page 6 de 10
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 :
Pour toutes les dates ci-dessus, vrifiez si vous avez un conflit d'horaire avec un autre cours ou avec un examen et
choisissez vos cours en consquence. Vous tes responsable d'viter les conflits d'horaire.
Toute rvision d'un examen amnera une recorrection complte de l'examen. La note obtenue aprs une rvision
remplacera dfinitivement la note obtenue avant la rvision. De plus, 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.
Pour mieux vous prparer aux examens, il est vivement conseill de commencer travailler rgulirement ds la
premire sance du cours et faire tous les exercices suggrs.

Consignes sur les travaux


Deux travaux pratiques sont prvus et consistent concevoir et raliser une application en utilisant des langages tudis
dans le cadre de 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 journe provoquera le rejet du travail pour la
correction et la note de 0 pour ce travail. La remise doit se faire par la boite de dpt dans la section valuation et
rsultats. Toute rvision de note devra tre demande l'enseignant dans un dlai de 10 jours ouvrables aprs l'affichage
des rsultats d'un TP.

chelle des cotes

Cote % minimum % maximum Cote % minimum % maximum


A+ 95 100 C+ 75 77,99
A 90 94,99 C 72 74,99
A- 87 89,99 C- 70 71,99
B+ 84 86,99 D+ 65 69,99
B 81 83,99 D 60 64,99
B- 78 80,99 E 0 59,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.

Universit Laval Page 7 de 10


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 lectroniques de 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 scolaires aux 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

Matriel didactique

Matriel obligatoire
Le matriel didactique, obligatoire, de ce cours est disponible sur le site Web du cours et comporte les notes de cours, les
actates utiliss dans le cours, les noncs d'exercices et les solutions de ces exercices.

Matriel complmentaire
Programmation fonctionnelle, gnrique et objet : une introduction avec le langage OCaml
Auteur : Philippe Narbel

diteur : Vuibert informatique ( Paris , 2005 )


Universit Laval Page 8 de 10
diteur : Vuibert informatique ( Paris , 2005 )
ISBN : 9782711748433

Real-world functional programming : with examples in F and C#


Auteur : Tomas Petricek ; with Jon Skeet
diteur : Manning ( Greenwich, CT , 2010 )
ISBN : 1933988924

Concurrent programming in ML
Auteur : John H. Reppy
diteur : Cambridge Univ. Press ( Cambridge [u.a.] , 2007 )
ISBN : 9780521480895

Programming languages : concepts and constructs


Auteur : Ravi Sethi
diteur : Addison-Wesley Pub. Co. ( Reading, Mass. ; Don Mills, Ont. , 1997 )
ISBN : 0201590654

Logiciels
Les logiciels utiliss dans ce cours sont :

Objective Caml: http://www.ocaml.org


Emacs : http://www.gnu.org/software/emacs

Une machine virtuelle, comprenant les logiciels utiliss, est fournie.

Mdiagraphie et annexes

Mdiagraphie
Pour aller plus loin au niveau des langages fonctionnels

Concepts behind the C# 3 language


Excellent document, disponible en PDF aussi, qui prsente les concepts cls de C# introduits ds la version 3.0
(ces concepts sont principalement issus de la programmation fonctionnelle). L'auteur de cet article maintient un
excellent site concernant la programmation fonctionnelle en F#, C#, VB.NET, ASP.NET, etc. Aussi, il a ralis 4
webcasts qui prsentent de manire trs intressante F# et C# ( voir si vous voulez faire le saut, rapidement F#,
partir de ce qu'on a vu en classe (Ocaml)).
Langage Scala (langage conu l'cole polytechnique de Lausanne, en Suisse); usage du filtrage (match ... with ...)
mais au niveau des objets, instances de classes, et non pas juste qu'au niveau des types inductifs ( type); d'autres
langages vont srement suivre la mme voie ...
Prsentations:

Interview de Anders Hejlsberg (concepteur de C#) propos de LINQ et de la programmation fonctionnelle (trs
intressant!).
Prsentation concernant le futur de C#.

Programmation avec sret - Projet Jif. Mais aussi, plusieurs sous-projets raliss avec Jif:

SIF: Servlet Information Flow


Swift: making web applications secure by construction
Civitas: A secure voting system

Programmation parallle (et fonctionnelle) dans l'industrie

Mapreduce de Google.

Universit Laval Page 9 de 10


Langage Go - Partie concurrente
Chez Microsoft:

Prsentation concernant PLINQ ( voir!)


LINQ in Action Trs bon livre au sujet de LINQ (trs complet); les concepts cls sont aussi prsents.
DryadLinq (application du principe de mapreduce Linq/PLinq).
Daytona (application du principe de mapreduce Windows Azure).
Programmation du systme Unix en OCaml:

Unix system programming in OCaml , 1er dcembre 2014.


Programmation du systme Unix en Objective Caml (VF), 2008.

Utilisation d'OCaml en industrie:

Reason : version d'Ocaml dveloppe et maintenue par Facebook.


Autres utilisations d'OCaml en industrie

Autres:

Utilisation d'OCaml dans le monde acadmique

Universit Laval Page 10 de 10