Les compétences, savoirs et savoirs-faire développés dans cette UE, avec leurs niveaux d'acquisition, sont les suivants :
- Compétences :
- Architecturer un logiciel complexe en définissant le modèle des données et la structure des composants à concevoir ou à utiliser (Notion)
- Concevoir des algorithmes répondant à un cahier des charges, en choisissant les structures de données adéquates (Notion)
- Programmer un logiciel implémentant une spécification fonctionnelle et technique (Notion)
- Assurer la pertinence, la fiabilité et la qualité d’une solution algorithmique / logicielle (Notion)
- Savoirs :
- Identifier et manipuler les représentations des données en machine (Notion)
- Utiliser les algorithmes classiques, les combiner pour résoudre des problèmes complexes (Notion)
- Reproduire, décrire la chaîne d’interprétation ou de compilation et savoir interpréter/compiler une application avec les systèmes de build standards des langages standards (Notion)
- Savoirs-faire :
- Lire et analyser une spécification, en tirer une réalisation (Application)
- Dérouler un algorithme (Application)
- Résoudre un problème logiciel (erreur à la compilation, à l’exécution) (Application)
- Identifier les données utiles au fonctionnement d’un logiciel (Notion)
- Comprendre et exécuter un cahier des charges (Notion)
- Utiliser des composants logiciels existants et les intégrer dans un développement (Notion)
- Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel (Notion)
- Intégrer les problématiques de tests, de robustesse, de qualité et de sécurité dans l’architecture d’un logiciel (Notion)
- Structurer et modéliser le code d’un logiciel pour en faciliter la maintenance et en améliorer la qualité, en utilisant des standards du domaine comme l’UML (Notion)
- Analyser et décomposer une tâche pour concevoir un algorithme (Notion)
- Choisir une structure de données pertinente (Notion)
- Concevoir un algorithme itératif ou récursif adapté à une structure de données (Notion)
- Lire et analyser une spécification, en tirer une réalisation (Notion)
- Évaluer la complexité algorithmique d’une solution / d’un algorithme proposé (Notion)
- Évaluer en pratique les performances d’une solution (Notion)
- Utiliser les outils de diagnostic (debug à l'exécution, diagnostic mémoire, évaluation de performance) (Notion)