Vamos a familiarizarnos con los pasos del Pensamiento Computacional mediante la materialización del siguiente ejemplo:
Supongamos que nos encargan un trabajo de Ciencias Sociales: se nos pide un informe sobre la variación de la población en las diferentes capitales de provincia de España en los años 1990, 2000 y 2010. También se nos sugiere trabajar en equipo con el fin de agilizar el trabajo.
Podríamos comenzar descomponiendo el reto: en este caso una opción sería hacer un listado de las Comunidades Autónomas, las provincias que las forman y las capitales de cada una de ellas. De esta manera se nos facilitaría la tarea de repartir el trabajo entre los diferentes grupos.
El siguiente paso sería buscar patrones: un posible patrón podría ser la búsqueda de la población de cada capital en cada uno de los años en los que se nos solicita. Abstrayendo, nos daríamos cuenta de que solo recopilamos datos, números sobre población asociados a una capital. Sería posteriormente cuando los trataríamos por separado para redactar las reflexiones pertinentes.
Una vez recogidos todos los datos, llegaría el momento de realizar el informe detallado sobre la evolución de la población: podríamos usar el ordenador para realizar dicho informe, pudiendo coordinarse desde un espacio de almacenamiento en la nube (Google Drive o OneDrive), y así varias personas podríamos trabajar de forma simultánea sobre el proyecto. También podríamos beneficiarnos de las ventajas de los programas para la realización de gráficas que nos muestran visualmente la evolución y las variaciones en la población.
Éste podría ser un posible proceso de resolución de un problema aplicando el Pensamiento Computacional, sin necesidad de ser técnico o informático.
Los algoritmos tienen por función definir el proceso que pretendemos llevar a cabo durante la resolución de un problema o proceso. Es decir, nos planteamos la estrategia que vamos a seguir y la representamos gráficamente para posteriormente pasar a la fase de ejecución o creación. Esta secuenciación de tareas permite que cualquier persona que visualice el algoritmo pueda interpretarlo y conocer los pasos que se van a seguir durante todo el proceso.
Con el fin de afianzar el concepto de algoritmo y su puesta en práctica, a continuación os mostramos unos ejemplos: se trata de un par de algoritmos acompañados por pseudocódigo, es decir, una explicación personal en un lenguaje más o menos coloquial de los mismos. También conocido como falso lenguaje. Han sido elaborados con draw.io, un complemento disponible para Google Drive.
Ejemplo primero: Hacer palomitas en el microondas
Ejemplo segundo: Realizar un programa para calcular el mayor de tres números
En el ejemplo que te planteábamos sobre el trabajo de Ciencias Sociales, nos ha faltado una fase, ¿verdad? No hemos incluido el algoritmo que nos guíe en el proceso de resolución del problema planteado. Por eso ahora te proponemos que realices el algoritmo de ese supuesto y, una vez que lo hayas incluido en tu portfolio, lo compartas en Twitter utilizando el hashtag #MoocBot o en el grupo del MOOC en Facebook.
Puedes realizarlo con lápiz y papel y luego hacerle una foto, o puedes usar alguna de las siguientes herramientas y convertir el diagrama a imagen:
En los siguientes enlaces podrás ampliar la información relacionada con los algoritmos:
Por último, en la presentación Ejemplos de diagramas de flujo encontrarás más ideas que podrán ayudarte a desarrollar el algoritmo propuesto en esta mini tarea.
Tipos de Lenguajes Algorítmicos
El Pensamiento Computacional es un proceso que puede trabajarse con o sin ordenadores. Podemos ser creativos y resolver problemas de maneras muy diferentes. La inteligencia en la resolución de los mismos y la innovación en las soluciones adoptadas, son cualidades que únicamente tienen los humanos. La función de los ordenadores es ayudarnos en aquellas dificultades que requieran muchos cálculos, automatización de procesos o una difusión instantánea. Por ese motivo cobra una importancia muy significativa, dentro del Pensamiento Computacional, conocer en qué medida pueden sernos útiles los ordenadores.
La programación aplicada a la educación persigue, entre otros objetivos, que sepamos construir nuestro propio aprendizaje: partimos de unos conocimientos previos que habitualmente son escasos, tanto en los nativos digitales como en los emigrantes digitales. Mediante la formación podremos adquirir los conceptos básicos que nos permitan comenzar a crear.
Cuando nos enfrentamos a retos nuevos se enciende la mecha de la motivación. La tecnología que nos rodea no tiene por qué estar limitada al ocio y a las comunicaciones. También puede ayudarnos, guiarnos y acompañarnos a la largo de toda nuestra vida, tanto personal como laboral.
Uno de los valores añadidos de trabajar el Pensamiento Computacional es que fomenta el trabajo en sociedad. El trabajo cooperativo es la raíz de este movimiento emergente. En la red existen multitud de personas que trabajan juntas y que persiguen un mismo fin: solucionar los retos-problemas de esta sociedad.
Cuando nos enfrentamos a un reto es conveniente pararse a pensar, dedicar ese tiempo extra para sentar las bases de su resolución. Elaborar un algoritmo es una buena manera de establecer una hoja de ruta que guíe nuestros pasos hasta conseguir la solución deseada.
Una vez descompuesto el problema inicial en subproblemas para poder distribuir trabajo, la fase de búsqueda de patrones puede sorprendernos en cuanto a su utilidad. A medida que vayamos resolviendo proyectos cada vez nos iremos dando cuenta de aquellas subtareas que se repiten y que nos permitirán ahorrar tiempo.
Por ejemplo, si hablamos del mundo de la programación, no cabe duda que cuando comenzamos todo lo que hagamos será nuevo. Pero a medida que vayamos creando programas cada vez identificaremos más subpartes que hemos resuelto anteriormente. Esto redundará en una optimización de los procesos y ahorro considerable del tiempo. La experiencia nos ayudará tanto a mejorar la calidad de nuestros programas como a que la búsqueda de patrones sea más eficaz.
Una vez abierta la puerta de la búsqueda de patrones toca abrir la siguiente, es decir la abstracción. Esta habilidad, única del ser humano, permite combatir la complejidad de un fenómeno o subproblema para fijarse sólo en lo esencial de aquello que estemos analizando. Y haciendo referencia a los artículos de Jeannette Wing, resulta muy interesante distinguir los niveles de Abstracción: es decir, no es lo mismo analizar un robot como un conjunto de circuitos, mecanismos, procesadores, sensores y carcasa; o hacerlo como un conjunto de resistencias, condensadores, circuitos impresos, tornillos, engranajes, motores, leds, estaño, correas, ejes, muelles, cables, etc.
Por este motivo resulta conveniente elegir adecuadamente el nivel de abstracción que vamos a utilizar en nuestros proyectos o en las partes en las que los dividimos. De esta forma podremos enlazar la abstracción con la búsqueda de patrones, y así conseguir encontrar esas partes comunes y separarlas de las particulares de cada subproblema.
El ejemplo por excelencia para introducir el Pensamiento Computacional en la educación es la aplicación Scratch, que además de permitir el trabajo cooperativo fomenta en todo momento el aprender de los demás y compartir los logros alcanzados. La posibilidad de ver, editar y volver a compartir proyectos ya existentes da un poder ilimitado a la capacidad de seguir mejorando en la programación. Todo se retroalimenta de las creaciones inicialmente anónimas y que luego cobran identidad y personalidad propia en la red.
Si somos capaces de acostumbrarnos a utilizar el Pensamiento Computacional, si entendemos cómo descomponer nuestro gran reto, cómo buscar patrones, la abstracción para economizar tiempos y creamos algoritmos en nuestro día a día, dispondremos de una preparación muy valiosa para enfrentarnos a situaciones inesperadas de una manera más efectiva. La flexibilidad para afrontar los cambios, saber llevarlos a nuestro terreno, saber cómo repartir las tareas en equipo y conocer aquello que los ordenadores pueden hacer por nosotros, son y serán capacidades muy demandadas en la sociedad y en el mundo laboral.
En muchos centros han aparecido a lo largo de estos últimos diez años iniciativas individuales que han introducido el Pensamiento Computacional y la programación en el aula y que han provocado el efecto contagio y se han ido extendiendo por todo el planeta. Movimientos como Code.org pretenden introducir cambios en el mundo educativo y, por consiguiente, el mundo que nos rodea. Este movimiento es un referente para adentrarte en la computación.
Puedes comprobar que a medida que avanzamos y vamos resolviendo incógnitas aparece la siguiente, pero eso es lo que tiene de atractivo el nunca dejar de aprender.
En este apartado te proponemos que participes en este tablero colaborativo que hemos creado para este #MoocBot.
Padlet permite guardar enlaces o direcciones web, imágenes e incluso documentos de una forma muy visual, ya que quedarán insertados dentro de un tablero. Tiene el valor añadido de poder sincronizarlo desde tu ordenador, tableta o móvil.
Te animamos a que incluyas en este Padlet colaborativo aquellos enlaces, recursos o imágenes que consideres relevantes sobre el tema que nos ocupa en este MoocBot. Así, de forma colaborativa crearemos un panel que podrá servir a toda la Comunidad de Aprendizaje como recurso de ayuda para poder llevar esta metodología a nuestras aulas. Para eso, por favor recuerda asignar un título acorde a lo que quieras compartir, para facilitar su identificación y localización.
Además, te animamos a compartir esos recursos en las redes sociales utilizando el hashtag #MoocBot en Twitter o en el grupo del MOOC en Facebook.
En el reto de esta semana te pedimos que te plantees un problema que siempre has querido superar o algo nuevo a lo que desees enfrentarte y que documentes cómo has llegado a solucionarlo, está en tus manos elegir la temática del mismo, esto puede hacer que sea uno de los más interesantes que te has planteado hasta la fecha.
El tema es libre, elige entre un problema de tu día a día, un envite que quieras plantear a tus compañeras y compañeros de trabajo, un desafío para tu aula o un proyecto que quieras desarrollar de una vez por todas.
Para la elaboración de tu reto te pedimos que crees una infografía en la que muestres los aspectos más relevantes del problema que has elegido. Para realizar tu infografía te ofrecemos herramientas en la pestaña Recursos de ayuda.
Para ayudarte en la conceptualización y desarrollo de este reto os proponemos algunas sugerencias temáticas, puedes elegir alguna de ellas u otro desafío que tengas en mente.
Para enfrentarte al reto puedes comenzar descomponiéndolo en partes más pequeñas, algo muy aconsejable si lo vais a llevar a cabo entre varias personas. Además:
Comparte tu reto
Cuando hayas elegido el reto y elaborado tu infografía, recuerda incluir en tu portfolio aquella documentación que muestre todo el proceso que has seguido para resolverlo. Una vez terminado el artículo, te invitamos a que compartas la URL pública con la comunidad a través de las redes sociales con el hashtag#MoocBot en Twitter o en el grupo del MOOC en Facebook.
Para saber más sobre el pensamiento visual antes de realizar tu infografía, te recomendamos echar un vistazo a estos dos proyectos:
Para realizar la infografía puedes usar cualquiera de las herramientas existentes en la red o algún programa de edición que ya tengas en tu ordenador. Aquí te indicamos algunos:
Podrás encontrar ideas y ejemplos sobre la creación de infografías en: