de it fr

411 Développer et appliquer des structures de données et algorithmes.

Module
Développer et appliquer des structures de données et algorithmes.
Compétence
Analyser la donnée du problème et mettre en œuvre, tester et documenter une solution à l’aide des structures de données et algorithmes appropriés.
Objectifs opérationnels
1 Définir une structure de données appropriée à un problème donné et mettre en œuvre au moyen d’un langage de programmation tel que Structs, références/indicateurs, et réseaux.
  Connaissances opérationnelles nécessaires:
1 Connaître la différence entre les variables valeurs et variables référence/pointeurs.
2 Connaître les moyens d’un langage de programmation pour la déclaration et l’usage des variables valeurs ou références.
3 Connaître le concept et l’utilité de structures de données enchaînées.
4 Connaître une notation pour la représentation de données enchaînées.
 
2 Analyser un problème et développer un algorithme approprié pour la solution à l’aide des éléments de base comme attribution, dérivation, boucle, ainsi que mettre en œuvre avec des procédures et fonctions.
  Connaissances opérationnelles nécessaires:
1 Connaître un déroulement systématique pour l’analyse d’un problème.
2 Connaître les éléments de base des algorithmes et leur mise en œuvre dans un langage de programmation.
3 Connaître les moyens d’un langage de programmation pour la déclaration et l’activation de fonctions et procédures.
4 Connaître des notations pour représenter des algorithmes comme par ex. les structogrammes, PAP, etc.
 
3 Analyser et documenter des algorithmes ainsi que des structures de données en regard de la complexité mémoire et temps.
  Connaissances opérationnelles nécessaires:
1 Connaître des possibilités d’analyse de la complexité temporelle et de sauvegarde, pour des algorithmes et des structures de données.
2 Connaître des classes de complexité d’algorithmes (par ex. complexité linéaire, exponentielle).
3 Connaître des notations pour la documentation des complexités temporelles et de sauvegarde d’un algorithme.
 
4 Réduire un problème complexe en problèmes partiels, et mettre en œuvre l’itération ou la récursivité selon la donnée du problème.
  Connaissances opérationnelles nécessaires:
1 Connaître un déroulement pour la subdivision d’un problème complexe réduit en plus petites parties.
2 Connaître la construction des algorithmes itératifs.
3 Connaître la construction des algorithmes récursifs.
4 Connaître les avantages et inconvénients ainsi que les domaines de mise en œuvre de l’approche itérative et récursive.
 
5 Connaître et mettre en œuvre de manière ciblée des types de données abstraites telles que Liste, Set, Map, etc. ainsi que les opérations y relatives.
  Connaissances opérationnelles nécessaires:
1 Connaître une bibliothèque programme qui met à disposition des types de données abstraites telles que Liste, Set, Map, etc. ainsi que leurs applications.
2 Connaître les caractéristiques de chaque type de données abstraites.
 
6 Examiner des structures de données, des algorithmes avec des débogeurs et autres outils, puis analyser en particulier la situation du Stack et Heap, ainsi que les représenter de manière appropriée.
  Connaissances opérationnelles nécessaires:
1 Connaître l’organisation mémoire pour un processus avec les domaines code programme, variables globales, Stack et Heap.
2 Connaître l’ordre des variables et paramètres locaux dans un Stackframe.
3 Connaître la fonctionnalité du Stack lors de l’activation d’une fonction.
4 Connaître la fonctionnalité dans le Heap lors de la création dynamique d’objets.
5 Connaître l’utilisation d’un débogueur pour examiner les Heap et Stack sur les temps de fonctionnement et/ou un outil pour l’analyse du temps de fonctionnement pour des grandeurs telles que Memory Leaks, nombre d’appels.
 
