¿Qué es el pensamiento computacional?
En el año 2006 Jeannette Wing publicó el artículo Computational thinking en el que defendía que esta nueva competencia debería ser incluida en la formación de todos los niños y niñas, ya que representa un ingrediente vital del aprendizaje de la ciencia, la tecnología, la ingeniería y las matemáticas. Pero, ¿qué es el pensamiento computacional?
En palabras de la propia Wing «el pensamiento computacional implica resolver problemas, diseñar sistemas y comprender el comportamiento humano, haciendo uso de los conceptos fundamentales de la informática». Es decir, que la esencia del pensamiento computacional es pensar como lo haría un científico informático cuando nos enfrentamos a un problema.
Otras definiciones de pensamiento computacional han ido surgiendo en la literatura científica desde entonces. Entre las más aceptadas se encuentran la de Aho y la de la Royal Society:
- El pensamiento computacional es el proceso que permite formular problemas de forma que sus soluciones pueden ser representadas como secuencias de instrucciones y algoritmos.
- El pensamiento computacional es el proceso de reconocimiento de aspectos de la informática en el mundo que nos rodea, y aplicar herramientas y técnicas de la informática para comprender y razonar sobre los sistemas y procesos tanto naturales como artificiales.
Una iniciativa muy interesante en relación a la definición del pensamiento computacional es la promovida por la Sociedad Internacional de la Tecnología en la Educación (ISTE) y la Asociación de Profesores de Informática (CSTA), que han colaborado con líderes del mundo de la investigación y la educación superior, la industria y la educación primaria y secundaria para desarrollar una definición operativa que describa con precisión sus características esenciales y ofrezca un marco de trabajo y un vocabulario común con el que los profesionales de la educación puedan trabajar.
Según esta definición operativa, el pensamiento computacional es un proceso de resolución de problemas que incluye las siguientes características:
- Formular problemas de forma que se permita el uso de un ordenador y otras herramientas para ayudar a resolverlos.
- Organizar y analizar lógicamente la información.
- Representar la información a través de abstracciones como los modelos y las simulaciones.
- Automatizar soluciones haciendo uso del pensamiento algorítmico (estableciendo una serie de pasos ordenados para llegar a la solución).
- Identificar, analizar e implementar posibles soluciones con el objetivo de lograr la combinación más efectiva y eficiente de pasos y recursos.
- Generalizar y transferir este proceso de resolución de problemas para ser capaz de resolver una gran variedad de familias de problemas
En ciencias de la computación se utilizan algoritmos para
resolver problemas y siempre se busca que esta solución sea la mas eficiente.
Una de las principales características que describe un
algoritmo es su complejidad computacional que puede ser
en términos de tiempo de ejecución o espacio necesario
para hacerlo.
Existen varias clases de complejidad computacional
- Temporal
- Espacial
Complejidad temporal:
Es el tiempo requerido por un algoritmo para solucionar un
problema.
- Varios algoritmos pueden solucionar el mismo problema
- Siempre buscamos la solución con menor complejidad temporal
Complejidad especial:
Es el espacio requerido por las estructuras de datos de un
algoritmo para solucionar un problema.
- Esta directamente relacionada con la complejidad temporal, por ejemplo no es lo mismo recorrer un arreglo unidimensional que uno bidimensional
- Adquiere importancia la selección de las estructuras de datos utilizadas en la implementacion, ejemplo: arreglos o listas enlazadas.
No hay comentarios:
Publicar un comentario