Spécifier, concevoir et développer des logiciels
Item
- Libelle
- Spécifier, concevoir et développer des logiciels
- Code
- RNCP39487BC01
- Liste des compétences
- * Identifier la demande et évaluer les besoins du client, du service et de l'entreprise. * Utiliser des systèmes d'exploitation à base d'UNIX (bash) et WINDOWS, et gérer des développements collaboratifs de logiciel/projet via l'utilisation de forge, d'outils de versionnage de fichiers (git), de documentation de code (Doxygen) et de spécifications techniques (Unified Modelling Language (UML)). * Gérer une équipe de développeurs logiciel, en tenant compte des possibilités de chacun, dans un contexte socio-économique d'innovation ou de recherche, en France ou à l'Etranger. * Programmer dans des langages impératifs ( C / Matlab ) et orienté objet (C++ / python), et utiliser des bibliothèques scientifiques dans le domaine du numérique (Math Kernel Library (MKL) , Portable, Extensible Toolkit for Scientific Computation (PETSc), Suite of nonlinear and differential /algebraic equation solvers (SUNDIALS)) et de la data science (SAS, R). * Traduire en algorithmes efficaces et implémentés sur ordinateur, les méthodes numériques de discrétisation et de résolution ainsi que les méthodes de prédiction en data science. * Connaitre les limites de l'arithmétique finie des ordinateurs et ses conséquences sur le conditionnement des calculs, et appliquer les techniques mathématiques et informatiques de vérification (solution manufacturée, ordre de convergence observé, analyse rétrograde des erreurs d'arrondis, analyse statique, analyse dynamique, tests unitaires) et de validation de code (analyse statistique) . * Pratiquer des paradigmes de parallélisation pour le Calcul Haute Performance, parallélisation à mémoire distribuée (Message Passing Interface (MPI)) , mémoire partagé (Open Multi-Processing ()OpenMP) et sur GPU/CPU (Open Computing Language (OpenCL)) avec une compréhension approfondie des architectures des ordinateurs et de l'optimisation et évaluation des performances de leur implémentation. * Dimensionner les besoins de calcul matériels, logiciels, et techniques de parallélisation en établissant un cahier des charges des besoins fonctionnels du client, en prenant en compte les enjeux de développement durable et de responsabilité sociétale de l'entreprise. * Mettre en œuvre des logiciels de modélisation et de simulation (FreeFem++, COMSOL, SciKit learn) dans le cadre de la résolution de problèmes complexes dans des domaines applicatifs (mécanique des fluides et des solides, modélisation financière, machine learning, classification). * Maîtriser les outils de communications (revue de projet, rapport d'avancement (latex)) lors d'une présentation de projet aux différents partenaires. * Rendre compte à l'oral et à l'écrit de façon claire et concise à des spécialistes et à des non spécialistes. * Développer des pratiques réflexives sur son parcours professionnel et les projets mis en œuvre. * Travailler en équipe en adaptant une attitude inclusive, notamment envers les personnes porteuses de handicap. * Interagir avec son environnement en s'adaptant aux différents interlocuteurs en prenant en compte la dimension internationale et interculturelle.
- Modalités d'évaluation
- * Contrôles continus individuels : contrôles écrits, exposés oraux, rapports et soutenances de stages en entreprise, évaluation par les tuteurs en entreprise. * Contrôles continus en groupe : comptes rendus de travaux pratiques, rapport et soutenance de projets. * Mises en situation lors de stages et projets.
Linked resources
| Title | Class |
|---|---|
| RNCP39487 | Fiche |
Annotations
There are no annotations for this resource.