Curso Virtual Online de Python
Para todos los interesados les comunico que el Sábado 4 de Setiembre iniciamos el Cuarto Curso de Python que se desarrollara de manera virtual online. Este curso tiene un nivel Intermedio-Avanzado y esta enfocado en Desarrollar Aplicaciones Comerciales usando Python.
*****************************************************************************
Parte 1: Contenido del Curso
*****************************************************************************
Mes 1: Programando con Python usando Librerías Estándar y PyQT
1. Introducción a Python
1.1. Instalar Python
1.2. El Lenguaje Python
1.3. Librerías Estándar
1.4. Librerías No Estándar
2. Uso de Librerías Estándar
2.1. Manejo de Archivos con os y shutil
2.2. Web Scrapping con urllib.request y json
2.3. Acceso a Datos con PyOdbc y Pandas
2.4. Compresión de datos y archivos usando zlib y zipfile
2.5. Cifrado de datos con base64, hmac, hashlib y secrets
3. Introducción a PyQT
3.1. Instalar PyQt5 y PyQt5Designer
3.2. Clasificación de QTWidgets
3.3. Crear el diseño de la aplicación
3.4. Programar la aplicación Windows en PyQT
4. Trabajando con Diálogos en PyQT
4.1. Ventana de Dialogo con QDialog
4.2. Cuadro de Mensaje con QMessageBox
4.3. Dialogo de Archivos y Directorios con QFileDialog
Mes 2: Desarrollo de Aplicaciones Windows en Python con PyQT
1. Usando Controles Basados en Items (Item Widgets)
1.1. Mostrar una Columna con QListWidget
1.2. Mostrar varias Columnas con QTableWidget
1.3. Ver Jerarquía de Varias Columnas con QTreeWidget
2. Usando Controles Basados en Modelos (Model Widgets)
2.1. Mostrar una Columna con QListView y QStringListModel
2.2. Mostrar Varios QListView con QColumnView y QDirModel
2.3. Mostrar Vista Jerarquica con QTreeView y QFileSystemModel
2.4. Mostrar Varias Columnas con QTableView, QStandardItemModel y QAbstractTableModel
2.5. Combos Independientes y Dependientes con QComboBox
3. Personalizando el Control QTableView
3.1. Formatear Columnas
3.2. Mostrar Imágenes en Columnas
3.3. Ordenar usando QSortFilterProxyModel
3.4. Filtrar usando QSortFilterProxyModel
4. Mantenimiento de Datos con Pandas usando QTableView
4.1. Exportar a CSV, Excel, HTML, JSON con Pandas y a PDF (nativo)
4.2. Importar de CSV, Excel, HTML, JSON con Pandas
4.3. Mantenimiento de una Tabla
5. Reportes y Gráficos de Datos en PyQT
5.1. Reporte de Productos usando QPainter y QtPrintSupport
5.2. Grafico de Barras con PIL
5.3. Grafico de Columnas con QPainter
5.4. Grafico de Pie con matplotlib plt y FigureCanvas
6. Cabecera Detalles y Sistema Completo
6.1. Crear una Orden (Cabecera Detalle), Imprimir, Enviar Mail
6.2. Consultar una Orden (Cabecera Detalle), Imprimir, Enviar Mail
6.3. Sistema con Login, MDI y Formularios Dinámicos
7. Programación Asíncrona en PyQT con QThread
7.1. Ejecutando Bucles Asíncronos con Threads y Progreso
7.2. Consulta Asíncrona de una BD con Threads
7.3. Consulta Asíncrona de un Servicio Web con Threads
7.4. Envío de Correos Asíncrono con Threads y Progreso
7.5. Consultar Gran Cantidad de Datos y Exportación Asíncrona con Threads y Progreso
Mes 3: Desarrollo de Aplicaciones Web en Python con Django
1. Introducción a Django
1.1. Instalar Django
1.2. Crear un Sitio Web
1.3. Crear una Aplicación Web
1.4. Iniciar el Servidor Django
2. Creando Aplicaciones de Consultas
2.1. Devolver una Simple Respuesta de Texto
2.2. Devolver una Simple Pagina HTML
2.3. Consultar una Tabla y Exportar a Excel, Pdf y Word
2.4. Consultar Varias Tablas usando Tabs
3. Creando una Librería de JavaScript con Controles Básicos
3.1. Control Grilla con Checks
3.2. Filtro Conectado usando Combo con Grilla
3.3. Filtro Desconectado usando Combo con Grilla
3.4. Control TextList
4. Creando una Librería de JavaScript con Controles Avanzados
4.1. TreeView Jerárquico con Checks
4.2. Tablas Jerárquicas de 2 Niveles
4.3. Grid Jerárquico de 2 Niveles
4.4. Grilla con Columnas de Links para Descarga de Archivos
5. Creando Aplicaciones Web Completas
5.1. Mantenimiento de una Tabla con Imagen en Popups (SPA)
5.2. Sistema con Login, TreeView, iFrame con Código Genérico
5.3. Carrito de Compras con Login, Imágenes y Seguridad
5.4. Trabajar con miles de registros: Consultar y Grabar
Mes 4: Integración de Aplicaciones en Python con Servicios Web y WebSockets
1. Creando y usando Servicios Web en Django
1.1. Servicio de Consulta de Datos
1.2. Servicio de Mantenimiento de Datos (CRUD)
1.3. Servicio de Manejo de Archivos por Bloques
2. Creando y usando WebSockets en Django
2.1. Creando un Servidor WebSocket en Python con websock.WebSocketServer
2.2. Creando un Cliente WebSocket en PyQT con QtWebSockets
2.3. Creando un Cliente Web en JavaScript con WebSocket
2.4. Creando un Cliente Windows en .NET con WebSocketClient
3. Creando Aplicaciones Completas con Clientes Python, .NET y Android
3.1. Manejo de Documentos en Tiempo Real
3.2. Registro de Asistencia de Empleados en Tiempo Real
3.3. Registro de Incidentes en Tiempo Real con Mapas
Mes 5: Computer Vision en Python con OpenCV, dlib y face_recognition
1. Introducción a Computer Vision (CV)
1.1. Revisión e Historia de CV
1.2. Principales Librerías en CV
1.3. Libros y Universidades en CV
1.4. Científicos y Laboratorios en CV
1.5. Conferencias y Competiciones en CV
2. Introducción a OpenCV
2.1. Historia de OpenCV
2.2. Características Generales de OpenCV
2.3. Clasificación de Módulos en OpenCV
2.4. Instalación de OpenCV: opencv-python y opencv-contrib-python
3. Trabajando con Características de la GUI
3.1. Leer, Mostrar, Crear una Imagen con OpenCV
3.2. Leer y Mostrar un Video de Disco
3.3. Leer y Mostrar un Video en PyQT con OpenCV
3.4. Capturar Video de WebCam en Tiempo Real
3.5. Manipular Imagen del Video de WebCam y Grabar
3.6. Dibujar Textos y Figuras
4. Procesamiento de Imágenes con OpenCV
4.1. Transformación Afín: Trasladar la imagen
4.2. Transformación Afín: Rotando una imagen
4.3. Suavizado de Imágenes: Filtros de Paso Bajo
4.4. Transformaciones morfológicas
4.5. Detección de Bordes
5. Detección de Rostros usando Haarcascade
5.1. Detectar Rostros en un Imagen
5.2. Detectar Rostros en un Video en Tiempo Real
5.3. Detectar Rostros y Ojos en un Video en Tiempo Real
6. Reconocimiento de Objetos usando Haarcascade
6.1. Reconocimiento de Objetos en una Imagen con YOLO
6.2. Reconocimiento de Objetos en un Video en Tiempo Real con YOLO
7. Detección de Marcas Faciales con OpenCV
7.1. Detección de Marcas Faciales en una Imagen
7.2. Detección de Marcas Faciales en un Directorio de Imágenes
7.3. Detección de Marcas Faciales en un Video en Tiempo Real
8. Detección de Marcas Faciales usando Dlib
8.1. Detección de Marcas Faciales en una Imagen con Dlib
8.2. Detección de Marcas Faciales en un Video en Tiempo Real con Dlib
9. Reconocimiento de Rostros usando face_recognition
9.1. Comparar 2 rostros para ver sin son la misma persona
9.2. Buscar un rostro en un directorio de fotos
9.3. Reconocer un rostro en un Video en Tiempo Real
*****************************************************************************
Parte 2: Datos del Curso
*****************************************************************************
1. Horario y Fecha de Inicio
- Horario: Sábados de 4:00 pm a 11:00 pm (Hora Perú)
- Fecha de Inicio: Sábado 04 de Setiembre del 2021
2. Duración del Curso
- Duración: 112 horas
- Tiempo: 5 meses
- Frecuencia: 7 horas semanales (28 horas mensuales)
3. Inversión y Forma de Pago
- Mensual: 200 nuevos soles para Peruanos y USD 60 para extranjeros
- Total 5 meses: 1000 nuevos soles o USD 300
- Forma de Pago: En efectivo, al inicio de cada mes (200 soles o USD 60)
- La cuenta del Banco en Perú se enviará a los seleccionados
- Para los alumnos de otros países será por Western Union
4. Registro
- Los interesados deberán enviar un mail a: Luis.duenash@gmail.com con los sgtes datos:
Titulo del mail:
- Cuarto Curso Virtual Online de Python
Contenido del mail:
- Nombre Completo: Apellido Paterno, Apellido Materno y Nombres
- Documento de Identidad: DNI, Cédula, etc.
- Lugar de Procedencia: Ciudad y País
- Ha llevado Cursos antes conmigo: (No / Si), si es Si en donde
- Nivel de Experiencia en Desarrollo: Básico / Intermedio / Avanzado
- Conoce Python: Si/No
- Comentario: Breve resumen de porque quiere llevar el curso.
5. Advertencia
- Solo deberán enviar correo los que estén bien informados de como son mis cursos, mi metodología y arquitectura.
- No se aceptan personas susceptibles o sensibles a fuertes comentarios
- No hay ningún tipo de certificación o diploma de participación (por el momento)
- Habrá un filtro de ingreso y se enviará el mail con el número de cuenta a pagar solo a los seleccionados.