Centro de Capacitación en Tecnologías de la Información...14) Introducción al desarrollo de...
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