Centro de Capacitación en Tecnologías de la Información...14) Introducción al desarrollo de...

9
desde Cero hasta Avanzado 3 Python Centro de Capacitación en Tecnologías de la Información

Transcript of Centro de Capacitación en Tecnologías de la Información...14) Introducción al desarrollo de...

  • desde Cero

    hasta Avanzado

    3PythonCentro de Capac

    itación en Tecnologías de la Info

    rmación

  • El curso le permitirá al participante conocer los conceptos básicos de la programación en Python3, aprendiendo de forma gradual y sistemática los conceptos fundamentales, la POO (Programación Orientada a Objetos), el desarrollo de aplicaciones gráficas, de consola y Web entre otros temas de mayor complejidad.

    Objetivo

    30 hrs.Duración

    desde Cero

    hasta Avanzado3Python

    No se requieren conceptos previos de programación, ya que el curso esta diseñado para que el alumno pueda iniciarse en la programación desde cero.

    Participante

    Dirigido a aquellos profesionales de la informática, ingenieros, estudiantes, profesores o personas que deseen conocer y dominar este lenguaje. Cubre un perímetro relativamente amplio, detalla todo el núcleo del lenguaje y del procesamiento de los datos y abre perspectivas importantes sobre todo lo que permite realizar Python (desde la creación de sitios web hasta el desarrollo de juegos, pasando por el diseño de una interfaz gráfica con Gtk).

    Dirigido

  • 1) Introducción a Python• Filosofía• Gobierno• ¿Qué contiene Python?• Fases de ejecución de un programa Python

    2) Instalar el entorno de desarrollo• Instalar Python• Instalar librerías externas• Instalar un IDE• Uso de la consola• Distribuir sus propias aplicaciones

    3) Algoritmos básicos• Delimitadores a. Instrucción b. Una línea de código = una instrucción c. Comentario d. Una instrucción en varias líneas e. Palabras clave f. Palabras reservadas g. Indentación h. Símbolos i. Operadores

    Temario• Instrucciones a. Definiciones b. Instrucciones condicionales 1. Definición 2. Condición 3. Instrucción if 4. Instrucción elif 5. Instrucción else 6. Instrucción switch 7. Interrupciones 8. Profundizando en las condiciones 9. Rendimiento c. Iteraciones 1. Instrucción for 2. Instrucción while 3. Diferencias entre for y while 4. Instrucción break 5. Instrucción return 6. Instrucción continue 7. Instrucción else 8. Generadores d. Construcciones funcionales 1. Generadores 2. Recorrido de listas 3. Recorrido de conjuntos 4. Recorrido de diccionarios

    e. Gestión de excepciones 1. Breve presentación de las excepciones 2. Elevar una excepción 3. ¿Por qué elevar una excepción? 4. Aserciones 5. Capturar una excepción 6. Manejar una excepción 7. Gestionar la salida del bloque de captura 8. Gestionar que no se produzcan excepciones 9. Uso y liberación de recursos f. Otros 1. Gestionar imports 2. Compartir espacios de nombres 3. Funciones print, help, eval y exec

    4) Declaraciones• Variables• Funciones• Clase• Módulo

    5) Modelo de objetos• Todo es un objeto a. Principios b. Clases c. Métodos d. Herencia• Otras herramientas de la programación orientada a objetos

    6) Tipos de datos y algoritmos aplicados• Números• Secuencias• Conjuntos• Cadenas de caracteres• Diccionarios• Booleanos• Datos temporales

    7) Patrones de diseño• Definición• Creación• Estructuración• Comportamiento• ZCA

    8) Manipulación de datos• Bases de datos a. Presentación b. Acceso a una base de datos relacional 1. Punto de entrada 2. MySQL 3. PostgreSQL 4. SQLite 5. Oracle c. Uso de un ORM 1. ¿Qué es un ORM? 2. ORM propuestos por Python 3. SQLAlchemy d. Otras bases de datos 1. CSV 2. NoSQL 3. Base de datos orientada a objetos: ZODB 4. Base de datos de tipo clave-valor: REDIS 5. Bases de datos orientadas a documentos: CouchDB y MongoDB• LDAP a. Introducción b. Instalación c. Abrir una conexión a un servidor

    d. Realizar una búsqueda e. Síncrono vs asíncrono f. Conexiones seguras• XML a. XML y las tecnologías relacionadas b. Validar un documento XML 1. Documento XML 2. Esquema DTD 3. Esquema XSD 4. Esquema RNG (RelaxNG) 5. Schematron c. DOM 1. Lectura 2. Escritura d. SAX 1. Soporte de SAX en lxml 2. API SAX ligera e. XPath f. XSLT• Herramientas de manipulación de datos a. Encriptar datos b. Generar números aleatorios c. Expresiones regulares

    • Trabajar con medios gráficos a. Imágenes 1. Representación informática de una imagen 2. Presentación de Pillow 3. Formatos de imágenes matriciales 4. Recuperar la información de una imagen 5. Operaciones de conjunto sobre una imagen 6. Trabajar con capas o con píxeles

    9) Generación de contenido• PDF a. Presentación b. Bajo nivel 1. Librería de datos 2. Canvas c. Alto nivel 1. Estilos 2. Flujo de datos 3. Creación de un elemento visual 4. Plantilla de página 5. Página que contiene varias zonas• OpenDocument a. Instalación

    b. OpenDocument Texto c. OpenDocument Hoja de cálculo

    10) Programación paralela• Terminología• Uso de una tarea a. Gestión de una tarea b. Gestión de varias tareas c. Resolución de problemáticas asociadas 1. Sincronización 2. Sincronización condicional 3. Semáforo• Uso de procesos a. Gestión de un proceso b. Gestión de varios procesos c. Resolución de problemáticas asociadas 1. Comunicación interproceso 2. Compartir datos entre procesos d. Oportunidad de utilizar los procesos e. Demonio• Ejecución asíncrona

    11) Programación de sistema y de red• Introducción• Escribir scripts de sistema a. Gestión de archivos 1. Abrir un archivo 2. Leer un archivo 3. Escribir un archivo 4. Cambiar los permisos de un archivo 5. Cambiar de propietario o de grupo 6. Recuperar información relativa al archivo 7. Eliminar un archivo b. Alternativas sencillas a los comandos bash habituales 1. Carpetas 2. Archivos 3. Módulo de alto nivel 4. Buscar un archivo c. Ejecutar comandos externos 1. Ejecutar y mostrar el resultado 2. Ejecutar y recuperar el resultado d. Herramientas 1. Diferencias entre archivos 2. Herramienta de salvaguarda 3. Leer un archivo de configuración 4. Pickle

    d. Pruebas de rendimiento e. Integración continua• Programación dirigida por la documentación a. Documentación interna b. Documentación externa• Optimización a. Medir la calidad b. Herramientas de depuración c. Herramientas de perfilado d. Reglas de optimización

    13) Introducción al desarrollo Web con Python• Descripción de la aplicación que se va a construir• Implementación a. Aislar el entorno b. Creación del proyecto c. Configuración d. Primeros ensayos• Realizar la aplicación a. Modelos b. Vistas c. Controladores

    e. Comprimir y descomprimir un archivo 1. Tarfile 2. Gzip 3. Bz2 4. Zipfile 5. Interfaz de alto nivel• Trabajar con argumentos a. Presentación b. Implementación• Programación de red a. Escribir un servidor y un cliente b. Utilizar un protocolo estándar c. Servicios web 1. REST 2. SOAP 3. Pyro• Uso de hardware a. Wake-on-LAN b. Uso del puerto serie

    12) Buenas prácticas• Desarrollo guiado por pruebas a. Pruebas unitarias b. Pruebas de no regresión c. Pruebas funcionales

    14) Introducción al desarrollo de aplicaciones de consola con Python• Objetivo• Registrar el script• Creación de los datos• Parser de argumentos

    15) Introducción al desarrollo de aplicaciones de escritorio con Pthon• Introducción a Gtk• Iniciar el programa• Interfaz gráfica con Glade• Crear el componente gráfico• Controlador• Otras librerías gráficas

    16) Introducción al desarrollo de juegos con PyGame• Presentación de PyGame• Construcción de un juego Tetris a. Presentación del juego b. Presentación de la problemática c. Creación de constantes

    desde Cero

    hasta Avanzado3Python

  • 1) Introducción a Python• Filosofía• Gobierno• ¿Qué contiene Python?• Fases de ejecución de un programa Python

    2) Instalar el entorno de desarrollo• Instalar Python• Instalar librerías externas• Instalar un IDE• Uso de la consola• Distribuir sus propias aplicaciones

    3) Algoritmos básicos• Delimitadores a. Instrucción b. Una línea de código = una instrucción c. Comentario d. Una instrucción en varias líneas e. Palabras clave f. Palabras reservadas g. Indentación h. Símbolos i. Operadores

    • Instrucciones a. Definiciones b. Instrucciones condicionales 1. Definición 2. Condición 3. Instrucción if 4. Instrucción elif 5. Instrucción else 6. Instrucción switch 7. Interrupciones 8. Profundizando en las condiciones 9. Rendimiento c. Iteraciones 1. Instrucción for 2. Instrucción while 3. Diferencias entre for y while 4. Instrucción break 5. Instrucción return 6. Instrucción continue 7. Instrucción else 8. Generadores d. Construcciones funcionales 1. Generadores 2. Recorrido de listas 3. Recorrido de conjuntos 4. Recorrido de diccionarios

    e. Gestión de excepciones 1. Breve presentación de las excepciones 2. Elevar una excepción 3. ¿Por qué elevar una excepción? 4. Aserciones 5. Capturar una excepción 6. Manejar una excepción 7. Gestionar la salida del bloque de captura 8. Gestionar que no se produzcan excepciones 9. Uso y liberación de recursos f. Otros 1. Gestionar imports 2. Compartir espacios de nombres 3. Funciones print, help, eval y exec

    4) Declaraciones• Variables• Funciones• Clase• Módulo

    Temario5) Modelo de objetos• Todo es un objeto a. Principios b. Clases c. Métodos d. Herencia• Otras herramientas de la programación orientada a objetos

    6) Tipos de datos y algoritmos aplicados• Números• Secuencias• Conjuntos• Cadenas de caracteres• Diccionarios• Booleanos• Datos temporales

    7) Patrones de diseño• Definición• Creación• Estructuración• Comportamiento• ZCA

    8) Manipulación de datos• Bases de datos a. Presentación b. Acceso a una base de datos relacional 1. Punto de entrada 2. MySQL 3. PostgreSQL 4. SQLite 5. Oracle c. Uso de un ORM 1. ¿Qué es un ORM? 2. ORM propuestos por Python 3. SQLAlchemy d. Otras bases de datos 1. CSV 2. NoSQL 3. Base de datos orientada a objetos: ZODB 4. Base de datos de tipo clave-valor: REDIS 5. Bases de datos orientadas a documentos: CouchDB y MongoDB• LDAP a. Introducción b. Instalación c. Abrir una conexión a un servidor

    d. Realizar una búsqueda e. Síncrono vs asíncrono f. Conexiones seguras• XML a. XML y las tecnologías relacionadas b. Validar un documento XML 1. Documento XML 2. Esquema DTD 3. Esquema XSD 4. Esquema RNG (RelaxNG) 5. Schematron c. DOM 1. Lectura 2. Escritura d. SAX 1. Soporte de SAX en lxml 2. API SAX ligera e. XPath f. XSLT• Herramientas de manipulación de datos a. Encriptar datos b. Generar números aleatorios c. Expresiones regulares

    • Trabajar con medios gráficos a. Imágenes 1. Representación informática de una imagen 2. Presentación de Pillow 3. Formatos de imágenes matriciales 4. Recuperar la información de una imagen 5. Operaciones de conjunto sobre una imagen 6. Trabajar con capas o con píxeles

    9) Generación de contenido• PDF a. Presentación b. Bajo nivel 1. Librería de datos 2. Canvas c. Alto nivel 1. Estilos 2. Flujo de datos 3. Creación de un elemento visual 4. Plantilla de página 5. Página que contiene varias zonas• OpenDocument a. Instalación

    b. OpenDocument Texto c. OpenDocument Hoja de cálculo

    10) Programación paralela• Terminología• Uso de una tarea a. Gestión de una tarea b. Gestión de varias tareas c. Resolución de problemáticas asociadas 1. Sincronización 2. Sincronización condicional 3. Semáforo• Uso de procesos a. Gestión de un proceso b. Gestión de varios procesos c. Resolución de problemáticas asociadas 1. Comunicación interproceso 2. Compartir datos entre procesos d. Oportunidad de utilizar los procesos e. Demonio• Ejecución asíncrona

    11) Programación de sistema y de red• Introducción• Escribir scripts de sistema a. Gestión de archivos 1. Abrir un archivo 2. Leer un archivo 3. Escribir un archivo 4. Cambiar los permisos de un archivo 5. Cambiar de propietario o de grupo 6. Recuperar información relativa al archivo 7. Eliminar un archivo b. Alternativas sencillas a los comandos bash habituales 1. Carpetas 2. Archivos 3. Módulo de alto nivel 4. Buscar un archivo c. Ejecutar comandos externos 1. Ejecutar y mostrar el resultado 2. Ejecutar y recuperar el resultado d. Herramientas 1. Diferencias entre archivos 2. Herramienta de salvaguarda 3. Leer un archivo de configuración 4. Pickle

    d. Pruebas de rendimiento e. Integración continua• Programación dirigida por la documentación a. Documentación interna b. Documentación externa• Optimización a. Medir la calidad b. Herramientas de depuración c. Herramientas de perfilado d. Reglas de optimización

    13) Introducción al desarrollo Web con Python• Descripción de la aplicación que se va a construir• Implementación a. Aislar el entorno b. Creación del proyecto c. Configuración d. Primeros ensayos• Realizar la aplicación a. Modelos b. Vistas c. Controladores

    e. Comprimir y descomprimir un archivo 1. Tarfile 2. Gzip 3. Bz2 4. Zipfile 5. Interfaz de alto nivel• Trabajar con argumentos a. Presentación b. Implementación• Programación de red a. Escribir un servidor y un cliente b. Utilizar un protocolo estándar c. Servicios web 1. REST 2. SOAP 3. Pyro• Uso de hardware a. Wake-on-LAN b. Uso del puerto serie

    12) Buenas prácticas• Desarrollo guiado por pruebas a. Pruebas unitarias b. Pruebas de no regresión c. Pruebas funcionales

    14) Introducción al desarrollo de aplicaciones de consola con Python• Objetivo• Registrar el script• Creación de los datos• Parser de argumentos

    15) Introducción al desarrollo de aplicaciones de escritorio con Pthon• Introducción a Gtk• Iniciar el programa• Interfaz gráfica con Glade• Crear el componente gráfico• Controlador• Otras librerías gráficas

    16) Introducción al desarrollo de juegos con PyGame• Presentación de PyGame• Construcción de un juego Tetris a. Presentación del juego b. Presentación de la problemática c. Creación de constantes

    desde Cero

    hasta Avanzado3Python

  • 1) Introducción a Python• Filosofía• Gobierno• ¿Qué contiene Python?• Fases de ejecución de un programa Python

    2) Instalar el entorno de desarrollo• Instalar Python• Instalar librerías externas• Instalar un IDE• Uso de la consola• Distribuir sus propias aplicaciones

    3) Algoritmos básicos• Delimitadores a. Instrucción b. Una línea de código = una instrucción c. Comentario d. Una instrucción en varias líneas e. Palabras clave f. Palabras reservadas g. Indentación h. Símbolos i. Operadores

    • Instrucciones a. Definiciones b. Instrucciones condicionales 1. Definición 2. Condición 3. Instrucción if 4. Instrucción elif 5. Instrucción else 6. Instrucción switch 7. Interrupciones 8. Profundizando en las condiciones 9. Rendimiento c. Iteraciones 1. Instrucción for 2. Instrucción while 3. Diferencias entre for y while 4. Instrucción break 5. Instrucción return 6. Instrucción continue 7. Instrucción else 8. Generadores d. Construcciones funcionales 1. Generadores 2. Recorrido de listas 3. Recorrido de conjuntos 4. Recorrido de diccionarios

    e. Gestión de excepciones 1. Breve presentación de las excepciones 2. Elevar una excepción 3. ¿Por qué elevar una excepción? 4. Aserciones 5. Capturar una excepción 6. Manejar una excepción 7. Gestionar la salida del bloque de captura 8. Gestionar que no se produzcan excepciones 9. Uso y liberación de recursos f. Otros 1. Gestionar imports 2. Compartir espacios de nombres 3. Funciones print, help, eval y exec

    4) Declaraciones• Variables• Funciones• Clase• Módulo

    5) Modelo de objetos• Todo es un objeto a. Principios b. Clases c. Métodos d. Herencia• Otras herramientas de la programación orientada a objetos

    6) Tipos de datos y algoritmos aplicados• Números• Secuencias• Conjuntos• Cadenas de caracteres• Diccionarios• Booleanos• Datos temporales

    7) Patrones de diseño• Definición• Creación• Estructuración• Comportamiento• ZCA

    8) Manipulación de datos• Bases de datos a. Presentación b. Acceso a una base de datos relacional 1. Punto de entrada 2. MySQL 3. PostgreSQL 4. SQLite 5. Oracle c. Uso de un ORM 1. ¿Qué es un ORM? 2. ORM propuestos por Python 3. SQLAlchemy d. Otras bases de datos 1. CSV 2. NoSQL 3. Base de datos orientada a objetos: ZODB 4. Base de datos de tipo clave-valor: REDIS 5. Bases de datos orientadas a documentos: CouchDB y MongoDB• LDAP a. Introducción b. Instalación c. Abrir una conexión a un servidor

    Temario d. Realizar una búsqueda e. Síncrono vs asíncrono f. Conexiones seguras• XML a. XML y las tecnologías relacionadas b. Validar un documento XML 1. Documento XML 2. Esquema DTD 3. Esquema XSD 4. Esquema RNG (RelaxNG) 5. Schematron c. DOM 1. Lectura 2. Escritura d. SAX 1. Soporte de SAX en lxml 2. API SAX ligera e. XPath f. XSLT• Herramientas de manipulación de datos a. Encriptar datos b. Generar números aleatorios c. Expresiones regulares

    • Trabajar con medios gráficos a. Imágenes 1. Representación informática de una imagen 2. Presentación de Pillow 3. Formatos de imágenes matriciales 4. Recuperar la información de una imagen 5. Operaciones de conjunto sobre una imagen 6. Trabajar con capas o con píxeles

    9) Generación de contenido• PDF a. Presentación b. Bajo nivel 1. Librería de datos 2. Canvas c. Alto nivel 1. Estilos 2. Flujo de datos 3. Creación de un elemento visual 4. Plantilla de página 5. Página que contiene varias zonas• OpenDocument a. Instalación

    b. OpenDocument Texto c. OpenDocument Hoja de cálculo

    10) Programación paralela• Terminología• Uso de una tarea a. Gestión de una tarea b. Gestión de varias tareas c. Resolución de problemáticas asociadas 1. Sincronización 2. Sincronización condicional 3. Semáforo• Uso de procesos a. Gestión de un proceso b. Gestión de varios procesos c. Resolución de problemáticas asociadas 1. Comunicación interproceso 2. Compartir datos entre procesos d. Oportunidad de utilizar los procesos e. Demonio• Ejecución asíncrona

    11) Programación de sistema y de red• Introducción• Escribir scripts de sistema a. Gestión de archivos 1. Abrir un archivo 2. Leer un archivo 3. Escribir un archivo 4. Cambiar los permisos de un archivo 5. Cambiar de propietario o de grupo 6. Recuperar información relativa al archivo 7. Eliminar un archivo b. Alternativas sencillas a los comandos bash habituales 1. Carpetas 2. Archivos 3. Módulo de alto nivel 4. Buscar un archivo c. Ejecutar comandos externos 1. Ejecutar y mostrar el resultado 2. Ejecutar y recuperar el resultado d. Herramientas 1. Diferencias entre archivos 2. Herramienta de salvaguarda 3. Leer un archivo de configuración 4. Pickle

    d. Pruebas de rendimiento e. Integración continua• Programación dirigida por la documentación a. Documentación interna b. Documentación externa• Optimización a. Medir la calidad b. Herramientas de depuración c. Herramientas de perfilado d. Reglas de optimización

    13) Introducción al desarrollo Web con Python• Descripción de la aplicación que se va a construir• Implementación a. Aislar el entorno b. Creación del proyecto c. Configuración d. Primeros ensayos• Realizar la aplicación a. Modelos b. Vistas c. Controladores

    e. Comprimir y descomprimir un archivo 1. Tarfile 2. Gzip 3. Bz2 4. Zipfile 5. Interfaz de alto nivel• Trabajar con argumentos a. Presentación b. Implementación• Programación de red a. Escribir un servidor y un cliente b. Utilizar un protocolo estándar c. Servicios web 1. REST 2. SOAP 3. Pyro• Uso de hardware a. Wake-on-LAN b. Uso del puerto serie

    12) Buenas prácticas• Desarrollo guiado por pruebas a. Pruebas unitarias b. Pruebas de no regresión c. Pruebas funcionales

    14) Introducción al desarrollo de aplicaciones de consola con Python• Objetivo• Registrar el script• Creación de los datos• Parser de argumentos

    15) Introducción al desarrollo de aplicaciones de escritorio con Pthon• Introducción a Gtk• Iniciar el programa• Interfaz gráfica con Glade• Crear el componente gráfico• Controlador• Otras librerías gráficas

    16) Introducción al desarrollo de juegos con PyGame• Presentación de PyGame• Construcción de un juego Tetris a. Presentación del juego b. Presentación de la problemática c. Creación de constantes

    desde Cero

    hasta Avanzado3Python

  • 1) Introducción a Python• Filosofía• Gobierno• ¿Qué contiene Python?• Fases de ejecución de un programa Python

    2) Instalar el entorno de desarrollo• Instalar Python• Instalar librerías externas• Instalar un IDE• Uso de la consola• Distribuir sus propias aplicaciones

    3) Algoritmos básicos• Delimitadores a. Instrucción b. Una línea de código = una instrucción c. Comentario d. Una instrucción en varias líneas e. Palabras clave f. Palabras reservadas g. Indentación h. Símbolos i. Operadores

    • Instrucciones a. Definiciones b. Instrucciones condicionales 1. Definición 2. Condición 3. Instrucción if 4. Instrucción elif 5. Instrucción else 6. Instrucción switch 7. Interrupciones 8. Profundizando en las condiciones 9. Rendimiento c. Iteraciones 1. Instrucción for 2. Instrucción while 3. Diferencias entre for y while 4. Instrucción break 5. Instrucción return 6. Instrucción continue 7. Instrucción else 8. Generadores d. Construcciones funcionales 1. Generadores 2. Recorrido de listas 3. Recorrido de conjuntos 4. Recorrido de diccionarios

    e. Gestión de excepciones 1. Breve presentación de las excepciones 2. Elevar una excepción 3. ¿Por qué elevar una excepción? 4. Aserciones 5. Capturar una excepción 6. Manejar una excepción 7. Gestionar la salida del bloque de captura 8. Gestionar que no se produzcan excepciones 9. Uso y liberación de recursos f. Otros 1. Gestionar imports 2. Compartir espacios de nombres 3. Funciones print, help, eval y exec

    4) Declaraciones• Variables• Funciones• Clase• Módulo

    5) Modelo de objetos• Todo es un objeto a. Principios b. Clases c. Métodos d. Herencia• Otras herramientas de la programación orientada a objetos

    6) Tipos de datos y algoritmos aplicados• Números• Secuencias• Conjuntos• Cadenas de caracteres• Diccionarios• Booleanos• Datos temporales

    7) Patrones de diseño• Definición• Creación• Estructuración• Comportamiento• ZCA

    8) Manipulación de datos• Bases de datos a. Presentación b. Acceso a una base de datos relacional 1. Punto de entrada 2. MySQL 3. PostgreSQL 4. SQLite 5. Oracle c. Uso de un ORM 1. ¿Qué es un ORM? 2. ORM propuestos por Python 3. SQLAlchemy d. Otras bases de datos 1. CSV 2. NoSQL 3. Base de datos orientada a objetos: ZODB 4. Base de datos de tipo clave-valor: REDIS 5. Bases de datos orientadas a documentos: CouchDB y MongoDB• LDAP a. Introducción b. Instalación c. Abrir una conexión a un servidor

    d. Realizar una búsqueda e. Síncrono vs asíncrono f. Conexiones seguras• XML a. XML y las tecnologías relacionadas b. Validar un documento XML 1. Documento XML 2. Esquema DTD 3. Esquema XSD 4. Esquema RNG (RelaxNG) 5. Schematron c. DOM 1. Lectura 2. Escritura d. SAX 1. Soporte de SAX en lxml 2. API SAX ligera e. XPath f. XSLT• Herramientas de manipulación de datos a. Encriptar datos b. Generar números aleatorios c. Expresiones regulares

    • Trabajar con medios gráficos a. Imágenes 1. Representación informática de una imagen 2. Presentación de Pillow 3. Formatos de imágenes matriciales 4. Recuperar la información de una imagen 5. Operaciones de conjunto sobre una imagen 6. Trabajar con capas o con píxeles

    9) Generación de contenido• PDF a. Presentación b. Bajo nivel 1. Librería de datos 2. Canvas c. Alto nivel 1. Estilos 2. Flujo de datos 3. Creación de un elemento visual 4. Plantilla de página 5. Página que contiene varias zonas• OpenDocument a. Instalación

    Temario b. OpenDocument Texto c. OpenDocument Hoja de cálculo

    10) Programación paralela• Terminología• Uso de una tarea a. Gestión de una tarea b. Gestión de varias tareas c. Resolución de problemáticas asociadas 1. Sincronización 2. Sincronización condicional 3. Semáforo• Uso de procesos a. Gestión de un proceso b. Gestión de varios procesos c. Resolución de problemáticas asociadas 1. Comunicación interproceso 2. Compartir datos entre procesos d. Oportunidad de utilizar los procesos e. Demonio• Ejecución asíncrona

    11) Programación de sistema y de red• Introducción• Escribir scripts de sistema a. Gestión de archivos 1. Abrir un archivo 2. Leer un archivo 3. Escribir un archivo 4. Cambiar los permisos de un archivo 5. Cambiar de propietario o de grupo 6. Recuperar información relativa al archivo 7. Eliminar un archivo b. Alternativas sencillas a los comandos bash habituales 1. Carpetas 2. Archivos 3. Módulo de alto nivel 4. Buscar un archivo c. Ejecutar comandos externos 1. Ejecutar y mostrar el resultado 2. Ejecutar y recuperar el resultado d. Herramientas 1. Diferencias entre archivos 2. Herramienta de salvaguarda 3. Leer un archivo de configuración 4. Pickle

    d. Pruebas de rendimiento e. Integración continua• Programación dirigida por la documentación a. Documentación interna b. Documentación externa• Optimización a. Medir la calidad b. Herramientas de depuración c. Herramientas de perfilado d. Reglas de optimización

    13) Introducción al desarrollo Web con Python• Descripción de la aplicación que se va a construir• Implementación a. Aislar el entorno b. Creación del proyecto c. Configuración d. Primeros ensayos• Realizar la aplicación a. Modelos b. Vistas c. Controladores

    e. Comprimir y descomprimir un archivo 1. Tarfile 2. Gzip 3. Bz2 4. Zipfile 5. Interfaz de alto nivel• Trabajar con argumentos a. Presentación b. Implementación• Programación de red a. Escribir un servidor y un cliente b. Utilizar un protocolo estándar c. Servicios web 1. REST 2. SOAP 3. Pyro• Uso de hardware a. Wake-on-LAN b. Uso del puerto serie

    12) Buenas prácticas• Desarrollo guiado por pruebas a. Pruebas unitarias b. Pruebas de no regresión c. Pruebas funcionales

    14) Introducción al desarrollo de aplicaciones de consola con Python• Objetivo• Registrar el script• Creación de los datos• Parser de argumentos

    15) Introducción al desarrollo de aplicaciones de escritorio con Pthon• Introducción a Gtk• Iniciar el programa• Interfaz gráfica con Glade• Crear el componente gráfico• Controlador• Otras librerías gráficas

    16) Introducción al desarrollo de juegos con PyGame• Presentación de PyGame• Construcción de un juego Tetris a. Presentación del juego b. Presentación de la problemática c. Creación de constantes

    desde Cero

    hasta Avanzado3Python

  • 1) Introducción a Python• Filosofía• Gobierno• ¿Qué contiene Python?• Fases de ejecución de un programa Python

    2) Instalar el entorno de desarrollo• Instalar Python• Instalar librerías externas• Instalar un IDE• Uso de la consola• Distribuir sus propias aplicaciones

    3) Algoritmos básicos• Delimitadores a. Instrucción b. Una línea de código = una instrucción c. Comentario d. Una instrucción en varias líneas e. Palabras clave f. Palabras reservadas g. Indentación h. Símbolos i. Operadores

    • Instrucciones a. Definiciones b. Instrucciones condicionales 1. Definición 2. Condición 3. Instrucción if 4. Instrucción elif 5. Instrucción else 6. Instrucción switch 7. Interrupciones 8. Profundizando en las condiciones 9. Rendimiento c. Iteraciones 1. Instrucción for 2. Instrucción while 3. Diferencias entre for y while 4. Instrucción break 5. Instrucción return 6. Instrucción continue 7. Instrucción else 8. Generadores d. Construcciones funcionales 1. Generadores 2. Recorrido de listas 3. Recorrido de conjuntos 4. Recorrido de diccionarios

    e. Gestión de excepciones 1. Breve presentación de las excepciones 2. Elevar una excepción 3. ¿Por qué elevar una excepción? 4. Aserciones 5. Capturar una excepción 6. Manejar una excepción 7. Gestionar la salida del bloque de captura 8. Gestionar que no se produzcan excepciones 9. Uso y liberación de recursos f. Otros 1. Gestionar imports 2. Compartir espacios de nombres 3. Funciones print, help, eval y exec

    4) Declaraciones• Variables• Funciones• Clase• Módulo

    5) Modelo de objetos• Todo es un objeto a. Principios b. Clases c. Métodos d. Herencia• Otras herramientas de la programación orientada a objetos

    6) Tipos de datos y algoritmos aplicados• Números• Secuencias• Conjuntos• Cadenas de caracteres• Diccionarios• Booleanos• Datos temporales

    7) Patrones de diseño• Definición• Creación• Estructuración• Comportamiento• ZCA

    8) Manipulación de datos• Bases de datos a. Presentación b. Acceso a una base de datos relacional 1. Punto de entrada 2. MySQL 3. PostgreSQL 4. SQLite 5. Oracle c. Uso de un ORM 1. ¿Qué es un ORM? 2. ORM propuestos por Python 3. SQLAlchemy d. Otras bases de datos 1. CSV 2. NoSQL 3. Base de datos orientada a objetos: ZODB 4. Base de datos de tipo clave-valor: REDIS 5. Bases de datos orientadas a documentos: CouchDB y MongoDB• LDAP a. Introducción b. Instalación c. Abrir una conexión a un servidor

    d. Realizar una búsqueda e. Síncrono vs asíncrono f. Conexiones seguras• XML a. XML y las tecnologías relacionadas b. Validar un documento XML 1. Documento XML 2. Esquema DTD 3. Esquema XSD 4. Esquema RNG (RelaxNG) 5. Schematron c. DOM 1. Lectura 2. Escritura d. SAX 1. Soporte de SAX en lxml 2. API SAX ligera e. XPath f. XSLT• Herramientas de manipulación de datos a. Encriptar datos b. Generar números aleatorios c. Expresiones regulares

    • Trabajar con medios gráficos a. Imágenes 1. Representación informática de una imagen 2. Presentación de Pillow 3. Formatos de imágenes matriciales 4. Recuperar la información de una imagen 5. Operaciones de conjunto sobre una imagen 6. Trabajar con capas o con píxeles

    9) Generación de contenido• PDF a. Presentación b. Bajo nivel 1. Librería de datos 2. Canvas c. Alto nivel 1. Estilos 2. Flujo de datos 3. Creación de un elemento visual 4. Plantilla de página 5. Página que contiene varias zonas• OpenDocument a. Instalación

    b. OpenDocument Texto c. OpenDocument Hoja de cálculo

    10) Programación paralela• Terminología• Uso de una tarea a. Gestión de una tarea b. Gestión de varias tareas c. Resolución de problemáticas asociadas 1. Sincronización 2. Sincronización condicional 3. Semáforo• Uso de procesos a. Gestión de un proceso b. Gestión de varios procesos c. Resolución de problemáticas asociadas 1. Comunicación interproceso 2. Compartir datos entre procesos d. Oportunidad de utilizar los procesos e. Demonio• Ejecución asíncrona

    11) Programación de sistema y de red• Introducción• Escribir scripts de sistema a. Gestión de archivos 1. Abrir un archivo 2. Leer un archivo 3. Escribir un archivo 4. Cambiar los permisos de un archivo 5. Cambiar de propietario o de grupo 6. Recuperar información relativa al archivo 7. Eliminar un archivo b. Alternativas sencillas a los comandos bash habituales 1. Carpetas 2. Archivos 3. Módulo de alto nivel 4. Buscar un archivo c. Ejecutar comandos externos 1. Ejecutar y mostrar el resultado 2. Ejecutar y recuperar el resultado d. Herramientas 1. Diferencias entre archivos 2. Herramienta de salvaguarda 3. Leer un archivo de configuración 4. Pickle

    Temario d. Pruebas de rendimiento e. Integración continua• Programación dirigida por la documentación a. Documentación interna b. Documentación externa• Optimización a. Medir la calidad b. Herramientas de depuración c. Herramientas de perfilado d. Reglas de optimización

    13) Introducción al desarrollo Web con Python• Descripción de la aplicación que se va a construir• Implementación a. Aislar el entorno b. Creación del proyecto c. Configuración d. Primeros ensayos• Realizar la aplicación a. Modelos b. Vistas c. Controladores

    e. Comprimir y descomprimir un archivo 1. Tarfile 2. Gzip 3. Bz2 4. Zipfile 5. Interfaz de alto nivel• Trabajar con argumentos a. Presentación b. Implementación• Programación de red a. Escribir un servidor y un cliente b. Utilizar un protocolo estándar c. Servicios web 1. REST 2. SOAP 3. Pyro• Uso de hardware a. Wake-on-LAN b. Uso del puerto serie

    12) Buenas prácticas• Desarrollo guiado por pruebas a. Pruebas unitarias b. Pruebas de no regresión c. Pruebas funcionales

    14) Introducción al desarrollo de aplicaciones de consola con Python• Objetivo• Registrar el script• Creación de los datos• Parser de argumentos

    15) Introducción al desarrollo de aplicaciones de escritorio con Pthon• Introducción a Gtk• Iniciar el programa• Interfaz gráfica con Glade• Crear el componente gráfico• Controlador• Otras librerías gráficas

    16) Introducción al desarrollo de juegos con PyGame• Presentación de PyGame• Construcción de un juego Tetris a. Presentación del juego b. Presentación de la problemática c. Creación de constantes

    desde Cero

    hasta Avanzado3Python

  • 1) Introducción a Python• Filosofía• Gobierno• ¿Qué contiene Python?• Fases de ejecución de un programa Python

    2) Instalar el entorno de desarrollo• Instalar Python• Instalar librerías externas• Instalar un IDE• Uso de la consola• Distribuir sus propias aplicaciones

    3) Algoritmos básicos• Delimitadores a. Instrucción b. Una línea de código = una instrucción c. Comentario d. Una instrucción en varias líneas e. Palabras clave f. Palabras reservadas g. Indentación h. Símbolos i. Operadores

    • Instrucciones a. Definiciones b. Instrucciones condicionales 1. Definición 2. Condición 3. Instrucción if 4. Instrucción elif 5. Instrucción else 6. Instrucción switch 7. Interrupciones 8. Profundizando en las condiciones 9. Rendimiento c. Iteraciones 1. Instrucción for 2. Instrucción while 3. Diferencias entre for y while 4. Instrucción break 5. Instrucción return 6. Instrucción continue 7. Instrucción else 8. Generadores d. Construcciones funcionales 1. Generadores 2. Recorrido de listas 3. Recorrido de conjuntos 4. Recorrido de diccionarios

    e. Gestión de excepciones 1. Breve presentación de las excepciones 2. Elevar una excepción 3. ¿Por qué elevar una excepción? 4. Aserciones 5. Capturar una excepción 6. Manejar una excepción 7. Gestionar la salida del bloque de captura 8. Gestionar que no se produzcan excepciones 9. Uso y liberación de recursos f. Otros 1. Gestionar imports 2. Compartir espacios de nombres 3. Funciones print, help, eval y exec

    4) Declaraciones• Variables• Funciones• Clase• Módulo

    5) Modelo de objetos• Todo es un objeto a. Principios b. Clases c. Métodos d. Herencia• Otras herramientas de la programación orientada a objetos

    6) Tipos de datos y algoritmos aplicados• Números• Secuencias• Conjuntos• Cadenas de caracteres• Diccionarios• Booleanos• Datos temporales

    7) Patrones de diseño• Definición• Creación• Estructuración• Comportamiento• ZCA

    8) Manipulación de datos• Bases de datos a. Presentación b. Acceso a una base de datos relacional 1. Punto de entrada 2. MySQL 3. PostgreSQL 4. SQLite 5. Oracle c. Uso de un ORM 1. ¿Qué es un ORM? 2. ORM propuestos por Python 3. SQLAlchemy d. Otras bases de datos 1. CSV 2. NoSQL 3. Base de datos orientada a objetos: ZODB 4. Base de datos de tipo clave-valor: REDIS 5. Bases de datos orientadas a documentos: CouchDB y MongoDB• LDAP a. Introducción b. Instalación c. Abrir una conexión a un servidor

    d. Realizar una búsqueda e. Síncrono vs asíncrono f. Conexiones seguras• XML a. XML y las tecnologías relacionadas b. Validar un documento XML 1. Documento XML 2. Esquema DTD 3. Esquema XSD 4. Esquema RNG (RelaxNG) 5. Schematron c. DOM 1. Lectura 2. Escritura d. SAX 1. Soporte de SAX en lxml 2. API SAX ligera e. XPath f. XSLT• Herramientas de manipulación de datos a. Encriptar datos b. Generar números aleatorios c. Expresiones regulares

    • Trabajar con medios gráficos a. Imágenes 1. Representación informática de una imagen 2. Presentación de Pillow 3. Formatos de imágenes matriciales 4. Recuperar la información de una imagen 5. Operaciones de conjunto sobre una imagen 6. Trabajar con capas o con píxeles

    9) Generación de contenido• PDF a. Presentación b. Bajo nivel 1. Librería de datos 2. Canvas c. Alto nivel 1. Estilos 2. Flujo de datos 3. Creación de un elemento visual 4. Plantilla de página 5. Página que contiene varias zonas• OpenDocument a. Instalación

    b. OpenDocument Texto c. OpenDocument Hoja de cálculo

    10) Programación paralela• Terminología• Uso de una tarea a. Gestión de una tarea b. Gestión de varias tareas c. Resolución de problemáticas asociadas 1. Sincronización 2. Sincronización condicional 3. Semáforo• Uso de procesos a. Gestión de un proceso b. Gestión de varios procesos c. Resolución de problemáticas asociadas 1. Comunicación interproceso 2. Compartir datos entre procesos d. Oportunidad de utilizar los procesos e. Demonio• Ejecución asíncrona

    11) Programación de sistema y de red• Introducción• Escribir scripts de sistema a. Gestión de archivos 1. Abrir un archivo 2. Leer un archivo 3. Escribir un archivo 4. Cambiar los permisos de un archivo 5. Cambiar de propietario o de grupo 6. Recuperar información relativa al archivo 7. Eliminar un archivo b. Alternativas sencillas a los comandos bash habituales 1. Carpetas 2. Archivos 3. Módulo de alto nivel 4. Buscar un archivo c. Ejecutar comandos externos 1. Ejecutar y mostrar el resultado 2. Ejecutar y recuperar el resultado d. Herramientas 1. Diferencias entre archivos 2. Herramienta de salvaguarda 3. Leer un archivo de configuración 4. Pickle

    d. Pruebas de rendimiento e. Integración continua• Programación dirigida por la documentación a. Documentación interna b. Documentación externa• Optimización a. Medir la calidad b. Herramientas de depuración c. Herramientas de perfilado d. Reglas de optimización

    13) Introducción al desarrollo Web con Python• Descripción de la aplicación que se va a construir• Implementación a. Aislar el entorno b. Creación del proyecto c. Configuración d. Primeros ensayos• Realizar la aplicación a. Modelos b. Vistas c. Controladores

    Temario e. Comprimir y descomprimir un archivo 1. Tarfile 2. Gzip 3. Bz2 4. Zipfile 5. Interfaz de alto nivel• Trabajar con argumentos a. Presentación b. Implementación• Programación de red a. Escribir un servidor y un cliente b. Utilizar un protocolo estándar c. Servicios web 1. REST 2. SOAP 3. Pyro• Uso de hardware a. Wake-on-LAN b. Uso del puerto serie

    12) Buenas prácticas• Desarrollo guiado por pruebas a. Pruebas unitarias b. Pruebas de no regresión c. Pruebas funcionales

    14) Introducción al desarrollo de aplicaciones de consola con Python• Objetivo• Registrar el script• Creación de los datos• Parser de argumentos

    15) Introducción al desarrollo de aplicaciones de escritorio con Pthon• Introducción a Gtk• Iniciar el programa• Interfaz gráfica con Glade• Crear el componente gráfico• Controlador• Otras librerías gráficas

    16) Introducción al desarrollo de juegos con PyGame• Presentación de PyGame• Construcción de un juego Tetris a. Presentación del juego b. Presentación de la problemática c. Creación de constantes

    desde Cero

    hasta Avanzado3Python

  • El cerebro no es un vaso que llenar,sino una lámpara que encender.

    Sedes:Zona Rosa (Ciudad de México)

    www.auriboxtraining.com

    Cuernavaca (Morelos)

    www.auriboxtraining.com/cuernavaca