Science, Engineering

Software engineering

  • ECTS

    120 credits

  • Duration

    2 years

  • Training structure

    Faculty of Science

  • Language(s) of instruction

    French

Presentation

This course is located in the field of software engineering and offers in particular a training that focuses on the automation of the stages of the software life cycle while ensuring the quality of the software product. All stages of the software life cycle are concerned, from design to maintenance, including compilation and optimization of code and testing. In this context, several facets related 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 numerous industrial contributors guarantees the adequacy of the training with the requirements of the industrial environment.

For students who have validated a Bachelor's degree in Computer Science with the CMI label (Cursus Master Ingénierie), it is possible to 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 Master's Degree in Computer Science Engineering is a demanding and reinforced 5-year program that completes the Bachelor's - Master's Degree in Computer Science program by adding specific courses. The CMI has been developed as a complementary model for training in engineering professions through a five-year diploma course leading to a Master's degree in Engineering, corresponding to the international Master of Engineering model. This CMI label guarantees a coherent and demanding university training program for the profession of expert engineer. 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.) for the Master of Engineering - Computer Science program. The CMI Computer Science is open to Master 2 students on a sandwich basis.

For students wishing to co-diploma IAE Master Management of Technology and Science: possibility offered (on file) to achieve in parallel with the initial training a management training giving the degree of Master in Management of Technology and Science. Over the two years of training, the curriculum alternates courses in computer science (taught by the FdS) and management (taught by the IAE) with a common internship validated by both components in the second year. This co-diplomation allows students to exit with the master Computer Science and the master Management of Technologies and Sciences.

Read more

Objectives

The objective of this course is to train experts and managers in computer science in the field of software development, including training in the systematic procedures that make it possible to achieve large-scale software that meets customer expectations, is reliable, has low maintenance costs and good performance 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 current technologies, which allows for rapid professional integration as well as the scientific perspective necessary for adaptability to future developments in computer science. The learning spectrum covers all business applications, with implementations on web applications, mobile applications and applications including embedded computing.

Students graduating from this program will be expected to master a number of topics including:

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

Organization

Knowledge control

https://mcc.umontpellier.fr/ groups all the teaching units (UE) and their knowledge control methods.

Read more

Open in alternation

Type of contract

Apprenticeship contract, Professionalization contract

The second year(M2) can be done on a sandwich basis, via professionalization or apprenticeship contracts. The alternating student becomes an employee for the duration of his or her M2 (under contract generally from September 1 to August 31). The academic year takes the following form: during the 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 in the company (1 week in November, 2 weeks in December, and from the last week of January to August 31; this makes a presence in the company of 8 months out of 12).

We remind you here that a professionalization or apprenticeship contract is a tripartite contract between student, company and university: the agreement of the head of the program is necessary; his opinion is based on the academic results of the M1 and on the opinion of the course leaders. Thus, excellent results in M1 are expected in order to have a favorable opinion on the alternation.

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
    • Choice of 1 of 5

      • Efficient programming of algorithms

        4 credits
      • POA/SMA

        4 credits
      • Operational research

        4 credits
      • Data warehouses 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
    • Choice of 1 of 5

      • Advanced Algorithms

        4 credits
      • Semantic data processing

        4 credits
      • Machine learning 1 (classical 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 verification

    4 credits
  • CHOICE 1

    4 credits
    • Choice of 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 internship

        30 credits

Admission

Conditions of access

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

Read more

How to register

Applications are made on the following platforms: 

French & European students:

International students from outside the EU: follow the "Studies in 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.
  •  Computer engineering services.
  •  Research and development in computer science.
  •  Higher education.

Types of jobs available:

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