% INF1256 — Informatique pour les sciences de la gestion % UQAM — Département d'informatique % Plan de cours — Automne 2019 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Coordination ------------ Beaudry, Éric PK-4635 poste 4005 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 Python. Contenu détaillé ================ **Introduction.** Qu'est-ce qu'un algorithme ? Algorithmique et programmation. Introduction au langage Python, son environnement et sa syntaxe. **Variables.** Types de données. Déclaration. Initialisation. Affectation. Durée de vie. **Expressions et opérateurs.** **Instructions de contrôle.** if-then-else; boucles. **Tableaux.** Déclaration. Initialisation. Tableaux multidimensionnels. **Entrées et sorties.** **Fonctions.** Paramètres. Définition. Appel. **Conteneurs.** Listes. Dictionnaires. **Lecture avancée.** Lecture d'un fichier CSV. **Programmation orientée objet.** **Aperçu de bonnes pratiques et d'outils de développement logiciel.** Tests unitaires. Outil de versionnage. Modalités d'évaluation ====================== ----------------- ---------- ----------------- **Description** **Date** **Pondération** Examen Intra 30 % Examen Final 30 % TP1 10 % TP2 15 % TP3 15 % ----------------- ---------- ----------------- 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. Médiagraphie ============ - Tony Gaddis, "Starting out with Python", 4th edition. Pearson, 2018. - Gérard Swinnen, "Apprendre à programmer avec Python 3". Eyrolles, 2012. -