Programación con 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
- 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 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
- Y ¿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
- 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 material complementarios.