IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Etudes Discussion :

Les tableaux : l’un des concepts de base les plus difficiles à maîtriser en programmation ?


Sujet :

Etudes

  1. #1
    Chroniqueur Actualités
    Avatar de Patrick Ruiz
    Homme Profil pro
    Redacteur web
    Inscrit en
    Février 2017
    Messages
    2 441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Redacteur web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2017
    Messages : 2 441
    Par défaut Les tableaux : l’un des concepts de base les plus difficiles à maîtriser en programmation ?
    Les tableaux : L’un des concepts de base les plus difficiles à maîtriser en programmation ? C’est ce que suggèrent les résultats d’une épreuve pour élèves du secondaire
    A laquelle moins de 20 % ont réussi

    Pour certains intervenants de la filière du développement de logiciels, développer est juste un autre langage qui devrait être enseigné à l’école. Coder doit être une exigence à l’école. C’est dans cet ordre d’idées que des organisations comme College Board permettent aux lycéens de suivre des cours de niveau universitaire dont un de programmation informatique qui se termine par un examen de 90 minutes. Les résultats des élèves suggèrent que les tableaux font partie des concepts de base les plus difficiles à maîtriser en programmation informatique.

    « Les élèves ont obtenu d’excellents résultats sur les types primitifs, les expressions booléennes et les instructions If ; 44 % des élèves ont obtenu 7 à 8 points sur 8 », explique Trevor Packard, responsable du programme qui ajoute ensuite « qu’ils ont eu plus de mal avec les questions sur les tableaux, les listes de tableaux et les tableaux 2D ; 17 % des élèves ont obtenu 11 à 12 points sur 12. La question la plus difficile de l'examen AP Computer Science A était la question n° 4, le puzzle des nombres dans un tableau 2D ; 19 % des élèves ont obtenu 8 à 9 points sur les 9 points possibles. »

    « Cette question [4] porte sur un casse-tête mathématique représenté sous la forme d'un tableau d'entiers à deux dimensions. Chaque élément du tableau contient initialement une valeur comprise entre 1 et 9 inclus. Pour résoudre le casse-tête, il faut effacer des paires d'éléments du tableau en leur attribuant la valeur 0. Deux éléments peuvent être effacés si leur somme est égale à 10 ou s'ils ont la même valeur. Le casse-tête est considéré comme résolu lorsque tous les éléments du tableau ont été effacés. Vous devrez écrire le constructeur et une méthode de la classe SumOrSameGame, qui contient les méthodes permettant de manipuler les éléments du puzzle », lit-on dans l’épreuve

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    public class SumOrSameGame
      {
        private int[][] puzzle;
        /**
        * Creates a two-dimensional array and fills it with random integers,
        * as described in part (a)
        * Precondition: numRows > 0; numCols > 0
        */
        public SumOrSameGame(int numRows, int numCols)
        { /* to be implemented in part (a) */ }
        /**
        * Identifies and clears an element of puzzle that can be paired with
        * the element at the given row and column, as described in part (b)
        * Preconditions: row and col are valid row and column indices in puzzle.
        * The element at the given row and column is between 1 and 9, inclusive.
        */
        public boolean clearPair(int row, int col)
        { /* to be implemented in part (b) */ }
        /* There may be instance variables, constructors,
        and methods that are not shown. */
      }

    Nom : 0.png
Affichages : 21213
Taille : 51,3 Ko

    De multiples raisons sont susceptibles d’expliquer les mauvais résultats des élèves à ces questions sur les tableaux

    Le premier paragraphe de la question [4] aurait dû constituer l'intégralité de la question. Au lieu de cela, les examinateurs ont ajouté une multitude de contraintes dictées par la manière dont la personne qui a rédigé la question l'aurait résolue, ce qui est susceptible de rendre la tâche beaucoup plus difficile.

    « Écrivez le constructeur de la classe SumOrSameGame. Le constructeur initialise la variable d'instance puzzle comme un tableau d'entiers à deux dimensions dont le nombre de lignes et de colonnes est spécifié respectivement par les paramètres numRows et numCols. Les éléments du tableau sont initialisés avec des entiers aléatoires compris entre 1 et 9 inclus, chacun ayant une chance égale d'être attribué à chaque élément de puzzle. Lorsqu'il y a accès d’un élément du tableau à deux dimensions, le premier index est utilisé pour spécifier la ligne et le second index est utilisé pour spécifier la colonne », indique le sujet en termes de contraintes.

    « Écrivez la méthode clearPair, qui prend comme paramètres un index de ligne valide et un index de colonne valide. L'élément du tableau spécifié par ces indices, dont la valeur est comprise entre 1 et 9 inclus, est comparé aux autres éléments du tableau puzzle afin de le jumeler avec un autre élément du tableau qui remplit les deux conditions suivantes : l'index de ligne du deuxième élément est supérieur ou égal à l'index de ligne du paramètre ; les deux éléments ont des valeurs égales ou dont la somme est égale à 10. Si un tel élément du tableau est trouvé, les deux éléments du tableau de la paire sont effacés (mis à 0) et la méthode renvoie true. Si plusieurs éléments de ce type sont trouvés, n'importe lequel de ces éléments identifiés peut être utilisé pour compléter la paire et peut être effacé. Si aucun élément de ce type n'est trouvé, aucune modification n'est apportée au puzzle et la méthode renvoie false. Le tableau suivant présente les résultats possibles de plusieurs appels à clearPair. »

    Nom : 1.png
