You are on page 1of 13

Introducció al pensament computacional

Aquest document forma part del curs Programación con Python del CEFIRE CTEM.

Aquesta obra està subjecta a la llicència Reconeixement-NoComercial-CompartirIgual


4.0 Internacional de Creative Commons. Per veure una còpia d'aquesta llicència,
visiteu
http://creativecommons.org/licenses/by-nc-sa/4.0/.

Autoria: Santiago Ortega, Òscar López Jiménez i Javier García Benlloch.


1. INTRODUCCIÓ
Si després de veure aquesta vinyeta de Frato penses que un aula on es treballe el
pensament computacional és una classe de xics, col·locats en fla connectats al seu
ordinador, amb altaveus en les orelles i abstrets en la pantalla, anem a desmuntar-te
alguns d'aquests falsos mites.
Comencem per una
defnició!i

2. QUÈ ÉS EL
PENSAMENT
COMPUTACIONAL?
El pensament
computacional com a
concepte apareix per
primera vegada amb les
idees de Seymour
Papert, les quals, basant-se en les idees constructvistes de l'aprenentatge
desenrotllades per Piaget radicaven a utlitzar els ordinadors per a integrar l'alumne en
el mateix centre del que es pretenia aprendre, per a aconseguir així, un aprenentatge
verdaderament signifcatu. Papert, va plasmar les seues idees en un llibre anomenat
“Mindstorm Children, Computers and Powerful Ideas”; assentant així les bases del
pensament computacional. Posteriorment, per a portar les seues idees a un pla més
pragmàtc va desenvolupar un llenguatge de programació anomenat Logo (veure
imatge a la dreta) . El qual, podríem dir que seria el
besiaio de l'actual http://maximaonline.com.ar/multime
Scratch, i encara que dia/no 1

va estar carregat de
bones intencions, no arribe a tndre èxit entre la
comunitat educatva.

No obstant això, no va ser Papert qui realment va


encunyar el terme “Pensament computacional”
sinó que va ser Jeannete Wing, la qual, al març de 2006, va publicar un artcle
desengranant els múltples benefcis que podia portar la implantació d'este mètode de
resolució de problemes en les classes escolars.
"Computational Thinking is the thought processes involved in formulating problems
and their solutions so that the solutions are represented in a form that can be
effectively carried out by an information-pprocessing agent."
"Pensament computacional: procés mental utlitzat per a formular problemes i les
seues solucions de manera que les solucions es plasmen de manera adequada per a
ser dutes a terme per qualsevol agent que processe informació"
Aquesta defnició, a partr de la qual anem a treballar, implica que el pensament
computacional és un procés de pensament independent de la tecnologia. Mitjançant el
pensament computacional som capaços de dissenyar solucions per a ser executades
per un ordinador, una tableta, un humà, o qualsevol combinació d'ells.

3. QUÈ APORTA?
La introducció del pensament computacional en les aules permet dotar a l'alumnat
d'una manera de resoldre problemes i enfrontar-se a les tasques quotdianes amb un
nombre major d'habilitats. Aquestes habilitats van a ser clau a l'hora de tenir una
societat PRODUCTORA de tecnologia en lloc de només CONSUMIDORA.

htps://www.slideshare.net/cristobalcobo/cultura-makeer-pensando-en-el-pensamiento-computacional-coding-diy // CC BY-SA 4.0


Dins d'aquestes habilitats anem a destacar la descomposició, l'abstracció, el
pensament algorítmic i els patrons, encara que com veurem en els pròxims temes les
habilitats que es poden treballar són encara majors com per exemple la lògica.
És important dir, que no sempre es treballen totes les habilitats, dependrà en part del
tpus de problema a què ens enfrontem, i de les nostres pròpies capacitats. Per
exemple, poguera ser que una persona determinada puga identfcar la majoria dels
patrons d'un problema concret sense necessitat de descompondre-ho. No obstant
això, en major o menor mesura, l'últm pas serà sempre la creació d'un algoritme que
resolga el problema.

3.1 L’abstracció
En un plànol de metre, sabem com arribar d'una estació a una altra seguint una línia de
color. No ens importa l'arquitectura dels edifcis, ni la temperatura, ni si hi haurà molta
gent. Ens oblidem de tot açò i ens centrem en l'essencial. Açò és l'abstracció. En el
plànol es representa la informació necessària perquè el viatger puga anar d'un lloc a un
altre eliminant tota la informació no rellevant.

htp://www.levante-emv.com/especiales/transportes-valencia/20t2/09/plano-zonal-metrovalencia-n661t21t793.html

L'abstracció és el procés pel qual anem a eliminar els aspectes innecessaris deixant
solament els importants per a dur a terme la resolució d'un problema.

3.2 El pensament algorítmic


