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.