Domaine de compétence
Ingénierie d'applications
Objet
Exécution d’une analyse et par conséquent, réalisation avec des structures de données et algorithmes.
Niveau
2
Pré-requis
Programmation procédurale. Programmation orientée objets.
Nombre de leçons
40
Reconnaissance
Certificat fédéral de capacité
Publié: 10.09.2014 17:54:36
Titre DEP Module 411-1 - 3 Eléments - Travail pratique de mise en oeuvre, Travail pratique de mise en oeuvre, Examen écrit individuel
Institution Berufsbildungszentrum Solothurn-Grenchen
Aperçu Analyser, orienté actions, un problème donné, et le mettre en oeuvre avec des structures de données et des algorithmes appropriés.
Complément

Partie 1
Pondération 33%
Durée indicative (recommandation) 2
Description de l'élément Réalisation d'un programme qui utilise les structures de données l'énumération et un réseau bi-dimensionnel. Le programme doit être développé puis implémenté, et la fonctionnalité correcte doit être prouvée. La documentation correcte du programme sera évaluée.
Moyens d'aide Installation de base d'un système d'exploitation
Logiciel bureautique
Environnement de développement pour le langage de programmation choisi
Outil de développement du code
Evaluation Utilisation de l'énumération, 5 points
Mise en oeuvre de constantes, 1 point
Utilisation d'un réseau bi-dimensionnel, 3 points
Algorithme pour la solution du problème, 7 points
Preuve de la fonction correcte, 4 points
Documentation, 3 points
Relation à la pratique Qualité logicielle améliorée avec la mise en oeuvre d'énumérations et de constantes
Mise en oeuvre de réseaux multi-dimensionnels

Partie 2
Pondération 33%
Durée indicative (recommandation) 2
Description de l'élément Comprendre les structures dynamiques de données, en particulier une liste simplement chaînée, et implémenter, utiliser les fonctionnalités de base. Le programme doit être développé puis implémenté, et la fonctionnalité correcte doit être prouvée. La documentation correcte du programme sera évaluée.
Moyens d'aide Installation de base d'un système d'exploitation
Logiciel bureautique
Environnement de développement pour le langage de programmation choisi
Outil de développement du code
Evaluation Développer et implémenter la méthode de base une, 8 points
Développer et implémenter la méthode de base deux, 7 points
Application de cette structure de données, 2 points
Preuve de la fonction correcte, 4 points
Documentation, 5 points
Relation à la pratique Le traitement de grandes quantités de données dans la mémoire principale ne s'exécute efficacement seulement avec des structures de dynamiques de données.

Partie 3
Pondération 34%
Durée indicative (recommandation) 1
Description de l'élément Comprendre et reproduire un algorithme de tri. Développer un algorithme de recherche récursif simple dans une arborescence.
Moyens d'aide Aucun sur papier
Evaluation Comprendre l'algorithme de tri, 5 points
Evaluer l'efficacité de l'algorithme de tri, 5 points
Développer un algorithme récursif, 10 points
Relation à la pratique Dans les bases de données ,les algorithmes de tri sont d'une importance primordiale.
Rechercher et trier efficacement de millions d'éléments.
Publié: 23.02.2016 08:12:32
Date de péremption: Pas de date de péremption
Titre DEP Module 411-3 - 3 Eléments - Travail pratique de mise en oeuvre, Travail pratique de mise en oeuvre, Travail pratique de mise en oeuvre
Institution Informatikschule Olten GmbH
Aperçu Mettre en oeuvre un devoir donnée en récursivité, comme aussi en boucle. Connaître et mettre en oeuvre des algorithmes de tri Comprendre et engager des listes chaînées. Mettre en oeuvre correctement des types abstraits de données. Analyse d'un code programme donné en ce qui concerne la fonctionnalité et la complexité du temps d'exécution.
Complément

