Módulo 1: Introducción a la Programación y a Python (3-4 horas)
Este módulo cubre los principios de la computación y una introducción práctica al lenguaje
Python.
● Teoría:
○ Conceptos Fundamentales de la Computación:
■ Conocimiento declarativo vs. conocimiento imperativo.
■ ¿Qué es un algoritmo?
■ Concepto de flujo de control.
○ Python: El Lenguaje y su Naturaleza:
■ Python es un lenguaje de alto nivel, con sintaxis fácil de leer y
entender, similar al inglés.
■ Es interpretado, lo que permite que el código se ejecute línea por
línea, facilitando la depuración.
■ Es multiparadigma, lo que permite la programación orientada a
objetos y la programación funcional, entre otras.
● Práctica:
○ Descarga e Instalación:
■ Instrucciones para descargar e instalar el intérprete de Python o, de
manera más recomendada para principiantes, el ide thonny.
○ El Entorno de Trabajo:
■ Introducción al uso del IDE Thonny para escribir y ejecutar código
Python.
■ Ejecución del primer programa: "¡Hola, Mundo!".
○ Modo Interactivo vs. Modo Script:
■ Explicación de la diferencia entre el modo interactivo (ejecutar
código en la consola) y el modo script (guardar el código en un
archivo .py).
○ Elaboración:
■ Discusión y elaboración de diagramas de flujo simples para resolver
problemas cotidianos.
Módulo 2: Elementos Básicos de Python (4-5 horas)
● Teoría:
○ Tipos de datos escalares: int, float, bool, None.
○ Variables y asignación, operadores y expresiones.
○ Programas secuenciales vs. programas de ramificación.
○ Declaraciones condicionales (if/else) y anidamiento de declaraciones.
○ Iteración y bucles (while y for).
● Práctica:
○ Creación de scripts básicos.
○ Resolución de problemas simples utilizando condicionales y bucles.
○ Ejercicios de "simulación manual" para seguir el flujo de un programa.
Módulo 3: Programas Numéricos Simples (4-5 horas)
● Teoría:
○ Enfoques algorítmicos para la resolución de problemas numéricos.
○ Algoritmos de adivinación y verificación (guess-and-check).
○ Algoritmo de enumeración exhaustiva.
○ Búsqueda por bisección.
○ Método de Newton-Raphson (opcional).
● Práctica:
○ Implementación de los algoritmos para encontrar raíces cuadradas, raíces
cúbicas, o números primos.
Módulo 4: Funciones, Alcance y Abstracción (5-6 horas)
● Teoría:
○ Definición y uso de funciones.
○ Parámetros formales vs. parámetros reales (argumentos).
○ El alcance de las variables (scoping).
○ Modularización de código.
● Práctica:
○ Desarrollo de funciones personalizadas para encapsular la lógica del
programa.
○ Creación de un programa modular.
○ Ejercicios para comprender el paso de argumentos y el alcance de las
variables.
Módulo 5: Tipos Estructurados y Mutabilidad (5-6 horas)
● Teoría:
○ Introducción a los tipos de datos no escalares.
○ Tuplas (tuples) y listas (lists): diferencia, operaciones comunes y
slicing.
○ El concepto de mutabilidad vs. inmutabilidad.
○ Aliasing y clonación de objetos.
○ Diccionarios (dictionaries): creación, manipulación y uso de
claves-valores.
● Práctica:
○ Resolución de problemas utilizando tuplas, listas y diccionarios.
○ Ejercicios prácticos para demostrar la diferencia entre tipos mutables e
inmutables.
○ Creación de diccionarios para modelar relaciones simples.
Proyecto Final
El proyecto final debe integrar los conocimientos de los módulos. Se proponen dos ideas:
1. "Mini-Juego de Adivinanza de Números": Creación de un juego simple donde la
computadora "piensa" en un número y el usuario lo adivina.
2. "Herramienta Simple de Cifrado": Creación de una herramienta para codificar y
decodificar mensajes básicos utilizando un diccionario como clave.