Uploaded by Humberto Alejandro Campos Torrejón

Pensamiento Computacional Metodologias

advertisement
UNIVERSIDAD
MAYOR DE SAN
SIMÓN
FACULTAD
DE CIENCIAS
Y
TECNOLOGÍA
INGENIERÍA
INFORMÁTICA/
SISTEMAS
TEMA 1
Pensamiento computacional y
Metodologías para la Resolución de
Problemas
Introducción a la Programación
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas
Corina Flores V.
Unidad 2
Pensamiento computacional y
metodologías para la resolución de
problemas
"Programar para no ser programados". Rushkoff, 2010
Introducción
Estamos entrando a una nueva era cognitiva, donde los objetos1 y las personas pasan a estar conectados por
defecto. Como afirma (Balaguer, 2017) “Las máquinas están aprendiendo, pero no todas las personas están
aprendiendo a manejarlas. Saber manejarse eficientemente con los datos y los lenguajes programación puede
hacer la diferencia”. Ante esta afirmación, salta inmediatamente la pregunta y ¿Cómo lograrlo?. Para
responder recordemos que por las necesidades de la industrialización, surgió de la alfabetización en
lectoescritura, asimismo, hoy nos encontramos frente a máquinas que necesitan ser programadas por los
usuarios, lo cual significa enfrentarse a una alfabetizarse tecnológica/digital si deseamos para aprovechar su
máxima potencia.
El hombre desde su creación siempre ha vivido rodeado de problemas que
requieren su solución, por lo que se ha visto enfrentado a desarrollar
habilidades que le han permitido analizar, organizar, modelar y abstraer
datos, así como, implementar soluciones, probar, generalizar y aplicar.
Pero ¿Qué es un problema?
Si se busca en el diccionario una definición de la palabra problema podrá hallarse alguna de las siguientes:


“Cuestión o proposición dudosa, que se trata de aclarar o
resolver”.
“Enunciado encaminado a averiguar el modo de obtener un
resultado cuando se conocen ciertos datos”.
Y … ¿Qué se entiende por resolución de problemas?
La resolución de problemas se define como “la capacidad de participar en
un proceso cognitivo para entender y resolver problemas donde no hay un
método de solución inmediatamente obvio” (OECD 2014 PISA in focus 38)
1
Por ejemplo, el denominado IoT o Internet de las cosas
Introducción a la Programación
Corina Flores V.
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas
De ahí que la resolución de problemas mediante una computadora consiste
en dar una adecuada formulación de pasos precisos que debe seguir,
para resolver un problema, pero para escribir estos pasos o instrucciones
que la computadora podrá leer, interpretar y ejecutar ordenadamente, se
precisa trabajar en un concepto muy importante que es el denominado
Pensamiento Computacional
El pensamiento computacional implica, modelos mentales que
necesitamos para entender cómo resolver problemas a través de los
computadores, (Bravo C. Bits p. 49)
Unidad 2
¿Qué entendemos por problema?.
Existe consenso en considerar
como "problemas" a situaciones
que plantean interrogantes y
dificultades para las cuales no hay
una
solución
única
y
preestablecida (Hayes 1981,
Bodner y M. Millan 1986).
Objetivos
El tema “conocer y comprender el problema” tiene por objetivos, que los estudiantes:

Entiendan y utilicen terminología, conceptos y los
elementos básicos de la programación en sus etapas
tempranas

Comprendan el proceso para la solución de problemas a
través de diferentes técnicas

Organizar y analizar la información de manera lógica

Representar la información mediante abstracciones ya sea
aplicando diagramas o modelos.

Automatizar las soluciones mediante el pensamiento
algorítmico

