Capítulo Pensamiento Computacional
Transcripción
Capítulo Pensamiento Computacional
DR AF T Pensamiento Computacional Tulum fue una ciudad amurallada de la cultura maya ubicada al sureste de México, se considera que fue un importante centro de culto para el llamado “dios descendente”. La construcción frente al mar conocida como el “Castillo”cumplı́a en el pasado con la función de faro para los navegantes mayas al permitirles evadir el arrecife de coral. En la actualidad es uno de los principales atractivos turı́sticos de la Riviera Maya (http://es.wikipedia.org/wiki/Tulum). palabra palabra Autor: Jorge Luis Zapotecatl López Correo electrónico: [email protected] Url: www.pensamientocomputacional.org 2 DR AF T c D.R. 2014 por Insituto Nacional de Astrofı́sica, Óptica y Electrónica Luis Enrique Erro 1, Tonantzintla, Puebla, México C.P. 72840 Teléfono: (222) 247.29.40 Contacto: [email protected] Índice general Índice general 3 . . . . . . . . . . . . . . . . . . . . del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DR AF T 1. Pensamiento computacional 1.1. Introducción . . . . . . . . . . . . . . 1.2. Componentes del PC . . . . . . . . . 1.2.1. El PC en la sociedad . . . . . 1.2.2. ¿Quién usa el PC? . . . . . . 1.3. Definición operativa del PC . . . . . 1.3.1. Vocabulario del PC . . . . . . 1.4. El PC en el aula . . . . . . . . . . . 1.4.1. Actividades sin computadora 1.4.2. Actividades con computadora 1.5. Problemas . . . . . . . . . . . . . . . 1.5.1. Problema desde la perspectiva 1.5.2. ¿Cuál es la solución? . . . . . 1.6. Aplicando el PC . . . . . . . . . . . . Bibliografı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 8 9 11 12 13 15 15 16 19 21 23 24 27 3 DR AF T palabra Capı́tulo 1 Pensamiento computacional 1.1. DR AF T “El hombre se descubre cuando se mide con un obstáculo” -Antoine de Saint-Exupéry Introducción En la sociedad hace relativamente poco tiempo las computadoras de escritorio se volvieron una herramienta esencial para las actividades diarias de cada persona (en los años 90 el poder de las computadoras personales aumentó de manera radical). En suma, el desarrollo tecnológico ha permitido que actualmente un dispositivo móvil tenga la velocidad y poder de procesamiento de una computadora de escritorio. En consecuencia, actualmente vivimos la era de la computación ubicua porque los dispositivos móviles son utilizados y puestos a disposición de cualquier persona. Únicamente las personas más visionarias imaginaron la influencia que la computación tendrı́a en la sociedad. Por ejemplo, el impacto que tendrı́a la World Wide Web (WWW). En los primero años las páginas web eran simples y estáticas, similares a folletos. Sin embargo, actualmente la Web es una herramienta imprescindible en el mundo para compartir los recursos multimedia; la comunicación y la publicación; el aprendizaje y la colaboración; el comercio y la socialización; entre otros. El software y hardware que compone los sistemas y herramientas tecnológicas que actualmente contribuyen en prácticamente todas las áreas de estudio y el quehacer humano son creados por las personas que comprenden los conceptos subyacentes de las ciencias de la computación. En la actualidad, 5 6 CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL DR AF T la capacidad de innovación e imaginación de los “pensadores de la computación”han llevado a la decodificación del genoma humano, al desarrollo de sistemas de información acerca de condiciones climáticas peligrosas y a la traducción de lenguajes antiguos. Las personas entusiastas y emprendedoras que comprenden los conceptos de la computación están creando nuevas tecnologı́as y servicios. Por ejemplo, Mark Zuckerberg con Facebook o Elena Silenok creadora de Clothia. Vivimos en una era donde el potencial de la computación para innovar y ser creativo es ilimitado, una era donde puedes imaginar una idea, desarrollarla y por medio de Internet ponerla a disposición mundial. Figura 1.1: -Paat-El mexicano Héctor Garcı́a Molina es un “pensador de la computación”, durante su carrera profesional ha estado involucrado en lo más avanzado de la investigación cientı́fica y tecnologı́a en el mundo. Fue director del Departamento de Ciencias de la Computación de la Universidad de Stanford donde estuvo a cargo de la coordinación y asesoramiento del proyecto de los estudiantes de posgrado Larry Page y Sergey Brin sobre un motor de búsqueda denominado “BackRub”. A partir de este proyecto nacerı́a la compañı́a que actualmente se conoce como Google. La National Science Foundation (NSF) por medio del International Society for Technology in Education (ISTE) y el Computer Science Teacher Association (CSTA) esta impulsando activamente un nuevo enfoque de enseñanza en todos los niveles de educación que incluyan el Pensamiento Computacional (Computational Thinking). La investigadora Jeannette Wing define al Pensamiento Computacional (PC) como los procesos de pensamiento implicados en la formulación de problemas y representación de sus soluciones, de manera que dichas soluciones puedan ser efectivamente ejecutadas por un agente de procesamiento de información (humano, computadora o 1.1. INTRODUCCIÓN 7 DR AF T combinaciones de humanos y computadoras). Jeannette Wing es la principal promotora del pensamiento computacional y su visión es que el pensamiento computacional, al igual que el español o la aritmética “será una habilidad y una actitud de aplicación universal para todas las personas”(ver figura 1.2). Figura 1.2: Jeannette Wing propone que las habilidades de abstracción y las técnicas de resolución de problemas utilizados por los cientı́ficos e ingenieros de la computación pueden ser enseñadas y aplicadas en otras disciplinas o actividades de la vida cotidiana. El objetivo del Pensamiento Computacional es desarrollar sistemáticamente las habilidades de pensamiento crı́tico y resolución de problemas con base en los conceptos de la computación. En suma, potenciar el aprovechamiento del poder de cálculo que tienen las computadoras actualmente. Los estudiantes y profesionistas tendrán la necesidad de aprender y practicar las habilidades del PC para poder utilizar las nuevas tecnologı́as y confrontar los desafı́os del Siglo XXI. El exvicepresidente del Banco Mundial Jean-Francois Rischard incluye el calentamiento global, la biodiversidad, la pobreza y las enfermedades infecciosas, entre los principales problemas globales. Desarrollando las habilidades del Pensamiento Computacional en los estudiantes y profesionistas ayudará a contribuir en la solución de dichos problemas y de otros retos en la actualidad. 8 CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL 1.2. Componentes del PC Nuestra calidad de vida depende de nuestro pensamiento porque es la habilidad que nos permite tomar decisiones y resolver problemas. El pensamiento es parte de la naturaleza humana, sin embargo, nuestro pensamiento usualmente es totalitario, distorsionado, parcializado, desinformado o prejuiciado. En consecuencia, el pensamiento de mala calidad propicia una mala calidad de vida. Para alcanzar una calidad de vida mejor se debe ejercitar el pensamiento. Precisamente, el PC ejercita sistemáticamente las habilidades de pensamiento crı́tico y resolución de problemas con base en los conceptos de la computación. La fórmula que nos permite recordar e identificar los componentes del PC es la siguiente: DR AF T pensamiento computacional = pensamiento crı́tico + poder de la computación El primer componente del PC es el pensamiento crı́tico. La Fundación para el Pensamiento Crı́tico define al pensamiento crı́tico como: el modo de pensar (sobre cualquier tema, contenido o problema) en el cual el pensante mejora la calidad de su pensamiento al apoderarse de las estructuras inherentes del acto de pensar y al someterlas a estándares intelectuales. Si desea profundizar en el tema relacionado al pensamiento crı́tico puede visitar la página web de la Fundación para el Pensamiento Crı́tico: www.criticalthinking.org que contiene diversos recursos en español. En el pensamiento computacional, el pensamiento crı́tico es reforzado y desarrollado mediante los conceptos de la computación como la abstracción y descomposición de problemas que pueden aplicarse a cualquier área del conocimiento. Cuando una persona utiliza el pensamiento computacional piensa crı́ticamente: tiene un propósito claro; cuestiona de manera constructiva la información, las conclusiones y los puntos de vista; se empeña en ser claro, exacto, preciso y relevante; busca profundizar con lógica e imparcialidad. El segundo componente del PC es el poder de la computación, por medio de los conceptos de la computación es posible entender qué aspectos de un problema son susceptibles a resolverse aprovechando el poder de procesamiento de las computadoras actuales. En resumen, el Pensamiento Computacional es un enfoque para la resolución de problemas que enfatiza la integración del pensamiento crı́tico, los conceptos de la computación y las tecnologı́as digitales. El PC realza las formas de estructurar un problema mediante los conceptos subyacentes de la 1.2. COMPONENTES DEL PC 9 computación y reenfoca la creatividad humana al permitir considerar las posibilidades de resolver problemas con ayuda del procesamiento de información de las computadoras. 1.2.1. El PC en la sociedad DR AF T Las personas que saben utilizar una computadora piensan que saben computación porque conocen cómo utilizarla. Sin embargo, como analogı́a, el saber utilizar una calculadora no significa comprender los conceptos de la aritmética. La computadora actualmente es desaprovechada porque la gente desconoce los conceptos de la computación y no es capaz de utilizar la computadora en formas más creativas y explotar su capacidad de apoyo como herramienta para el desarrollo del conocimiento, los usuarios utilizan la computadora fundamentalmente para realizar trabajos de oficina y el ocio en distintas modalidades como lo son las redes sociales, las salas de chat, entre otras. A diferencia de otras disciplinas del conocimiento un especialista de las ciencias de la computación confronta problemas y propone soluciones en cualquier área del conocimiento. Las habilidades de un especialista en computación son más que ser capaz de manipular diversas aplicaciones de oficina, o de programar una computadora. Un especialista en computación crea y hace uso de diferentes niveles de abstracción, para entender y resolver problemas con mayor eficacia. Jeannette Wing sostiene que la esencia del pensamiento computacional es la abstracción y que las abstracciones para la computación son las herramientas “mentales”y las computadoras las herramientas “metálicas”que automatizan las abstracciones. Por ejemplo, la computación está revolucionando la estadı́stica, mediante el aprendizaje automático se hace posible identificar patrones y anomalı́as en enormes conjuntos de datos tan diversos como mapas astronómicos, imágenes escaneadas a partir resonancias magnéticas o compras realizadas con la tarjeta de crédito. La computación está revolucionando la biologı́a, el descubrimiento de la secuencia del genoma humano a través del algoritmo “shotgun”ha despertado el interés en los métodos computacionales en dicha área. En suma, la computación comienzan a influir de manera más categórica en áreas de estudio como la medicina algorı́tmica, la arqueologı́a computacional, finanzas computacionales, derecho informático, entre otras. En la actualidad, vivimos la era de la información porque cada dı́a se generan cantidades masivas de información en Internet. No obstante, gran 10 CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL DR AF T parte de la información contenida en Internet es repetitiva, errónea o falseada. Por lo tanto, las destrezas contenidas en el pensamiento computacional son vitales para el hombre moderno porque le permiten discernir qué información es confiable y que información se debe desechar. Como se menciono anteriormente, las computadoras en su mayorı́a no son más que un instrumento utilizado para el trabajo de oficina, son tareas esenciales, pero no aportan un cambio revolucionario en la manera de confrontar los problemas de nuestro siglo. Mediante el pensamiento computacional la computadora puede explotarse de diversas maneras como un nuevo instrumento cientı́fico (como en su momento lo fue el telescopio o el microscopio). Por lo que el pensamiento computacional beneficiará a los estudiantes, a las instituciones en todos los niveles de educación y finalmente al desarrollo humano, cientı́fico y tecnológico a nivel global (ver figura 1.3). Figura 1.3: El pensamiento computacional promoverá nuevos descubrimientos en todas las disciplinas como lo son: Biologı́a, Quı́mica, Geologı́a, Astronomı́a, Matemáticas, Ingenierı́a, Ciencias económicas, Ciencias Sociales, Humanidades, Leyes y Arte. 1.2. COMPONENTES DEL PC 1.2.2. 11 ¿Quién usa el PC? DR AF T El PC tiene como finalidad desarrollar en los estudiantes y profesionistas el pensamiento crı́tico en coalición con los conceptos claves de la computación, tales como abstracción, algoritmos, programación, simulación, entre otros. Con la ideologı́a de que las habilidades y los conceptos de la computación sean difundidos a nivel general, y no únicamente para los ingenieros y especialistas en computación. Por ejemplo, un estudiante puede aprender español o matemáticas y tener la posibilidad de ingresar a diferentes carreras profesionales, lo mismo sucede con la computación. Un estudiante puede adquirir los conceptos de la computación e ingresar a otras profesiones como la medicina, derecho, negocios, polı́tica, o cualquier otro tipo de ciencia o ingenierı́a, e incluso las artes, y aplicar los conceptos de la computación (ver figura 1.4). Figura 1.4: Ası́ como cada persona tiene habilidades de lectura, escritura y aritmética, el pensamiento computacional es una habilidad que puede adquirir cualquier persona independientemente de su grado de estudio u oficio, y aplicarla en su vida personal y profesional. Incorporar el PC a los programas de estudio no significa que los estudiantes trabajaran en el campo de las ciencias de la computación o en una ingenierı́a en sistemas. Sin embargo, si lo hicieran, estarán mucho mejor preparados para sus cursos universitarios. Con la disminución de la matrı́cula en ciencias de la computación y el aumento en la demanda del software, el campo de la computación a nivel mundial tiene una alta oferta de trabajo. 12 CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL Por lo tanto, las personas utilizan el pensamiento computacional cuando leen, escriben, hablan y escuchan, al estudiar historia, ciencia, matemática, filosofı́a y las artes ası́ como en su vida personal y profesional. Algunos ejemplos de cuando las personas aplican el pensamiento computacional se enlistan a continuación: El estudiante que está realizando un proyecto universitario y busca en Internet sobre un tema, decide qué información es confiable y que información se debe desechar. DR AF T El escritor que está escribiendo una novela y la comienza con su hipótesis principal, articula que planea argumentar, hace un bosquejo y refina repetidamente su trabajo. El emprendedor que realiza un estudio de mercado sobre un producto y realiza estadı́sticas con una hoja de cálculo basado en datos del censo de su paı́s. El individuo que en un debate expone con claridad, profundidad y amplitud un tema de ı́ndole cientı́fico, moral, religioso o polı́tico. Por ejemplo, los pros y contras acerca de la legalización de las drogas o el aborto. El cientı́fico que desarrolla modelos y simulaciones para representar sistemas biológicos o artificiales complejos. 1.3. Definición operativa del PC La ISTE y CSTA colaboraron con lı́deres de educación superior, de la industria y de educación escolar (K-12) para desarrollar una definición operativa del Pensamiento Computacional presentada en el documento Computational Thinking leadership toolkit (Pensamiento Computacional caja de herramientas para lideres). La definición operativa se presenta a continuación. El Pensamiento Computacional es un proceso de solución de problemas que incluye (pero no se limita a) las siguientes caracterı́sticas: 1.3. DEFINICIÓN OPERATIVA DEL PC 13 Formular problemas de manera que permitan usar computadoras y otras herramientas para solucionarlos Organizar datos de manera lógica y analizarlos Representar datos mediante abstracciones, como modelos y simulaciones Automatizar soluciones mediante pensamiento algorı́tmico (una serie de pasos ordenados) Identificar, analizar e implementar posibles soluciones con el objeto de encontrar la combinación de pasos y recursos más eficiente y efectiva DR AF T Generalizar y transferir ese proceso de solución de problemas a una gran diversidad de estos Dichas habilidades se apoyan y acrecientan mediante una serie de disposiciones o actitudes que son dimensiones esenciales del Pensamiento Computacional. Estas disposiciones o actitudes incluyen: Confianza en el manejo de la complejidad Persistencia al trabajar con problemas difı́ciles Tolerancia a la ambigüedad Habilidad para lidiar con problemas no estructurados Habilidad para comunicarse y trabajar con otros para alcanzar una meta o solución común Dicha definición operativa suministra un marco de referencia para el PC que tenga significado para todos los docentes en la educación escolar. 1.3.1. Vocabulario del PC Algunas de las habilidades del pensamiento computacional son enseñadas en el aula de clase. Sin embargo, no se enseñan con un vocabulario uniforme o dentro de un marco conceptual unificado. Los docentes que incluyen pensamiento crı́tico en sus proyectos pueden adoptar de inmediato el vocabulario del Pensamiento Computacional. 14 CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL En el documento Computational Thinking leadership toolkit (Pensamiento Computacional caja de herramientas para lideres) se presenta el vocabulario estandarizado del PC mostrado en la siguiente lista: Recopilar datos: El proceso de reunir la información apropiada. Analizar datos: Darle sentido a los datos, hallar o establecer patrones y sacar conclusiones. Representar datos: Representar y organizar los datos en gráficas, cuadros, palabras o imágenes apropiadas. DR AF T Descomponer problemas: Dividir una tarea en partes más pequeñas y más manejables. Abstraer: Reducir la complejidad para definir o establecer la idea principal. Algoritmos y procedimientos: Serie de pasos ordenados que se siguen para resolver un problema o lograr un objetivo. Automatización: Hacer que los computadores o las máquinas realicen tareas tediosas o repetitivas. Simulación: Representar o modelar un proceso. La simulación involucra también realizar experimentos usando modelos. Paralelismo: Organizar los recursos para que simultáneamente realicen tareas con el fin de alcanzar una meta u objetivo común. Por ejemplo, en bachillerato los estudiantes de la asignatura de Álgebra aprenden a resolver problemas especı́ficos y después deducen fórmulas generales. Integrar el vocabulario del PC a la asignatura de Álgebra, resaltarı́a y evidenciarı́a el termino abstraer involucrado en la deducción de fórmulas. El estudiante utilizarı́a el término abstraer al hacer la analogı́a en su asignatura de informática cuando, por ejemplo, una hoja de cálculo utiliza una fórmula general en una celda para resolver casos particulares. 1.4. EL PC EN EL AULA 1.4. 15 El PC en el aula DR AF T Uno de los principales retos del PC es su introducción de manera transversal a las materias ofrecidas en todos los niveles de educación. Por ejemplo, el pensamiento computacional aplicado desde la educación básica hasta la educación superior en la clase de artes, inglés, fı́sica, biologı́a, matemáticas, entre otras. Cuando el pensamiento computacional se usa como complemento a las asignaturas, los estudiantes empiezan a darse cuenta de la utilidad del pensamiento crı́tico y de los conceptos de la computación en el proceso de aprendizaje. En suma, cuando los docentes muestran ejemplos del pensamiento computacional aplicado en temas de la vida diaria, los estudiantes se vuelven conscientes de que la educación es la herramienta esencial para mejorar su calidad de vida. En el documento Computational Thinking Teacher Resouces se presentan nueve Computational Thinking Learning Experiences (Experiencias de Aprendizaje del Pensamiento Computacional). Las Experiencias de Aprendizaje del Pensamiento Computacional (EAPC) son una pequeña muestra de prototipos de actividades de enseñanza en distintos niveles de educación y asignaturas. Las EAPC están destinadas a ilustrar actividades del PC en un formato amigable a los maestros y resaltando los conceptos clave y el vocabulario del pensamiento computacional. Las EAPC pueden diseñarse de tal manera que las actividades requieran o no de la utilización de una computadora. Cabe mencionar que las EAPC presentadas en dicho documento sólo son una guı́a de ejemplo para que cada docente diseñe sus propias experiencias de aprendizaje utilizando el PC en sus propios planes y lecciones de estudio. 1.4.1. Actividades sin computadora La finalidad de actividades que enseñan la computación sin utilizar las computadoras es separarse de las distracciones y los detalles técnicos que generalmente se presentan con las computadoras. La enseñanza se realiza utilizando juegos y puzzles, crayones, dibujos, entre otros. Un popular sitio web que contiene una colección gratuita de actividades sin computadora es el Computer Sciences Unplugged (http://csunplugged.org). Algunos de los principales objetivos que que se pretende alcanzar con actividades sin computadora son los siguientes: 16 CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL Figura 1.5: DR AF T Una ventaja de las actividades sin computadora es que no es necesaria una sofisticada infraestructura en el aula de clases para enseñar los conceptos de la computación. Introducir a los estudiantes a los conceptos subyacentes de la computación separados de las distracciones y los detalles técnicos que se presentan con las computadoras. Explorar nuevas formas de resolver problemas con base en los conceptos de la computación en contextos diferentes de la computación. Comprender que los conceptos de la computación son las clave para la resolución de problemas y que la computadora es sólo la herramienta que permite automatizarlos. Explicar problemas y soluciones en términos computacionales. 1.4.2. Actividades con computadora Actualmente han surgido diversas herramientas por computadora que apoyan la aplicación del pensamiento computacional en el aula. Scratch es una herramienta que se ha popularizado y que se está aplicando en diversas instituciones educativas de Estados Unidos, Europa y algunos paı́ses de Sudamérica. Scratch es un entorno de programación orientado a niños, adolescentes y adultos que quieren comenzar a aprender a desarrollar el pensamiento algorı́tmico y expresar ideas en forma creativa. 1.4. EL PC EN EL AULA 17 DR AF T A diferencia de los lenguajes de programación tradicionales como C o Java. Scratch está diseñado de tal manera que no es necesario aprender una sintaxis complicada porque las instrucciones son especificadas mediante bloques predefinidos que el usuario apila o anida en forma muy intuitiva y amigable. Al prescindir de una sintaxis compleja, el usuario se concentra en la lógica del programa. En adición, Scratch permite utilizar de manera muy sencilla recursos multimedia lo que permite la creación de video juegos, animaciones, música y producciones artı́sticas (ver figura 1.6). Figura 1.6: En palabras de sus principal promotor Mitchel Resnick del MIT, “Scratch es un medio de expresión para ayudar a niños y jóvenes a manifestar sus ideas de forma creativa, al tiempo que desarrollan habilidades de pensamiento lógico y de aprendizaje del Siglo XXI”. Algunos de los principales objetivos que se pretende alcanzar con la utilización de scratch son los siguientes: 18 CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL Desarrollar el pensamiento lógico y algorı́tmico Desarrollar métodos para solucionar problemas de manera metódica y ordenada Tener la posibilidad de obtener resultados complejos a partir de ideas simples Aprender y asumir conceptos matemáticos: coordenadas, variables, algoritmos, aleatoriedad Aprender los fundamentos de la programación DR AF T Usar distintos medios: sonido, imagen, texto, gráfico Posibilitar el aprendizaje colaborativo a través del intercambio de conocimiento Figura 1.7: La interfaz de Scratc está compuesta por tres partes. En la parte izquierda se muestra la salida del programa, en la parte central los bloques de comando definidos por omisión y a la derecha el programa formado por los bloques de comando. 1.5. PROBLEMAS 1.5. 19 Problemas El pensamiento computacional se define como los procesos de pensamiento implicados en la formulación de problemas y representación sus soluciones. Sin embargo, ¿Qué significa la palabra problema? Para ejemplificar el significado de un problema en el contexto de la computación se presenta la siguiente situación en la que se encontraba Tukkul (basado en “El problema de los regalos de Arcadio”contenido en la Enciclopedia de Conocimientos Fundamentales 5 UNAM Siglo XXI ). Texto en blanco DR AF T Tukkul estaba en la ciudad amurallada de Tulum observando una maravillosa puesta de Sol. Él reflexionaba en como demostrarle a Paat la emoción y la alegrı́a que siente cada vez que piensa y está con ella. Por lo que habı́a decidido obsequiarle un regalo. No tenia idea clara de que regalo podı́a comprarle, pero conociendo los gustos de Paat podı́a plantear algunas opciones. Reflexionando un poco, recordó que a Paat las flores no le gustan mucho, pero en una ocasión la escuchó decir que las orquı́deas le relajaban. También podı́a comprarle un microcontrolador porque adora la tecnologı́a, o podı́a comprarle el DVD de El placer de descubrir las cosas del fı́sico y premio Nobel Richar Feymann porque Paat admira su trabajo y entusiasmo por la vida (Richar Feymann fue alumno de Manuel Sandoval Vallarta, ver figura 1.9). Incluso, Tukkul pensó que podı́a comprarle varios regalos y no necesariamente uno solo. No obstante, siempre y cuando el costo total de los regalos no excediera su presupuesto de $1500 pesos. El problema que Tukkul tenı́a que resolver era decidir el regalo o los regalos adecuados a obsequiar. Considerando los tres regalos que eligió: las orquı́deas, el microcontrolado y el DVD, la primera dificultad que enfrentó es que habı́an muchas combinaciones de regalos. Tukkul podı́a comprar un regalo, lo que implica tres posibilidades, por ejemplo, comprar sólo el microcontrolador. Otra opción seria comprar dos regalos, dependiendo del regalo que elija no comprar se obtienen tres posibilidades, por ejemplo, si decide no comprar el DVD, regaları́a las orquı́deas y el microcontrolador. Otra opción seria comprar los tres regalos, sólo una posibilidad es obtenida formada por las orquı́deas, el microcontrolador y el DVD. Incluso una opción sencilla seria simplemente no comprar ningún regalo lo que implica una posibilidad. Por lo tanto, ahora Tukkul tenı́a que calcular para cada una de las ocho posibilidades si le alcanzaban sus $1500 pesos. Mientras reflexionaba la cantidad de tiempo que le tomarı́a evaluar las ocho opciones se quedó dormido. En el sueño, se le ocurrió la idea de visitar en el “Castillo”de Tulum a su amigo onı́rico Kukulkán, para pedirle algún consejo. Al entrar en el castillo, Kukulkán se encontraba tocando alegremente la melodı́a “el condor pasa“. Tukkul sentı́a que cada célula de su cuerpo vibraba en concordancia con cada una de las notas, le pareció que la alegrı́a y el magnetismo que transmitı́a Kukulkán era compartido con todo el ambiente. Después de que Kukulkán finalizará su ejecución, Tukkul le explicó el problema que tenı́a que resolver. Sin embargo, Kukulkán en lugar de impulsar alguna de las opciones que Tukkul habı́a elegido, le dio nuevas ideas. “Que te parece si mejor le regalas un obsequio 20 CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL DR AF T que revele algo de tu personalidad y sensibilidad. Por ejemplo, un colorido alebrije de Oaxaca o el libro de Ana Karenina, le encantará... ”(ver figuras 1.8 y 1.10). Figura 1.8: Tukkul quiere obsequiarle el regalo o los regalos que más le gusten a Paat y que no excedan su presupuesto. La idea de Kukulkán era buena, pero ahora la situación era más complicada porque el número de opciones era mayor. Al dı́a siguiente, Tukkul pensó que si no encontraba una solución, entonces le escribirı́a una carta que exprese sus sentimientos y que hable desde el fondo de su corazón que es lo que más importa. Ese pensamiento lo tranquilizó, y comenzó a concentrarse en el problema de las combinaciones de regalos. Figura 1.9: -Paat-El mexicano Manuel Sandoval Vallarta ocupó el cargo de profesor titular en el MIT, donde trabajó con el fı́sico y sacerdote Georges Lamaı̂tre creador del modelo del big bang que explica la evolución del Universo. En el MIT fue tutor de varios futuros genios como Richard Feynmann, Nathan Rosen y Luis Walter Álvarez. Por sus investigaciones realizadas se le reconoció mundialmente por sus aportes a la Fı́sica Cuántica. Su trabajo influyó en el desarrollo del proyecto Manhattan, orientado a crear la Bomba Atómica. Sin embargo, Sandoval Vallarta se opuso a la utilización de la energı́a nuclear con fines militares por lo que renunció a su cargo y regresó a México. Su dominio de los conceptos y las técnicas de la Fı́sica sentaron las bases del profesionalismo de la fı́sica mexicana e impulso la divulgación de la ciencia. 1.5. PROBLEMAS 21 Figura 1.10: 1.5.1. DR AF T -Kukulkán- El alebrije es una artesanı́a inventada por Pedro Linares López, quien comenzó como un experto en fabricación de figuritas de cartón. Cuando enfermó a los 30 años, cayó en un profundo delirio por una fiebre muy alta y soñó un lugar parecido a un bosque en el que habitaban “animales”extraños, que eran a la vez hermosos y aterradores. Observó un burro con alas de mariposa, un gallo con cuernos de toro, un león con una cabeza de águila y todos ellos estaban gritando “Alebrijes”. Dichos animales fantásticos lo ayudaron a salir de aquel lugar y despertar de su delirio. Dio vida a su visión y con ello nació el arte de fabricar alebrijes apreciados a nivel nacional e internacional. Pedro vivió en uno de los barrios más pobres de la ciudad de México. Sin embargo, lejos de ser un impedimento para desempeñar su labor artesanal, fue su impulsor porque brindaba y ofrecı́a trabajo a sus familiares, amigos y vecinos desempleados, promoviendo su idea de crear una comunidad unida. En 1990 recibió el Premio Nacional de Ciencias y Artes en la categorı́a Artes y Tradiciones Populares. Problema desde la perspectiva del PC Tukkul decidió que lo primero que tenı́a que hacer era comprender cual era exactamente el problema que debı́a solucionar. En el momento en que un problema se presenta está acompañado de un conjunto de datos de entrada: un número, texto o una imagen, o cualquier otra representación de datos que se procesará para para encontrar la solución. Posteriormente, un problema es resuelto si se obtiene una salida correcta como solución para cada entrada y en un tiempo finito (correctness). La salida calculada obedece a una relación de entrada/salida que tiene un objetivo determinado. Dicha relación explica cuál es el vı́nculo entre la entrada que se recibe y la salida que se debe producir. Como ejemplos de problemas se pueden mencionar los siguientes: 22 CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL 1. Elevar un número al cubo. La entrada es un número x y la salida un número y. La relación entre el número de entrada x y la salida y es que y = x3 . 2. Encontrar la distancia entre dos puntos. La entrada son dos puntos (x1 , y1 ) y (x2 , y2 ) y la salida es un número positivo. La salida es la distancia lineal entre los dos puntos que obedece a la fórmula d = (x2 − x1 )2 + (y2 − y1 )2 . Entrada DR AF T Para exponer de manera ordenada y estructurada el problema de Tukkul, el primer paso es identificar los datos de entrada. 1. Una cantidad de dinero inicial de $1500 pesos. 2. Un conjunto de regalos, R = {f lores, dvd, microcontrolador}. Debido al consejo de Kukulkán, se define el conjunto de regalos R1 = {f lores, libro, microcontrolador, alebrije, dvd}. 3. Cada conjunto de regalos seleccionados S1 tiene un costo en pesos y un valor emocional distinto para Paat. Los regalos tienen un valor emocional para Paat que se puede expresar como un valor numérico entre 0 (es indiferente) y 10 (le emociona). Supóngase que los valores están dados como en la tabla 1.11. Figura 1.11: Tabla que muestra el costo de los regalos y sus respectivos valores emocionales. Una vez especificada la entrada al problema ahora puede definirse lo que se desea adquirir como salida. 1.5. PROBLEMAS 23 Salida 1. Uno o más regalos para Paat, es decir, un subconjunto S de R1 (o de R). La solución consiste en obtener un resultado óptimo, es decir, seleccionar los regalos cuyo costo sea accesible y que el cariño de Paat sea el mayor. Relación entrada/salida 1.5.2. DR AF T Los regalos seleccionados del conjunto S no deben costar más de $1500 pesos en total. En suma, no debe existir otra elección de regalos que tenga un valor emocional mayor y que su costo sea menor o igual que $1500. Por lo tanto, los regalos seleccionados deben tener el mayor valor emocional posible y costar a lo más mil quinientos pesos. ¿Cuál es la solución? Una salida posible al problema serı́a {microcontrolador, alebrije} porque el costo de dichos regalos es de 500 + 600 = 1100 con un valor emocional de 6+8 = 14. Sin embargo, dicha salida no soluciona el problema porque existen salidas superiores. Por ejemplo, {microcontrolador, alebrije, dvd} no supera los mil quinientos pesos y tiene un valor emocional más alto para Paat (de 18). El problema se resolverá una vez que Tukkul seleccione los regalos con el valor emocional que sea mayor y sin superar el costo de los mil quinientos pesos. ¿La solución es {microcontrolador, alebrije, dvd}? No, porque si se cambia el dvd por el libro, el costo total baja a 1300 obteniéndose una combinación de mayor valor emocional igual a 24. Aparentemente, la opción {libro, microcontrolador, alebrije} es una buena solución al problema. Sin embargo, ¿Cómo se puede estar seguro de ello? Precisamente, al tener que resolver un problema en particular, surgen las siguientes preguntas: ¿Qué tan difı́cil es resolverlo? y ¿Cuál es la mejor forma de solucionarlo? Las ciencias computacionales se basan sobre sólidos fundamentos teóricos para responder a dichas preguntas. En capı́tulos posteriores se retomará el problema de Tukkul y se responderá a dicha pregunta. 24 1.6. CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL Aplicando el PC DR AF T Cada experiencia que tenemos en la vida está influida por una secuencia permanente de decisiones. Mientras que algunas decisiones son simples e insignificantes; otras decisiones son complejas y tienen un impacto importante en nuestra vida. Las personas viven una vida racional cuando consistentemente toman decisiones racionales. Las personas que toman decisiones racionales maximizan su calidad de vida sin violar o perjudicar los derechos y bienestar de otros. Al igual que la toma de decisiones, los problemas están arraigados inherentemente a nuestras vidas. Las decisiones tienen un impacto en nuestros problemas ya sea para disminuirlos o para empeorarlos. Las decisiones absurdas crean problemas. En consecuencia, si se toman decisiones deliberadas muchos problemas se pueden evitar. Por lo tanto, las decisiones racionales incrementan nuestras oportunidades de tener éxito y realizarnos en el ámbito personal y profesional. Definir en forma precisa un problema que se desea solucionar es también un problema. Al resolver un problema es necesario concentrarse en su especificación al definir la entrada, la salida y la relación entrada/salida, y eliminar cualquier restricción no significativa que aparte la atención del objetivo. Considera el problema de Tukkul, podrı́a simplemente declararse como entrada al problema el deseo de Tukkul de comprarle un regalo a Paat. Sin embargo, dicha declaración es demasiado ambigua. Precisamente, cuando el problema no es claro o es impreciso, el pensamiento no tiene una guı́a clara y divaga sin tener un sentido claro de relevancia. Sin embargo, cuando se toma el tiempo de clarificar un problema, estamos más capacitados para resolverlo porque tenemos claro para nosotros qué se requiere para ser resuelta. Una estrategia para especificar el objetivo que se desea lograr es añadir detalles al problema para fragmentarlo en pedazos y ser más preciso. Paso a paso se divide el problema principal en subproblemas de menor complejidad para ser resueltos por separado. Al subdividir el problema podemos notar las relaciones y donde se sobreponen. Por ejemplo, Tukkul comenzó por limitar el universo de regalos posibles, primero a tres y luego a cinco regalos especı́ficos y asignar valores emocionales a los regalos. Posteriormente, tuvo que precisar que deseaba obtener con la compra al establecer la relación de entrada y salida, la cual se define como el deseo de satisfacer los gustos de Paat maximizando los valores emocionales. 1.6. APLICANDO EL PC 25 DR AF T Finalmente, cabe mencionar que cuando se presente un problema debes considerar los múltiples significados que puede tener, dependiendo del contexto y las circunstancias en las que opera. Al hacer el problema más preciso, evitaremos algo que sucede con frecuencia en la vida personal y profesional, antes de identificar el problema que se desea resolver se procede a resolver el problema incorrecto. Por ejemplo, si Tukkul le hubiera preguntado a Paat que regalo le gustarı́a, probablemente ella le hubiera explicado que acababa de leer ese libro y que ya no era necesario comprarlo. Si este hubiera sido el caso, los valores emocionales de entrada al problema serian incorrectos. La solución no serı́a incorrecta, lo incorrecto seria la especificación del problema. CAPÍTULO 1. PENSAMIENTO COMPUTACIONAL DR AF T 26 Bibliografı́a Wing, J.M. (2006), Computational thinking, Comm of ACM, 49 (3), (pp. 33-35). DR AF T Wing, J.M. (2008), Computational thinking and thinking about computing. Philosophical transactions of the royal society A, 3717-3725. Wing, J.M. (2010), Computational Thinking: What and Why?. CSTA y ISTE (2011), Computational Thinking leadership toolkit, first edition, Computer Science Teachers Association (CSTA) y la International Society for Technology in Education (ISTE). CSTA y ISTE (2011), Computational thinking, teacher resources, second edition, Computer Science Teachers Association (CSTA) y la International Society for Technology in Education (ISTE). Bribiesca, E., Galaviz, J. y Rajsbaum, S.(2010), Computación, Enciclopedia de Conocimientos Fundamentales 5 UNAM Siglo XXI, México: UNAM. Paul, R. y Elder, L.(2003), La mini-guı́a para el Pensamiento Crı́tico Conceptos y Herramientas, Fundación para el Pensamiento Crı́tico. 27