Affichages : 7469
Taille : 76,6 Ko

    De plus, une ébauche de solution soulève des questionnements sur le niveau de préparation des élèves à affronter une telle question.

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      public SumOrSameGame(int numRows,
      int numCols)
      {
        puzzle = new int[numRows][numCols];
        for( int i = 0; i < numRows; i++ )
        {
          for( int j = 0; j < numCols; j++)
          {
            puzzle[i][j] =
            (int)(Math.random()*9)+1;
          }
        }
      }

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
      public boolean clearPair(int row, int col)
      {
        int val = puzzle[row][col];
        for( int i = row; i < puzzle.length; i++ ) {
          for( int j = 0; j < puzzle[i].length; j++) {
            int curr = puzzle[i][j];
            if(!( i == row && j == col ))
            if( curr + val == 10 || curr == val ) {
              puzzle[i][j] = 0;
              puzzle[row][col] = 0;
              return true;
            }
          }
        }
        return false;
      }

    Source : CB1, CB2

    Et vous ?

    Y a-t-il des concepts informatiques de base que vous avez eu du mal à maîtriser dans le cadre de votre formation de développeur informatique ? Lesquels ? Partagez votre expérience.
    Quelles sont les raisons susceptibles d’expliquer les mauvais résultats d’ensemble des élèves sur les questions en lien avec la programmation des tableaux ? Partagez-vous l’avis selon lequel le libellé de la question est ambigu ?

    Voir aussi :

    Comment avez-vous appris à développer ? Êtes-vous passé par le parcours classique d'une formation diplômante en informatique ou autrement ?
    France : le ministère de l'Éducation nationale interdit les sorties de classe Apple, car elles seraient plus à titre commercial qu'éducatives
    Le PDG d'Apple fustige la course à la collecte de données qui s'est muée en un « complexe industriel de données » et appelle à une législation US
    Tim Cook dit qu'Apple enquêtera sur l'application qui permet aux hommes saoudiens de suivre et de contrôler les femmes, Google lui emboîte le pas
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 480
    Par défaut
    Concept de base informatique, le récursif ...
    C'est un peu compliqué pour des bénéfices très situationnelle, bref j'ai toujours eu du mal lol


    Sinon ormis les "bases", la manipulation de document style PDF, tout les outils font des trucs à leur sauce compatible ou non. C'est la grouille, à vouloir faire du spé dans tout les sens on en fait n'importe quoi.

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 370
    Billets dans le blog
    48
    Par défaut
    Je dirais que, de nos jours, la première difficulté est la compréhension de l'énoncé de l'exercice qui est beaucoup plus long que les 3-4 lignes de code de la solution. Il est certain que beaucoup de nos élèves de lycée qui ont déjà les notions de programmation vous diront après avoir vu la solution que "c'était facile, mais l'énoncé n'est pas clair du tout..."

    S'il vous faut plus de trois phrases en français pour un énoncé d'exercice, tout devient un problème...

Discussions similaires

  1. Réponses: 31
    Dernier message: 25/02/2018, 17h18
  2. [Sondage] Quelles sont les tâches les plus difficiles pour un développeur ?
    Par Michael Guilloux dans le forum Débats sur le développement - Le Best Of
    Réponses: 68
    Dernier message: 04/06/2016, 19h06
  3. Les profils Java seraient les plus difficiles à trouver
    Par Gordon Fowler dans le forum Actualités
    Réponses: 68
    Dernier message: 25/10/2010, 11h29
  4. Conception de base pour les Etats
    Par JauB dans le forum DB2
    Réponses: 13
    Dernier message: 04/01/2007, 11h21
  5. Réponses: 4
    Dernier message: 09/08/2006, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo