Hola, acepté el desafío de enseñar a un grupo de jóvenes a programar desde 0 utilizando el lenguaje de programación Python, en su versión 3. Entonces quise aprovechar la oportunidad para generar este repositorio con el contenido y en lo posible con las clases grabadas para que cualquiera que se este iniciando pueda tener un punto de inicio en español.
Hasta el momento me base en un tutorial de Mike Dane, haciendo algunas adaptaciones y también he tomado notas del libro Invent with Python de Al Sweigart
Las clases del curo.
En las primeras clases del curso vimos algunos conceptos de la programación en general mediante la utilización de Diagramas de Flujo (o Flowchart) y pseudocódigo.
< falta grabar esa clase >
También empezamos a utilzar la plataforma Mumuki, para reforzar los conceptos. Pueden hacer el curso de Fundamentos de la programación en https://mumuki.io/central
En esta clase empezamos a ver el lenguaje de programación Python.
Para poder empezar a probar sin instalar nada utilizamos la plataforma repl.it
Podes bajar e instalar un interprete de Python para tu sistema operativo desde https://www.python.org/
Código de la clase: [v3] acceder al código utilizado
Ver clase en YouTube https://www.youtube.com/watch?v=4M6PfqcCJcQ&feature=emb_logo [v2]
En esta clase vemos los bucles de control del flujo While y For en Python.
También vemos las asignaciones multiples.
Los diccionarios
Manejo de excepciones o errores con Try
Lectura y escritura de archivos planos.
Código de la clase: [v2] acceder al código utilizado
Ver clase en YouTube PARTE 1 de 2: https://www.youtube.com/watch?v=r-Y3kXEpyDc &feature=youtu.be [v2]
- Bucle While
- Bucle For
Ver clase en YouTube PARTE 2 de 2: https://www.youtube.com/watch?v=vC6iQ1I-oXs&feature=youtu.be [v2]
Temas tratados en el video
Listas de 2 dimensiones, grilla o matriz con lista de listas. Asignación múltiple e interpolación de cadenas Diccionario Manejo de errores con Try y excepciones. Lectura y escritura de archivos de texto plano.
En el vídeo se muestran algunas estructuras de datos utilizadas en Python. Como crearlas, como acceder a sus elementos y como modificarlas.
- Listas
- listas de 2 dimensiones o matrices
- tuplas
- Diccionarios
Ver clase en YouTube PARTE 2 de 2: https://www.youtube.com/watch?v=r-Y3kXEpyDc&feature=youtu.be [v2]
¿ Qué vemos en la clase (vídeo) ?
- Intro a PyGame.
- Como ejecutar por primera vez
- Objeto Ventana.
- Como dibujar: -- poligonos -- lineas -- circulos y elipses -- rectangulos
¿Qué es PyGame?
Pygame es un framework libre para Python que provee una serie de modulos diseñados para escribir programas multimadia, entre ellos videojuegos en 2D y 3D. Puede manejar tiempo, imagenes en diferentes formatos, video, sonidos, fuentes, cursores, mouse, teclado, joysticks y más; de una manera muy sencilla. La versión, al momento de grabar fue la 1.9.6, esta en desarrollo la 2.
Esta basada en una liberia llamada SDL (Simple DirectMedia Layer Library), escrita en C lo que le permite ser multiplataforma de manera simple y le agrega sus propias funciones.
Documentación: https://github.com/pygame/pygame
-
Windows: busca un instalar aqui. https://bitbucket.org/pygame/pygame/downloads/
-
Linux Ubuntu: ejecutar en la terminal: $ sudo apt-get install python-pygame o con pip: $ pip install pygame
ejecutar en la terminal de comandos: $ python3 -m pygame.examples.aliens
El sitio que se ve en el vídeo para elegir un color es Colores: https://htmlcolorcodes.com/
Ver clase en YouTube: https://www.youtube.com/watch?v=3zyn-4drvoI&feature=youtu.be [v2]
La musica de fondo es AudioLibrary Come Home - Declan DP
https://github.com/matiasmasca/curso_python/tree/Pygame_clase1 Código de la clase: acceder al código utilizado
Demostración de código, continuación de la introducción a la librería PyGame. Se muestrá como mover un cuadrado sobre la pantalla, como detectar colisiones con otros objetos. También como cargar una imagen de un personaje e interactuar con ese cuadrado. Además de como mover el personaje con teclado. Luego como ejercicios los alumnos del curso tuvieron que practicar hacer algo similar. El que no tenia instalado lo necesario pudo hacerlo desde la herramienta online repl.it eligiendo en la lista de lenguajes “pygame”
Ver clase en YouTube: https://www.youtube.com/watch?v=pVYjMFTMBr4&feature=youtu.be [v2]
Código de la clase: acceder al código utilizado
Demostración de código en vivo. Se aplico los visto en las clases pasadas para hacer un juego sencillo Brick (clon de Arconoiv). Se mostró como mover la imagen de la pelota y la paleta sobre la pantalla, como detectar colisiones en una lista para eliminar los bloques. Como mover el personaje con el mouse. Los alumnos fueron planteando situaciones alternativas al código generado y se modifico en vivo.
Como tarea los alumnos tienen que modificar el código para agregarle funcionalidades.
Ver clase en YouTube: https://www.youtube.com/watch?v=1fQ0nPyW79o&feature=youtu.be [v2]
Código de la clase: acceder al código utilizado
Repaso de conceptos: que es un objeto Rect y un objeto Surface. Sistema de coordenadas.
Juego donde el personaje se va alimentando comiendo bacterias y va cambiando de tamaño usando la función Scale.
Ver clase en YouTube: https://www.youtube.com/watch?v=1R_oK9cbC_g&feature=youtu.be [v2]
Código de la clase: acceder al código utilizado
Explicación del juego. Vimos la función move_ip (move in place), como mostrar textos en la pantalla, como por ejemplo el puntaje del jugador y una pantalla al inicio del juego.
Ver clase en YouTube: https://www.youtube.com/watch?v=lWlleWddVBM&feature=youtu.be [v2]
Código de la clase: acceder al código utilizado