Course 2024-2025

Design of mobile, reactive and contextual applications [INFOM451]

  • 5 credits
  • 30h+15h
  • 1st quarter
Language of instruction: French / Français

Learning outcomes

At the end of the course, the student will have acquired an in-depth knowledge of the concepts, techniques and programming paradigms necessary to design reactive and contextual applications.

Part of the course consists in a project done by groups of students, which allows students to acquire soft skills.

 

Objectives

The objective of the course is to study the programming paradigms underlying the design of mobile, reactive and contextual applications.

Content

In addition to the innovative aspect of using the Open Source framework to design an operating system for mobile devices in a hitherto highly proprietary field, the Android project has, from its launch in 2003, had the merit of wanting to provide the user with a rich experience of his preferences and of his environment. Since then, this has been popularized through the development of numerous "apps" both on Android and on other platforms such as iOS or Windows Mobile. Ambient computing aims to further accentuate this phenomenon by allowing the user to benefit from intelligent services provided by communicating objects.

At the programming level, this evolution requires new paradigms to be taken into account. The course proposes to address the main ones through two parts, devoted, on the one hand, to reactive programming and, on the other hand, to contextual programming.

The first part, devoted to reactive programming, will be dedicated to the principles underlying the propagation of changes and other effects in programming such as failure and latency. The key elements of the FRP (Functional Reactive Programming) and OORP (Object-Oriented Reactive Programming) paradigms and their embodiment in the Scala language will be discussed.

The second part, devoted to contextual programming, will be organized along three complementary axes. In the first one, two main models of cooperation will be studied: the actor model and the coordination model based on shared spaces. Incarnations in the Scala language will then be examined. Finally, a link will be made with the declarative programming of a mobile web application highlighted by the React Native framework.


 


Teaching methods

The course is based on a series of theoretical presentations supplemented by exercise sessions and projects to be carried out by the students.

 

Evaluations

The student is evaluated on the basis of assignments to be submitted as well as an exam at the end of the semester.

Language of instruction

French / Français

Location for course

NAMUR

Organizer

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

Degree of Reference

Master's Degree