Probar y analizar la solución a fin de mejorar y generalizar.
Resolución de problemas
Si se piensa en la forma en que una persona indica a otra como resolver un
problema, se vería que habitualmente se utiliza un lenguaje común y
corriente, quizá entremezclado con algunas palabras técnicas. Por ejemplo.
Pongamos a pensar en el caso en el que una persona desea llegar a un
lugar específico, por ejemplo un hospital, un banco, un colegio, etc.
Seguramente, si nosotros estaríamos en pos de ayudarle daríamos algunas
de estas instrucciones, camine más o menos 2 cuadras hacia el norte, cruce
al frente doble la esquina y siga caminando unos metros, hasta encontrar un
letrero verde, ….
¿Cómo resolver un problema?
Esta forma de aplicar un lenguaje coloquial representa un riesgo muy
grande, pues es ambiguo, lo genera con mucha frecuencia
malinterpretaciones y en consecuencia las instrucciones y por lo tanto se
“ejecuta incorrectamente" muchas veces no llegando al lugar deseado..
Cuando de una computadora se trata, no pueden utilizarse indicaciones
ambiguas. Ante cada orden resulta fundamental tener una única
interpretación de lo que hay que realizar. Una máquina no posee la
capacidad de decisión del ser humano para resolver situaciones no
previstas.
Si al dar una orden a la computadora se produce una situación no
contemplada, será necesario abortar esa tarea y recomenzar todo el
procedimiento nuevamente.
Además, para poder indicar a la computadora las ordenes que debe realizar
es necesario previamente entender exactamente lo que se quiere hacer. Es
fundamental conocer con qué información se cuenta y qué tipo de
empezar por el enunciado,
visualizar el problema como un
todo. Lo natural es que primero
se deba familiarizar con el
problema, es decir, conocer el
problema como un todo; esto
estimula la memoria. Ya
visualizado se tiene claro qué se
tiene que resolver, y, una vez que
suceda este proceso, se
comprende el problema; aquí
ya se aíslan las partes y se
comienza a resolver por partes
el problema.
Introducción a la Programación
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas
Corina Flores V.
Unidad 2
Antes de continuar, es importante conocer un concepto que es sumamente importante en el ámbito de
resolución de problemas, nos referimos a Pensamiento computacional, ya que su conocimiento permite
comprender que es lo que ocurre detrás de todo dispositivo tecnológico. Esto favorece que como usuarios no
solo utilicemos la tecnología de forma más eficiente, sino también, nos permite ser creadores de esta.
Pensamiento Computacional
De acuerdo con la Sociedad Internacional para la Tecnología en la Educación. (ISTE por sus siglas en ingles)
El pensamiento computacional es un proceso para la solución de problemas a través de diferentes técnicas
como: organización y análisis de la información de manera lógica; representación de información mediante
abstracciones tales como modelaciones y simulaciones o diagramas; formulación de problemas que permitan
usar la computadora y otras herramientas; automatización de soluciones mediante el pensamiento algorítmico;
identificación, análisis e implementación de posibles soluciones con el objetivo de lograr la combinación mas
efectiva y eficiente de pasos y recursos; y generalización y transferencia de este proceso de resolución a una
amplia variedad de problemas.
Tecnicas que aplica el pensamiento computacional
1.
Abstracción: es el proceso de eliminar lo que no nos sirve o la parte compleja de un problema que
estamos analizando. Dicho de otra manera, abstraer nos permite generalizar y nos invita a observar
únicamente la parte más esencial del mismo. Por ejemplo: nuestro cuerpo, visto como una sola
unidad, mientras no tengamos ninguna dolencia no nos importa si el pulmón o el corazón están
funcionando bien o están sufriendo algún problema otro ejemplo puede ser el celular un aparato que
sirve para comunicarnos o incluso entretenernos, no nos interesan sus circuitos, chips, ni sus demás
componentes que integran.
2.
Descomposición: un problema dependiendo de su complejidad puede ser descompuesto en partes
más pequeñas o manejables. Por ejemplo: sabemos que el cuerpo humano es complejo porque está
constituido por un conjunto de sistemas que pueden descomponerse en vario, por citar: el sistema
respiratorio, el sistema nervioso, el sistema digestivo, el sistema circulatorio, etc.
3.
Simulación: se refiere al hecho de anticipar el resultado de un problema. Por ejemplo: ¿Cómo se
propaga el coronavirus?. Una de las medidas que se están implementando en varias regiones del
planeta es que las personas se queden en sus casas y guarden el distanciamiento social de al
menos 1 ms., como se ejemplifica a través de las imágenes de los fósforos (Fig 1), el objetivo es
minimizar el contacto y así el riesgo de contagio.
Fig.1 cada fosforo quemado representa una persona contagiada por su cercanía al fosforo encendido
que representa a la persona enferma, si se distancia al menos uno de los fósforos y el efecto de
contagio disminuye considerablemente.
4.
Desarrollo de algoritmos: consiste en escribir una serie de pasos ordenados que podemos replicar
una y otra vez para automatizar procesos. Ejemplo: en estos tiempos de cuarentena, muchas
empresas ofrecen sus productos a través de sus páginas web bajo el slogan “no salgas de casa, te lo
llevamos”, para realizar un pedido los cliente simplemente tienen que realizar ciertos pasos de forma
ordenada y secuencial que se describen a continuación en forma de algoritmo:
Introducción a la Programación
Corina Flores V.
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas
Unidad 2
Algoritmo para hacer un pedido de productos vía página web
Inicio
Paso 1: Ubicar la página web de la empresa a quien se solicitara el pedido
Paso 2: Seleccionar el o los productos
Paso 3: Añadir al carrito de compras
Paso 4: Verificar los productos seleccionados para la compra
Paso 5: Finalizar la compra
Paso 6: Llenar formulario con datos personales del cliente
Paso 7: Recibe los productos y paga
Fin
Definición de problema
Continuamente nos enfrentamos a situaciones en las que hay necesidad de decidir, por ejemplo: que servicio
de transporte tomar, a qué hora salir de casa, que desayunar, que actividades realizar, con quienes reunirnos,
que estudiar, etc. Estas y otras tantas situaciones se tornan muchas veces fáciles e intuitivas de hacer o tal
vez más complejas tornándose en problemas. Aquí viene la pregunta ¿Cuándo se convierten en problemas?.
Según la Real Academia Española (RAE) se define problema como “el conjunto de circunstancias o
hechos que dificultan la consecución de algún fin” (2015), según el diccionario Oxford un problema es un
asunto o situación no bienvenida o placentera, dañina y que debe afrontarse y resolverse” (2015). De ahí que
podemos concluir que, un problema es una situación que amerita una serie de acciones para pasar de un
estado actual no deseado, a un estado futuro adecuado para nuestra vida. Por ejemplo:
Juan se quedó dormido, se fija la hora y ve que esta sobre la hora para llegar a tiempo a su examen
de introducción a la programación.
Juan para resolver este problema tiene que tomar ciertas acciones: tomar un baño rápido y vestirse, pedir
dinero a sus padres para el taxi, llamar a un radiotaxi o salir de prisa a tomar el taxi. De esta manera Juan
podrá superar la situación actual y transformarla en una situación ideal.
Tipos de problemas
Una vez que se comprende un problema, se debe identificar el tipo de problema. De manera
general se pueden distinguir dos tipos de problemas comunes:


