
Aquí exploramos qué es un algoritmo y cómo se convierte en un programa real. Presentamos las tres estructuras fundamentales que definen el comportamiento de cualquier programa: secuencia, selectividad y repetición. A partir de estas ideas, se construyen soluciones completas a problemas reales. Este módulo es esencial antes de entrar a estructuras de datos o análisis de complejidad.
Aquí exploramos qué es un algoritmo y cómo se convierte en un programa real. Presentamos las tres estructuras fundamentales que definen el comportamiento de cualquier programa: secuencia, selectividad y repetición. A partir de estas ideas, se construyen soluciones completas a problemas reales. Este módulo es esencial antes de entrar a estructuras de datos o análisis de complejidad.
Este primer problema práctico permite ejercitar pensamiento computacional a partir de un ejercicio sencillo, pero con una idea poderosa: la división por exceso. Analizamos el enunciado, interpretamos correctamente los límites y construimos una solución limpia en código. Un excelente punto de partida para comenzar a resolver problemas reales.
Profundizamos la idea del módulo anterior aplicándola a un caso en dos dimensiones. El estudiante aprende a planificar la estrategia correcta, visualizar el problema y detectar errores comunes. Este ejercicio fortalece la habilidad de descomponer un problema matemático en código funcional y eficiente.
En este módulo trabajamos un enfoque diferente: la simulación. Cuando la formulación matemática no es directa, implementamos un proceso paso a paso hasta alcanzar la condición deseada. Introducimos loops como herramienta para modelar cambios progresivos. Es un ejemplo clave para entender la diferencia entre calcular y simular.
Cerramos el curso con un concepto fundamental: la recursividad. Explicamos qué significa que una función se llame a sí misma, por qué los casos base son cruciales y cómo se construye una solución recursiva completa. Usamos Fibonacci como ejemplo clásico para fijar los conceptos y evitar errores comunes que suelen trabar a los estudiantes.
Programar no es solo escribir código.
También implica aprender a analizar problemas, modelar soluciones y pensar de manera lógica y estructurada.
En este curso trabajaremos los fundamentos del pensamiento computacional y cómo estos se conectan con la programación y la resolución de problemas. A lo largo de las clases abordaremos conceptos como computabilidad, algoritmos, estructuras de control, simulación, recursividad y razonamiento lógico aplicado al desarrollo de software.
El enfoque del curso es práctico y orientado a fortalecer la lógica detrás de la programación. Resolveremos ejercicios paso a paso utilizando matemática básica, estructuras de control y razonamiento algorítmico para entender cómo una computadora procesa instrucciones y cómo traducir problemas a soluciones correctas.
Además de aprender sintaxis, la meta es desarrollar la capacidad de pensar como un programador: identificar patrones, descomponer problemas y construir soluciones de manera clara y ordenada.
Este curso está pensado como una base sólida para estudiantes y programadores que quieran fortalecer fundamentos antes de avanzar hacia algoritmos, estructuras de datos o temas más avanzados de ingeniería de software.
También veremos cómo leer un problema, reconocer sus entradas y salidas, ordenar el razonamiento antes de programar y validar una solución con casos simples. La idea es que el estudiante no solo escriba código, sino que entienda por qué su solución funciona.