Python Institute

Programación en Python - Curso oficial PCAP del Python Institute
Certificación: PCAP-31-03: Certified Associate in Python Programming

Ediciones disponibles

Programa de formación
Python Institute

Fechas
-----

Horario
-----

Duración
150 horas

Plazas disponibles
30

Fecha límite de inscripción
-----

Prueba de selección
-----

Examen de certificación incluido 
* PCAP-31-03: Certified Associate in Python Programming

Modalidad de impartición
-----

* Válido para miembros del programa PUE Alumni que finalicen el curso con aprovechamiento.

Acerca de este curso

Python es uno de los lenguajes de programación más populares y extendidos a día de hoy. Ha sido adoptado en la mayoría de sectores en la industria (finanzas, medicina, análisis de datos, etc) y es fundamental para el desarrollo de destrezas clave en el sector TIC: Big Data, Machine Learning, Data Analysis, IOT y estadística.

El presente curso ha sido desarrollado para, en primera instancia, formar alumnos en las habilidades necesarias para la programación con Python: diseñar, escribir, depurar y ejecutar programas desarrollados en Python: obteniendo así conocimientos fundamentales y habilidades de programación necesarias para el desarrollo web, el análisis de datos e IOT, entre otros muchos campos.

Más adelante, el asistente aprenderá las habilidades avanzadas de Python relacionadas con la programación de la interfaz gráfica de usuario (GUI), el trabajo con módulos de biblioteca seleccionados que permiten procesar diferentes tipos de archivos, la comunicación con el entorno de un programa y la utilización de herramientas y recursos para realizar matemáticas, ciencias y tareas relacionadas con la ingeniería.

A quién va dirigido

El curso está orientado a todos aquellos candidatos que deseen iniciar su carrera como programadores en Python o aprender un nuevo lenguaje de programación. Asimismo, también está dirigido a cualquier perfil TIC (programadores y administradores de sistemas) que desee incorporar Python a su área de conocimiento y poder aplicarlo en su trabajo.

Aunque es un curso introductorio, se recomienda tener nociones básicas de programación para un mayor aprovechamiento de la formación.

Objetivos del curso

Una vez finalizado el curso el alumno habrá adquirido los siguientes conocimientos y habilidades:

  • Utilizar la sintaxis del lenguaje Python para diseñar sencillos programas.
  • Utilizar métodos, estructuras de decisión y bucles para determinar el flujo de ejecución de un programa.
  • Utilizar y construir módulos y paquetes para una correcta organización del código.
  • Conocer las bases de la programación orientada a objetos.
  • Utilizar y manipular referencias a objetos y escribir código de gestión de errores.
  • Gestionar satisfactoriamente la manipulación de archivos.
  • Perspectivas avanzadas de clases y programación orientada a objetos en Python.
  • Mejores prácticas y estandarización.
  • Programación GUI en Python: TkInter.
  • Trabajar con RESTful APIs.
  • Procesar ficheros.

Certificación incluida

Tras la realización del presente curso, el alumno estará preparado para superar el siguiente examen de certificación oficial:

La superación de este examen es un requisito imprescindible para obtener la certificación PCAP | Certified Associate in Python Programming.

Importante: el examen oficial de certificación está incluido para los alumnos que finalicen el curso con aprovechamiento y sean miembros PUE ALUMNI.

¿Cómo puedo participar?

Una vez hayas realizado la preinscripción al curso y para que podamos comprobar que cumples los requisitos de la convocatoria, tendrás que facilitarnos la siguiente documentación:

  • Currículum actualizado.
  • Fotocopia del DNI.
  • Título de formación reglada oficial (Bachillerato, CFGS, CFGM, Diplomatura, Licenciatura, Grado…). En caso de titulaciones extranjeras, es necesaria la homologación de la titulación.
  • Informe de vida laboral (para trabajadores en activo).
  • Fotocopia de la demanda de empleo DARDE/DARDO actualizada (para trabajadores en situación de desempleo).

Una vez validada tu candidatura al curso, se te convocará a una prueba de nivel.

Puedes contactar con nosotros mediante el formulario de solicitud de información o llamando a una de nuestras sedes:

Contenidos

Módulo 1: Conceptos básicos de programación en Python

  • Tu primer programa.
  • Entrada y salida de datos.
  • La función print().
  • La función input().
  • Tipo de datos en Python.
  • Uso y definición de variables.
  • Operadores y expresiones.
  • Operadores aritméticos.
  • Operadores relacionales.
  • Prioridad entre operadores.
  • Conversiones entre tipos de datos.

Módulo 2: Bucles y estructuras de decisión en Python

  • Indentación de código.
  • Estructuras de tipo if-else-elseif.
  • Estructuras de tipos while.
  • Estructuras de tipo for.
  • Uso de break y continue.
  • Operaciones lógicas y a nivel de bits.
  • Listas en Python.
  • Matrices en Python.

Módulo 3: Funciones y estructuras de datos en Python

  • Definición y uso de funciones.
  • Argumentos por nombre y por posición.
  • Shadowing en funciones.
  • Ámbitos de visibilidad.
  • Variables globales.
  • Recursividad.
  • Tuplas en Python.
  • Diccionarios en Python.

Módulo 4: Uso de módulos y paquetes en Python

  • Módulos y paquetes.
  • Importación de módulos.
  • Uso de módulos estándar.
  • Definición y uso de módulos.
  • Definición y uso de bultos.
  • Gestión de fallos y excepciones.
  • Strings en acción.

