Libellé du cours : | Programmation mobile et réalité augmentée |
---|---|
Département d'enseignement : | MIN / Mathématiques - Informatique |
Responsable d'enseignement : | Monsieur THOMAS BOURDEAUD HUY |
Langue d'enseignement : | Français |
Ects potentiels : | 4 |
Grille des résultats : | Grade de A+ à R |
Code et libellé (hp) : | G1G2_ED_MIN_PMR - Prog. mobile et réal. augment. |
Equipe pédagogique
Enseignants : Monsieur THOMAS BOURDEAUD HUY / Madame ISABELLE LE GLAZ / Monsieur SLIM HAMMADI
Intervenants extérieurs (entreprise, recherche, enseignement secondaire) : divers enseignants vacataires
Résumé
Ce cours couvre le développement Mobile sous Android, avec une application à la réalité augmentée. Il présentera l’écosystème de la mobilité, les solutions techniques natives et hybrides sous forme de témoignage, et une formation au développement Android. Les TP d’Android seront donnés sous forme de demi-séminaires, en groupes complets compte-tenu du nombre d’intervenants disponibles. Les étudiants devront compléter l’application fabriquée en TP à l’occasion d’un mini-projet. La partie sur la réalité augmentée se déroulera en 3 étapes : une partie cours, une partie applications industrielles et une partie mini projet encadré.
Objectifs pédagogiques
À l’issue du cours, l’élève sera capable de : - Appréhender les solutions de développement Mobile Hybrides et Cross-Platform - Comprendre le style d’architecture d’applications RESTFul - Comprendre les problématiques d’ergonomie, d’UX et de material design - Développer une application complète fonctionnant sous Android - Appréhender les bonnes pratiques de développement et d’industrialisation du code - Comprendre les principes de construction d’interfaces à réalité augmentée Contribution du cours au référentiel de compétences ; à l’issue du cours, l’étudiant aura progressé dans : - la capacité à concrétiser ou à réaliser un prototype (1.9). o En effet, il devra réaliser un mini-projet de développement d’application Mobile. - la capacité à comprendre et formuler le problème (2.1) ; la capacité à utiliser des concepts ou des principes dans les descriptions d'événements (2.2) ; la capacité à reconnaître les éléments spécifiques d'un problème (2.3) ; la capacité à identifier les interactions entre éléments (2.4) o En effet, il aura l’occasion d’utiliser des outils d’inspection de code et utilisera des diagrammes de conception pour représenter les interactions entre les différentes couches de l’architecture de sa solution. - la capacité à proposer un ou plusieurs scénarios de résolution (2.5). o En effet, il sera amené à organiser les solutions techniques vues en cours pour résoudre différents cas d’étude. o Dans le cadre de son mini-projet, il devra produire plusieurs documents de conception (mockups, modèles conceptuels et physiques de données) - la capacité à converger vers une solution acceptable (suivi hypothèses, ordres de grandeur ...) (2.7) o En effet, dans le cadre du mini-projet, une démarche de développement incrémentale sera proposée. - la capacité à appréhender toutes les dimensions scientifiques et techniques d'un projet (3.1) o En effet, il devra non seulement parvenir à un résultat fonctionnellement correct vis-à-vis du cahier des charges de son projet, mais il devra également justifier de la qualité de son développement au regarde des problématiques d’ergonomie/UX, de performance, de sécurité et de maintenabilité de son code. - la capacité à approfondir rapidement un domaine (3.2). o En effet, le SDK Android est très riche et les concepts et outils qui l’accompagnent nombreux. Dès les premiers cours, l’étudiant devra pouvoir mobiliser un ensemble de technologies vaste. Il devra être capable de comprendre en autonomie des ressources documentaires nombreuses et de qualité variable. - la capacité à définir et à négocier des objectifs (3.3). o En effet, à l’occasion du mini-projet les étudiants devront définir leurs objectifs en les hiérarchisant - la capacité à développer des méthodes de travail, à organiser (3.5). o En effet, des démarches de développement incrémentales seront proposées (méthodologie de développement agile) - la capacité à intégrer les règles et normes qualité / sécurité / environnementales (3.9) o En effet, on sensibilisera les étudiants aux normes de qualité de code, au développement dirigé par les tests et aux solutions d’intégration continue, à l’occasion de témoignages de professionnels pratiquants - la capacité à modéliser et développer en utilisant des lunettes à réalité augmentée des problèmes industriels d’aide à la décision. o En effet, on sensibilisera les étudiants aux problématiques envisagées dans les entreprises. Ils doivent à la fin être capables d’imaginer et proposer des solutions logicielles innovantes à base de réalité augmentée
Objectifs de développement durable
Modalités de contrôle de connaissance
Contrôle Continu
Commentaires: Un examen de validation des prérequis sera organisé pour évaluer les étudiants, permettant de vérifier individuellement la compréhension des concepts et la maîtrise des techniques de base.
Le mini-projet Android sera associé à des livrables intermédiaires qui seront évalués, ainsi que la soutenance.
Le cours d'Android est également associé à des TEA qui sont évalués.
Ressources en ligne
Il existe une multitude de supports de bonne qualité sur le développement Android, disponibles directement sur le site <https://developer.android.com/index.html>. Les développements se font en utilisant le langage Kotlin. Les étudiants doivent avoir suivi des formations en ligne présentant ce langage avant la première intervention de Mohamed Boukadir : - https://www.udacity.com/course/kotlin-bootcamp-for-programmers--ud9011 (en priorité) - https://openclassrooms.com/fr/courses/5353106-initiez-vous-a-kotlin Une bonne connaissance de git est également suggérée.
Pédagogie
Les TP d’Android seront donnés sous forme de demi-séminaires, en groupes complets compte-tenu du nombre d’intervenants disponibles. Les étudiants devront compléter l’application fabriquée en TP à l’occasion d’un mini-projet. Parmi les 48h présentielles, 36 seront consacrées au développement Android et 12 aux problématiques de réalité augmentée. La partie cours abordera le concept de la réalité augmentée, son historique, une étude de l’existent dans différents domaines (santé, transport, production, marketing, etc.) avec éventuellement des illustrations sous forme de vidéos. Le mini projet sera consacré à la résolution d’un problème industriel concret. (Mise en contact possible avec des industriels) L’évaluation sera sous forme d’une soutenance avec un jury incluant des enseignants et les industriels concernés.
Séquencement / modalités d'apprentissage
Nombre d'heures en CM (Cours Magistraux) : | 48 |
---|---|
Nombre d'heures en TD (Travaux Dirigés) : | 0 |
Nombre d'heures en TP (Travaux Pratiques) : | 0 |
Nombre d'heures en Séminaire : | 0 |
Nombre d'heures en Demi-séminaire : | 0 |
Nombre d'heures élèves en TEA (Travail En Autonomie) : | 24 |
Nombre d'heures élèves en TNE (Travail Non Encadré) : | 0 |
Nombre d'heures en CB (Contrôle Bloqué) : | 0 |
Nombre d'heures élèves en PER (Travail PERsonnel) : | 0 |
Nombre d'heures en Heures Projets : | 0 |
Pré-requis
Electif POO ou très bonne connaissance des concepts de la conception et de la programmation orientée objets et du langage java. Si l'électif POO n'a pas été suivi, ou s'il a été suivi mais n'a pas été validé, nous vous communiquerons lors de votre inscription les conditions permettant de lever ces réserves. (il s'agira d'une évaluation permettant de valider votre compréhension de la conception orientée objet et vos compétences pratiques de développement en java). Les élèves non retenus seront affectés dans les électifs du bloc B dans lesquels il restera des places vacantes. -- Merci de venir à chaque séance avec votre PC personnel, avec les outils dont vous aurez besoin. Pour cela, merci d'effectuer les tâches suivantes : - Installer la dernière version de l'IDE Android Studio ; - Installer le SDK 23 (Android 6) ainsi que celui correspondant à votre smartphone si vous avez un tél. Android (à défaut, Android "Q" 10) ; - Créer un premier projet, ciblant le niveau minimal d'API 23 ; - Créer dans ce projet une "empty Activity" ; - Créer un terminal de type "Pixel 3A", en sélectionnant une image associée au playstore : "Google Play Intel x86 Atom System Image" et au SDK de votre smartphone (ou Android Q); - Tester votre application dans ce terminal et vérifier qu'elle fonctionne sans problème.
Nombre maximum d'inscrits
64
Remarques
Cet électif a pour prérequis l’électif S6a “POO”, car il s’agit d’un électif exploitant les langages kotlin et java, qui nécessite une très bonne maîtrise de la conception et de la programmation orientée objets. La principale compétence pour organiser ce cours est un intervenant extérieur, Mohamed Boukadir. Les créneaux de cet électif ne doivent pas se chevaucher avec l’électif S6b “Web”. Des salles BYOD (comme la C118) seront nécessaires pour permettre l’organisation de Travaux pratiques par groupes de 24 étudiants maximum.