Students with an option in "Software engineering and programming systems" should be able to :
- Understand and explain the problems encountered in managing large-scale software projects, as well as the critical impact of solutions throughout their life cycle (issues relating to implementation, validation, documentation, communication and management of projects involving large teams as well as costs and deadlines)
- Choose and implement complex software engineering methods and tools, which must meet demanding quality criteria : reliability, adaptability, progressiveness, performance, security, usability, ...
- Model the products and processes required to develop such systems and analyse said models
- Design and implement programmes to analyse, convert and optimize computer representations
- Make a judicious use of various paradigms and programming languages, in particular as concerns functional, object-oriented and concurrent programming.
- Understand the issues of various concurrent and shared programming models and implement the appropriate model.
- Define a new language (syntax and semantics) suited to a specific context