Los problemas que buscan respuestas: por ejemplo este es el caso cuando un
ejercicio implica el cálculo del número de palabras que hay en un libro, se trata de un
trabajo en que se debe encontrar algo que se desconoce. La forma en que esto se
haga no es de particular importancia siempre y cuando se obtenga la respuesta
correcta (aunque es deseable que sea por un medio fácil).
Los problemas que buscan pruebas: cuando se pide que se pruebe que hay 720
formas de colocar seis libros en una fila, se está dando la respuesta. La tarea es distinta
a la de encontrar una respuesta porque ya se sabe lo que se desea. Todo lo que se
tiene que hacer es determinar la relación entre los datos y la respuesta e indicar si es
verdad lo que afirma
Introducción a la Programación
Corina Flores V.
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas
Unidad 2
Es importante observar que en un problema en que se buscan
respuestas se tiene que elaborar una solución, mientras que
cuando se pide que se pruebe sólo es necesario demostrar que
existe (o no existe) una solución sin crearla; o en otro caso,
indicar si la solución es correcta o falsa.
Los problemas de computación pertenecen a una tercera clase: los problemas que buscan métodos, aquí se
busca un método o estrategia mediante el cual se pueda encontrar una respuesta.
Metodologías para resolver problemas
Una metodología general que describe el proceso de resolver problemas mediante computadoras se muestra
en la figura que viene a continuación.
Encontrar
método
Problema
Humano
Encontrar
respuesta
Computadora
Fig2: Metodologia general para resolver problemas
De acuerdo a Eilders (2014), la solucion de problemas pasa por cuatro etapas principales:
Introducción a la Programación
Corina Flores V.
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas
Etapa 1
Unidad 2
•Recoleccion de informacion, donde se realiza un analisis
exhaustivo sobre el problema. ¿De que trata?, ¿Que se desea
obtener?, ¿que datos se plantean?,¿Que restricciones debe
cumplirse.
Etapa 2
•Generacion de soluciones, en esta etapa se busca diferentes
alternativas de solucion mediante estrategias, por ejemplo de
prueba y error
Etapa 3
•Implementacion de la solucion, en esta etapa
se deben tomar decisiones para implementar
la estrategia que nos parece la mas
adecuada.En esta etapa se debe llevar a cabo
el plan de accion.
Etapa 4
Ejemplo
Sea el problema:
A Marisol, a su retorno de su viaje de Italia un buen
día de golpe le empezó a doler la garganta, tenía
tos seca, pasaron algunos días y de repente sintió
mucha dificultad para respirar. Ella ahora se
encuentra asustada y preocupada por su estado,
pues no está segura si solo se trata de un resfrió o
tal vez de algo más grave como el COVID-19, ¿Qué
pasos deberá seguir Marisol para salir de este
problema?
Etapa 1: Recolección de información, lo
primero que debe hacer Marisol es buscar toda la
información posible acerca del COVID-19: sobre los
síntomas, formas de contagio, llamar a emergencias
médicas, solicitar prueba para detectar el COVID-19, que
medidas de seguridad debe tomar, etc.
. Etapa de evaluación, esta etapa se
ocupa de revisar si el plan
implementado logro llegar al objetivo
buscado, es decir, dar solución al
problema, de no ser así, se debe volver
a la etapa 2.
Introducción a la Programación
Corina Flores V.
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas
Unidad 2
Etapa 2: Generación de soluciones, Marisol después de haber leído con atención toda la
información encontrada sobre el COVID-19, hizo una rápida evaluación de su estado de salud, que
le llevaron a tomar ciertas decisiones, entre ellas: primero, descartar que se trataba de un resfrió
común. Segundo, aislarse de manera inmediata de las personas que se encuentran en su hogar,
tercero, llamar a emergencias médicas y solicitar la prueba del COVID-19
Etapa 3: Implementación de la solución, Marisol, después de recibir los resultados de la
prueba del COVID-19 supo con certeza de que estaba infectada, entonces tomo las
medidas de seguridad con mayor cuidado, siguiendo paso a paso todos los protocolos
dictados por los médicos
Etapa 4: Evaluación, después de 16 días de estar aislada completamente de
otras personas, habiendo cumplido el protocolos de bioseguridad y estando bajo
vigilancia médica permanente, Marisol dio al test del COVID-19 negativo, de esta
manera pudo salvarse de una pesadilla con la que vivió y recogió experiencias
de vida.
Veamos otra metodologia propuesta por George Polya en su libro “Como resolverlo”, propone
resolver los problemas siguiendo 4 fases, las que a continuacion se detallan:
1. Entender el problema y familiarizarse con la situación
Entender el problema significa analizar con
cuidado su enunciado, haciendo una lectura
de comprensión una y otra vez para
reconocer y familiarizarnos con los términos
que emplea. Es desmenuzar cada frase del
enunciado de manera que se tenga claro:
 ¿Qué te piden o qué es lo que se
desea obtener?. Por ejemplo: si
tienes que calcular los grados de un
triángulo, o la medición de la
temperatura ¿de quién?, de una
persona?, del ambiente.
 ¿Qué se necesita? Para resolver el
problema, por ejemplo las medidas
de los lados…
 ¿Cuáles son los datos y las
condiciones que presenta? ¿de
qué tipo de triangulo?,
 Se necesita recopilar todos los
datos posibles,
 Realizar un esquema que ayude a
recopilar toda la información,
mediante un esquema o dibujo.
Un factor clave de esta fase es
la habilidad de discriminar la
información relevante de aquella
que no lo es.
2. Buscar estrategias y diseñar un plan
Para resolver un problema no existe un único método, es más debemos examinar una serie de
estrategias y técnicas que se ajusten mejor al problema y nos ayuden a encontrar su solución. A
continuación, se citan algunas estrategias útiles para proceder esta fase:
 Buscar semejanzas con otros problemas y estudiar cómo fueron resueltos. Consultar
apuntes, libros, páginas web.
 Empezar por lo fácil e ir aumentando gradualmente la dificultad. Tal vez el problema te
resulte difícil por la cantidad de datos o elementos presentes, Comienza resolviendo un
problema semejante con menos datos.
 Buscar patrones que se repiten. Mira si el problema puede resolverse aplicando
