Descriptif de module RS430.100.16.1240 Programmation I Responsable du module Version du : Denis Prêtre 11 septembre 2016 Année académique 2016-2017 Code Page 1240 1/7 La description de module définit les conditions cadres du déroulement de l’enseignement des matières du module. Filière(s) Informatique (INF) Option - Public Plein temps Unités d’enseignement N° Type Niveau d’études 1 Période pédagogique (semestre) 1 2 Désignation 1240.1 1240.2 1240.3 1240.4 CT+TP CT+TP TP CP+TP Langage C Langage C++ Algorithmes et SDD I Assembleur 2 3 3 4 5 6 4 6 2 4 Examen Total 8 8 Indication en périodes d’enseignement hebdomadaires (45 min.) CT – Cours théorique ; Programme Bachelor TP - Travail pratique ; PR – Projet Executive Master Master of Advanced Studies Niveau Elémentaire (Basic) Intermédiaire (Intermediate) Avancé (Advanced) Type Central (Core) Lié (Related) Mineur (Minor) Volume de travail Enseignement Travail personnel Travail total heures 180 180 360 Crédits ECTS 12 Pré requis Remplir les conditions d’admission Spécialisé (Specialized) Descriptif de module RS430.100.16.1240 Programmation I Responsable du module Version du : Denis Prêtre 11 septembre 2016 Objectifs d’apprentissage, compétences visées Année académique 2016-2017 Code Page 1240 2/7 Les objectifs d’apprentissage de ce module sont classés selon les trois degrés croissants de difficulté: (M) Mémorisation, (A) Application et compréhension, (R) Résolution de problèmes (analyse, synthèse, évaluation). A l’issue du module, l'étudiant doit être capable de : Langage C, C++ et Assembleur - Ecrire la syntaxe des langages de programmation C, C++ et d'un langage assembleur. (M) Reproduire les exercices faits en classe. (M) Appliquer les concepts élémentaires de la programmation C, C++ et assembleur à des situations nouvelles. (A) Développer des programmes C, C++ et assembleur. (R) Algorithmes et SDD I - Décomposer un problème complexe en une série de problèmes plus simples - Implémenter et utiliser de manière adéquate les structures de données linéaires (A) Implémenter les algorithmes classiques de tri et de recherche. (A) Evaluer complexité des algorithmes. (R) Implémenter, coder et tester les algorithmes présentés au cours (A) - (R) Descriptif de module RS430.100.16.1240 Programmation I Responsable du module Version du : Denis Prêtre 11 septembre 2016 Validation Année académique 2016-2017 Code Page 1240 3/7 Evaluation des apprentissages - Evaluations des différentes Unités d’Enseignement (UE) Examen semestriel Note finale du module : avec les définitions : mC nC++ eC++ mAL mAS = = = = = M mC mC mAS mAL 2 mC 5 nC eC 2 moyenne des notes de Langage C moyenne des notes de Langage C++ note de l'examen écrit de Langage C++ moyenne des notes d’Algorithmes et SDD I moyenne des notes d’Assembleur Toutes les notes et moyennes sont précisées au dixième de point. Conditions de réussite : Note finale du module Moyennes M ≥ 4.0 (arrondie au demi-point) mi ≥ 3.0 (arrondies au dixième de point) La note finale du module, calculée au dixième de point, permet d’établir la note ECTS. Modalités de remédiation Ce module ne fait pas l’objet d’une remédiation Descriptif de module RS430.100.16.1240 Programmation I Responsable du module Version du : Denis Prêtre 11 septembre 2016 Unité d’enseignement Année académique 2016-2017 Code Page 1240 4/7 Langage C Identifiant 1240.1 Méthode d’enseignement Cours théoriques et travaux pratiques en laboratoire (salle d’informatique), travail personnel Objectifs spécifiques Voir les objectifs généraux du module Modalités d’évaluation - 2 contrôles principaux (CP) écrits annoncés et obligatoires Description du Opérateurs et expressions. contenu (mots-clés) Types de bases du langage. Structures de contrôle: if, switch, do, while, for. Fonctions: passage de paramètres par valeur/par adresse, valeur de retour, blocs, visibilité et durée de vie, prototypes. Tableaux, pointeurs et structures. Allocation dynamique/automatique La structure modulaire: fichiers d'en-tête, projets, les fichiers en C. Travaux pratiques : prise en main de l’environnement de développement, structure générale d’un programme, compilation séparée, Makefile, debug, études de cas. Supports de cours Au choix de l’enseignant Outils utilisés Compilateur C et environnement de développement. Bibliographie - Particularité d’organisation Programmer en langage C, Claude Delannoy, Eyrolles, 2002, ISBN : 2212110723 Langage C - Best of, 2e éd., Claude Delannoy, Eyrolles, 2009, ISBN : 2212124457 Rien de particulier Descriptif de module RS430.100.16.1240 Programmation I Responsable du module Version du : Denis Prêtre 11 septembre 2016 Unité d’enseignement Année académique 2016-2017 Code Page 1240 5/7 Langage C++ Identifiant 1240.2 Méthode d’enseignement Cours théoriques et travaux pratiques en laboratoire (salle d’informatique), travail personnel Objectifs spécifiques Voir les objectifs généraux du module Modalités d’évaluation - 2 contrôles principaux (CP) écrits annoncés et obligatoires Un examen écrit à la fin du semestre de printemps. Description du Différences entre C et C++. contenu (mots-clés) La programmation objet en C++: les concepts objet, classes, objets, constructeurs, destructeurs, opérateurs new et delete, héritage simple, héritage multiple, surcharge des fonctions, surcharge des opérateurs, fonctions amies, classes amies, références, polymorphisme, méthodes virtuelles, classes abstraites, patrons de fonctions, patrons de classes, flots d’entrée/sortie, gestion des exceptions, STL, opérateurs de transtypage et RTTI, listes chaînées. Travaux pratiques : prise en main de l’environnement de développement, structure générale d’un programme, compilation séparée et Makefile, études de cas. Supports de cours Au choix de l’enseignant Outils utilisés Compilateur C++ et environnement de développement. Bibliographie - Particularité d’organisation Le langage et la bibliothèque C++ norme ISO, Henri Garreta, Edition ellipses, 2000, ISBN : 2729800727 Le langage C++, Bjarne Stroustrup, CampusPress France, 2003, ISBN : 2744070033 L'INTRO C++, Le livre d'initiation pour C++, Jesse Liberty, Edition CampusPress France, 2002, ISBN : 2744013471 Rien de particulier Descriptif de module RS430.100.16.1240 Programmation I Responsable du module Version du : Denis Prêtre 11 septembre 2016 Unité d’enseignement 1240.3 Méthode d’enseignement Cours et exercices Modalités d’évaluation 2016-2017 Code Page 1240 6/7 Algorithmes et SDD I Identifiant Objectifs spécifiques Année académique - Implémenter et tester différents algorithmes et structures de données Valoriser et illustrer la règle d'or : "Diviser pour régner" au niveau des : a) Procédures b) Objets c) Unités de compilation 2 contrôles principaux (CP) écrits, annoncés et obligatoires Description du Introduction à la complexité, Formalisation des algorithmes sous forme de contenu (mots-clés) structogrammes (programmation structurée), Structures de données linéaires, Algorithmes de tri simples. Introduction à la récursivité Supports de cours Au choix de l’enseignant Outils utilisés Compilateur C++ et environnement de développement. Bibliographie Particularité d’organisation Rien de particulier Descriptif de module RS430.100.16.1240 Programmation I Responsable du module Version du : Denis Prêtre 11 septembre 2016 Unité d’enseignement Année académique 2016-2017 Code Page 1240 7/7 Assembleur Identifiant 1240.4 Méthode d’enseignement Cours théoriques et travaux pratiques en laboratoire, travail personnel Objectifs spécifiques Voir les objectifs généraux du module Modalités d’évaluation 1 à 2 contrôles principaux (CP) écrits annoncés et obligatoires. Description du Microprocesseurs et microcontrôleurs, architecture, fonctionnement, registres, contenu (mots-clés) mémoire, E/S, pile, adressage, interruptions, codage et décodage des instructions, microcode, instructions arithmétiques, instructions logiques, décalages, structures de contrôles, programmation en langage assembleur, structure des programmes, sous-programmes, passage de paramètres, interfaçage avec les langages de haut niveau (C/C++), chaines de caractères, macro-instructions. Supports de cours Au choix de l’enseignant Outils utilisés - Freescale Codewarrior Development Studio for S12(x) Kit d’évaluation MC68HC912B32 Bibliographie - The Art of Assembly Language (http://webster.cs.ucr.edu/) Support de cours Particularité d’organisation Rien de particulier