Langages et Frameworks



Documents pareils
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Programme et contenus Licence d'informatique de Lille, parcours MIAGE, en alternance ou en formation continue (13:40)

L enseignement de méthodes agiles dans un contexte d apprentissage actif

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Éléments de programmation et introduction à Java

PG208, Projet n 3 : Serveur HTTP évolué

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Évaluation et implémentation des langages

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

MANAGEMENT DES SERVICES INFORMATIQUES

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Vérifier la qualité de vos applications logicielle de manière continue

BES WEBDEVELOPER ACTIVITÉ RÔLE

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Compte Rendu d intégration d application

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Générer du code à partir d une description de haut niveau

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

TP1 : Initiation à Java et Eclipse

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

COMMUNICATION EVENEMENTIELLE BAC+4 Promotion

GPC Computer Science

Master Informatique Aix-Marseille Université

as Architecture des Systèmes d Information

Vulgarisation Java EE Java EE, c est quoi?

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Bases Java - Eclipse / Netbeans

Environnements de développement (intégrés)

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

CQP Développeur Nouvelles Technologies (DNT)

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

SCIENCES - TECHNOLOGIES - SANTE. STIC : Sciences et Technologies de l Information et de la Communication. Parcours Informatique

Dafoe Présentation de la plate-forme UIMA

Sous réserve de validation par les instances de l Université. Information, Communication, Culture Euromédias

Master Energie spécialité Energie électrique

Remote Method Invocation (RMI)

Introduction à Eclipse

Cette liste n est pas exhaustive

Cours. Cours 8 : Révisions. Importance. Interface homme-machine

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Baccalauréat universitaire (bachelor) en mathématiques et sciences informatiques

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Economiste d entreprise BACHELOR OF SCIENCE

SECTION 5 BANQUE DE PROJETS

Développement de projets logiciels à l'aide de Python

MASTER INFORMATION-COMMUNICATION : MÉDIAS ET COMMUNICATION (P)

RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS)

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Présentation du PL/SQL

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Master Théorie et pratiques des arts interactifs

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Devenez un véritable développeur web en 3 mois!

MASTER INFORMATION-COMMUNICATION : COMMUNICATION DES ENTREPRISES ET DES INSTITUTIONS (P)

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

CalDav Manager : Gestionnaire d emploi du temps

Semestre 2 Spécialité «Analyse in silico des complexes macromolécules biologiques-médicaments»

Programmation par composants (1/3) Programmation par composants (2/3)

Master Information et communication spécialité Produits et services multimédia

TUTORAT. U Guelma. Guide du Tuteur FMISM

Normes et description. des ressources continues et données d autorité Analyse de l information Recherche documentaire : méthodes et outils

SCIENCES DE L ÉDUCATION

Scénario n 24 : QUOI FAIRE AVEC MON BAC PRO TRANSPORT /LOGISTIQUE?

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Prise en compte des ressources dans les composants logiciels parallèles

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Mise en œuvre des serveurs d application

Annexe : La Programmation Informatique

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Compte rendu de la formation

Armand PY-PATINEC 2010

Grâce aux compétences acquises, il participe ou pilote des activités qui peuvent consister à :

Synthèse du «Schéma Directeur des Espaces Numériques de Travail» A l attention du Premier degré (doc réalisé par Les MATICE 76)

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

«Centreon Status Map» Conception et développement d une application j2se

Programmation d'applications sur PDA

MASTER MARKETING VENTE, SPÉCIALITÉ MARKETING STRATÉGIQUE DES PRODUITS ET DES MARQUES

Le Rectorat de la Haute école spécialisée de Suisse occidentale,

Programme de formation

TP 1. Prise en main du langage Python

MASTER MARKETING VENTE, SPECIALITE MANAGEMENT ET DIRECTION DES EQUIPES COMMERCIALES

4.2 Unités d enseignement du M1

Intégration et Déploiement de Systèmes d Information

Chapitre I Notions de base et outils de travail

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Description de la formation

