Nous proposons un référentiel de compétences en programmation croisant compétences de la pensée informatique, et notions informatiques au programme du lycée en France, dans l'objectif de mieux identifier les difficultés des programmeurs débutants, en particulier par rapport aux compétences d'abstraction et de généralisation mises en oeuvre par l'usage de fonctions informatiques.
Nous proposons une série d'activités élémentaires alignées avec les compétences définies et en déduisons un test destiné à identifier ces difficultés chez les programmeurs débutants.
Nous présentons ensuite les résultats de deux cohortes d'élèves et d'étudiants à ce test et discutons ces résultats. Nous en déduisons des nécessités de remédiation et proposons des activités diversifiées permettant de travailler les compétences non maitrisées par les élèves.