Módulo 5: Programación orientada a objetos en Python

  • Conceptos básicos de la POO.
  • Clases vs. objetos.
  • Definición y uso de propiedades.
  • Definición y uso de métodos.
  • Reflexión e introspección.
  • Herencia: Jerarquía de clases.
  • Herencia vs Composición.
  • Herencia simple vs Herencia múltiple.
  • Excepciones en Python.
  • Anatomía de una excepción.
  • Definición y uso de excepciones propias.
  • Generators y closures.
  • Funciones Lambda.
  • Manipulación de archivos en Python.

Módulo 6: Perspectiva avanzada de clases y programación orientada a objetos en Python

  • Clases, Instancias, Atributos, Métodos.
  • Trabajar con datos de clase e instancia.
  • Copiar datos de objetos usando los operadores shadow y deep.
  • Herencia y polimorfismo.
  • Diferentes caras de los métodos de Python: métodos static y class.
  • Clases abstractas frente a sobrecarga de métodos.
  • Composición vs Herencia – dos caminos hacia el mismo destino.
  • Implementación de Core Syntax.
  • Subclases incorporados.
  • Encapsulación de atributos.
  • Técnicas avanzadas de creación y servicio de excepciones.
  • Serialización de objetos Python usando el módulo pickle.
  • Hacer que el objeto Python sea persistente usando el módulo shelve.
  • Metaprogramación (decoradores de funciones, decoradores de clases, metaclases).

Módulo 7: Propuestas de mejora de Python

  • ¿Qué es PEP?
  • Convenciones de codificación.
  • PEP 20 – El Zen de Python: una colección de principios que influyen en el diseño del código de Python.
  • PEP 8 – Guía de estilos para el código de Python: convenciones de codificación para el código que comprende la biblioteca estándar en la distribución principal de Python.
  • PEP 257 – Convenciones de docstring: qué es docstring y algunas semánticas, así como convenciones asociadas con ellas.
  • Otras PEP importantes.

Módulo 8: Programación GUI

  • ¿Qué es GUI y de dónde viene?
  • Construcción de una GUI: bloques y convenciones básicos.
  • Programación basada en eventos.
  • Entornos GUI y conjuntos de herramientas utilizados actualmente.
  • Interfaz Python de tkinter para Tcl/Tk (ciclo de vida de la aplicación de tkinter; widgets, ventanas y eventos; aplicaciones de muestra)
  • pygame: una forma sencilla de desarrollar aplicaciones multimedia.

Módulo 9: Elementos de la programación en la red: trabajando con API RESTful

  • Conceptos básicos de programación de red, REST, sockets de red y comunicación cliente-servidor.
  • Usar y crear sockets en Python.
  • Establecer y cerrar la conexión con un servidor.
  • Archivos JSON y XML, y cómo se pueden utilizar en la comunicación de red.
  • Métodos HTTP y cómo decir cualquier cosa en HTTP.
  • Construir un entorno de prueba de muestra.
  • CRUD.
  • Construir un cliente REST simple.
  • Obtener y eliminar datos de los servidores.
  • Agregar nuevos datos a los servidores y actualizar los datos ya existentes.

Módulo 10: Procesamiento de archivos y comunicación con el entorno de un programa

  • Procesando archivos:
    • sqlite3 - interactuando con bases de datos SQLite.
    • xml - creación y procesamiento de archivos XML.
    • csv - lectura y escritura de archivos CSV.
    • logging - función básica de registro para Python.
    • configparser - analizador de archivos de configuración.
  • Comunicación con el entorno de un programa:
    • os – interactuando con el sistema operativo.
    • datetime – manipular con fechas y horas.
    • io – trabajar con flujos.
    • time – tiempo de acceso y conversiones.

Módulo 11: Creación y distribución de paquetes

  • pip
  • Estructura básica de directorios
  • El archivo setup.py
  • Compartir, almacenar e instalar paquetes
  • Documentación
  • Licencia
  • Principios y técnicas de prueba:
    • unittest – marco de pruebas unitarias
    • Pytest: marco para escribir pruebas

Módulo 12: Patrones de diseño

  • Principios de diseño orientado a objetos y el concepto de patrones de diseño
  • El patrón de diseño Singleton
  • El patrón Factory
  • El patrón Façade
  • El patrón Proxy
  • El patrón Observer
  • El patrón Command
  • El patrón Template Method
  • Modelo-Vista-Controlador (MVC)
  • El patrón State Design

Módulo 13: Comunicación entre procesos

  • multiprocessing — Paralelismo basado en procesos
  • threading — Paralelismo basado en hilos
  • subprocess — Gestión de subprocesos
  • Sincronización multiproceso:
    • queue — Una clase de cola sincronizada
    • socket — Interfaz de red de bajo nivel
    • mmap — Compatibilidad con archivos asignados en memoria

Módulo 14: Programación de redes Python

  • Socket de Python
  • Introducción a los sockets
  • Métodos Socket Server
  • Métodos socket de cliente
  • Métodos generales de socket
  • Cliente-Servidor vs. Peer-to-peer
  • Otros nódulos de Internet

Módulo 15: Acceso a la base de datos Python-MySQL

  • Bases de datos relacionales: principios fundamentales y cómo trabajar con ellas
  • MySQL frente al resto del mundo
  • Aplicación CRUD
    • db connection
    • db create
    • db insert
    • db read
    • db update

Iniciativa de formación subvencionada por organismos estatales

Organismos Estatales

Fabricantes participantes

Android
Angular
Cisco
Cloudera
EC-Council
Google Analytics
Javascript Institute
Microsoft
Oracle
Python Institute
VMware Academy
Top