conceptos como series, combinaciones, secuencias,
Introducción a la Programación
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas



Corina Flores V.
Unidad 2
Realizar un esquema y si es posible pintarlo con colores. El adagio dice “una imagen
vale mas que mil palabras”. Muchos pensamos mejor con imágenes que con palabras
Aplicar la estrategia ensayo y error: de manera sistemática, escribiendo los resultados,
examinando los intentos fallidos para elegir el siguiente ensayo.
Mediante algoritmos, o planteamiento de ecuaciones
3. Elegir una estrategia y ejecutar el plan


Poner a prueba las ideas de la fase anterior que parezcan más prometedoras,
comenzando por la técnica que tiene más opciones de funcionar, puesto que, algunos
problemas pueden resolverse de más de una forma, llevando a platear soluciones unas
mejores que otras ya sea porque ocupan menos tiempo en ejecutarse o utilizan menos
recursos.
Tomar decisiones
4. Examinar la solución obtenida

Probar la solución y ver si el objetivo buscado se ha cumplido, de no ser así insistir
utilizando la estrategia prueba y error, en la que se intenta aplicar una solución y, si no
funciona, se prueba una segunda y a, entender por sí sucesivamente hasta resolver la
situación. Esto amerita analizar los pasos seguidos, entender porque la estrategia
aplicada no funciona.
Ejemplo
Sea el problema:
Hallar un número de dos cifras sabiendo que la suma
de las cifras es 12 y que la primera de ellas es el triple
de la segunda.
Procedemos a resolver aplicando la metodología fase a fase.
Fase 1: Entender el problema y familiarizarse con la situación
Comenzamos con la lectura del problema e intentamos responder a las siguientes preguntas:


¿Qué pide?: Hallar un número de dos cifras
¿Cuáles son los datos?: la primera cifra es el triple de
la segunda

¿Qué condiciones presenta el problema?:

la suma de las cifras es 12

la primera cifra es el triple de la segunda.
Luego procedemos a Reconocer los Términos, que están descritos en el enunciado del problema, es decir,
ponemos nuestra atención en los sustantivos a fin de conocer su significado o su representación.
Para el ejemplo: en el enunciado del problema hace referencia a cifras,
nosotros debemos preguntarnos inmediatamente, ...
¿Qué entendemos por cifra de un numero?, ¿Cómo se representa el
triple de una cifra?
Fase 2: Buscar estrategias y diseñar un plan
Comenzamos con la búsqueda de estrategias para dar solución al problema. Por sus características responde
a un tipo de problema que busca una respuesta, “hallar un número de dos cifras”. En esta fase, comenzamos a
Introducción a la Programación
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas
Corina Flores V.
Unidad 2
indagar acerca de si:



¿El problema es semejante a otro resuelto en una
ocasión anterior?:
¿Hay algún patrón que se repite?:
¿Se puede aplicar ensayo y error?:
Diseñamos el plan
Una de las estrategias que podría ser tomada para dar solución al problema podría ser la estrategia ensayo y
error, podríamos probar de con algunos números de manera sistemática:
Valor de la primera cifra
Valor de la segunda
El numero buscado
Solución
cifra
3
1
31
X 4 la suma es
menor que12
6
2
62
X 8 la suma es menor
que12
9
3
93
 12 la suma es
