Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/07173.jsonl.gz/24

Frère Luc est l'intendant de l'abbaye. Très économe, il réutilise
les bouts de cierges usagés pour en faire de nouveaux. Il est
capable de reconstituer un cierge à partir de trois bouts de cierges
qu'il fait fondre.
Combien pourra-t-il reconstituer de cierges avec les neuf bouts de
cierges qu'il a récupérés ce matin dans l'abbatiale ?
Solution cognitive
Avec 9 bouts, il peut reconstituer 3 cierges.
En brûlant les 3 cierges, il récupère 3 nouveaux bouts.
Avec ces 3 bouts supplémentaire, il peut reconstituer 1 nouveau
cierge (récursivité).
Au total, il récupère 4 cierges !
Solution computationnelle
Implémentation en code JavaScript.
//Set the initial number of pieces available
var numberOfPieces = 9;
//How many pieces are needed for a candle?
var piecesRequired = 3;
//Set a variable to be incremented for each new candle
var totalCandlesObtained = 0;
//Go on until the number of candles can be divided by the pieces
while (numberOfPieces / piecesRequired >= 1) {
//At each cycle define the new number of candles
numberOfPieces = Math.floor(numberOfPieces / piecesRequired);
//Add it to the previous total
totalCandlesObtained += numberOfPieces;
}
//Print the result
console.log('TOTAL:' + totalCandlesObtained + ' candles');
Récursivité
Généralisation du code
Au total, il obtient
{{totalCandles}} cierges.
Connaître la récursivité dans le codage facilite la résolution
cognitive du problème ?
Pensée computationnelle est ?
Dans la littérature scientifique, les différentes définitions de la
pensée computationnelle peuvent être placées sur un continuum entre
deux pôlesopposés :
Capacités Individuelles
Interaction Personne-Machine
Processus universel
Nous considérons que la pensée computationnelle est le processus de
pensée impliqué dans la formulation des problèmes afin que leurs
solutions puissent être représentées sous forme d'étapes de calcul
et d'algorithmes.
— Aho 2012, p. 832
Traduction
libre
Processus délimité
Un algorithme n'est pas une
séquence d'étapes quelconques, mais une série d'étapes qui
contrôlent une machine abstraite ou un modèle de calcul sans
nécessiter de jugement humain. La pensée computationnelle inclut la
conception du modèle, et non seulement les étapes pour le contrôler.
— Denning, 2016, p. 33
Traduction
libre
Troisième dimension sociale
Processus émergent
La pensée computationnelle est un phénomène émergeant de
l'interaction entre l'individu, la technologie, et la communauté de
référence. La pensée computationnelle possède une dimension sociale
que l'individu et la technologie subissent, mais peuvent également
déterminer : l'individu avec ses choix ; la technologie avec son
fonctionnement.
— Fritz, 2019
Définition
provisoire
Informatique : science sociale ?
Étant donné que l'informatique en tant que discipline est de plus en
plus intégrée dans la vie humaine et sociale, l'informatique en tant
que discipline universitaire doit s'éloigner des modèles de
programmes d'études inspirés par l'ingénierie et intégrer les
perspectives analytiques fournis par les théories et les
méthodologies des sciences sociales.
— Connolly, 2020
Traduction
libre
Informatique : science sociale ?
Mouvement bi-directionnel
L'informatique regarde aux sciences sociales, et les sciences
sociales utilisent de plus en plus l'informatique.
Informatique
Sciences sociales
Définition pragmatique
La pensée computationnelle est un terme se référant, de manière
plutôt flexible, à un ensemble d'habiletés, compétences et
procédures qui facilitent la résolution de problèmes en s'appuyant
sur des principes tirés des sciences informatiques.
— Fritz & Schneider, 2019
Composantes principales
Décomposition
Diviser un problème complexe ou un système en petites parties plus
simples à gérer.
S'il y a un problème que vous ne pouvez pas résoudre, alors il y a
un problème plus facile que vous ne pouvez pas résoudre :
trouvez-le.
— Polya, 1945/2014
Traduction
libre
Reconnaissance de pattern
Identifier des similarités entre problèmes ou à l’intérieur du même
problème donné.
Chaque élément de connaissance doit avoir une représentation
unique, non ambiguë et faisant autorité au sein d'un système.
— Hunt & Thomas, 1999
Traduction
libre
Abstraction
Se focaliser exclusivement sur les parties importantes du problème.
Le processus d'abstraction — qui consiste à décider quels détails
nous devons mettre en évidence et quels détails nous pouvons
ignorer — est à la base de la pensée computationnelle.
— Wing, 2008, p. 3718
Traduction
libre
Algorithmes
Trouver une solution à travers une règle composée par une série
d’étapes.
Un algorithme est une procédure de calcul bien définie qui prend
une valeur, ou un ensemble de valeurs, comme entrée et produit une
valeur, ou un ensemble de valeurs, comme sortie.
— Cormen, Leiserson, Rivest, & Stein, 2009, p. 5
Traduction
libre
Mais...
Ces informations ne sont pas suffisantes pour apprendre et tirer
profit de la pensée computationnelle. Il est nécessaire de combiner
les connaissances déclaratives et
procédurales.
Comment ?
Il existe principalement trois modalités d'enseignement de la pensée
computationnelle qui peuvent être combinées :
Activités débranchées
Environnements avec blocs de code
Langages de programmation textuels
Plus de recherche nécessaire sur bénéfices et transfert entre
différentes modalités.
Activités débranchées
Activités qui n'utilisent pas un dispositif
numérique, mais une modélisation abstraite du fonctionnement.