Pensamiento computacional
# Pensamiento computacional

El pensamiento computacional se define como el proceso por el cual un individuo, a través de habilidades propias de la computación, como son el diseño y representación de procesos, la iteración para detectar y solucionar errores, y la transferencia de soluciones, y del pensamiento crítico, del pensamiento lateral y otros más, hace frente a problemas de distinta índole. El término tiene su origen en las ideas de Seymour Papert, pero fue Jeannette Wing quien lo desarrolló.
En una columna de opinión publicada en el número de marzo de 2006 de la revista Communications of the ACM, Jeannette Wing sostenía que: "[El Pensamiento computacional]…implica resolver problemas, diseñar sistemas y comprender el comportamiento humano, basándose en los conceptos fundamentales de la ciencia de la computación. El pensamiento computacional incluye una amplia variedad de herramientas mentales que reflejan la amplitud del campo de la computación…[además] representa una actitud y unas habilidades universales que todos los individuos, no sólo los científicos computacionales, deberían aprender y usar” (2006,p. 33).
El pensamiento computacional incluye habilidades tales como modelar y descomponer un problema, procesar datos, crear algoritmos y generalizarlos. Además, se utiliza para resolver de forma algorítmica problemas de distintas disciplinas, incluidas las matemáticas, las ciencias biológicas y las humanidades.
El pensamiento computacional incluye la resolución de problemas, el diseño de sistemas y el entendimiento del comportamiento humano, aplicando para ello conceptos estructurales de la computación.
Lograr desarrollar ciertas habilidades de forma sistemática, tales como el pensamiento crítico y la utilización de los potenciales tecnológicos actuales, son algunos de los objetivos principales del PC (pensamiento computacional). El PC, según sus seguidores, hará frente a grandes problemáticas del siglo XXI como, por ejemplo, la pobreza, la biodiversidad, la salud, el calentamiento global y otros.

# Pensamiento computacional
## Características

* Descomposición: consiste en el procedimiento por el cual un problema de mayor complejidad se desarticula en pequeñas series más manejables.
* Reconocimiento de patrones: luego de la desarticulación del problema complejo, las pequeñas series son enfrentadas de forma individual de manera que puedan ser resueltas de forma similar a problemas frecuentados anteriormente.
* Abstracción: Consiste en la omisión de información irrelevante al problema propuesto.
* Algoritmos: se presentan pasos para la resolución de cada problema.
Luego de lo anterior se hace uso del potencial computacional para la resolución del problema propuesto de la forma más eficaz posible. Las etapas anteriores, no son decisivas en su resultado, la metodología a seguir puede variar ya que su potencial estructura es esquemática.

# Pensamiento computacional
## PC en la educación

El pensamiento computacional permite trabajar de manera organizada a través de procesos y del aprendizaje de sus errores. Los objetos que se utilizan dentro de la programación forman parte vital del desarrollo del pensamiento computacional, debido a que son objetos tangibles de las ideas, lo creado es de carácter propio, se refiere a lo que yo he creado, con lo que me siento identificado y que puedo compartirlo con los demás. La interacción que se desarrolla durante el aprendizaje a través de la programación, o codificación específicamente, permite construir bases significativas que parten desde lo individual a lo social y permite el intercambio de ideas.
Las habilidades que se desean desarrollar van mucho más allá de codificar un programa, el proceso es la clave, identificar un problema, entenderlo, considerar soluciones, identificar soluciones efectivas, reflexionar sobre ellas y aplicar una metodología, probarla y, si esta no brinda los resultados esperados, modificarla y ejecutarla nuevamente.
El advenimiento de nuevas problemáticas y cambios en los paradigmas globales requiere la participación de toda la comunidad mundial para enfrentarlos de una forma más integral; por ello, debe existir por parte de las autoridades en educación una consistencia en su enseñanza, tanto en etapas iniciales del crecimiento como en las posteriores.
En la actualidad se han llevado a cabo investigaciones acerca del tema en varios países, que han dado como resultado la inclusión nuevamente de la informática en el currículo de las instituciones educativas. Este es el caso del K12 en Estados Unidos.

# Pensamiento computacional
## PC en la educación
### PC en Bachillerato Internacional

El programa de Bachillerato Internacional ofrece la materia de Informática, busca el desarrollo de habilidades relacionadas con el pensamiento computacional y sigue una rigurosa y práctica disciplina de resolución de problemas. Esta materia es parte del grupo 4 del BI y es considerada una ciencia experimental al igual que Biología, Química, Física, entre otras.
Además del conocimiento de hardware y datos que los estudiantes deben desarrollar, estas están vinculadas con el entendimiento total del problema que se debe desarrollar las cuales son reforzadas en el trabajo en clase incluyendo el enfoque lógico, pensamiento analítico y creativo.