Transcription:

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) Orientation Public Informatique (INF) Développement Logiciel et Multimédia (dlm) Plein temps Unités Niveau d études 1 2 3 Période pédagogique (semestre) 1 2 3 4 5 6 N Type Désignation.1 CT+TP Java 4 4.2 CT+TP C++ avec Qt 4 4.3 TP Python 2 Examen Total 8 10 Indication en périodes hebdomadaires (45 min.) CT Cours théorique ; TP - Travail pratique ; PR Projet Programme Bachelor Executive Master Master of Advanced Studies Niveau Elémentaire Intermédiaire Avancé Spécialisé (Basic) (Intermediate) (Advanced) (Specialized) Type Central Lié Mineur (Core) (Related) (Minor) Volume de travail heures Enseignement 202 Travail personnel 218 Travail total 420 Crédits ECTS 14 Pré requis Avoir acquis les modules : - Programmation I (1240)

2/7 d apprentissage, compétences visées 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 : - Exposer les connaissances de base des divers langages utilisés. (M) - Reproduire les exercices faits en classe. (M) - Appliquer leurs connaissances à des situations nouvelles. (A) - Réaliser, tester et programmer de petites applications selon un cahier des charges. (R) Plus globalement, l étudiant doit être capable de s intégrer dans une équipe de développement logiciel en Java, C++ ou Python (R). Il disposera de solides compétences dans la programmation orienté objet (A). Il sera en mesure de concevoir implémenter et tester de petites applications (R).

3/7 Validation Evaluation des apprentissages - Evaluations des différentes Unités d Enseignement (UE) - Examen semestriel de Java II et de C++ avec Qt II Note finale du module : 2 m 2 m m M 5 J Q P avec les définitions : m J n e 2 J J m Q n e Q Q 2 n J = moyenne des notes de Java e J = note de l'examen écrit de Java n Q = moyenne des notes de C++ avec Qt e Q = note de l'examen écrit de C++ avec Qt IDE m P = moyenne des notes de Python 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) m i 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

4/7 Unité Java Identifiant.1 Méthode spécifiques Cours et exercices A l'issue du cours, l'étudiant sera en mesure de Développer une application desktop graphique évènementielle multithreadée orienté objet. Tester son application (test unitaire). Déployer son application (hors IDE). Plus particulièrement, l étudiant sera en mesure d utiliser efficacement les techniques de programmation orientée objet. Les notions d héritages et de polymorphismes n auront plus de secret pour lui, y compris dans les situations complexes. Il saura les utiliser efficacement pour rendre ces codes plus simples, plus robustes et avec un degré élevé de réutilisabilité des composants développés. Il s efforcera d utiliser toutes les possibilités du langage pour que son code possède un haut degré de lisibilité et de maintenance. Il saura mettre en œuvre des méthodes agiles tel que le refactoring pour garantir une structure et cohésion optimale de ses packages et de ses classes. Il emploiera les génériques et utilisera des noms (paquetages, classes, méthodes, variables) les plus pertinents possibles. Il s aura s aider des collections pour résoudre des problèmes à priori complexes. Il sera sensibilisé au problème de synchronisation simple. L étudiant maitrisera les tests unitaires et sera en mesure d établir la couverture de code associé. Il s aura se documenter pour utiliser des composants tiers dans ses projets. Finalement il disposera d une méthodologie lui permettant d implémenter efficacement ces idées dans le riche écosystème java. Il s appuiera sur un IDE évolué lui permettant de coder le plus efficacement possible. A partir du second semestre, l étudiant sera en mesure de développer des applications graphiques contenant les composants usuels d un GUI et de gérer les événements permettant de contrôler l application. Il sera en mesure de réaliser des animations graphiques, en particulier sur les images. Il saura utiliser efficacement des timers et des threads pour exploiter au mieux la puissance des machines multi-core. Il sera sensibilisé à l utilisation du design pattern modèle vue contrôleur. Ses applications utiliseront des objets distribués. Il maitrisera les mécanismes de sérialisation, et les flux pour transférer de l information entre deux entités. Il sera en mesure de développer une application utilisant à la fois du java et du C++ (dans un sens ou dans l autre). Il sera à même d exploiter en java une dll dont il ne dispose pas du code source.