L'abstracció és el procés pel qual anem a eliminar els aspectes innecessaris deixant
solament els importants per a dur a terme la resolució d'un problema. La Real
Acadèmia Espanyola (RAE) defneix algorisme com “un conjunt ordenat i fnit
d'operacions que permet trobar la solució d'un problema”.
Per exemple, podem usar un algorisme per a trobar la ruta més curta entre dues
ubicacions en un mapa; el mateix algorisme es pot usar per a qualsevol parell de punts
d'inici i fnalització, per la qual cosa la solució depèn de l'entrada a l'algorisme.
Si coneixem l'algorisme per a resoldre un problema, llavors podem resoldre aqueix
problema fàcilment, quan vulguem, sense haver de pensar!i Solament hem de seguir
els passos.
Un exemple gràfc d'algorisme quotdià.
upload.wikeimedia.org/wikeipedia/commons/thumb/b/bd/LampFlowchart-es.svg/330px-LampFlowchart-es.svg.png

Cridem pensament algorítmic al procés de creació d'algorismes, és a dir, una forma


d'arribar a una solució defnint els seus passos.
El pensament algorítmic ajuda a l'alumnat a resoldre problemes de la vida quotdiana o
acadèmics d'una manera estructurada i creatva.
Un exemple de pensament algorítmic portat al terreny de l'humor és el vídeo “Sheldon
Cooper l'algorisme de l'amistat” de la sèrie Big Bang Theory”
htps://youtu.be/h3z3hdblqqu

3.3 La descomposició
La descomposició consisteix en el procés de dividir un problema complex o sistema en
parts més xicotetes que són més senzilles i més fàcils d'entendre. Cada part es pot
examinar i resoldre, o dissenyar individualment, ja que són més fàcils de treballar.
La descomposició és una habilitat important per a crear algorismes i processos que es
poden implementar en un dispositu informàtc, perquè els ordinadors necessiten
instruccions molt específques. Necessiten que els diguen cadascun dels xicotets
passos que han de seguir per a fer les coses.

Per exemple, la tasca general de fer unes galetes de mantega es pot descompondre en
diverses tasques més xicotetes, cadascuna de les quals es pot realitzar fàcilment.
● Tamisem la farina amb la sal i el llevat. Reservem.
● Batem el sucre amb la mantega fns que es forme una crema blanca.
● Afegim l'ou i l'essència. Batem fns que s'incorpore.
● Ara anem afegint a poc a poc la mescla de farina, a cullerades, deixant que
s'integre la primera abans de trar la seggent cullerada.
● La massa estarà llesta quan resulte una massa blana però no apegalosa.
● Amb una espàtula, arrepleguem les galetes i les posem en una safata de forn.
Estrem entre dos papers de forn. Hem de deixar la massa d'uns q-6 mm de
grossor. Tallem amb els motles.
● Fornejar uns q- t0 min, o fns que comencen a torrar-se les vores.
● Traiem del forn, deixem refredar uns minuts i passem a una reixeta perquè
refreden del tot.
Recepta obtnguda de htp://unaenfermeraenlacocina.blogspot.com.es/20t3/t2/galletas-de-mantequilla-para-decorar.html

3.4 Els patrons. Generalitzacions


La generalització s'associa amb la identfcació de patrons, similituds. És una forma de
resoldre nous problemes a partr de la base de problemes ja resolts anteriorment.

Què tenen en comú aquestes imatges?


Observant les imatges veiem que tenen en comú que totes giren al voltant d'un eix.
Aquest seria el patró.
Quan pensem en els problemes, podem reconèixer similituds entre ells i que es poden
resoldre de manera similar. Açò es diu coincidència de patrons, i és una cosa que fem
naturalment tot el temps en la nostra vida diària.

3.5 Exemple
Passem ara a explicar un exemple senzill del nostre dia a dia, bullir pasta.
Amb la descomposició, separem un problema major en problemes més xicotets, de
manera que la resolució de cada un d'ells per separat acabe portant a la resolució del
major. En el nostre exemple, separarem el problema en problemes més xicotets:
t. Preparació.
2. Ebullició.
3. Servir.
Els patrons, ens permeten identfcar aquells aspectes que tenen en comú les diferents
parts del problema. Tant en la seua divisió de problemes més xicotets, com en el
problema en el seu conjunt. En el nostre exemple, identicarem aquells aspectes que
marcaran cada xicotet problema:
t. Preparació.
a. Grandària adequada del recipient
b. Quanttat d’aigua
c. Sal
2. Ebullició.
a. Temperatura del foc
b. Temps d’ebullició
3. Servir.
a. Quanttat de racions
Amb l'abstracció, eliminem del problema tots aquells aspectes que resulten
irrellevants per a la resolució del mateix, quedant-nos únicament amb l'essencial.
Potser no ens adonem, que se'ns ha pogut oblidar un patró determinat, no hi ha
problema perquè, per a tornar arrere i afegir-ho. Vegem com en el nostre exemple
hem considerat superfu el clima, la temperatura a què està la pasta, ... Però ens hem
adonat de que no hem considerat la quanttat de pasta, afegim-ho doncs:
t. Preparació.
a. Grandària adequada del recipient
b. Quanttat de pasta
c. Quanttat d’aigua
d. Sal
2. Ebullició.
a. Temperatura del foc
b. Temps d’ebullició
3. Servir.
a. Quanttat de racions
En crear l'algoritme, presentarem una sèrie d'instruccions concretes que, partnt dels
nostres passos anteriors, descomponen el problema en xicotets passos concrets, els
quals se centren en l'essencial del mateix, per a poder resoldre-ho de la manera més
efcient. En fer-ho, ens plantejarem preguntes per a determinar si hem de passar a la
fase seggent de la resolució del problema o de si al contrari hem de tornar a realitzar la
fase anterior.