Partie 1
Pondération 30%
Durée indicative (recommandation) 2
Description de l'élément 1) Mettre en oeuvre un devoir (par ex. somme des n premiers nombres entiers) en tant que récursivité comme aussi en boucle, et indiquer la complexité du temps d'exécution (O-Notation). Visualisation de la récursivité (par ex. pour la somme des trois premiers nombres entiers) sur la pile.
2) Mettre en oeuvre le pseudo-code et reconnaître sa fonctionnalité.
3) Analyser sans ordinateur l'algorithme de tri donné et montrer à chaque passage la situation de la table et indiquer la complexité du temps d'exécution.
Moyens d'aide 1 et 2, libre.
3, sans moyen d'aide.
Evaluation 1) 3 points par récursivité et boucle, 1 point par complexité du temps d'exécution, 2 points pour la visualisation de la pile = 10 points.
2) 4 points pour l'implémentation du pseudo-code, y compris le programme de tests, 1 point pour la reconnaissance de la fonctionnalité = 5 points.
3) 4 points pour la représentation correcte de la table, 1 point pour la complexité du temps d'exécution = 5 points.
Relation à la pratique Connaître les avantages et inconvénients de la récursivité et des boucles. Mise en oeuvre de la récursivité et de boucles. Pouvoir évaluer la complexité du temps d'exécution (par ex. que se passe-t-il si plus tard en lieu et place de 1000 éléments ce sont 1'000'000 d'éléments qui doivent être triés). Pouvoir analyser des parties étrangères de codes. Pouvoir reconnaître le comportement du code programme, respectivement la pile et l'entête.

Partie 2
Pondération 40%
Durée indicative (recommandation) 2
Description de l'élément 1) Mettre en oeuvre et expliquer l'algorithme de Greedy (par ex. nombre minimal de pièces de monnaie pour un montant donné)
2) Créer des classes personnelles et implémenter un interface de comparaison, y compris un programme de tests.
3) Mettre en oeuvre un devoir (par ex. x^y) entant que récursivité comme aussi en boucle.
4) Analyser sans ordinateur un algorithme donné (par ex. min/max dans une table), reconnaître la fonctionnalité et répondre à une question complémentaire dans le code (par ex. nombre de comparaison dans une table de grandeur n)
Moyens d'aide 1) à 3) libre.
4) sans moyen d'aide.
Evaluation 1) 2 points pour la mise en oeuvre, 1 point pour l'explication = 3 points.
2) 1 point pour classe, 1 pour l'implémentation de l'interface et 1 pour le programme de tests = 3 points.
3) 1 point pour la récursivité et 1 pour la boucle = 2 points.
4) 1 point pour la reconnaissance de la fonctionnalité, 1 point pour la réponse à la question complémentaire = 2 points.
Relation à la pratique Connaître te pouvoir mettre en oeuvre l'algorithme de Greedy.
Comprendre et pouvoir implémenter une interface.
Mise en oeuvre de la récursivité et des boucles.
Pouvoir analyser des parties de code étranger.

Partie 3
Pondération 30%
Durée indicative (recommandation) 2
Description de l'élément 1) Développer et expliquer (visualiser) une implémentation donnée d'une liste chaînée.
2) Choisir, mettre en oeuvre et expliquer de types abstraits de données sur la base des données fournies.
Moyens d'aide Libre
Evaluation 1) Globalement 7 points pour par ex. 2 extensions, 3 points pour la visualisation = 10 points.
2) 3 points pour le choix approprié du type de données, 3 points pour la mise en oeuvre correcte selon directives, 2 points pour l'explication = 8 points.
Relation à la pratique Comprendre les structures de données et pouvoir les mettre en oeuvre correctement.
Publié: 08.07.2016 13:34:34
Date de péremption: Pas de date de péremption
Titre DEP Module 411-4 - 2 Eléments - Examen écrit individuel, Travail pratique de mise en oeuvre
Institution gibb Gewerblich-Industrielle Berufsschule Bern
Aperçu EP en deux parties avec un examen écrit et un travail pratique individuel.
Complément

