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 optimisation of code and testing. In this context, several facets related to these stages are studied, such as the modularisation 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 that the training is in line 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 course which completes the Bachelor's - Master's degree in Computer Science by adding specific courses. The CMI has been developed as a complementary model for training in engineering professions through a five-year degree course leading to a Master of Engineering title, corresponding to the international Master of Engineering model. This CMI label guarantees a coherent and demanding university training programme for the profession of expert engineer. At the end of the CMI Informatique, graduates obtain, in addition to the Master's degree in Computer Science, a Master's degree in Management from the Institut d'Administration des Entreprises (IAE), the Figure network label, as well as a university diploma (D.U.) for the Master's degree in Engineering - Computer Science. The CMI Computer Science is open to Master 2 students on a sandwich course.

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

Read more

Objectives

The aim of this course is to train IT experts and managers in the field of software development, including training in the systematic procedures that ensure that large-scale software products meet customer expectations, are reliable, have 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 up-to-date technologies, which allows for both rapid professional integration and the scientific distance 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 course will be expected to master a number of themes including

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

Organization

Control of knowledge

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

Read more

Open in alternating years

Type of contract

Apprenticeship contract, Professionalization contract

The second year(M2) is possible on a sandwich course, via professionalization or apprenticeship contracts. The alternating student becomes an employee for the duration of the M2 (under contract, generally from 1 September to 31 August). The academic year takes the following form: during the university course/DD/TP period, the alternating student is at the faculty to follow the courses; during the university holiday 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 31 August; this makes a presence in the company of 8 months out of 12).

It should be remembered here that a professionalization or apprenticeship contract is a tripartite contract between student, company and university: the agreement of the head of the field 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 favourable opinion on the alternation.

Read more

Programme

Select a programme

  • Probability, statistics

    2 credits
  • Software engineering

    4 credits
  • Orders, lattices and induction

    2 credits
  • Distributed software architectures

    4 credits
  • Logic, computability and complexity

    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

        4 credits
      • Foundations of symbolic AI

        4 credits
  • English S1

    2 credits
  • Compilation

    4 credits
  • English S2

    2 credits
  • Software security

    4 credits
  • Advanced web architectures

    4 credits
  • Modularity and reusability

    4 credits
  • Project management

    4 credits
  • Mobile development and programming

    4 credits
  • T.E.R

    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
      • Operations research - supplements

        4 credits
  • Automatic programme check

    4 credits
  • AI for software engineering

    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
  • Advanced mobile, IoT and embedded development

    4 credits
  • Reflexive systems, models@runtime

    4 credits
  • Software evolution and restructuring

    4 credits
  • Software Engineering Conferences

    2 credits
  • Model engineering

    4 credits
  • CHOICE 2

    30 credits
    • Choice of 1 of 2

      • Industrial placement

        30 credits
      • Academic course

        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 can be made via the platforms :

Read more

Capacity

And then

Further studies

Doctorate (competitive examination).

Read more

Professional integration

Sectors of activity :

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

Types of jobs available :

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