Estás a más de la mitad en tu camino de Road to Code, ya aprendiste a programar en Python y seguro estás buscando llevar muchas de las cosas que haces en el mundo real al código como: convertir unidades de medida o hacer cálculos matemáticos que a mano te tomarían más tiempo.
A medida que practicas entenderás mejor cómo funciona la programación en general, buscarás probar alternativas diferentes y poco a poco dominarás conceptos que al principio parecen complejos. En pocas palabras te estás convirtiendo en una programadora que desarrolla su pensamiento computacional.
Existen diversas formas de mejorar este aspecto de nuestra inteligencia, así que te compartiré algunos consejos que seguro podrás aplicar durante tu aprendizaje.
1. Aprende a resolver un problema

Programar es algo que hacemos para lograr un objetivo, utilizando algoritmos para cumplir un objetivo y existen distintos métodos para antes de escribir código. El método de George Pólya se compone de 4 sencillos pasos para cumplir con nuestro objetivo:
- Comprende el problema: identifica lo que quieres lograr, cuales son las variables, condiciones asociadas y restricciones.
- Elabora un plan: una vez conociendo los datos presentes, el problema y recursos disponibles deberás trazar una ruta a seguir.
- Ejecuta el plan: realiza los pasos que definiste y valida sus resultados.
- Revisa y verifica la solución: ¿obtuviste lo que esperabas? ¿hubo necesidad de ajustes? ¿puedes transferir este conocimiento a otros problemas? son algunas de las preguntas que puedes hacerte para continuar.
2. Observa desde distintos ángulos

Al momento de abordar un problema podemos hacerlo pensando de una forma convergente o divergente, siendo buena idea aplicar ambas para tener una mejor perspectiva a excepción de cuando las restricciones del mismo no lo permitan.
Al pensar de forma convergente observamos a un problema desde su exterior, de una forma analítica, racional y en el que existe una única solución aceptable. Esto permite que adquirir experiencia en situaciones donde identificamos un patrón, ejercitamos esa lógica para soluciones bien definidas.
Mientras en el pensamiento divergente observamos al problema desde su interior, buscando soluciones diversas, sin patrones definidos y realizando un trabajo más creativo. Hacerlo de esta forma te brindará más flexibilidad y adaptabilidad ante situaciones que son diferentes unas de otras.
Combinar ambas formas de pensamientos te brindará de mejores resultados cada vez y descubrirás que puedes aplicarlos en contextos que quizá pensabas no eran compatibles. Por ejemplo ¿de cuántas formas distintas puedes llegar a 64 en una operación de 2 números y cuántas con 3 números?
3. Divide y vencerás, pero no cómo te lo cuentan

Como proceso el pensamiento computacional consta de varias etapas por las cuales muchas veces pasarás de forma empírica:
- Descomposición: dividir un problema en partes más pequeñas.
- Evaluación: identificar potenciales resultados y errores.
- Generalización: identificar patrones y elementos en común.
- Abstracción: establecer y simplificar conceptos.
- Pensar de forma algorítmica: resolver el problema con los principios de un algoritmo.
El primer paso es crucial ya que define la base de etapas posteriores, siempre escucharás “divide un problema en problemas más pequeños para solucionarlos de forma individual” y esto es correcto pero hay algo que no suele mencionarse: piensa también en sus restricciones.
Identificar las restricciones de los elementos de un problema te permitirá identificar a cuales afecta. Si abordas al elemento con más restricciones evitarás cambios constantes en aquellos con menores, que en el sentido contrario tendrías que hacer ajustes para adaptar los elementos con menos restricciones a los que tienen más.
Por ejemplo, en un sistema de inventarios puedes tener varios productos con un identificador, nombre, marca, modelo, categoría, precio, etc. Seguramente tendrás una parte para calcular la venta de un cliente que tomará numero de artículos, precios y quiero que te imagines diseñando este segmento primero.
Recibes un precio, cantidad y calculas el total. Ahora programarás el producto, te das cuenta que es conveniente incluir nombre y marca en la salida del pago. Entonces deberás modificar la parte de venta. Después se añade un descuento a ciertas categorías de productos (que ya están en el producto), así que toca modificar la parte de venta una vez más… y así hasta terminar el caso de uso.
Una consideración importante es que incluso antes de escribir código y afrontar estos posibles cambios hay que definir cuales serán las características de tu proyecto para que exista una correcta adaptabiliad.
Live Session con tu profesor Facundo García
En Road to Code tienes una sesión en vivo o meetup cada semana para resolver dudas, interactuar con tus compañeros y el día de hoy 19 de octubre a las 5 pm COL/MEX estará Facundo García, profesor del Curso Básico de Python, resolviendo aquellas inquietudes que tengas al respecto de Python.
¡Te esperamos allá!

Curso de Introducción al Pensamiento Computacional con Python