5/7 Modalités d évaluation - Minimum 3 contrôles principaux (CP) écrits, annoncés et obligatoires. - Un examen écrit à la fin du semestre de printemps. La taxation peut dépendre du déroulement du travail personnel et de travaux pratiques réalisés en cours. La méthode de prise en compte sera clairement indiquée par le professeur au début du cours. Description du contenu (mots-clés) - Spécificité d une machine virtuelle - La syntaxe du langage (types, structures de contrôles, ) - Le paradigme objet (encapsulation, héritage, polymorphisme, ) - Les collections - Les génériques - La réflexion - Les tests unitaires (Junit et couverture de code) - La gestion de projet (jar, doc, package, classpath) - Le monitoring d une JVM - Le profiling d une application - Déploiement d une application - Utilisation d un IDE évolué - Programmation parallèle (thread, pool de thread,, synchronisation simple) - Programmation graphique (Swing, Layouts, java2d, animation, timer, ) - Les flux (IO,.txt,.bin) - La persistance (Propriétés/Préférences) - La sérialisation Les objets distribués (RMI) - L API java-comm (selon temps disponible) - L interopérabilité avec du code natif (C++) et des dll (selon temps disponible) Supports de cours Outils utilisés Au choix de l enseignant Les outils utilisés sont précisés par l'enseignant au début du cours Bibliographie - Au cœur de Java, JDK 5.0, Volume 1 (Notions fondamentales), Volume 2 (Fonctions avancées), CampusPress, 2006 - Java, Tête la première, 2ème édition, Kathy Sierra, Bert Bates, O'Reilly, 2006 - Le langage Java, Concepts et pratique - le JDK 5.0, 3ème édition revue et augmentée, Irène Charon, Éditions Hermès, 2006 - Swing, la synthèse, Développement des interfaces graphiques en Java. 2ème édition, Valérie Berthié, Jean-Baptiste Briaud, Dunod, 2005 Particularité d organisation Rien de particulier

6/7 Unité C++ avec Qt Identifiant.2 Méthode Cours et exercices (laboratoire) de programmation. spécifiques Modalités d évaluation Décrire le modèle événementiel de Windows et de Qt. Développer des applications graphiques en y intégrant des ressources. Réaliser des animations simples en 2D. Utiliser le GraphicsViewFramework pour réaliser des animations graphiques. Utiliser des modules de Qt comme QtNetwork, QtXml, QtOpenGL. Réaliser des interfaces utilisateur simples en QML avec Qt Quick. - Minimum 3 contrôles principaux (CP) écrits, annoncés et obligatoires. - Présentation par les étudiants de concepts non traités en cours - Un examen écrit à la fin du semestre de printemps. La taxation peut dépendre du déroulement du travail personnel et en cours. La méthode de prise en compte sera clairement indiquée par le professeur au début du cours. Description du contenu (motsclés) Supports de cours - Programmation événementielle, interfaces graphiques, fenêtres, souris, menus, boîtes de dialogue, Qt Designer, graphisme 2D, animations, impressions (C++, Qt, POO). - QGraphicsView, conteneurs et itérateurs, entrées / sorties, QtNetwork, parsing XML, bibliothèques dynamiques, introduction au module Qt Quick (C++, Qt, POO, sérialisation, XML). Au choix de l'enseignant Outils utilisés Ce cours s appuie sur l utilisation du toolkit Qt (http://qt-project.org/). Bibliographie - Qt4 et C++ : Programmation d interfaces GUI, J. Blanchette, M. Summerfield, Pearson Education (2007) - An Introduction to design patterns in C++ and Qt4 2nd, A.+P. Ezust, Prentice Hall PTR (2012) Particularité d organisation Rien de particulier

7/7 Unité Python Identifiant.3 Méthode Cours, exercices et travaux pratiques en laboratoire spécifiques Modalités d évaluation - Écrire un programme ou un script en python pour l analyse de données textuelles en utilisant les expressions régulières, les générateurs et les gestionnaires de contextes. - Maîtriser les particularités de la programmation Python liées essentiellement au typage dynamique, à sa nature interprétée et au développement rapide d applications - Réutiliser des programmes, scripts existants et modules en Python - Exercer la programmation fonctionnelle avec Python - 2 contrôles principaux (CP) écrits, annoncés et obligatoires Description du contenu (mots-clés) Supports de cours Outils utilisés Bibliographie - Prise en main des éléments de base du langage Python (types de données, contrôle de flux, instruction répétitives, fonctions, manipulation des fichiers, programmation orientée objets) - Structures avancées en python (exceptions, surcharge des opérateurs, itérateurs, générateurs, gestionnaires de contextes) - Aspects fonctionnels de python («list comprehensions», décorateurs) Au choix de l enseignant Les outils utilisés sont précisés par l'enseignant au début du cours -Gérard Swinnen. Apprendre à programmer avec Python. Edition Eyrolles. 2010. -Tarek Ziadé, Programmation Python, Edition Eyrolles, 2006 Particularité d organisation Rien de particulier