Què és el pensament computacional?
El pensament computacional és un conjunt d'habilitats i tècniques de resolució de problemes que els enginyers de programari utilitzen abans d'escriure programes al robots i dissenyar aplicacions amb el "llenguatge" robòtic (Java, Python, PHP, etc)
Aquestes habilitats en que es basa el pensament computacional són les següents (clica a l'enllaç si vols saber més):
DESCOMPOSICIÓ: Desglossar els problemes en parts més petites i més fàcils.
RECONEIXEMENT DE PATRONS: Ús de patrons (passos similars que es repeteixen) en la informació per resoldre problemes.
ABSTRACCIÓ: Trobar informació útil i treure qualsevol informació que no sigui útil o rellevant.
MODELITZACIÓ I SIMULACIÓ: Provar diferents solucions fent models i simulacions per resoldre problemes.
ALGORITMES: Creació d'una solució o conjunt de passos-instruccions molt detallades per resoldre un problema o completar una tasca.
AVALUACIÓ: Avaluar una solució a un problema i tornar a utilitzar aquesta informació en problemes nous.
Descomposició: Dividir la funció de netejar en subfuncions (moviment, mapeig de la zona de neteja, control de bateria i elements electrònics, detecció d'escales, sistema de neteja)
Patrons: els programadors identifiquen passos molt semblants a l'hora de definir com reacciona el robot si detecta algun obstacle davant o al costat, o al establir un sistema de control si la bateria es sobreescalfa o si ho fa el sistema dels servomotors.
Abstracció: abans de fer els algoritmes de cada subfunció, queden clars els passos a fer sense detalls. Per exemple per moure's es defineix que cal que giri quan detecti un obstacle, o anar a carregar si detecta poca bateria (encara no es detalla com ho farà)
Modelització: es fan simulacions per ordinador del comportament d'un robot virtual per provar diferents situacions que es pot trobar el robot (portes obertes, esglaons, canvis de nivell a la casa...)
Algoritmes: es redacten els passos detallats de cada subfunció (quants graus exactament ha de girar, a quina velocitat, com ha de ser l'avís sonor de falta de bateria...)
Avaluació: Amb un aspirador ja fet, es prova en un espai controlat per veure defectes. També es pot analitzar les queixes del consumidors per treure una versió millorada en un futur.
Aquestes habilitats del pensament computacional també les fem servir al realitzar tasques quotidianes, i a vegades ni ens adonem.
Per exemple, quan ens demanen que fem un pastís per un aniversari, primer separem mentalment (o seguint una recepta) tot el procés en parts (DESCOMPOSICIÓ): com fer la massa, com fer la cobertura, com fer el farcit. Quan pensem en cadascuna d'aquestes parts del procés, primer pensem el que hem de fer de forma general (ABSTRACCIÓ) per ajudar-nos, per exemple, a visualitzar ràpidament si tinc els utensilis i ingredients necessaris i si sabré fer-ho. Després ja faig detalladament cada pas (ALGORITME), aprofitant el que ja sabem fer d'altres pastissos o receptes (PATRONS). Fins i tot podriem fer dibuixos o models en cartró del pastís per veure com quedaria (MODELITZACIÓ). A cada part del procés, anem provant si està bo i tendre, i al final el donem per menjar, i escoltem les crítiques, per un futur millor pastís (AVALUACIÓ)
Per tant, el robots "pensen" igual que els humans que els programen ? o som els humans que hem de pensar de forma diferent per programar-los??
Hi haurà en un futur robots que programin robots? O robots que ensenyin pensament computacional als humans?