Introducción
Aprenderemos Python y su sintaxis. Exploraremos variables, bucles, funciones y sentencias condicionales. Crearemos programas y scripts. Con ChatGPT, Gemini y GitHub Copilot, practicaremos el pensamiento lógico y la resolución de problemas paso a paso. Utilizaremos la IA para gráficos (Canva AI, DALL·E) y música (Suno, ElevenLabs).
Programa del curso
1Clase 1. Introducción a Python
El objetivo de la lección es crear el primer programa en el lenguaje de programación Python, aprender las funciones básicas print() e input(), comprender los comentarios y familiarizarse con el entorno Visual Studio Code.
2Clase 2. Variables
El objetivo de esta lección es aprender sobre variables, tipos de datos int y string, la conversión entre estos tipos y una forma cómoda de mostrar datos: fstring. Además, los alumnos aprenderán operaciones matemáticas básicas y utilizarán la inteligencia artificial como ayuda para el aprendizaje.
3Clase 3. Float: cálculos en Python
El objetivo de esta clase es aprender sobre un nuevo tipo de datos: float. Además, los alumnos aprenderán operaciones matemáticas más avanzadas.
4Clase 4. Consolidación de conocimientos e introducción a las listas
El objetivo de esta clase es aprender sobre un nuevo tipo de datos: float. Además, los alumnos aprenderán operaciones matemáticas más avanzadas.
5Clase 5. Bucle for
El objetivo de esta lección es introducir el tema de los bucles. Aprenderemos sobre el bucle for y discutiremos su aplicación utilizando ejemplos.
6Clase 6. Lógica y if
El objetivo de la lección es aprender las operaciones lógicas, el tipo de dato booleano y las sentencias condicionales.
7Clase 7. Anidación – consolidación de conocimientos
El objetivo de la lección es consolidar la información sobre variables, listas, bucles for y sentencias condicionales, así como entrenar su uso eficaz en la práctica.
8Clase 8. Bucle while
El objetivo de esta lección es aprender el bucle while.
9Clase 9. Funciones
El objetivo de esta lección es aprender sobre funciones y depuración.
10Clase 10. Consolidación de conocimientos – programación del juego Yahtzee
El objetivo de esta lección es consolidar los conocimientos sobre funciones, bucles, anidación y funciones auxiliares. También comenzaremos un proyecto del juego Yahtzee que permite a los estudiantes aplicar en la práctica todas las habilidades que han adquirido hasta ahora.
11Clase 11. Yahtzee – parte 2
El objetivo de esta lección es completar el proyecto del juego: Yahtzee.
12Clase 12. Turtle
El objetivo de la lección es aprender a utilizar la biblioteca de gráficos turtle.
13Clase 13. Turtle – parte 2
El objetivo de esta lección es aprender funciones más avanzadas del módulo turtle.
14Clase 14. Turtle – consolidación de conocimientos
El objetivo de la lección es consolidar los conocimientos sobre la biblioteca «turtle»
15Clase 15. Introducción a la POO (Programación Orientada a Objetos)
El objetivo de la lección es introducir la programación orientada a objetos en Python
16Clase 16. POO – Ejercicios
El objetivo de esta lección es ampliar los conocimientos de los alumnos sobre la programación orientada a objetos en Python mediante ejemplos avanzados y aplicaciones prácticas.
17Clase 17. POO – herencia y polimorfismo
El objetivo de la lección es aprender mecanismos avanzados de la programación orientada a objetos: la herencia y el polimorfismo, y cómo utilizarlos en la práctica.
18Clase 18. POO – juego RPG parte 1
El objetivo de la lección es aplicar en la práctica todos los conocimientos sobre programación orientada a objetos mediante la creación de un proyecto completo de juego RPG y el análisis de un sistema de simulación de ecosistemas.
19Clase 19. POO – juego RPG parte 2
El objetivo de esta lección es poner en práctica todos los conocimientos de programación orientada a objetos mediante la creación de un proyecto completo de juego de rol y el análisis de un sistema de simulación de ecosistemas.
20Clase 20. Colecciones
El objetivo de esta lección es presentar a los alumnos las colecciones en Python: listas, tuplas, diccionarios y segmentos. Los participantes aprenderán a crear y modificar colecciones, y comprenderán en qué situaciones resulta más útil cada una de ellas. También aprenderán a generar JSON y a crear su propia API.
21Clase 21. Turtle POO
El objetivo de esta lección es combinar los conocimientos sobre programación orientada a objetos (POO) con un proyecto práctico en el que se utilice el módulo «turtle». Los alumnos crearán su propio juego con tortugas que se mueven y rebotan contra los bordes de la pantalla en ángulos aleatorios. Esto reforzará los conceptos clave de la POO (clases, objetos, métodos) y les permitirá conocer un uso práctico del bucle de juego mediante la función ontimer().
22Clase 22. Manejo de archivos y detección de IA
En esta lección, los alumnos aprenderán a trabajar con archivos en Python: leer datos de archivos .txt, procesarlos y guardarlos. También utilizarán el formato .json a través de un cuestionario sencillo. A lo largo de la lección, descubrirán que los archivos pueden contener un «historial oculto» en los metadatos y los manifiestos, lo cual ayuda a evaluar la credibilidad de los materiales.
23Clase 23. Generación y procesamiento de imágenes
El objetivo de la lección es aprender cómo un ordenador almacena una imagen en forma de cuadrícula de píxeles (RGB) y cómo, en Python, se pueden generar gráficos sencillos y procesar fotografías ya existentes. Para ello, utilizaremos las populares bibliotecas Pillow y OpenCV.
24Clase 24. El arte de crear memes
El alumno crea un sencillo generador de memes o carteles que combina un fondo con un pie de foto y guarda el resultado en un archivo PNG, practicando el uso de funciones, la gestión de archivos y el procesamiento básico de imágenes con Pillow.
25Lección 25. Creador de personajes (Parte 2)
Las clases son una continuación del tema realizado en la lección anterior.
26Lección 26. Snake (Parte 1)
El objetivo de la lección será recrear el juego de culto Snake. En este proyecto, usaremos el conocimiento de la clase para crear un juego de serpientes usando la biblioteca Pygame.
27Lección 27. Snake (Parte 2)
Las clases son una continuación del tema realizado en la lección anterior.
28Lección 28. Snake (Parte 3)
La clase es una continuación del tema realizado en la lección anterior.
29Lección 29. Juego Arkanoid (Parte 1)
El objetivo de la lección es crear un clon del juego Arkanoid. Será el proyecto más avanzado. El juego tendrá una lógica compleja de colisión y rebote de pelota, discutiremos cómo puedes implementar diferentes niveles en el juego.
30Lección 30. Juego Arkanoid (Parte 2)
El propósito de la lección es continuar la lección anterior, crear el proyecto del juego Arkanoid.
31Lección 31. Juego Arkanoid (Parte 3)
Finalización del proyecto Arkanoid y resumen del semestre.
32Lección 32. Estructuras de datos avanzadas
En programación, existen estructuras de datos predefinidas, como matrices o listas. Sin embargo, en ocasiones, necesitamos crear una estructura personalizada y adaptada a nuestras necesidades. En esta clase, aprenderemos cómo hacer esto.
33Lección 33. Desarrollo y análisis de algoritmos.
Los algoritmos son herramientas que ayudan a resolver diversos problemas. Si bien hay prefabricados
algoritmos en programación, a veces necesitamos crear unos personalizados que se adapten a nuestras necesidades. Durante esta lección, aprenderemos cómo desarrollar y analizar algoritmos para abordar mejor diferentes problemas de programación.
34Lección 34. Tamagotchi (Parte 1)
En esta lección, crearemos un juego de Tamagotchi sencillo en el que cuidarás de una mascota virtual. Tendrás que cuidar sus niveles de felicidad y hambre, alimentarlo, jugar con él e incluso ajustar su apariencia en función de su estado de ánimo. Nuestro juego será interactivo, gracias a simples botones en pantalla.
35Lección 35. Tamagotchi (Parte 2)
En la lección, el proyecto Tamagotchi se ampliará con nuevas funciones.
36Lección 36. Diccionarios y JSON
En esta lección, revisaremos cómo usar diccionarios y aprenderemos qué son los archivos JSON. Entenderemos las diferencias entre ellos y cómo utilizar la biblioteca JSON.
37Lección 37. Oferta de vacaciones: generación automática de PDF con Python
En esta lección, aprenderemos sobre la biblioteca fpdf y la usaremos para generar un archivo PDF con una oferta de vacaciones.
38Lección 38. Matplotlib: el arte de crear gráficos en Python
En esta lección, aprenderemos cómo agrupar datos y crear gráficos basados en ellos.
39Lección 39. Administrador de archivos: programa para el cambio automático de nombres de archivos
En esta lección, aprenderemos cómo administrar carpetas creando un programa simple para cambiar el nombre de todos los archivos en una carpeta determinada.
40Lección 40. Reproductor de música
En esta lección, crearemos un programa que simula un reproductor MP3 donde podremos reproducir música y cambiar entre pistas.
41Lección 41. Imágenes locas: aplicar filtros a las imágenes
En esta lección, nos familiarizaremos con la biblioteca openCV y aprenderemos cómo aplicar filtros a las imágenes.
42Lección 42. Spambot - Programa de envío automático de correo electrónico
En esta lección, crearemos un programa para generar y enviar correos electrónicos automáticamente a una dirección determinada.
43Lección 43. Expresiones regulares - Regex
En esta lección, aprenderemos el arte de encontrar ciertos patrones dentro del texto.
44Lección 44. Edición de vídeo DIY: edición de vídeos con Python
En esta lección, aprenderemos cómo realizar una edición de video simple en Python: acelerar, desacelerar, recortar fragmentos o aplicar filtros a partes de un video.
45Lección 45. Desguace web parte 1
En esta lección conoceremos las bibliotecas request y bs4, a través de las cuales aprenderemos cómo extraer datos de sitios web.
46Lección 46. Desguace web parte 2
En esta lección conoceremos las bibliotecas request y bs4, a través de las cuales aprenderemos cómo extraer datos de sitios web.
47Lección 47. Proyecto Final (Parte 1)
En esta lección crearemos un proyecto extenso que resuma los conocimientos adquiridos durante el curso.
48Lección 48. Proyecto Final (Parte 2)
En esta lección crearemos un proyecto extenso que resuma los conocimientos adquiridos durante el curso.
