Programación en Python
Aprender sobre el origen y las características del lenguaje de programación Python. Iniciar a programar y resolver problemas de baja a mediana dificultad aplicando técnicas probadas de programación.
- Ser mayor de 16 años de edad.
- Conocimientos básicos en programación.
- Acceso a computadora con conexión a Internet y posibilidad de uso e instalación de programas.
- Para ingresar no se requiere el bachillerato ni el examen de admisión de la UCR.
Precio
- Costo por módulo: ₡121.125.
Duración
- 6 semanas. 48 horas en total divididas en 16 lecciones de 3 horas cada una. Dos lecciones por semana.
Contenidos
CLASE #1 UBICACIÓN.
- Preparación del entorno de desarrollo Instalando Python.
- Instalación de un Shell interactivo mejorado Instalando el IDE.
- Como pensar como un desarrollador.
- Técnicas para resolución de problemas computacionales.
- Presentación de Pep 8.
CLASE #2 INTRODUCCIÓN A LA SINTAXIS DE PYTHON.
- Elementos del Lenguaje Variables.
- Tipos de datos Operadores Aritméticos Comentarios.
- Tipos de datos complejos Tuplas.
- Listas Diccionarios.
- Estructuras de Control de Flujo Identación.
- Encoding Asignación múltiple.
- Estructuras de control de flujo condicionales. Estructuras de control iterativas.
- Bucle while Bucle for.
CLASE #3 ESTRUCTURANDO NUESTRO CÓDIGO.
- Práctica de sintaxis de python. Módulos, paquetes y namespaces.
- Creando módulos empaquetados Importando. módulos enteros Namespaces.
- Alias.
- Importar módulos sin utilizar namespaces Manejo de archivos.
- Crear archivos de texto y binarios.
- Agregar contenido a archivos.
- Navegar en un archivo.
- Evaluación corta de la clase #2
CLASE #4 FUNCIONES
- Definiendo funciones.
- Sobre los parámetros: parámetros por omisión, keywords como parámetros, parámetros arbitrarios y desempaquetado de parámetros.
- Llamadas de retorno.
- Saber si una función existe y puede ser llamada Llamadas recursivas.
CLASE #5 PROGRAMACIÓN FUNCIONAL
- Definiendo generadores.
- Uso en conjunto con for.
- Generadores dentro de generadores.
- Definiendo decoradores.
- ¿Qué es un decorador y para que sirve?
- Decoración de funciones.
- Práctica de funciones usando lo visto en la clase #4
CLASE #6 MÉTODOS PRINCIPALES DEL OBJETO STRING, LIST Y DICT.
- Práctica de sintaxis de python, uso de paquetes y funciones.
- Objeto String.
- Métodos de formato.
- Métodos de búsqueda.
- Métodos de validación.
- Métodos de sustitución.
- Métodos de unión y división.
- Objeto List.
- Métodos de agregado.
- Métodos de eliminación.
- Métodos de orden.
- Métodos de búsqueda.
- Métodos de unión y división.
- Objeto Dict
- Métodos de agregado.
- Métodos de eliminación.
- Métodos de unión y división.
- Métodos de búsqueda.
- Métodos de retorno.
CLASE #7 INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS
- Pensar en objetos.
- ¿Qué es un objeto?
- Cualidades de un objeto.
- Objetos dentro de objetos.
- Programación orientada a objetos, elementos y características de la POO.
- Clases.
- Propiedades métodos objeto.
- Accediendo a los métodos y propiedades de un objeto.
CLASE #8 HERENCIA Y POLIMORFISMO.
- Práctica de objetos.
- Cuando usar herencia.
- Ejemplos de herencia sintaxis para herencia.
- Cuando utilizar Polimorfismo.
- Ejemplos de Polimorfismo.
Precio
- Costo por módulo: ₡121.125.
Duración
- 6 semanas. 48 horas en total divididas en 16 lecciones de 3 horas cada una. Dos lecciones por semana.
Requisitos
- Módulo Básico de Python o formación equivalente.
Contenidos
CLASE #9 UTILIDADES DEL LENGUAJE Y BIBLIOTECAS ÚTILES.
- Módulos de la librería estándar.
- Módulo os.
- Módulo sys.
- Módulo subprocess.
- Funciones Build in.
- Evaluación de la clases 1 a la 7.
CLASE #10 HILOS.
- Manejo de concurrencia.
- ¿Qué son los procesos y los threads?
- Threads por clases.
- Threads por funciones práctica de hilos y concurrencia.
CLASE #11 EXPRESIONES REGULARES.
- Procesando texto formateado
- ¿Qué son las expresiones regulares?
- Construcción de expresiones regulares simples.
- Construcción de expresiones regulares complejas.
- Casos de uso de expresiones regulares.
- Práctica de expresiones regulares.
CLASE #12 SOCKETS.
- Taller práctico: construcción de un chat básico utilizando sockets.
CLASE #13 PIP Y BIBLIOTECAS DE TERCEROS.
- Entornos virtuales.
- Instalando aplicaciones de terceros.
- Aplicaciones de terceros de amplio uso (uso básico).
- Requests, Numpy, Pillow, Pandas, Scrapy.
CLASE #14 DOCUMENTAR Y DISTRIBUIR APLICACIONES EN PYTHON.
- Introducción a distutils.
- Construcción de un paquete instalable con pip.
- Documentación.
- Cómo documentar nuestro código.
- Integración con Readthedocs.
CLASE #15 MANEJANDO DATOS.
- Práctica de instalación de aplicaciones y manejo de bibliotecas de terceros (clase #8 y #9).
- Introducción a Matlibplot.
- Ploteo de datos en 2D.
- Ploteo de datos en 3D.
- Numpy + Matlibplot + Pandas para procesamiento de datos.
CLASE #16 PRUEBAS UNITARIAS Y EVALUACIÓN DE CONCEPTOS APRENDIDOS.
- Pruebas en Python
- ¿Porqué realizar pruebas al código?
- Introducción a Unitest.
- Creando mis primeras pruebas con Python.
- Introducción a TOX.
- Evaluación de conocimientos aprendidos en el curso.
- Sugerencia de materiales complementarios.