Hi ha diverses formes de presentar un algoritme, una de les més comunes, intuïtves i


gràfques és la de l'ús d'un diagrama de fux. És per això que s'ha decidit presentar-lo
en aquest format. No obstant això, més avant mostrarem diverses formes de plasmar
gràfcament un algoritme.
Diagrama de fux creat amb la versió gratuïta de Lucidchart (www.lucidchart.com)
Òbviament, este algoritme pot ser més complex incloent més passos i opcions, o més
senzill, obviant alguns passos. Depenent del grau d'exacttud requerit, l'algoritme
haurà de ser més o menys precís.

Si esteu interessats en conèixer més sobre com funcionen i quines normes tenen el
diagrames de fux, en el seggent enllaç podreu trobar-ne més informació:
htps://www.jramonet.com/sites/default/fles/adjuntos/diagramas1fujo1jrf1v20t3.pd
f

4. REPRESENTACIÓ D’ALGORITMES
Amb la creació d’un algoritme, es fa patent la necessitat de plasmar una idea abstracta
en una representació objectva que guie al lector a través del procés de resolució del
problema. Per a això, hi ha multtud de representacions que serveixen com un mapa
que represente els diferents camins que es poden prendre. Explicarem perquè algunes
d'estes representacions:

4.1. Diagrama de flux.


El diagrama de fux també conegut com fuxograma o diagrama d'actvitats, representa
per mitjà de fgures geomètriques codifcades, fetxes i text el
procés que s'ha de seguir per a la resolució d'un problema
concret. Facilitant així diversos camins que poden ser circulars
(quan tornen al punt previ) o unidireccionals (quan comencen un
procés).

Com a símbols bàsics utlitzats tenim:

El rectangle o caixa: representa una


actvitat, operació o tasca.

Rombe: representa una condició, pregunta o decisió


plantejada. Sempre s’ha de respondre únicament amb “Sí”
o “No”.

Línia amb fetxa: Representa el sentt de les actvitats o


fux.

És important conèixer, que en els diagrames de fux existeix NOMÉS un punt d'INICI i
NOMÉS un punt FINAL. A més d'esta hi ha altres normes tècniques que normalitzen el
seu ús.

Com és obvi, els diagrames de fux poden ser molt més complexos, amb símbols més
complexos, auxiliares... Però ja que no és el nostre camp d'estudi, ens detndrem ací.

https://es.wikipedia.org/wiki/D
iagrama_d 1
4.2. Pseudocodi
El pseudocodi és una descripció INFORMAL i resumida, d'una sèrie d'instruccions, del
principi operatu d'un programa o d'un algoritme. Vegem-ho amb un exemple com
cridar per un telèfon mòbil:
INICI
Desbloquejar mòbil
Entrar en aplicació cridades
Marcar número desitjat
Polsar la tecla cridada
Esperar contestació
Parlar
Polsar la tecla fnalització de cridada
Bloquejar mòbil
FI
Amb este mètode podem esbossar de forma ràpida i senzilla les diferents ordes que
desitgem que posteriorment es plasmen en una altra representació, a més de treballar
amb els alumnes la utlització del llenguatge com a instruccions.

4.3. Programació amb codi


La programació amb codi fa referència a aquella que utlitza un llenguatge o codi propi
per a dur a terme una sèrie d'accions en un programa determinat. Es fa necessari
doncs, conèixer el llenguatge del programa per a poder escriure les ordes necessàries.
Hi ha multtud de llenguatges informàtcs a l'hora de programar, alguns exemples són:
JAVA, C, C++, Python y C#.

4.4. Programació visual


