GLO-1901 : Introduction à la programmation avec Python

publicité
Faculté des sciences et de génie
Département de génie électrique et de génie informatique
PLAN DE COURS
GLO-1901 : Introduction à la programmation avec Python
NRC 94785 | Automne 2016
Mode d'enseignement : À distance
Temps consacré : 3-33
Crédit(s) : 3
Ce cours introduit les principaux paradigmes de programmation servant à la résolution de problèmes en informatique. Il couvre
notamment les programmations procédurale, fonctionnelle, orientée objet et événementielle. Pour illustrer ces paradigmes, il utilise le
langage Python.
Plage horaire
Sur Internet
-
00h00 à
00h00
Du 6 sept. 2016 au 16 déc.
2016
Il se peut que l'horaire du cours ait été modifié depuis la dernière synchronisation avec Capsule. Vérifier l'horaire dans Capsule
Site de cours
https://sitescours.monportail.ulaval.ca/ena/site/accueil?idSite=73492
Coordonnées et disponibilités
Marc Parizeau
Professeur
PLT-1138.B
[email protected]
Tél. : 418-656-2131 poste 7912
© Université Laval
Page 1 de 8
Soutien technique
Pour recevoir du soutien technique relatif à l'utilisation de monPortail, contactez :
Comptoir LiberT (FSG)
Pavillon Adrien-Pouliot, Local 3709
[email protected]
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 8
Sommaire
Description du cours .......................................................................................................................... 4
Objectifs ................................................................................................................................................................................................................................. 4
Contenu du cours ................................................................................................................................................................................................................ 4
Déroulement du cours ........................................................................................................................................................................................................ 4
Évaluations et résultats ..................................................................................................................... 5
Échelle des cotes .................................................................................................................................................................................................................. 5
Modalités d'évaluation ....................................................................................................................................................................................................... 5
Informations détaillées sur les évaluations sommatives ............................................................................................................................................ 5
Exercices hebdomadaires ........................................................................................................................................................................................... 5
Examen partiel ............................................................................................................................................................................................................... 5
Examen final ................................................................................................................................................................................................................... 6
Projet de fin de session ................................................................................................................................................................................................ 6
Participation au forum de discussion ....................................................................................................................................................................... 6
Détails sur les modalités d'évaluation ............................................................................................................................................................................. 6
Consignes sur les travaux ................................................................................................................................................................................................... 6
Politique sur l'utilisation d'appareils électroniques ..................................................................................................................................................... 7
Politique sur le plagiat et la fraude académique .......................................................................................................................................................... 7
Étudiants ayant un handicap, un trouble d’apprentissage ou un trouble mental ................................................................................................ 7
Matériel didactique ............................................................................................................................ 7
Matériel obligatoire ............................................................................................................................................................................................................. 7
Logiciels ................................................................................................................................................................................................................................. 8
Médiagraphie et annexes ................................................................................................................... 8
© Université Laval
Page 3 de 8
Description du cours
Objectifs
L'objectif principal de ce cours est de former l'étudiant aux notions de base de la programmation par objets avec comme support le
langage Python. À l'issue de ce cours, l'étudiant sera en mesure de:
1. résoudre des problèmes de programmation en maniant efficacement les éléments fondamentaux de procédure:
• les blocs séquentiels,
• conditionnels,
• et répétitifs;
2. effectuer la décomposition fonctionnelle d'un problème;
3. intégrer les concepts orientés objets dans la résolution d'un problème:
• notion de classe et d'objet,
• d'encapsulation,
• de méthode et passage de message,
• d'héritage,
• et de polymorphisme;
4. écrire des programmes Python pour entre autres réaliser:
• des interfaces graphiques,
• du calcul scientifique.
Contenu du cours
1. Types de données et opérations: nombres, chaînes de caractères, listes, dictionnaires, tuples et fichiers.
2. Énoncés et syntaxe de base: affectation, expressions, énoncés séquentiels, conditionnels et répétitifs, entrées/sorties,
documentation du code; notion de complexité algorithmique.
3. Fonctions: décomposition fonctionnelle, pré- et post conditions, arguments, itérateurs, fonction lambda, fonctions génératrice;
notion de récursion
4. Classes et objets: notions d'encapsulation, d'héritage, de composition, de surdéfinition d'opérateurs, d'espace de noms et de
polymorphisme; portée des identifieurs.
5. Modules: architecture d'un programme Python, création et usage d'un module, espaces de noms, importation de modules; aperçu
de la librairie standard: dates et heure, nombres aléatoires, encodage unicode, expressions régulières, sérialisation, journalisation,
itérateurs, etc.
6. Exceptions: mécanismes de traitement des erreurs et tests unitaires.
7. Interfaces graphiques: notion de programmation événementielle; introduction à «tkinter».
8. Programmation orientée objet: retour sur les classes et les hiérarchies de classes; notion de «design pattern»; introduction à UML.
9. Programmation fonctionnelle: retour sur les «lambda», les fonctions génératrices et les «itertools».
10. Calcul scientifique: tableaux multidimensionnels, matrices et calcul matriciel; introduction à «numpy/matplotlib».
11. Python vs C/C++: processus de compilation et d'édition des liens; typage statique des données, expression, pointeur, fonction et
arguments; énoncés séquentiels, conditionnels et répétitifs; classes et objets.
Déroulement du cours
Chaque semaine, l'étudiant doit procéder de façon autonome à trois types d'activités:
1. Étudier des notes de cours thématiques qui lui permettent non seulement d'exécuter les exemples illustrant les concepts
théoriques, mais également de les modifier afin de pouvoir répondre lui-même à des questions de type « que se passerait-il si je
faisais ceci au lieu de cela? ».
2. Faire des exercices interactifs qui permettent d'assimiler les notions présentées dans les notes de cours. Ces exercices s'effectuent
via une interface web spécialement conçue à cette fin. L'étudiant résoud le problème posé en écrivant ses énoncés Python dans
l'interface web, puis il exécute son code dans cette interface afin de le tester. En pressant simplement un bouton, il peut ensuite
soumettre sa solution à un serveur qui la corrigera automatiquement en lui fournissant, le cas échéant, des indications sur la
nature de ses erreurs. L'étudiant peut alors modifier sa solution puis la soumettre de nouveau jusqu'à la satisfaction des exigences
de l'exercice.
3. Tester ses connaissances avec des épreuves chronométrées (quiz) qui simulent sur une durée plus courte le déroulement des
© Université Laval
Page 4 de 8
3. Tester ses connaissances avec des épreuves chronométrées (quiz) qui simulent sur une durée plus courte le déroulement des
examens en ligne.
En tout temps, les étudiants peuvent poser des questions via un forum de discussion. Les exercices et les quiz peuvent être complétés à
n'importe quelle heure du jour ou de la nuit.
Évaluations et résultats
Échelle des cotes
Cote
% minimum
% maximum
Cote
% minimum
% maximum
A+
92
100
C+
66
69,99
A
87
91,99
C
62
65,99
A-
82
86,99
C-
58
61,99
B+
78
81,99
D+
54
57,99
B
74
77,99
D
50
53,99
B-
70
73,99
E
0
49,99
Modalités d'évaluation
Sommatives
Titre
Date
Mode de travail
Pondération
Exercices hebdomadaires
À déterminer
Individuel
20 %
Examen partiel
Le 22 oct. 2016 de 09h30 à
16h30
Individuel
25 %
Examen final
Le 17 déc. 2016 de 09h30 à
16h30
Individuel
40 %
Projet de fin de session
Dû le 19 déc. 2016 à 23h59
En équipe
10 %
Participation au forum de discussion
Dû le 16 déc. 2016 à 23h59
Individuel
5%
Informations détaillées sur les évaluations sommatives
Exercices hebdomadaires
Date de remise :
À déterminer
Des exercices sont associés à la plupart des semaines. En général, ils doivent être complétés au plus
tard deux semaines après l'introduction de la matière correspondante.
Mode de travail :
Individuel
Pondération :
20 %
Remise de l'évaluation :
https://python.gel.ulaval.ca
Examen partiel
Date et lieu :
© Université Laval
Le 22 oct. 2016 de 09h30 à 16h30 , PLT-2370,PLT-3920,PLT-3928,PLT-3966
Page 5 de 8
Date et lieu :
Le 22 oct. 2016 de 09h30 à 16h30 , PLT-2370,PLT-3920,PLT-3928,PLT-3966
Il y aura deux périodes d'examen le samedi 22 octobre 2016. Une première section de 9:30 à 12:30 et
une deuxième section de 13:30 à 16:30.
Mode de travail :
Individuel
Pondération :
25 %
Remise de l'évaluation :
https://python.gel.ulaval.ca
Matériel autorisé :
Ordinateur et accès au site web du cours.
Examen final
Date et lieu :
Le 17 déc. 2016 de 09h30 à 16h30 , PLT-3928,PLT-3966,PLT-2370,PLT-3920
Il y aura deux périodes d'examen le samedi 17 décembre 2016. Une première section de 9:30 à 12:30
et une deuxième section de 13:30 à 16:30.
Mode de travail :
Individuel
Pondération :
40 %
Remise de l'évaluation :
https://python.gel.ulaval.ca
L'examen se déroule en ligne sur le site web du cours.
Matériel autorisé :
Ordinateur et accès au site web du cours.
Projet de fin de session
Date de remise :
19 déc. 2016 à 23h59
Mode de travail :
En équipe
Pondération :
10 %
Remise de l'évaluation :
https://python.gel.ulaval.ca
Participation au forum de discussion
Date de remise :
16 déc. 2016 à 23h59
Le forum de discussion est accessible via le site web de cours (pas celui de l'ENA).
Mode de travail :
Individuel
Pondération :
5%
Remise de l'évaluation :
piazza.com/ulaval.ca/fall2016/glo1901
Détails sur les modalités d'évaluation
Le cours comporte deux examens en ligne (partiel + final), effectués avec ordinateur dans un environnement contrôlé. Lors de ces
examens, l'étudiant pourra soit utiliser son ordinateur portatif personnel, soit un ordinateur fixe de l'Université. Dans les deux cas,
l'ordinateur devra être démarré dans un environnement Linux contrôlé, à partir d'une clé USB spécialement conçue à cette fin. Cette clé
USB sera fournie à l'étudiant juste avant le début de l'examen.
Outre les examens, l'évaluation sommative du cours comporte des exercices interactifs, un projet à faire en équipe et une composante
de participation au forum de discussion. Il est attendu que les étudiants non seulement utilisent le forum pour poser des questions,
mais également qu'ils répondent à certaines des questions de leurs camarades.
Notez bien que la note de passage est fixée à 50 % et qu'elle s'applique autant à la note totale qu'à la moyenne des deux examens.
© Université Laval
Page 6 de 8
Consignes sur les travaux
Le cours comporte une série d'exercices interactifs à faire en ligne (https://python.gel.ulaval.ca). Les étudiants sont encouragés à
travailler en équipe afin de s'entraider, mais chaque étudiant doit compléter lui-même chaque exercice. Le cours inclut également un
projet de fin de session à réaliser en équipe de 2 ou 3.
La réalisation des travaux fait appel au langage Python 3. Ils peuvent être effectués à l'Université ou à la maison, avec un ordinateur au
choix de l'étudiant. L'étudiant devra cependant tenir compte des consignes particulières pouvant limiter le choix de l'environnement
logiciel.
La présence à l'Université n'est pas obligatoire ni pour réaliser, ni pour soumettre les travaux. Elle est cependant nécessaire pour les
examens.
Politique sur l'utilisation d'appareils électroniques
La politique sur l'utilisation d'appareils électroniques de la Faculté des sciences et de génie peut être consultée à l'adresse : http://www.
fsg.ulaval.ca/fileadmin/fsg/documents/PDF/Calculatrices-autorisees-FSG.pdf.
Politique sur le plagiat et la fraude académique
Règles disciplinaires
Tout étudiant qui commet une infraction au Règlement disciplinaire à l'intention des étudiants de l'Université Laval dans le cadre du
présent cours, notamment en matière de plagiat, est passible des sanctions qui sont prévues dans ce règlement. Il est très important
pour tout étudiant de prendre connaissance des articles 28 à 32 du Règlement disciplinaire. Celui-ci peut être consulté à l'adresse
suivante:
http://www2.ulaval.ca/fileadmin/Secretaire_general/Reglements/Reglement_disciplinaire.pdf
Plagiat
Tout étudiant est tenu de respecter les règles 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. résumer l'idée 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 téléchargé d'un site d'achat ou d'échange de travaux scolaires.
L'Université Laval étant abonnée à un service de détection de plagiat, il est possible que l'enseignant soumette vos travaux pour analyse.
Étudiants ayant un handicap, un trouble d’apprentissage ou un trouble mental
Les étudiants qui ont une lettre d'Attestation d'accommodations scolaires obtenue auprès d'un conseiller du secteur Accueil et soutien
aux étudiants en situation de handicap (ACSESH) doivent impérativement se conformer à la politique d'Accommodations scolaires aux
examens de la Faculté des sciences et de génie qui peut être consultée à l'adresse : http://www.fsg.ulaval.ca/fileadmin/fsg/documents
/PDF/Politique-Facultaire-Accommodements.pdf
Matériel didactique
Matériel obligatoire
Tout le matériel didactique nécessaire est disponible sur le site web du cours.
URL : Tout le matériel didactique nécessaire est disponible sur le site web du cours.
© Université Laval
Page 7 de 8
Aucun manuel n'est obligatoire pour ce cours, mais un livre de référence sur le langage Python serait néanmoins utile. De nombreuses
alternatives existent en librairie ou en-ligne sur Internet.
Logiciels
Tous les logiciels nécessaires pour compléter les travaux du cours sont libres et disponibles gratuitement sur Internet. Voir le site web du
cours pour de plus amples détails.
Médiagraphie et annexes
Cette section ne contient aucune information.
© Université Laval
Page 8 de 8
Téléchargement