# Pensamiento computacional
## Para profesores

La incorporación precoz del PC a las asignaturas escolares supone un gran avance en la introducción y desarrollo de las mismas; esto se debe a que el PC funciona como una base en el desarrollo de otras materias para dotarlas de una mayor cantidad de herramientas. Lo anterior está supeditado a la adecuada capacitación de docentes profesionales en las materias tecnológicas. Debe existir por parte de los profesionales un dominio en lo que respecta a los fundamentos del pensamiento computacional y el respectivo vocabulario técnico aplicado en su enseñanza. Existen organizaciones preocupadas por la correcta concienciación en lo que respecta al PC, ayudando de alguna u otra forma a que los distintos parámetros de esta vayan siendo materia de estudio por diversos sectores de la sociedad. Por sus siglas en inglés CSTA (Computer Science Teachers Association), se trata de una organización encargada de promover y entregar herramientas para el aprendizaje de las ciencias computacionales. International Society for Technology in Education (ISTE) es otra de las organizaciones sin fines de lucro conformadas por educadores de la tecnología preocupados y preocupadas en ampliar su uso y lograr de forma eficaz un correcto funcionamiento de estas.
Las posibilidades de su desarrollo se ven aumentadas cuando se incluyen recursos como simuladores y la gamificación durante el proceso de enseñanza-aprendizaje.

# Pensamiento computacional
## Desplazamiento

Para los niños en edades de 3-4 años ubicarse con respecto así mismo en la cuadrícula invisible (espacial en el contexto que nos encontramos), es muy importante vivenciarla desde sí mismo con ambientaciones intencionales, para prever decisiones de: causa efecto, probabilidad, ... DESPLAZAMIENTOS: Subir-bajar en sentido vertical (escaleras), subir -bajar en sentido plano (horizontal ejemplo en una cuadrícula), en una ocasión entregarles a niños tarjetas con símbolos señales de desplazamiento en la cuadrícula al frente suyo, observe la lectura, interpretación y demostración con su cuerpo lo que interpretó, ejemplo: tarjeta con una flecha:
Surgen interrogantes, los pictogramas serían con información espaciales de desplazamiento, la comprensión del “lenguajear”1 del entorno-contexto: familiar-escuela. Surge la importancia de trasmitir la información que permita de acuerdo aalos conocimientos previos la intención, donde se pueda leer-vivir las fortalezas -oportunidades de explorar y seguir potenciando al educando. Surgen las tarjetas de los giros en sí mismos en el cuadro que este parado el niño en la misma cuadrícula, al hacer la lectura de la tarjeta el niño práctico lo que le sugiere la tarjeta en su interpretación, lo que también requiere sus conocimientos previos de lectura del entorno ejemplo:

# Pensamiento computacional
## Enseñanza del pensamiento computacional
### Taxonomías del pensamiento computacional.

El pensamiento computacional puede ser clasificado en 11 procesos de pensamiento entre los que se distinguen la abstracción, el diseño de algoritmos, la descomposición, el reconocimiento de patrones y la representación de datos

# Pensamiento computacional
## Enseñanza del pensamiento computacional
### Áreas de enseñanza del PC.

El pensamiento computacional puede combinarse con diversas áreas del conocimiento, aun cuando muchos docentes siguen utilizando los lenguajes de programación para enseñarlo. Se considera que el uso de lenguajes de programación sigue siendo la estrategia de enseñanza más fácil y apropiada para enseñar PC. Sin embargo, diversas investigaciones demuestran que el PC ha sido ampliamente usado en áreas como la biología, lenguaje, programación, ciencias de la computación y matemáticas. Por ejemplo, el modelo BioComp desarrollado en 2013 fue desarrollado para guiar a estudiantes universitarios en la solución de problemas de biología a través del PC y la lógica de programación en un curso de biología. Los resultados demostraron que la eficiencia y el interés en el aprendizaje de los estudiantes aumentó significativamente.
En Estados Unidos, se ha reportado el uso de Scratch para apoyar los procesos de aprendizaje de estudiantes con discapacidad en el área de matemáticas. La estrategia consistió en combinar Scratch y las matemáticas para enseñar a los estudiantes a calcular el tiempo. Los resultados demostraron que los estudiantes con discapacidad podrían entrenar sus habilidades de pensamiento computacional utilizando Scratch.
Estrategias de aprendizaje utilizadas en la enseñanza del Pensamiento Computacional.
* Aprendizaje basado en problemas: en esta estrategia los estudiantes establecen sus propios objetivos de aprendizaje a través del análisis de un problema. Los estudiantes exploran la solución de forma autónoma y reportan sus propias experiencias de aprendizaje y conclusiones.
* Aprendizaje basado en proyectos: en esta estrategia los grupos de aprendizaje se dividen en grupos de aprendizaje colaborativo y aprendizaje cooperativo. En el aprendizaje colaborativo se requiere que los miembros del grupo resuelvan una tarea en conjunto, lleguen a acuerdos y compartan ideas relevantes para la solución del problema que plantea el proyecto. En el aprendizaje cooperativo al interior de grupo se dividen los participantes y resuelven subtareas individualmente. Posteriormente, unen sus resultados parciales para completar la tarea.
* Aprendizaje basado en juegos: en esta estrategia muy similar al aprendizaje basado en proyectos, se deben plantear escenarios problema específicos en el entorno de un juego. Esta estrategia es útil para la enseñanza del PC toda vez que los juegos requieren la solución de problemas.
* Interacción persona-computadora: la interacción humano computador en la enseñanza del PC resulta apropiada para todos los niveles de educación en las ciencias naturales y también como un método de enseñanza en línea.Diagrama de superficie utilizando MATLAB. Entre la diversidad de posibilidades, la elaboración de diagramas de funciones en una, dos y tres dimensiones con bajo costo computacional figura como una de las características más importantes de MATLAB y su uso en la enseñanza de pensamiento computacional y matemáticas.