Partie 1
Pondération 50%
Durée indicative (recommandation) 0
Description de l'élément - Terminologie: analyse du problème, spécification, algorithme, programme.
- Définir une structure simple de données tel que des Arrays multi-dimensionnels pour un problème donné et traiter avec un algorithme pour la solution.
- Evaluer la solution du problème en regard du temps ou de la complexité de mémorisation.
- Le problème posé contient des structures de contrôles telles que des itérations et/ou récursivités et les types nécessaires de données.
Moyens d'aide Résumé personnel de max. 2 pages A4 (simple face) et/ou une référence du langage.
Evaluation env. 20% OO1 - trouver la structure de données pour le problème
env. 20% OO2 - analyse
env. 20% OO3 - complexité
env. 20% OO4 - décomposition du problème
env. 20% OO5 - types de données abstraits et/ou primitifs
Relation à la pratique Plan de formation développement d'application:
A1.1 Enregistrer les besoins et discuter les solutions possibles, s’entretenir avec le client/supérieur sur les restrictions des exigences.
A2.2 Représenter des comparaisons de variantes et d‘évaluations (y compris, produits), conseiller la clientèle dans le choix (avantages, désavantages, problèmes de la solution) sur la base de leur analyse des valeurs utiles.
A2.3 Choisir une procédure de résolution des problèmes, par ex. développement de prototypes, recherche de solutions de ce qui peut être résolu avec l’informatique, ou autres moyens tels qu’organisation ou formation.
B2.2 Appliquer des modèles d’architecture dans les solutions (Multitier, Frameworks, Patterns).
B5.1 Organiser des tests systèmes, des tests de remise, des tests non-fonctionnels, des tests négatifs pour lesquels il faut préparer des données de test, documenter le tout.

Partie 2
Pondération 50%
Durée indicative (recommandation) 0
Description de l'élément Travail pratique dans des conditions réelles:
- le travail est exécuté avec un IDE approprié.
- enregistrer le problème et trouver une solution appropriée (structure des données, algorithme).
- implémenter la solution et vérifier avec des cas appropriés de tests.
- vérifier et consigner la complexité temporelle et de mémorisation de la solution.
- éliminer les erreurs à l'aide du IDE (débogueur).
Moyens d'aide Résumé personnel de max. 2 pages A4 (simple face) et/ou une référence du langage.
Evaluation env. 20% OO2 - analyse
env. 20% OO1 - trouver la structure des données pour le problème
env. 10% OO4 - décomposition du problème
env. 20% OO5 - types de données abstraits et/ou primitifs
env. 10% OO3 - complexité
env. 20% OO6 - recherche des erreurs avec le débogueur
Relation à la pratique Plan de formation développement d'application:
A1.4 Présenter les exigences de manière structurée (par ex. avec UML), élaborer le cahier des charges et le subdiviser en types d‘exigences.
B2.1 Résoudre les prescriptions d’entreprises avec des directives techniques (web, mobile, desktop, automates).
B2.2 Appliquer des modèles d’architecture dans les solutions (Multitier, Frameworks, Patterns).
B3.7 Editer, documenter du code source (par ex. code en ligne, ..) et documenter en vue de faciliter la maintenance.
B3.5 Appliquer des méthodes de projets (PAP, Jackson, diagramme d‘état, diagramme de classe) et les Software design-Patterns.
B4.6 Tester l’application de manière exhaustive et tout documenter.
B5.1 Organiser des tests systèmes, des tests de remise, des tests non-fonctionnels, des tests négatifs pour lesquels il faut préparer des données de test, documenter le tout.
Publié: 29.03.2016 13:21:39
Date de péremption: Pas de date de péremption
Titre DEP Module 411-5 - 3 Eléments - Examen écrit individuel, Travail pratique de mise en oeuvre, Traitement d'un projet
Institution BZZ Bildungszentrum Zürichsee
Aperçu EP en trois parties comprenant un examen écrit individuel, un travail pratique individuel de mise en oeuvre et le traitement d'un projet dans le cadre d'un travail en équipe
Complément

