Academia de Tecnología

Programación en Python

Python es un lenguaje simple comparado con otros, pero no por ello es un lenguaje limitado. Por el contrario, Python está calando hondo en sectores importantes como el Machine Learning y Big Data. Con usos diversos, desde la realización de páginas web hasta aplicaciones de índole científico, Python se está convirtiendo rápidamente en un lenguaje de valor indiscutible para todos los programadores que buscan automatizar sus tareas, crear aplicaciones o desarrollar con mayor eficiencia las labores inherentes a su desempeño profesional. Python presume de tener la sintaxis más clara entre los lenguajes, además de ser genial para iniciar a programar y muy poderoso como para aplicarlo a gran escala, sus herramientas y aplicaciones de terceros permiten crear programas muy poderosos en poco tiempo con excelentes resultados. Tras realizar este módulo entenderás cómo los lenguajes de programación permiten comunicarnos con el computador, y cómo resolver problemas de baja a mediana dificultad aplicando técnicas probadas de programación. Además, conocerás cuál es el origen y las características del lenguaje de programación Python. Al finalizar tendrás el entorno de programación (IDE) para Python, PyCharm, instalado en tu computador lo que te permitirá escribir y ejecutar tus primeras líneas de código con Python.
Python

Precio

El precio por cada nivel es de ₡118.750 + 2% IVA. Consulte los grupos abiertos y sus horarios en la sección de matrícula
Matrícula

Requisitos

Mayor de 16 años de edad. / Habilidad para realizar tareas básicas en una computadora. / Acceso a computadora con conexión a Internet y posibilidad de uso e instalación de programas.
Requisitos Técnicos

Programa de Estudio

Módulo Básico (42 Horas + 6 horas de pruebas y evaluaciones)

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.

Módulo Intermedio (42 Horas + 6 horas de pruebas y evaluaciones)

Requisitos Previos: Modulo Básico 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 utilizandos 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.