Software Engineering: Model and process based software development

Lecturer(s): Stéphane DERRODE, Alexandre SAIDI
Course ⋅ 16 hAutonomy ⋅ 10 hStudy ⋅ 22 h


This teaching aims to continue the learning of object programming in Java language thanks to Human-Machine Interfaces (HMI) human-machine interfaces, or how to design ergonomic interfaces; concurrency, or how to use several cores of a microprocessor to perform a calculation in parallel; distributed programming, or how to make remote computers work together on a network (one of the operating principles of cloud computing); mobile programming, or how to program on Android.

Palabras clave

Computer science, Java, Android, concurrency, parallelism, distributed programming, HCI, user interface.


  • The Java language
  • Event-based programming (human-machine interfaces, HMI)
  • Concurrent programming (processes, parallel computing)
  • Distributed programming (Java RMI)
  • Programming for mobile computing devices (Android / Android Studio)

Learning Outcomes

  • Know how to program in Java an application distributed on several computers linked by a network.
  • Know how to develop a concurrent application using several processors.
  • Know how to program a user interface (GUI) that is ergonomic and fluid.
  • Be able to develop an Android application.


Final mark = 50% knowledge + 50% Know-How Knowledge mark = 100% final exam Know-how mark = 100% continuous assessment