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.