# Pensamiento computacional
## Enseñanza del pensamiento computacional
### Herramientas de enseñanza del PC.

Diversas investigaciones alrededor del mundo han reportado el uso de una gran variedad de herramientas para la enseñanza del PC para todas las edades, incluyendo:
Tabla: Herramientas para la enseñanza del PC. :
| Herramienta | Descripción |
| MATLAB | Considerado como un laboratorio de matrices, permite realizar toda clase de cálculos matemáticos, diagramar funciones, resolver cálculos numéricos y problemas de matemáticas avanzados y simples. Los estudiantes pueden aprender a crear algoritmos para resolver problemas específicos, desarrollar una interfaz de usuario y adicionar programas creados en otros lenguajes de programación como Phyton, Java, C, C++ entre otros. |
| Code.org | Este sitio web incluye lecciones sobre programación de computadores y motiva a los docentes de PC a incluir en sus currículos lecciones y objetivos aprendizaje relacionados con el PC. Los usuarios de esta página web utilizan el lenguaje de programación Blocky para construir sus algoritmos. |
| Scratch | Es un lenguaje de programación visual desarrollado por el MIT Media Lab. Los usuarios pueden crear proyectos en línea o desde un computador para diseñar animaciones, juegos, exámenes entre otros, simplemente desarrollando algoritmos con el uso de bloques. |
| ViMAP | Es un lenguaje de programación de código abierto diseñado para el aprendizaje de ciencias dirigido a estudiantes de primaria y secundaria (K-12). ViMAP permite a los estudiantes crear sus propios comandos de programación. |
| AgentCubes | Este lenguaje de programación diseñado para niños permite la creación de juegos en línea 3D, 2D y simulaciones. Esta herramienta para enseñar PC utiliza las estrategias de diseño de juegos y simulaciones. |
| Arduino | Como herramienta para aprender la computación física, Arduino permite a los estudiantes diseñar artefactos tecnológicos con tarjetas Arduino programadas con lenguaje de programación C, Python y Scratch. |

# Pensamiento computacional
## Enseñanza del pensamiento computacional
### Actividades sin computador para enseñanza en primaria del PC.

La edad de los usuarios debe considerarse como una variable muy importante a la hora de implementar estrategias de enseñanza del PC. Para estudiantes de educación primaria, una estrategia comprobada para la introducción del PC en la escuela es la enseñanza mediada por actividades sin computador o actividades “unplugged”. En esta estrategia se diseñan actividades en hojas de papel como rompecabezas, talleres, guías de aprendizaje que plantean problemas para que el estudiante mediante una estrategia escogida pueda resolverlos. Dichas actividades están enfocadas en ilustrar ideas básicas del pensamiento computacional apoyado en la programación, como la secuencialidad, la lógica y el diseño de algoritmos.

# Pensamiento computacional
## Enseñanza del pensamiento computacional
### Modelos de enseñanza del PC en algunos países.

