Cours 2020-2021

Conception d'applications mobiles [INFOM451]

  • 5 crédits
  • 30h+15h
  • 1er quadrimestre
Langue d'enseignement: Français

Acquis d'apprentissage

A la fin du cours, l’étudiant aura acquis une connaissance approfondie des concepts, techniques et paradigmes de programmation nécessaires au développement d’une application réactive et contextuelle.

 

Objectifs

Les objectifs du cours est d'étudier les paradigmes de programmation sous-jacents à la réalisation d'applications mobiles, réactives et contextuelles.

Contenu

Outre l'aspect novateur d'utiliser le cadre du logiciel libre pour concevoir un système d'exploitation pour appareils mobiles dans un domaine jusque là hautement propriétaire, le projet Android a eu, dès son lancement en 2003, le mérite de vouloir fournir à l'utilisateur une expérience riche de ses préférences et de son environnement. Ceci s'est popularisé, depuis lors, au travers du développement de nombreuses "app" tant sur Android que sur d'autresplateformes telles que iOS ou Windows Mobile. L'informatique ambiante a pour ambition d'accentuer encore ce phénomène en permettant à l'utilisateur de bénéficier de services intelligents fournis par des objets communicants.

Au niveau de la programmation, cette évolution nécessite la prise en compte de nouveaux paradigmes. Le cours se propose d'aborder les principaux au travers de deux parties, consacrées, d'une part, à la programmation réactive et, d'autre part, à la programmation contextuelle.

La première partie, consacrée à la programmation réactive, sera dédiée aux principes sous-jacents à la propagation de changements et d'autres effets en programmation comme l'échec et la latence. On abordera les éléments-clés des paradigmes FRP (Functional Reactive Programming) et OORP (Object-Oriented Reactive Programming) et leur incarnation dans le langage Scala.

La seconde partie, consacrée à la programmation contextuelle, sera organisée selon trois axes complémentaires. Dans le premier, on étudiera tout d'abord deux modèles principaux de coopération: le modèle des acteurs et le modèle de coordination basé sur des espaces partagés. Des incarnations dans le langage Scala seront ensuite examinées. Enfin, un lien sera fait avec la programmation déclarative d'une application web mobile mise en évidence par le framework React Native.

 


Méthodes d'enseignement

Les modalités d'enseignement et d'évaluation des unités d'enseignement ont été rédigées en fonction de la situation à la rentrée académique 2020-2021. Cependant, ces modalités pourraient faire l'objet de modifications en fonction de l'évolution de la crise sanitaire liée à la covid-19. Les étudiants seront informés de toute modification de la situation générale (passage à l'enseignement à distance partiel ou complet) par les autorités de l'UNamur tandis que les modifications propres à chaque unité d'enseignement leur seront communiquées par les enseignants, via webcampus

Le cours est basé sur une série d'exposés théoriques complétée par des séances d'exercices et des projets à réaliser par les étudiants.

Mode d'évaluation

Les modalités d'enseignement et d'évaluation des unités d'enseignement ont été rédigées en fonction de la situation à la rentrée académique 2020-2021. Cependant, ces modalités pourraient faire l'objet de modifications en fonction de l'évolution de la crise sanitaire liée à la covid-19. Les étudiants seront informés de toute modification de la situation générale (passage à l'enseignement à distance partiel ou complet) par les autorités de l'UNamur tandis que les modifications propres à chaque unité d'enseignement leur seront communiquées par les enseignants, via webcampus

L'étudiant est évalué sur base de travaux à remettre ainsi que d'un examen en fin de semestre.

Langue d'enseignement

Français

Lieu de l'activité

NAMUR

Faculté organisatrice

Faculté d'informatique
rue Grandgagnage 21
5000 NAMUR
T. 081725252
F. 081724967
secretariat.info@unamur.be

Cycle

Etudes de 2ème cycle