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. */ }
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. �
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
Partager