Skip to main content

NFC Mobile Programming UCA

Enrollment in this course is by invitation only

About This Course

NFC which stands for “Near Field Communication” is the global standard for contactless and short-range communication available on every recent smartphone. Simply access information with a simple “touch,” buy and store your tickets or pay with your mobile, exchange data in peer-to-peer mode or fast pair a device to initiate another connectivity, trigger an event, etc. NFC allows unlimited features with the mobile at the centre of the use cases. In this course we will study NFC technology from two perspectives: the viewpoint of a system architect who wishes to understand why and how designing NFC-based system is a relevant for value-added use cases, and the developer’s viewpoint where you will be initiated to the mobile implementation of NFC on the Android smartphone. At the end of the course, you will be able to design and implement on Android platform your own innovative use cases around NFC technology.

It's the third academic course of the master MBDS.

Course duration and workload

This is a weekly course over 4 weeks. Each monday, short video sequences will be offered to participants. MCQs will evaluate the knowledge at the end of each week.

The weekly MCQs will be used to your self trained.

At the end of the 4 weeks, a supervised exam will be proposed to pass the certificate.

Plan to spend 4h per week + 1h of supervised exam are necessary.


This self-contained course is integral part of the MBDS Master Graduate Program in Computer Science at the university of Nice – Sophia-Antipolis, in France. Suitable for professionals and students already familiar with Java or Android programming, it is however open to everyone aiming to understand NFC ins and outs from a technical point of view.

This course is however focused on Android mobile implementation and you may need at least one Android NFC-enabled mobile phone according the mode you choose to implement: for the read/write mode you will also need to get a NFC tag which may be any contactless smartcard you already own or you may acquire NFC tag(s) type 2 for instance, they can be found in many forms (NTAG stickers, bracelet, keyrings, etc.) at a very low price (less than 0.50€/unit) on the web (ShopNFC, AliExpress, Amazon, Cdiscount, etc.). For the peer-to-peer and the card emulation modes two Android mobile phones can be used, for instance one acting as the smartcard and the other acting as the smartcard reader.


    NFC programming course is organized into 4 weekly modules :

  • Week 1 : “Introduction to NFC standard” (Theoretical) – This module addresses NFC standard with definitions of key concepts around the 3 operating modes of NFC standard: the read/write mode enabling real world object “alive” in the digital word thanks to NFC passive tags without the need of energy source, the peer-to-peer mode enabling two active devices to exchange information and the card emulation mode enabling the smartphone to behave like a smartcard or as a smartcard reader that is implemented for secure transactions such as contactless payment. This later mode is covered in more detail in the next module dedicated to the subject.
  • Week 2 : “NFC secure card emulation mode ecosystem and architecture” (Theoretical) – In this module the specificity of NFC card emulation mode using a secure element hosted by the mobile phone to store sensitive data and services is discussed. The industrial ecosystem of this mode which involves several stakeholders around a platform called “Trusted Service Managed” with a standard generic interface is addressed here.
  • Week 3 : “Designing NFC use cases” (Practical) – Design is at the centre of information systems engineering; in this module you will be introduced to the modelling of NFC operating modes use cases with the aim to enable you to understand how NFC can be implemented, this is a mandatory prerequisite before programming. The project organization for the practice work and deliverables you will be requested to provide are discussed in this module.
  • Week 4 : “Programming NFC applications with Android” (Practical) – In this module you will be introduced to NFC programming on Android platform. In a first stage you will be initiated to Android studio integrated development environment and Android programming basics. Then NFC implementation is addressed with the 3 operating modes: reading and writing NFC passive tags with the mobile, exchanging data between two NFC-enabled mobiles or reading a contactless smartcard with the mobile or making your mobile behaving like a smartcard using Host-based Card Emulation (HCE)“Conclusion and outlook” – Finally, we conclude by a retrospective of the topics covered in this course to underline the relevant concepts you need to remember in preparation for the final MCQ evaluation. To go further, implementing NFC on other development platforms or with other programming languages or other devices is also discussed in this section.…

Course Staff

Anne-Marie LESAS

Professor at University Cote d'Azur

(formerly University of Nice Sophia Antipolis)

Terms of use

of the course :

Licence Creative Commons BY NC ND : the user must mention the author's name, he may exploit the work except in a commercial context, he can not create a work derived from the original work.

of the content produced by users :

Restrictive license : your production is your intellectual property and can not be reused.