% INF1256 — Informatique pour les sciences de la gestion % UQAM — Département d'informatique % Plan de cours — Automne 2020 * Horaires, locaux et enseignants: * Site web du cours: Responsable(s) du cours ======================= Coordination ------------ Salah, Aziz PK-4530 Enseignement ------------- Dimassi, Sonia PK-4115 Groupes: 010 Leblanc, Hugo PK-4115 Groupes: 011 Faubert Laurin, Maxime PK-4115 Groupes: 050 Description officielle ====================== Objectifs --------- Ce cours vise à familiariser les étudiants à l'utilisation d'un langage de programmation pour résoudre des problèmes liés à la gestion. Il s'adresse aux étudiants qui n'ont aucune expérience en programmation. Il permettra aux étudiants de comprendre le rôle de la programmation dans la résolution de problèmes et de s'initier à certaines pratiques du génie logiciel. Sommaire du contenu ------------------- Concepts de base des algorithmes. Introduction à un langage de programmation: variables, types de données, opérateurs et expressions, instructions, structures de contrôle (séquence, sélection, répétition, invocation). Cycle de vie du logiciel. Introduction à certaines pratiques du génie logiciel, par exemple, tests unitaires, gestionnaire de code source, approche itérative et incrémentale. Enjeux reliés à la mise en place des systèmes informatiques (SI) et rôle des analystes d'affaires dans l'établissement d'un SI. Introduction à l'architecture des systèmes et aux notions de base relatives au développement de sites Web. Approche pédagogique orientée vers la résolution de problèmes reliés au domaine de la gestion dans un environnement Web. Langage de programmation ======================== Le langage de programmation enseigné dans ce cours est Python3. Contenu détaillé basé sur le livre du cours LP3THW(2017) ======================================================== - **Introduction.** Algorithme et programme. (1 heures) - **Premiers programmes (ex. 0-14)** Introduction au langage Python, son environnement et sa syntaxe. Exécution. Types de données. Déclaration de variables. Opérations simples. Affichage et saisi. Paramètres de programme. (9 heures) - **Lecture et écriture de fichiers (ex. 14-17)** (3 heures) - **Fonctions (ex. 18-22)** (4 heures) - **Caractères et chaines de caracatères (ex. 23-26)** (3 heures) - **Instruction if (ex. 27-31)** (3 heures) - **Examen intra** - **Boucles et listes(tableaux) (ex. 32-35)** (6 heures) - **Conception et déboggage, revue des instructions de python (ex.36-37)** (2 heures) - **Manipulation de listes et dictionnaires (ex. 38-39)** (3 heures) - **Programmation orientée objet (ex. 40-42)** (5 heures) - **Tests unitaires. Outil de versionnage.** (si possible) (2 heures) - **Examen final** N.B: Le contenu du cours est taillé sur le livre LP3THW(2017). Chaque enseignant peut couvrir le même contenu dans un ordre différent s'il veut suivre une autre référence. Les groupes seront alignés sur l'intra et le final. Formule Pédagogique =================== - Les exposés magistraux ainsi les séances de laboratoire se dérouleront en ligne en mode synchrone. Modalités d'évaluation ====================== Description Pondération Date ----------------------------------- ------------- ---------------- Examen intra (devoir à la maison) 25% semaine 7 ou 8 Examen final (devoir à la maison) 25% semaine 15 TP0 5% TP1 15% TP2 15% TP3 15% Le TP0 traite de l'installation et du test d'un environnement de programmation avec Python. Les dates de distribution des énoncés des travaux pratiques ainsi que les dates de remise sont spécifiques à chacun des groupes. Nous rappelons aux étudiants qu'ils doivent s'attendre à fournir une moyenne de 6 heures de travail par semaine pour un cours de 3 crédits. Règles concernant le seuil de passage L'étudiant doit obtenir une moyenne cumulée aux examens égale ou supérieure à 50%, ainsi qu'une moyenne cumulée pour les travaux supérieure ou égale à 50%. Si ces seuils ne sont pas atteints, la mention échec sera automatiquement attribuée au cours. Les travaux pratiques doivent être faits individuellement ou en équipe selon les directives de l'enseignant. Une pénalité de 10 points sur 100 par jour sera appliquée aux travaux remis après les dates prévues. Après 5 jours de retard, le travail sera considéré comme non remis entraînant la note 0 pour ce travail. Il est de la responsabilité de l'étudiant de faire des copies de sauvegarde de ses travaux. Matériel requis =============== - Ordinateur avec une bonne connexion internet - Casque avec micro - Webcam Médiagraphie ============ - Livre recommandé du cours **LP3THW(2017)** : [Zed A. Show, "Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code", Third Edition, 2017](https://learnpythonthehardway.org/python3/) - John M Zelle, Python Programming: An Introduction to Computer Science, 3rd ed. edition, 2016 - Tony Gaddis, "Starting out with Python", 4th edition. Pearson, 2018. - Gérard Swinnen, "Apprendre à programmer avec Python 3". Eyrolles, 2012. - - -