Objectifs de la formation
- Appliquer des approches raisonnées de résolution de problèmes complexes par décompositions et/ou approximations successives et mettre en œuvre des méthodes d’analyse pour concevoir des applications et algorithmes à partir d’un cahier des charges
- Manipuler aisément plusieurs paradigmes algorithmiques (approches impérative, fonctionnelle, objet et multitâche).
- Choisir, sur des critères objectifs, les structures de données et construire les algorithmes les mieux adaptés à un problème donné.
- Identifier les concepts fondamentaux de complexité, calculabilité, décidabilité, vérification : apprécier la complexité et les limites de validité d’une solution.
- Caractériser les outils logiques et algébriques fondamentaux (théorie des langages et de la compilation, logique et raisonnement, ordres, induction) et leurs implications dans la programmation et la modélisation.
- Construire et rédiger une démonstration mathématique synthétique et rigoureuse.
- Manipuler aisément plusieurs styles de programmation (approches impérative, fonctionnelle, objet et multitâche) ainsi que plusieurs langages de programmation.
- Concevoir le traitement informatisé d’informations de différentes natures, telles que des données, des images et des textes.
- Caractériser le rôle des tests et des preuves de correction dans le développement des logiciels et mettre en œuvre des tests élémentaires et des invariants de boucle.
- Concevoir, implémenter et exploiter des bases de données.
- Identifier et caractériser les principaux éléments fonctionnels et l’architecture matérielle d’un ordinateur, interpréter les informations techniques fournies par les constructeurs, écrire des routines simples en langage machine.
- Caractériser le fonctionnement des systèmes et des réseaux, ainsi que les pratiques, outils et techniques visant à assurer la sécurité des systèmes informatiques pendant leur développement et leur utilisation.
- Analyser et interpréter les résultats produits par l'exécution d'un programme.
- Expliquer et documenter la mise en œuvre d'une solution technique.
- Caractériser les techniques de gestion de l’aléatoire (probabilités et statistique) et leurs rôles dans le traitement de certaines données.
- Utiliser un logiciel de calcul formel ou scientifique.
- Utiliser les outils numériques de référence et les règles de sécurité informatique pour acquérir, Analyser et synthétiser des données en vue de leur exploitation.