igual a 12
Fase 3: Elegir una estrategia y ejecutar el plan
 Representamos un número de dos cifras con “x” e “y”. Donde “x” representa a la primera cifra y “y” a
la segunda cifra.
 Intentamos representar la ecuación, siguiendo al enunciado: “la suma de las cifras es 12, la primera
cifra es el triple de la segunda”
X + Y = 12
3Y + Y = 12
4Y = 12
Y = 12/4
Y=3
Reemplazando en X = 3Y
X = 3*3
X=9
 De ahí que el número es 93
Fase 4: Examinar la solución obtenida
El resultado obtenido comparamos con el de la tabla, vemos que ambos coinciden. Por tanto la respuesta
correcta es 93.
Introducción a la Programación
Corina Flores V.
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas
Unidad 2
Resumen
Resumen
El contenido de este tema gira alrededor del concepto problema, dado que es un aspecto central en torno al
cual se trabajara este y los siguientes temas. Por otra parte, se ha visto importante también mencionar el
concepto de Pensamiento Computacional, dado que como estudiantes de las carreras de ingeniería informática
y sistemas, nos involucraremos con situaciones o problemas que deben ser resueltos utilizando la computadora
como herramienta, pero la computadora por sí misma no podrá resolver ningún problema aunque este sea muy
fácil, sino es mediante un programa, y para programar hace falta saber más que un lenguaje de programación,
algunas técnicas, de las que mencionados a: Abstracción, descomposición, simulación, desarrollo de
algoritmos. Posteriormente, se abordó sobre dos metodologías, una plateada por Eilders (2014) y la otra por
George Polya (1945). Ambas metodologias estan destinadas a resolver problemas de diferentes tipos, sin
embargo, siguen un mismo patron aunque bajo diferentes denominativos, pero en el fondo pretenden el mismo
objetivo. Por otro lado, cada una de estas metodologías emplea estrategias y técnicas tales como: prueba y
error, uso de abstracciones, diseño de ecuaciones, descomposición, desarrollo de algoritmos entre otros. En
el siguiente tema, profundizaremos en la metodología propuesta por Polya para solucionar problemas mediante
algoritmos.
Para terminar, te invito a practicar con los ejercicios que ya están dispuestos en plataforma en la sección de
ACTIVIDADES.
Referencias Bibliográficas

BACHELARD G., 1972, La Formación del espiritu científico”. De. Siglo XXI. Bs. Aires.

BODNER G. M., MC MILLEN T. L. B., 1986, ”Cognitiva restructuring as an aerly stage in solv. prob.”.
Jom of Res in Science Teach 23(8) 727-737.

BRAVO C., 2015. “Pensamiento computacional: una idea a la que le llegó el momento” Bits de
ciencia. Consultado en https://www.dcc.uchile.cl/Bitsdeciencia12.pdf

HAYES J. R. . 1981, “The complet problem solver” The Franklin Inst. Prevs. Philadelphia.

Joyanes Aguilar L., “Fundamentos de Programación. Algoritmos, Estructuras de datos y objetos”,
Tercera Edición, Mc Graw Hill, Madrid. 2003.

Maldonado, M. et al. “Cartilla de la Asignatura Fundamentos de la Programación”. Universidad
Nacional de Santiago del Estero. 2006.

Pólya, G. (1990). "Cómo plantear y resolver problemas". México: Trillas. Pólya, G. (1966).
Introducción a la Programación
Corina Flores V.
Tema 1- Pensamiento Computacional y metodologías para la resolución de problemas

Unidos G. Artecona F., Bonetti E, Darino C, Mello F, Rosa M, Scopise M, “Pensamiento
computacional un aporte a la educación de hoy” & et all Consultado en
https://issuu.com/eduticpe/docs/pensamientocomputacionalfte
Unidad 2
Download