La programació visual és aquella que simpliica enormement la creació de l'algoritme
de resolució, ja que la codifcació del codi ja ha sigut
prèviament creada i codifcada, en una sèrie d'elements
visuals que l'editor simplement deu d'anar seleccionant
en l'orde que el desitge, per a crear el seu codi.
Generalment, estos elements visuals estan situats dins
d'un IDE (Entorn integrat de desenrotllament) , prou
amigable, que ajuda a seleccionar-los, dividint-los per
categories, pintant-los de diferents colors, atorgant-los diferents formes segons la seua
aplicació...
En el cas de Scratch, estos elements visuals es coneixen amb el nom de “blocs” i fa
referència a la seua forma.
A més de Scratch, hi ha altres plataformes de programació molt utlitzades en
educació, que fan ús dels blocs com:
- App Inventor
- Code.org
- Makeeblocke
Els llenguatges de programació són la via per a comunicar-nos amb els ordinadors,
amb ells, podem construir una sèrie d'instruccions, que, executats en un orde o un
altre prèviament determinats, donaran forma als nostres jocs, animacions, cançons...
Estos llenguatges donen una sèrie d'ordes, les quals acaben conformant el codi font
d'un programa. Per tant, este codi font serà el llistat d'accions ordenades que el nostre
programa executarà a l'iniciar-se. En concret, en Scratch, estes ordes prenen la forma
de blocs, que units d'una manera o d'una altra per l'usuari/programador, donaran
forma al nostre joc o programa.
Generalment, programar és, òbviament, un procés molt més complex, per a fer-ho
solem necessitar:
t. Un editor de codi. “Un editor de codi font és un editor de text dissenyat
específcament per a editar el codi font de programes informàtcs.”
htps://es.wikeipedia.org/wikei/Editor1de1c%C3%B3digo1fuente
2. Un compilador. “Un compilador és un programa informàtc que tradueix un
programa que ha sigut escrit en un llenguatge de programació a un llenguatge
comú”, de manera que “reuneix diversos elements o fragments en una mateixa
unitat” i ho transforma en un programa executable.
htps://es.wikeipedia.org/wikei/Editor1de1c%C3%B3digo1fuente

No obstant això, una altra opció que existeix a l'hora de programar és que estos dos
elements, l'editor i el compilador, s'ajunten en un sol, en la qual cosa es coneix com
IDE, “Integrated Development Environment”, o en castellà Entorn Integrat de
Desenvolupament. Este tpus d'opció simplifca molt les coses a l'hora de programar, i
com no podia ser d'una altra manera, Scratch és un IDE molt intuïtu.

5. RELACIÓ AMB EL CURRÍCULUM


L'Insttut Nacional de Tecnologies Educatves i de Formació del professorat (INTEF) va
presentar en 20tq l'informe Computhinke, el pensament computacional en
l'ensenyament obligatori. El treball realitzat en aquest informe, la lectura del qual
recomanem, presta especial atenció a la manera en el qual s'hauria d'incloure el
pensament computacional en l'ensenyament obligatori per a aconseguir:
● El desenvolupament d'habilitats de Pensament Computacional en l'alumnat
perquè puguen
pensar de manera
diferent, expressar- se a
través d'una varietat de mitjans, resoldre problemes del món real i analitzar
temes quotdians des d'una perspectva diferent.
● El foment del Pensament Computacional per a impulsar el creixement
econòmic, cobrir llocs de treball TIC i preparar-se per a futures ocupacions.

A Espanya ja hi ha comunitats autònomes pioneres que han introduït en el seu


currículum de primària i secundària el pensament computacional com la Comunitat de
Navarra que fns i tot per al curs escolar 20t7-20t8 ho inclouran en la prova
diagnòstca.
Però la major implantació s'ha realitzat a Regne Unit, de fet està suposant un model
per a la resta d'Europa.
En el currículum de la Comunitat valenciana no hi ha una menció expressa al
pensament computacional com a part del contngut de les diferents matèries que ho
conformen. Però sí, podem fer referència a ell en les nostres programacions en
diferents matèries que anomenen en els seus contnguts o justfcació aspectes com: el
desenrotllament del pensament i raonament, la resolució de problemes, el
pensament alternatu, el pensament mitjans-i, el pensament abstracte o el
pensament de perspectia entre altres. Sens dubte, estos aspectes apareixen amb
especial rellevància en matèries com a Tecnologia, Informàtca o Tecnologies de la
Informació i la Comunicació, encara que també es pot aplicar a altres matèries com a
Matemàtques, Física i Química, ...
6. RESUM

La formació del pensament computacional ajuda als estudiants a aprendre a descriure


un problema, identicar quins són els detalls importants que necessiten per a
resoldre aquest problema, diiidir-ho en xicotets passos lògics (perquè puguen crear
un procés que solucione el problema) i després aialuar aquest procés.
Aquestes habilitats són transferibles a qualsevol altra àrea de currículum i, per
descomptat, per a desenvolupar sistemes digitals i resoldre problemes usant les
capacitats dels ordinadors.

You might also like