- 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.
ANNÉE 1
SEMESTRE 1 SEMESTRE 2
Algorithmique et programmation 1 Algorithmique et programmation 2
Introduction à la logique Composants du processeur
Culture informatique R et Informatique pour les scientifiques : introduction
Algèbre linéaire Statistiques
ANNÉE 2SEMESTRE 3 SEMESTRE 4
Programmation en C et structures de
données Algorithmique et structures de données
Base de données Architecture des ordinateurs
Robots mobiles Projet de programmation
Analyse Algorithmique des images, textes et données
ANNÉE 3SEMESTRE 5 SEMESTRE 6
Programmation orientée objet Génie logiciel et projet de programmation
Algorithmique Programmation fonctionnelle
Probabilités Théorie des langages et compilation
Réseaux Sécurité
Licence mention informatique
Certifiante
Bac + 3 et 4