M319 V1
Concevoir et implémenter des applications
- Type
- EP obligatoire
- Lieu
- École professionnelle
- Année
- 1ère année d'apprentissage
- 319_1_FR.pdf
Compétence visée par le module
Connaître les bases de la programmation, leurs exigences et origine, et être à même de comprendre des problèmes en relation avec l’environnement professionnel et de développer des solutions appropriées.
Situation / objet
Problèmes pouvant être transposés dans un langage de programmation.
Objectifs opérationnels et connaissances
319.1 Saisir le problème, développer de façon structurée des solutions possibles et les traduire pour les parties prenantes. g2 g4 g5
| Connaissance | Texte |
|---|---|
| 319.1.1 | Connaître la différence entre espace de problème et espace de solution ainsi que leur finalité. |
| 319.1.2 | Connaître des outils en vue de recueillir et d’identifier les besoins sans avancer de solution. |
| 319.1.3 | Connaître les raisons de séparer l’espace de problème de l’espace de solution (p. ex. gain d’innovation, réduction du stress). |
319.2 Créer une représentation visuelle appropriée pour la programmation des besoins. g2 g4 g5
| Connaissance | Texte |
|---|---|
| 319.2.1 | Connaître une notation servant à décrire graphiquement le déroulement d’une logique de programme (p. ex. diagramme de flux, structogramme, diagramme d’activité). |
| 319.2.2 | Connaître la finalité des modèles et des diagrammes comme base de discussion et de mise en œuvre. |
319.3 Déduire les données nécessaires à partir des consignes (entrée, processus, sortie et types de données). g2 g4 g5
| Connaissance | Texte |
|---|---|
| 319.3.1 | Connaître les différences entre les types de données (p. ex. primitives, complexes). |
| 319.3.2 | Connaître les principaux types de données (p. ex. integer, boolean, array avec une dimension). |
| 319.3.3 | Connaître le mode de fonctionnement d’un logiciel selon le principe entrée-processus-sortie (input-process-output [IPO]). |
319.4 Implémenter l’application à l’aide de structures de contrôle et des fonctions créées. g2 g4 g5
| Connaissance | Texte |
|---|---|
| 319.4.1 | Connaître la construction fondamentale d’une application, respectivement d’un programme. |
| 319.4.2 | Connaître l’utilisation des structures de contrôle telles que les itérations (vérifié/non vérifié) ou la sélection. |
| 319.4.3 | Connaître le sens et le but des variables et des constantes ainsi que leurs différences. |
| 319.4.4 | Connaître le domaine d’application des instructions et leur finalité. |
| 319.4.5 | Connaître les possibilités des éditeurs et d’un environnement de développement ainsi que la manière de traiter les messages d’erreurs et d’alerte. |
| 319.4.6 | Connaître la structure des fonctions (nom, paramètre, types de données, types de retours) et comment celles-ci peuvent être utilisées et appelées correctement dans un programme. |
| 319.4.7 | Connaître la plus-value apportée par l’externalisation de parties de code dans des fonctions. |
319.5 Respecter les conventions définies, commenter le code en tenant compte de la maintenabilité. g2 g4 g5
| Connaissance | Texte |
|---|---|
| 319.5.1 | Connaître l’importance des conventions (p. ex. conventions d’entreprise, conventions de langage). |
| 319.5.2 | Connaître l’importance des commentaires et leur contribution à une meilleure maintenabilité logicielle. |
319.6 Interpréter les défauts (erreurs) du logiciel et les corriger. g2 g4 g5
| Connaissance | Texte |
|---|---|
| 319.6.1 | Connaître la finalité, les fonctions et le mode de manipulation d’un débogueur. |
| 319.6.2 | Connaître le sens et le but des tests ainsi que la finalité de cas de test individuels. |
| 319.6.3 | Connaître une procédure de test statique (p. ex. revue de code) de code de programme et pouvoir en expliquer l’importance pour la qualité du logiciel. |
Matrice de compétences
| Bande | Compétence | Débutant | Intermédiaire | Avancé | Objectifs |
|---|---|---|---|---|---|
| A1 | Identifier les problèmes et développer des solutions | Je peux analyser une tâche détaillée et la diviser en étapes logiques. | Je peux détailler une tâche grossièrement écrite et la diviser en étapes logiques. | Je peux transformer un problème en tâche et le diviser en étapes logiques. |
319.1
|
| A1 | Identifier les problèmes et développer des solutions | Je peux analyser une tâche détaillée et la diviser en étapes logiques. | Je peux détailler une tâche grossièrement écrite et la diviser en étapes logiques. | Je peux transformer un problème en tâche et le diviser en étapes logiques. |
319.1
|
| B1 | Présenter visuellement les exigences | Je peux comprendre un processus décrit graphiquement. (par exemple avec diagramme d'activités, diagramme de séquence). | Je peux afficher graphiquement un déroulement de programme donné. (par exemple diagramme d'activités, diagramme de séquence). | Je peux convertir le processus décrit en un flux de programme et l'afficher graphiquement (par exemple diagramme d'activités, diagramme de séquence). |
319.2
|
| B1 | Présenter visuellement les exigences | Je peux comprendre un processus décrit graphiquement. (par exemple avec diagramme d'activités, diagramme de séquence). | Je peux afficher graphiquement un déroulement de programme donné. (par exemple diagramme d'activités, diagramme de séquence). | Je peux convertir le processus décrit en un flux de programme et l'afficher graphiquement (par exemple diagramme d'activités, diagramme de séquence). |
319.2
|
| C1 | Dériver et utiliser des données, des types de données et des variables | Je peux identifier les différences entre les types de données élémentaires et savoir quel type de données je peux utiliser pour quel type de données. | Je peux déterminer le type de données élémentaires correct pour une variable en fonction de la tâche, le déclarer, l'initialiser et effectuer des affectations. | Je peux expliquer le but des conteneurs et les déclarer, les initialiser et les attribuer. (par exemple, tableau, liste). |
319.3
|
| C1 | Dériver et utiliser des données, des types de données et des variables | Je peux identifier les différences entre les types de données élémentaires et savoir quel type de données je peux utiliser pour quel type de données. | Je peux déterminer le type de données élémentaires correct pour une variable en fonction de la tâche, le déclarer, l'initialiser et effectuer des affectations. | Je peux expliquer le but des conteneurs et les déclarer, les initialiser et les attribuer. (par exemple, tableau, liste). |
319.3
|
| C2 | Dériver et utiliser des données, des types de données et des variables | Je peux définir, déclarer et initialiser une classe modèle simple composée de plusieurs attributs. N'est pas dans la suggestion HZ3, laissez-le de côté. | J'implémente le principe de l'encapsulation à l'aide de modificateurs d'accès, de getters, de setters et de constructeurs. | J'ajoute des fonctions à mes classes afin qu'elles puissent être utilisées à l'intérieur et à l'extérieur de la classe. |
319.3
|
| D1 | Exécutez et vérifiez le programme | Je peux exécuter un programme que j'ai créé dans un environnement de développement. | Je peux interpréter les messages d'erreur et d'avertissement affichés par le compilateur/interprète et dépanner les causes des messages d'erreur et d'avertissement affichés. | Je peux utiliser un débogueur pour exécuter le programme et l'utiliser spécifiquement pour l'analyse des erreurs (par exemple en définissant des points d'arrêt, en utilisant la barre de variables, etc.). |
319.6
319.4
|
| D1 | Exécutez et vérifiez le programme | Je peux exécuter un programme que j'ai créé dans un environnement de développement. | Je peux interpréter les messages d'erreur et d'avertissement affichés par le compilateur/interprète et dépanner les causes des messages d'erreur et d'avertissement affichés. | Je peux utiliser un débogueur pour exécuter le programme et l'utiliser spécifiquement pour l'analyse des erreurs (par exemple en définissant des points d'arrêt, en utilisant la barre de variables, etc.). |
319.4
|
| E | Programmes de base | Je peux expliquer le principe EVA sans aucune aide. | Je peux stocker et générer des valeurs saisies par l'utilisateur dans des types de données primitifs significatifs. | Je peux rechercher et appliquer des commandes inconnues. |
319.4
|
| E1 | Implémenter l'application | Je connais la structure, la syntaxe et la structure (structures de contrôle) d'un programme simple et je peux le mettre en œuvre. | Je peux mettre en œuvre un processus détaillé à l'aide d'un langage de programmation. | Je peux détailler un processus décrit grossièrement et l'implémenter à l'aide d'un langage de programmation. |
319.2
319.4
319.3
|
| E2 | Implémenter l'application | Je peux expliquer la structure et l'appel d'une fonction (déclaration et implémentation). (par exemple, variables d'instance, paramètres, variables locales, valeurs de retour). | Je peux utiliser correctement une fonction (déclaration et implémentation). (par exemple, variables d'instance, paramètres, variables locales, valeurs de retour). | Je peux identifier les parties de programme qu'il est logique d'externaliser vers leur propre fonction et de les sous-traiter. Je peux déplacer des parties de code dans des fonctions, en tenant compte des paramètres, des types de données et des types de retour, et je peux expliquer la valeur ajoutée. |
319.6
319.4
319.3
|
| F1 | Adhérer aux conventions | Je peux ajouter des commentaires sur une ou plusieurs lignes à mon programme. | Je connais des moyens de formater ou d'annoter des commentaires (par exemple FIXME, TODO, etc.). | J'implémente des conventions pour un code source propre. (par exemple, Clean Code, directives de codage). |
319.4
|
| F1 | Adhérer aux conventions | Je peux ajouter des commentaires sur une ou plusieurs lignes à mon programme. | Je connais des moyens de formater ou d'annoter des commentaires (par exemple FIXME, TODO, etc.). | J'implémente des conventions pour un code source propre. (par exemple, Clean Code, directives de codage). |
319.5
|
| G1 | Sous-programmes | Je peux utiliser un sous-programme donné pour expliquer sa structure (nom, valeur de retour, paramètres). | Je peux placer un fragment de code donné dans un sous-programme et l'appeler en conséquence. | Je peux créer des sous-programmes dans lesquels les données peuvent éventuellement être transmises et renvoyées. |
319.4
|
| H1 | Conventions et commentaires | Je peux expliquer le sens et le but des conventions sans aucune aide. Je peux citer deux avantages et inconvénients de l’utilisation des commentaires dans le code d’un programme. | Je peux implémenter du code de programme basé sur des conventions données. Je peux ajouter des commentaires significatifs au code du programme. | En appliquant des conventions, je peux utiliser des outils pour créer automatiquement de la documentation logicielle. |
319.5
|
| I1 | Déboguer | Je peux expliquer le but et l'utilisation d'un débogueur sans aucune aide. | Je peux trouver une erreur de programmation dans un programme donné à l'aide du débogueur. | Je peux utiliser des outils de journalisation pour analyser le comportement des logiciels. |
319.6
|
| J1 | Tests de logiciels | Je peux expliquer le but des tests de logiciels sans aucune aide. | Je peux spécifier des cas de tests significatifs, clairement formulés et mesurables en fonction d'une tâche donnée. | Je peux créer des tests automatisés basés sur une tâche donnée. |
319.6
|
Modules liés par compétences PEC
| Module | Titre | PEC communes |
|---|---|---|
| M223 | Réaliser des applications multi-utilisateurs orientées objets | |
| M320 | Programmer orienté objet | |
| M335 | Réaliser une application pour mobile | |
| M106 | Interroger, traiter et assurer la maintenance des bases de données | |
| M293 | Créer et publier un site Web | |
| M294 | Réaliser le front-end d’une application Web interactive | |
| M321 | Programmer des systèmes distribués | |
| M322 | Concevoir et implémenter des interfaces utilisateur | |
| M323 | Programmer de manière fonctionnelle | |
| M164 | Créer des bases de données et y insérer des données | |
| M165 | Utiliser des bases de données NoSQL | |
| M183 | Implémenter la sécurité d'une application |