Science, Engineering

Software engineering

  • ECTS

    120 credits

  • Duration

    2 years

  • Training structure

    Faculty of Science

  • Language(s) of instruction

    French

Presentation

This course is in the field of software engineering, and focuses in particular on the automation of software lifecycle stages, while ensuring the quality of the software product. All stages of the software lifecycle are covered, from design to maintenance, including code compilation, optimization and testing. In this context, several facets linked to these stages are studied, such as the modularization and reuse of programs, their semantics and dependability, as well as their model-driven development and evolution. In this course, particular attention has been paid to the current interactions of software engineering with a number of other related fields (artificial intelligence, robotics, health, environment, etc.). The presence of a large number of industrial contributors ensures that the course is in tune with the demands of the industrial world.

Students who have completed a CMI (Cursus Master Ingénierie)accredited bachelor's degree in computer science can follow the CMI curriculum in the Algorithmics (Algo), Software Engineering (GL), Imagine (Imagine) and Artificial Intelligence and Data Science (IASD) courses. As a reminder, the CMI Master's degree in Computer Science Engineering is a demanding, reinforced 5-year course that complements the Bachelor's - Master's degree in Computer Science by adding specific courses. The CMI has been designed as a complementary training model for engineering professions, with a five-year diploma course leading to the title of Master in Engineering, corresponding to the international Master of Engineering model. The CMI label guarantees a coherent and demanding university training program for expert engineers. Upon completion of the CMI Informatique, graduates obtain a Master of Management from the Institut d'Administration des Entreprises (IAE), the Figure network label, as well as a university diploma (D.U.) in the Master of Engineering - Computer Science curriculum. The CMI Informatique is open to Master 2 students on a sandwich course.

For students wishing to apply for the IAE Master in Technology and Science Management degree, the possibility is offered (subject to application) of taking a management course in parallel with the initial course, leading to a Master's degree in Technology and Science Management. Over the two years of the program, the curriculum alternates computer science courses (taught by the FdS) and management courses (taught by the IAE), with a joint internship validated by both departments in the second year. This co-diplomation enables students to exit with a Master's degree in Computer Science and a Master's degree in Technology and Science Management.

Read more

Objectives

The aim of this course is to train IT experts and managers in the field of software development, with particular emphasis on the systematic procedures required to ensure that large-scale software products meet customer expectations, are reliable, have low maintenance costs and perform well, while respecting construction deadlines and costs.

Read more

Know-how and skills

The course provides a balanced mix of theoretical and conceptual foundations, and training in the most up-to-date technologies, enabling both rapid professional integration and the scientific distance needed to adapt to future developments in IT. The learning spectrum covers all business applications, with implementations on web applications, mobile applications and applications including embedded computing.

Students graduating from this course will be expected to master a number of themes, including the following:

  •  Design and development of software architectures: service-oriented architectures, web architectures, urbanization (information systems architectures).
  • Object-based design and development using object-oriented frameworks.
  •  Advanced web technologies.
  • Embedded computing (mobiles, IoT, etc.).
  •  Formal development methods (strongly typed languages, deductive methods, etc.).
Read more

Organization

Knowledge control

https://mcc.umontpellier.fr/ groups together all the teaching units (UE) and their assessment procedures.

Read more

Open on a sandwich basis

Contract type

Apprenticeship contract, Professionalization contract

The second year(M2) can be taken on a sandwich course, via a professionalization or apprenticeship contract. Alternating students become employees for the duration of their M2 (under contract, generally from September 1 to August 31). The academic year takes the following form: during the university course/TD/TP period, the alternating student is at the faculty to follow the courses; during the university vacation and internship periods, the alternating student is at the company (1 week in November, 2 weeks in December, and from the last week of January to August 31; making a company presence of 8 months out of 12).

It should be remembered that a professionalization or apprenticeship contract is a three-way contract between student/company/university: the approval of the department head is required; his or her opinion is based on the academic results of the M1 and the opinion of the course leaders. Excellent results in M1 are thus expected in order to obtain a favorable opinion on the sandwich course.

Read more

Program

Select a program

  • English S1

    2 credits
  • Probability, statistics

    2 credits
  • Compilation

    4 credits
  • Orders, lattices and induction

    2 credits
  • Logic, computability and complexity

    4 credits
  • Software engineering

    4 credits
  • Distributed software architectures

    4 credits
  • Distributed programming

    4 credits
  • CHOICE 1

    4 credits
    • Your choice: 1 of 5

      • Efficient algorithm programming

        4 credits
      • POA/SMA

        4 credits
      • Operational research

        4 credits
      • Data warehousing and Big-Data

      • Foundations of symbolic AI

        4 credits
  • T.E.R

    4 credits
  • English S2

    2 credits
  • Project management

    4 credits
  • Development and programming for mobile devices

    4 credits
  • Modularity and reusability

    4 credits
  • Software security

    4 credits
  • Advanced web architectures

    4 credits
  • CHOICE 2

    4 credits
    • Your choice: 1 of 5

      • Advanced algorithms

        4 credits
      • Semantic data processing

        4 credits
      • Machine learning 1 (classic methods)

        4 credits
      • Logic for software engineering and AI

        4 credits
      • Operational research - complements

        4 credits
  • Model engineering

    4 credits
  • Software engineering conferences

    2 credits
  • Advanced mobile, IoT and embedded development

    4 credits
  • AI for software engineering

    4 credits
  • Automatic program check

    4 credits
  • CHOICE 1

    4 credits
    • Your choice: 1 of 5

      • Machine learning 2 (advanced methods)

        4 credits
      • Database theory and knowledge

        4 credits
      • Decision support

        4 credits
      • Constraints

        4 credits
      • Data management beyond SQL (NoSQL)

        4 credits
  • Software evolution and restructuring

    4 credits
  • Reflexive systems, models@runtime

    4 credits
  • CHOICE 2

    30 credits
    • Your choice: 1 of 2

      • Industrial internship

        30 credits
      • Academic training

        30 credits

Admission

Access conditions

The Master's program is open to holders of a bachelor's degree in computer science (or equivalent).

Read more

How to register

Applications can be submitted on the following platforms: 

French & European students :

International students from outside the EU: follow the "Études en France" procedure: https: //pastel.diplomatie.gouv.fr/etudesenfrance/dyn/public/authentification/login.html

Read more

Capacity

And then

Further studies

Doctorate (competitive examination).

Read more

Professional integration

Sectors of activity :

  • Software publishing.
  •  IT engineering services.
  •  IT research and development.
  •  Higher education.

Types of jobs available :

  •  Computer engineer.
  •  Software project manager.
  •  Software architect, urban planner.
  •  Expert in dependability and formal methods.
  •  Researcher or teacher-researcher in computer science.
Read more