L'admission se fait sur dossier. L'entrée en M2 est possible après une formation de niveau bac+4 ou équivalent.
Les plus de la formation
Cette formation combine un enseignement aux technologies logicielles les plus prisées par les entreprises et des cours avancés ouvrant à la recherche. Elle s'appuie sur une équipe de recherche renommée et est soutenue par le Labex Bezout. La formation inclut une part importante de formation au travail en projet.
Compétences visées
La formation ouvre des compétences en développement logiciel et en gestion de projets informatiques. A la fin de leur formation, les diplômés du master Logiciels savent utiliser plusieurs technologies de pointe : Java EE, Java embarqué avec Android, Big Data, SCALA... Les travaux dirigés et projets de développement leur donnent une solide expérience pratique. Les options d'approfondissement proposées visent chacune un domaine (Big data, Système, Ingénierie linguistique et Intelligence artificielle et robotique) dans lequel est réalisé un projet de recherche et d'innovation technologique.
Modalités d'accès
Le dossier de candidature est à déposer sur l'application eCandidat de l'université Gustave Eiffel. https://candidatures.univ-eiffel.fr Il est important que le dossier comporte une attestation du diplôme requis, un relevé de notes, une lettre de motivation et éventuellement une lettre de recommandation.
Les débouchés professionnels sont abondants, en termes de secteurs d'activités comme de types d'emplois. Ils vont du développement d'applications à la gestion de systèmes d'information. La poursuite en doctorat est possible au sein de l'école doctorale de l'université.
Introduction des bases de la programmation en Java EE. Les notions principales présentés sont : Presistence (ORM, notion de datasource), injection de dépendances, EJB, configuration d'un conteneur, servlet, services REST, frameworks MVC. Les étudiants travaillent sur des TP pour chaque notion et ensuite ils préparent un projet.
L'objectif de ce cours est d'étudier le développement d'applications mobiles sur le système d'exploitation Android. Nous étudions l'API graphique Java pour réaliser des activités en agençant des composants, gérant les événements graphiques, crééant des composants, utilisant des adaptateurs. Nous nous intéressons à la mise en place de services, à la communication réseau, à l'utilisation de capteurs ainsi qu'aux problématiques posées par le multithreading.
Au travers de la réalisation en équipe de 6 ou 8 étudiants d’un développement d’application complexe (DMP : la gestion du Dossier Médical du Patient), le module Gestion de Projet et Communication de M2 Logiciel fait prendre conscience aux étudiants de toutes les difficultés que l’ingénieur rencontrera dans son travail en entreprise dans le cadre de développement de projets logiciels
• Compréhension et formalisation du besoin Client
• Définition de la solution fonctionnelle et de l’IHM, découpage de la solution en plusieurs versions
• Architecture des composants
• Définition des objectifs non fonctionnels
• Identification des tests de validation du produit
• Définition du planning et du budget de Réalisation et de Convergence
• Réalisation en architecture distribuée
• Convergence d’un développement industriel, validation de l’atteinte des objectifs initiaux.
Nos cours d’anglais sont conçus pour améliorer votre anglais usuel et vous aider à acquérir de véritables compétences linguistiques, qui vous sont utiles dans la vie quotidienne et professionnelle. Les cours sont interactifs, stimulants et dotés d’objectifs bien précis qui contribuent à vous faire progresser vers la réalisation de vos objectifs. Votre professeur vous confie des tâches structurées, suit vos progrès et vous donne des conseils qui vous aident à vous exprimer plus facilement en anglais et à vous sentir plus sûr de vous.
Ce cours met en oeuvre les principaux concepts de la programmation objet tels que l’encapsulation, l’héritage et le polymorphisme, ainsi que la surcharge d’opérateurs, les foncteurs, la programmation générique et la gestion des erreurs avec les exceptions. La librairie STL est largement utilisée. Les nouveautés de C++ 11, C++ 14 et C+11 sont présentées. Elles couvrent de nombreuses modifications qui permettent d'écrire rapidement du code plus sûr et plus rapide : l’initialisation uniforme, la délégation de constructeurs, les expressions constantes généralisées, les lambdas et les fermetures, l’inférence de type, la ‘’move semantics’’, les Rvalues, les templates variadiques. La méta-programmation est également introduite. Les notions théoriques du cours sont illustrées de nombreux exemples et leur mise en oeuvre est réalisée lors de travaux pratiques.
La programmation fonctionnelle échappe progressivement du milieu académique pour s'imposer comme alternative aux paradigmes historiques dans l'industrie. Cette formation couvre les majeurs concepts du paradigme fonctionnel (fonctions, transparence référentielle, typeclasses etc.) en s'appuyant sur le langage Scala. Ce dernier possède une forte présence dans l'industrie, notamment grâce à sa percée dans le domaine de la BigData. Les outils et techniques seront présentés sous un angle pratique et illustrés au travers d'exemples de code.
Le cours présente les middlewares de programmation répartie et leurs limites avant de présenter les services Web WS-* (dit services SOAP, avec WSDL, SOAP et UDDI) et finit avec les services Web REST. En TD, prise en main avec Eclipse et Axis pour les services Web WS-* et JAX-RS avec Jersey pour les services Web REST.
Etude des principes du cloud computing (IaaS, PaaS, Saas; cloud privé, public, hybride) et du calcul distribué. Nous considérerons la conception d’algorithmes pour le framework MapReduce (map, shuffle, reduce) sur des données relationnelles et du type graphe. Compréhension des principales abstractions et composants du framework Apache Spark (Spark Core, SparkSQL, GraphX)
Ce cours se concentre sur les modèles de données, modes de requêtage, méthodes de distribution de données et des traitements, tolérance aux pannes et gestion de la concurrence des systèmes de gestion de base de données exploités dans le contexte des grandes masses de données (Big data). Les systèmes étudiés appartiennent aux catégories NoSQL et NewSQL.
Ce cours concerne la branche représentation des connaissances de l’intelligence artificielle. Nous étudierons les principales méthodes de raisonnement dans un contexte logique (logique du premier ordre et de description). Dans le contexte des recommandations W3C du Web sémantique, les notions suivantes seront étudiées: développement d’ontologies; stockage, requêtage et raisonnement de graphes de connaissances.
Ce cours est un complément des cours ‘Bases de données du Big data’ et ‘Cloud computing et calcul distribué avec le framework MapReduce’ qui se concentre sur les concepts encadrant le traitement de flux de données: batch vs stream processing, moteur de traitement de flux, fenêtrage des requêtes, tolérance aux pannes, impact des systèmes de pub-sub sur ces architectures. Il couvrira également les aspects d’automatisation du déploiement, montée en charge et conteneurisation d‘applications.
Cette unité de valeurs est une introduction aux concepts, outils et algorithmes utilisés en data-science. Les grands problèmes type de l'apprentissage statistiques sont introduits (apprentissage supervisé, classification, régression, clustering, réduction de dimension) ainsi que les méthodologies permettant de contrôler les performances des algorithmes (validation croisée, leave one out,...). Différents algorithmes permettant de traiter ces problèmes (K-means, CAH, ACP, SVM, Arbre de Décision,...) sont présentés en détails ainsi que les bibliothèques python usuelles pour mettre en oeuvre ceux-ci. L'unité de valeur fait en effet une large place à la mise en pratique au travers de TP en python ainsi que d'un projet.
Le stage en entreprise est un mode de formation où l'étudiant associe aux connaissances théoriques acquises une expérience pratique en milieu de travail.
Il se prépare ainsi, d'une façon graduelle, à exercer l'activité professionnelle à laquelle il se destine.
Ce site web utilise des cookies. Ceux-ci ont deux fonctions: d'une part, ils fournissent des fonctionnalités de base pour le site web. D'un autre côté, ils nous permettent d'améliorer notre contenu en enregistrant et en analysant les données anonymes des utilisateurs. Vous pouvez à tout moment reconsidérer votre consentement à l'utilisation des cookies. Trouvez plus d'informations sur les cookies sur notre Déclaration relative aux cookies et sur notre Politique de confidentialité.