* México: En el sistema educativo mexicano se han implementado programas y planes de estudio que incluyen conceptos de pensamiento computacional en diferentes niveles, desde la educación básica hasta la educación superior. Estas iniciativas buscan equipar a los estudiantes con habilidades que les permitan entender y abordar problemas de manera estructurada, utilizando la lógica y el razonamiento algorítmico. Bajo esta premisa y en pro de aminorar la desventaja con otros países latinoamericanos, a finales de 2018, la Secretaría de Educación Pública del Gobierno de México, a través de la Coordinación General @prende.mx y de su Programa de Inclusión Digital (PID), presentaron el marco referencial de PC para la educación básica, cuyo objetivo principal fue iniciar la integración de la comunidad educativa mexicana de los saberes vinculados al mundo digital, en sintonía con las iniciativas más innovadoras del ámbito internacional.
* Australia: El sistema de educación de Australia atravesó un periodo de cambio con la introducción de un nuevo currículo nacional. En 2015, el país incluyó las temáticas de tecnología que a su vez incluyeron las tecnologías digitales y diseño y tecnología. En las temáticas de tecnologías digitales, los niños desarrollan habilidades de pensamiento computacional y aprenden acerca de datos, sistemas digitales y como implementar soluciones a problemas mediante programación.
* Inglaterra: en Inglaterra se implementó un nuevo currículo nacional en el año 2014 que introdujo una nueva área de estudio: computación reemplazando el currículo anterior de TIC. Este país es uno de los pocos países en los que el PC no esta enfocado en la programación sino como un área global con sus propias temáticas. Esta área propuesta en Inglaterra se enfoca en tres elementos: 1) Ciencias de la computación: entender y aplicar los principios fundamentales y conceptos de las ciencias de la computación, incluyendo la abstracción, lógica, algoritmos y representación de datos. 2) Tecnologías de la información: analizar problemas in términos de la computación y escribir programas de computador de forma práctica para solucionar problemas. 3) Alfabetismo Digital: evaluar y aplicar las tecnologías de la información y las comunicaciones.
* Finlandia: en el nuevo currículo nacional que se incluye en el año 2016 cubriendo los grados de 1 a 9 en primaria y secundaria (10-12). Este nuevo currículo incrementó su enfoque en las competencias digitales con un enfoque interdisciplinar en cada grado. En el nivel primaria por ejemplo, el pensamiento computacional está directamente relacionado con las matemáticas en los grados 1 a 2. Adicionalmente la programación de computadores se incluye como parte del desarrollo de competencias digitales en todas las áreas. En secundaria para los grados 7 a 9 se enseñan de 2 a 3 temáticas en matemáticas usando PC.
* Corea del sur: el sistema educativo de corea del sur comprende 6 años de educación elemental, 3 años de educación media y 3 años de secundaria. Denominada educación computacional comenzó alrededor del año 1971. Desde el 2000, cuando la infraestructura TIC de corea del sur permitió que al menos exista un computador en clase, todas las temáticas relacionadas con computación se exigieron en las instituciones de educación. En el 2007 se durante una nueva reforma curricular, se incluyeron temáticas enfocadas en las ciencias de las computación, sus principios y conceptos.

# Pensamiento computacional
## Enseñanza del pensamiento computacional
### Retos en la enseñanza del PC e investigaciones futuras.

Diversas investigaciones en pensamiento computacional sugieren que con el objetivo de adoptar el PC en la educación, los investigadores necesitan enfocar sus esfuerzos en los siguientes aspectos:
* Definición de las competencias en PC para cada grado escolar o niveles de desarrollo de los estudiantes. Se deben realizar esfuerzos por para definir competencias, directrices y currículos para el PC, tales como los realizados en la CSTA y el ISTE. Sin lugar a dudas hacen falta en la literatura sobre PC como las habilidades en pensamiento computacional tales como la abstracción, descomposición del problema y la estructura de los datos pueden promover el desarrollo de habilidades y articularse según el nivel de escolaridad, las disciplinas y el género.
* Uso de metáforas en la enseñanza efectiva y eficiente de los conceptos del PC: el uso de metáforas de aprendizaje centradas en el estudiante puede mejorar la comprensión y aprendizaje de los conceptos del PC. Por lo tanto es necesario incrementar la cantidad de investigaciones relacionadas con el uso de metáforas que puedan se utilizadas de forma efectiva en la enseñanza de PC.
* Capacitación a docentes en la enseñanza del PC: para promover el avance en la enseñanza del PC alrededor del mundo, es necesario que los docentes estén capacitados sistemáticamente en términos del diseño de actividades para la enseñanza del PC, el como se enseña PC, como se evalúa el PC y como utilizar herramientas tecnológicas para enseñar PC. Por lo tanto, es necesario desarrollar programas de capacitación para los docentes responsables de la enseñanza del PC.
* Evaluación de competencias y habilidades del PC: la evaluación de las habilidades y competencias del PC aun se considera en desarrollo. Por lo tanto es necesario llevar a cabo investigaciones para identificar las estrategias relacionadas con la evaluación del PC mediante mediciones holísticas o como un arreglo de sub-habilidades que deben evaluarse en un contexto de solución de problemas en todas las disciplinas.