Partie 1
Pondération 25%
Durée indicative (recommandation) 1
Description de l'élément Examen écrit sur la mise en oeuvre de structures simples de données et algorithmes par le biais d'au moins 4 devoirs (niveau C1 – C3) sur les thèmes:
Caractéristiques d'algorithmes
Formes de représentation d'algorithmes
Fonctionnalité d'algorithmes donnés en tant que diagramme de déroulement ou analyser un pseudocode avec une table de traçage
Moyens d'aide Aucun
Evaluation 5 points pour les caractéristiques et possibilités de représentation d'un algorithme
5 points par diagramme de déroulement (NSD et PAP) = 10 points
5 points pour l'analyse d'un algorithme avec une table de traçage
Relation à la pratique Analyser un problème
Représenter le déroulement d'un processus
Déceler la fonctionnalité de parties données d'un programme

Partie 2
Pondération 35%
Durée indicative (recommandation) 2
Description de l'élément Traiter des structures de données linéaires simples tels que des grilles bidimensionnelles avec un algorithme.
Expliquer/représenter des structures de données dynamiques imposées (par ex. liste en chaîne) et compléter avec de nouvelles fonctionnalités ou méthodes.
Mettre en oeuvre l'implémentation itérative et récursive d'un algorithme.
Moyens d'aide Résumé de 2 pages A4
Evaluation Types abstraits de données:
3 points par nouvelle fonction/méthode
2 points par représentation d'une structure de données = 4 points
4 points pour la mise en oeuvre itérative et récursive
Relation à la pratique Comprendre, appliquer et développer des structures de données.
Projeter et mettre en oeuvre des algorithmes récursifs et itératifs.

Partie 3
Pondération 40%
Durée indicative (recommandation) 12
Description de l'élément Travail pratique en équipe dans des conditions réelles:
Analyser un problème
Choisir et mettre en oeuvre des structures appropriées de données
Développer, implémenter et tester une soluition
Moyens d'aide Tous les documents et accès Internet
Evaluation Tous les documents et accès Internet
Relation à la pratique Tous les documents et accès Internet
Publié: 16.12.2016 08:23:10
Date de péremption: Pas de date de péremption
Titre DEP Module 411-6 - 2 Eléments - Examen écrit individuel, Travail pratique de mise en oeuvre
Institution Zürcher Lehrbetriebsverband ICT (ZLI)
Aperçu A l'aide de deux éléments indépendants, il sera testé la planification et la réalisation d'applications avec un grand nombre de données ainsi que des algorithmes exigeants.
Complément Nous voulons limiter la durée de l'EP sur deux leçons.

Partie 1
Pondération 40%
Durée indicative (recommandation) 1
Description de l'élément Planifier en tout ou partie une application, par ex. diagramme de structure de toute une application (modularisation, interfaces) ou un structogramme d'une fonction de traitement (algorithme).
Moyens d'aide Tous les documents de cours
Evaluation Exhaustivité de la solution
Exactitude de la solution
Notation correcte
Création de la documentation
Relation à la pratique Correspond aux travaux journaliers dans le développement d'applications.

Partie 2
Pondération 60%
Durée indicative (recommandation) 1
Description de l'élément Implémenter un traitement supplémentaire dans une application existante où un nombre important de données sont traitées.
Lots de données possibles: plusieurs lots de données avec du texte et des nombres.
Traitements possibles: trier, rechercher, calculer/exploiter tous les lots de données ou les lots ayant une spécificité particulière.
Moyens d'aide Tous les documents de cours
Evaluation Mise en oeuvre complète
Fonctionnalité correcte
Création de code pour une maintenance aisée
Relation à la pratique Correspond aux travaux journaliers dans le développement d'applications.
Publié: 22.09.2016 11:57:18
Date de péremption: Pas de date de péremption
Retour