UNAM Facultad de Ingeniería Secretaría General Facultad de Ingeniería Secretaría General Facultad de Ingeniería
  • Inicio
  • El laboratorioSubmenu
    • Acerca de nosotros
    • Infraestructura
    • Reglamento
  • Tesis
  • Proyectossubmenu
    • Proyecto PAPIME PE108315
    • Proyecto PAPIME PE104911
    • Otros proyectos
  • Diplomados, cursos y seminariossubmenu
    • Diplomado Linux Embebido
    • Cursos Intersemestrales
    • Material de seminarios y cursos
  • 2011 ▾
    • CURSOS
    • Análisis de Algoritmos y Estructuras de Datos
    • Multiprocesamiento en lenguaje C (para profesores)
    • Multiprocesamiento en lenguaje C
  • 2012 ▾
    • CURSOS
    • Programación con Multitareas
    • Programación de multitareas utilizando hilos
    • Nociones de scripting y programación en paralelo
    • SEMINARIOS
    • Programación paralela con Microsoft .NET
  • 2013 ▾
    • CURSOS
    • Algoritmos seriales vs paralelos
    • Programación Paralela con OpenMP
    • SEMINARIOS
    • Seminario de cómputo paralelo
    • LIBROS
    • Sinopsis
  • 2014 ▾
    • CURSOS
    • Introducción a CUDA
    • Introducción al Cómputo Paralelo
      con CUDA C/C++
  • 2015 ▾
    • CURSOS
    • Programación en Lenguaje C
    • Fundamentos de Programación en GPUs
      de Propósito General con CUDA
    • Programación del lado del servidor con PHP
    • Programación Parelela de GPUs con CUDA
  • 2016 ▾
    • CURSOS
    • Fundamentos de programación
      orientada a objetos con Java
    • Fundamentos de Programación Paralela
    • Programación Paralela de GPUs con CUDA
    • Desarrollo Web
    • Programación Paralela de GPUs con OpenCL
  • 2025-2 ▾
    • CURSOS
    • Explorando XML: Aprende a leer, entender y trabajar con archivos del SAT
    • Fundamentos prácticos de Linux: Domina la terminal
    • Programación en Lenguaje C: Fundamentos y Técnicas Intermedias
    • Fundamentos de Python para Análisis de datos
    • Fundamentos de programación con Python
  • 2026-1 ▾
    • TALLERES
    • Fundamentos de Word y Excel para Ciencias e Ingeniería
    • Explorando XML: Aprende a leer, entender y trabajar con archivos del SAT
    • Fundamentos prácticos de Linux: Domina la terminal
    • CURSOS
    • Programación en Lenguaje C: De lo Básico a lo Intermedio
    • Fundamentos de Python para Análisis de datos
    • Fundamentos de programación con Python
    • Fundamentos Prácticos de Programación Paralela con OpenMP y MPI
    • Introducción a Django
  • 2026-2 ▾
    • TALLERES
    • Taller de Automatización con Excel y Macros para Ingenieria
    • Taller de Introducción a Docker para Entornos Reproducibles
    • Fundamentos prácticos de Linux: Domina la terminal
    • CURSOS
    • Programación en Lenguaje C: De lo Básico a lo Intermedio
    • Fundamentos de Python para Análisis de datos
    • Fundamentos de programación con Python
    • Curso Practico de LaTeX para Redacción Academica y Cientifica
    • Curso de Fundamentos de Redes y Servicios Basicos con Packet Tracer

Análisis de Algoritmos y Estructuras de Datos

Instructor

  • Ing. Carlos Roberto Álvarez Barragán

Objetivo

Establecer las bases del análisis de algoritmos a través de notación asintótica y el entendimiento de distintas técnicas que permiten establecer la complejidad de distintos algoritmos. Entender estos principios permitirán un mejor entendimiento del mismo análisis pero de algoritmos desarrollados para plataformas paralelas o distribuidas.

Contenido

  1. Temas introductorios
  2. Dividir y vencer: Recursividad y métodos para el análisis
  3. Quicksort
  4. Ordenamientos de tiempo lineal
  5. Tablas de hash y funciones de hash
  6. Introducción a árboles y su importancia

Multiprocesamiento en lenguaje C (para profesores)

Instructores

  • Ing. Laura Sandoval Montaño
  • M.I. Elba Karen Sáenz García
  • M.I Oscar René Valdez Casillas

Objetivo

Presentar al participante las bases para la elaboración de programas paralelos que agilicen el cómputo de aplicaciones de cálculo intensivo; así como aprovechar las arquitecturas paralelas que están al alcance de la mayoría de los usuarios académicos.

Contenido

  1. Conceptos básicos de computación paralela
    • Sistemas de multiprocesamiento
    • Demandas de aplicación
    • Arquitecturas paralelas
      • Taxonomía de Flynn
      • Arquitectura de memoria compartida
      • Arquitectura multicore
  2. Creación y manejo de procesos en lenguaje C
    • Estados de un proceso
    • Estructura de un proceso
    • Creación de procesos en UNIX
    • Manejo de procesos en UNIX
  3. Manejo y creación de hilos en lenguaje C
    • Diferencias entre hilos y procesos
    • Estructura de un hilo
    • Manejo de hilos POSIX
  4. Algoritmos paralelos
    • Niveles de paralelismo
    • Paradigmas de programación paralela
    • Metodologías de diseño
  5. Ejemplos aplicativos de la programación paralela
    • Herramientas de desarrollo y aplicaciones
    • OpenMP
    • MPI

Material

ConceptosBasicosCompParalela.pdf Descargar
ProcesosEnC.pdf Descargar
Introducci_nProgramaci_nParalela.pdf Descargar
Introducci_nOpenMp.pdf Descargar
Introducci_nMPI.pdf Descargar

Multiprocesamiento en lenguaje C

Instructor

  • Luis Manuel García Hernández

Objetivo

El alumno conocerá los principios básicos de la programación paralela, así como entornos de desarrollo y aplicaciones actuales.

Contenido

  1. El multiprocesamiento en la actualidad
    • Supercomputadoras
    • Programación actual
      • Programación secuencial
      • Programación paralela
  2. Los procesos y su creación
  3. Los hilos y su creación
  4. Interacción entre procesos e hilos
    • Señales
    • Tuberías
  5. Planificación de procesos e hilos
    • Por turno - Round Robin
  6. Herramientas de desarrollo y aplicaciones
    • OpenMP
    • Aplicaciones gráficas

Material

procesos.pdf Descargar
hilos.pdf Descargar

Programación con Multitareas

Instructores

  • Ing. Laura Sandoval Montaño
  • Ing. Andrés Mondragón Contreras

Objetivo

Presentar al participante las bases para la elaboración de programas que utilicen multitareas para mejorar su desempeño y aprovechar las arquitecturas de procesadores de varios núcleos.

Contenido

  1. Fundamentos del procesamiento con multitareas
    • Definición de proceso tarea
    • Concepto de multitarea/multiprogramación
    • Estados de un proceso en multitarea
    • Problemas de concurrencia
    • Niveles de programación con multitareas
  2. Programación de multitareas utilizando hilos POSIX
    • Diferencias entre hilos y procesos
    • Características de los hilos POSIX
    • Creación de multitareas/multihilos
    • Comunicación y concurrencia de hilos
  3. Programación de multitareas utilizando un compilador de C paralelo
    • Características generales de Cilk++ SDK
    • Creación de multitareas
    • Consideraciones de concurrencia síncrona y asíncrona
    • Medición del desempeño y escalabilidad

Material

ProgramacionConMultitareas.pdf Descargar
PracticaHilosPOSIX.pdf Descargar
ProgMultitareasCilk.pdf Descargar

Programación de multitareas utilizando hilos

Instructores

  • Ing. Laura Sandoval Montaño
  • Ing. Manuel Castañeda Castañeda

Objetivo

Presentar al participante las bases para la elaboración de programas que utilicen multi-hilos para mejorar la eficiencia de ambientes de multitareas.

Contenido

  1. Origen de los hilos como elemento necesario en la programación de multitareas.
    • Sistemas de multitareas
      • Tarea
      • Proceso
      • Estados de un proceso
      • Concepto de multitarea
    • Ambientes de multitarea
      • Monoprocesador
      • Multiprocesador
    • Elementos de programación de multitareas
      • Proceso
      • Hilo
      • Diferencias entre procesos e hilos
      • Multihilos
  2. Multihilos en un solo procesador
    • Hilos POSIX
    • Hilos en C
    • Hilos en Java
  3. Multihilos en varios procesadores
    • Hilos en .NET
    • Hilos en Linux
  4. Implementación
    • Estudios de caso
      • en .NET
      • en Linux

Material

ProgramacionMultitareasConHilos.pdf Descargar
HILOS__Android.pdf Descargar
HILOS__JAVA.pdf Descargar
HilosPosix.pdf Descargar
ProgMultiprocCilk.pdf Descargar

Nociones de scripting y programación en paralelo

Instructores

  • M.I. Elba Karen Sáenz García
  • M.I. Oscar René Valdez Casillas

Objetivo

Presentar al participante las bases para la elaboración de programas o scripts que aprovechen el tener una arquitectura de varias unidades de procesamiento.

Contenido

  1. Utilidad de realizar procesamiento paralelo en arquitecturas con varias unidades de procesamiento.
  2. Ejecución de comandos e implementación de scripts en paralelo.
  3. Herramientas para programación en paralelo.

Material

Tutorial de PPSS 1.1.pdf Descargar

Programación paralela con Microsoft .NET

Ponentes

  • Ing. Andrés Mondragón Contreras
  • Néstor Abdy García Fragoso

Objetivo

Presentar a los participantes una introducción al desarrollo de aplicaicones paralelas con tecnología Microsoft .NET

Contenido

  1. Introducción y conceptos básicos de paralelismo
  2. Factores a considerar en la implementación paralela de una aplicación
  3. Enfoques de diseño
  4. Identificación de patrones y aplicaciones en C, C++ y C#
    • Loops paralelos
    • Tareas paralelas
    • Agregación paralela
    • Futuros
    • Paralelismo de tareas dinámicas

Material

Presentación 1 Ver en línea
Presentación 2 Ver en línea

Algoritmos seriales vs paralelos

Instructores

  • Ariel Ulloa Trejo
  • Carlos Aldair Román Balbuena
  • Luis Fernando Pérez Franco

Objetivo

El estudiante implementará algoritmos en forma secuencial para determinar las ventajas y desventajas sobre su versión paralela.

Contenido

  1. Diseño de algoritmos
    • Diseño de algoritmos seriales (características, eficiencia, análisis, métricas).
    • Diseño de algoritmos paralelos (características, eficiencia, análisis, métricas, herramientas de desarrollo).
  2. Caso de estudio 1: Quicksort
    • Análisis e implementación del algoritmo serial.
    • Análisis e implementación del algoritmo paralelo.
    • Análisis comparativo.
  3. Caso de estudio 2: Serie de Fibonacci
    • Análisis e implementación del algoritmo serial.
    • Análisis e implementación del algoritmo paralelo.
    • Análisis comparativo.
  4. Caso de estudio 3: Problema de las N reinas
    • Análisis e implementación del algoritmo serial.
    • Análisis e implementación del algoritmo paralelo.
    • Análisis comparativo.
  5. Desarrollo de una aplicación

Material

DiseñoAlgoritmos.pdf Descargar
Concurrencia.wmv Descargar
Fibonacci.pdf Descargar
CodigosFib.zip Descargar
Problema N reinas.pdf Descargar

Programación Paralela en OpenMP

Instructores

  • M.I. Elba Karen Sáenz García
  • M.I. Oscar René Valdez Casillas

Objetivos

Debido a que en la actualidad las computadoras tienen varias unidades de procesamiento surge la necesidad para los programadores y usuarios avanzados de conocer y utilizar herramientas como OpenMP para el desarrollo de programas que trabajen de una forma eficiente aprovechando las unidades de procesamiento de la computadora.

Al finalizar el curso el participante contará con las bases para la elaboración de programas paralelos utilizando OpenMP que podrá usar en computadoras con arquitectura de memoria compartida.

Contenido

  1. Memoria Compartida y Arquitectura de Memoria Compartida.
  2. Introducción al diseño de programas paralelos.
    • Etapas de diseño de un programa paralelo (Ian, Foster).
    • Multicore Programming Practices.
  3. Particionamiento o descomposición.
    • Descomposición de dominio.
    • Descomposición funcional.
    • Descomposición pipelined.
  4. Herramienta para análisis de dependencia de datos y control.
    • Gráfica de dependencias.
  5. Conceptos.
    • Concurrencia.
    • Paralelismo.
  6. Modelos de Programación Paralela.
    • Modelo de programación en Memoria Compartida.
  7. Introducción a OpenMP.
    • Arquitectura y sitaxis.
    • Regiones paralelas.
    • Trabajo compartido.
    • Variables compartidas y privadas.
    • Condiciones de carrera.
    • Funciones de ambiente.
    • Operación de reducción.
    • Regiones críticas.
    • Secciones paralelas.
    • Constructores single y master.
    • Colocar y quitar barreras.
    • Paralelismo anidado.
    • Paralelismo de tareas.

Material

ProgramaciónParalelaOpenMP.pdf Descargar

Seminario de cómputo paralelo

Ponentes

  • Ariel Ulloa Trejo
  • Carlos Aldair Román Balbuena
  • Luis Fernando Pérez Franco

Objetivos

  • Conocer las generalidades de: aplicaciones multicore, la biblioteca "Intel Threading Building Blocks" y aplicaciones concurrentes
  • Los estudiantes podrán relacionar temas abordados en materias como Algoritmos y Estructuras de Datos, Sistemas Operativos, Estructura y Programación de Computadoras, entre otras
  • Los académicos, pueden apoyarse en estos conocimientos, ya sea para dar clases o investigación
  • Brindar material de consulta a la comunidad estudiantil de cualquier institución

Contenido

  1. Multicore Application Programming: For Windows, Linux, and Oracle Solaris (autor: Darryl Gove)
    • Hardware, procesos e hilos
    • Rendimiento en la codificación
    • Códigos
  2. Intel Threading Building Blocks (autor: James Reinders)
    • ¿Qué es Intel Threading Building Blocks?
    • Comparación de ITBB con otras herramientas
    • Piensa en paralelo
  3. C++ Concurrency in action (autor: Anthony Williams)
    • ¿Qué es concurrencia?
    • Porqué usar concurrencia
    • Concurrencia y multihilos en C++

Material

Presentación Intel Threading Building Blocks Ver en línea
Multicore Application Programming.pdf Descargar
Codigos.zip Descargar
C++ Concurrency in action.pdf Descargar

Sinopsis de Libros disponibles en el Laboratorio

Analista

  • Ing. Andrés Mondragón Contreras

Objetivos

  • Con la finalidad de orientar a la comunidad académica y estudiantil interesada en adquirir o aumentar sus conocimientos en temas del área de cómputo paralelo y distribuido, como producto del proyecto PAPIME PE104911 Pertinencia de cómputo paralelo en el currículo de las Ingenierías, presentamos la siguiente sinopsis de los libros adquiridos a través de dicho proyecto.
  • La sinopsis indica, para cada título: los temas tratados, los conocimientos antecedentes para entender los temas y el grado de dificultad; de esta forma el interesado podrá solicitar en préstamo el ejemplar que pueda cubrir sus expectativas.

Contenido

  1. Parallel Programming for Multicore and Cluster Systems (autor: Thomas Rauber)
  2. Intel Threading Building Blocks (autor: James Reinders)
  3. Programming Massively Parallel Processors (autor: David B. Kirk)
  4. Algorithms and Parallel Computing (autor: Fayez Gebali)
  5. CUDA BY EXAMPLE (autor: Jason Sanders)
  6. Structured Parallel Programming (autor: Michael McCool)
  7. C++ Concurrency in action (autor: Anthony Williams)
  8. Multicore Application Programming (autor: Darryl Gove)
  9. Parallel Combinatorial Optimization (autor: El-Ghazali Talbi)
  10. Hadoop In Action (autor: Chuck Lam)

Material

SinopsisLibros.pdf Descargar

Introducción a CUDA

Instructores

  • Ariel Ulloa Trejo
  • Luis Fernando Pérez Franco

Objetivo

El alumno conocerá los conceptos básicos de la programación paralela con GPUs utilizando la herramienta CUDA de NVIDIA

Contenido

  1. Antecedentes
    • Programación Serial.
    • Programación Paralela.
    • Modelos de Programación.
  2. El GPU
    • Terminología usada en CUDA.
    • Diferencias entre el GPU y CPU.
    • Propiedades de nuestro GPU.
    • La función kernel.
  3. Funciones
    • Jerarquia de memoria.
    • cudaMalloc, cudaFree, cudaMemcpy.
    • Índices.
  4. Manejo de Matrices
    • Detectando errores.
    • Matrices.
    • Tomando el tiempo.
  5. Memoria Compartida
    • Usando memoria compartida.
    • Sincronización de hilos.
    • Reducción.

Material

03_Funciones.pdf Descargar
04_Matrices.pdf Descargar
Programas.zip Descargar

Introducción al Cómputo Paralelo con CUDA C/C++

Instructores

  • Ariel Ulloa Trejo
  • Jaime Esteban Beltrán Rosales

Objetivo

El alumno utilizará los beneficios de la programación en paralelo que brindan las Unidades de Procesamiento Gráfico (GPUs) de Nvidia para acelerar aplicaciones, mediante CUDA.

Contenido

  1. Antecedentes
    • Programación Serial.
    • Programación Paralela.
    • Modelos de Programación.
  2. Modelo de Programación CUDA
    • Arquitectura.
    • Diferencias entre el GPU y CPU.
    • Propiedades del GPU.
  3. Funciones
    • Jerarquia de memoria.
    • Funciones CUDA.
    • Arreglos unidimencionales.
  4. Manejo de Matrices
    • Detectando errores.
    • Medición de tiempo.
  5. Memoria Compartida

Material

01_Antecedentes.pdf Descargar
02_GPU.pdf Descargar
03_ModProgCUDA.pdf Descargar
04_ManejoMatrices.pdf Descargar
05_MemCompartida.pdf Descargar

Programación en Lenguaje C

Instructores

  • M.I. Elba Karen Sáenz García
  • Ing. Laura Sandoval Montaño

Objetivo

Al finalizar el curso los participantes contarán con la bases para diseñar e implementar programas en lenguaje C.

Contenido

  1. Diseño de programas.
  2. El lenguaje de programación C.
  3. Tipos de datos, variables y constantes.
  4. Estructuras de control y repetición.
  5. Arreglos de una y varias dimensiones.
  6. Manejo de funciones.
  7. Estructuras.
  8. Fundamentos de apuntadores.
  9. Manejo de memoria dinámica.
  10. Manejo de archivos.
  11. Varios.

Material

PresentacionDia1a.pdf Descargar
PresentacionDia1b.pdf Descargar
PresentacionDia2a.pdf Descargar
PresentacionDia2b.pdf Descargar
PresenacionDia3a.pdf Descargar
PresentacionDia3Arreglos.pdf Descargar
ArreglosVariasDimensiones.pdf Descargar
PresentacionDia4Funciones.pdf Descargar
ApuntadoresPasoParametrosMemDinamica.pdf Descargar
Dev-C++.pdf Descargar

Fundamentos de Programación en GPUs de Propósito General con CUDA

Instructores

  • Ing Laura Sandoval Montaño
  • M.I. Elba Karen Sáenz García
  • Ariel Ulloa Trejo

Objetivo

Al finalizar el curso los participantes contarán con las bases para empezar a programar en GPUs utilizando la herramienta CUDA de Nvidia.

Contenido

  1. Antecedentes.
  2. GPU.
  3. CUDA.
    • Arquitectura.
    • Jerarquía de memoria.
    • Modelo de ejecución CUDA.
      • Grids.
      • Bloques.
      • Hilos.
  4. Funciones CUDA.
  5. Manejo de arreglos unidimensionales y bidimensionales.
  6. Memoria compartida.
  7. Varios.

Material

FundamentosCUDADia1p1.pdf Descargar
FundamentosCUDADia1p2.pdf Descargar
FundamentosCUDADia2.pdf Descargar
FundamentosCudaMatricesDia3.pdf Descargar

Programación del lado del servidor con PHP

Instructores

  • Juan Francisco de Reza Trujillo
  • Alberto Embarcadero Ruiz

Objetivo

Difundir a la comunidad universitaria la programación del lado del servidor por medio del lenguaje PHP así como herramientas que permiten explotar al máximo los tipos de desarrollos creados.

Contenido

  1. Introducción
  2. Iniciando con PHP
  3. Formularios
  4. Ficheros
  5. Aplicaciones
  6. Cookies y sesiones
  7. GSM
  8. Producción de código para interpretarse en el cliente

Material

CursoPHP.pdf Descargar
Tema7.pdf Descargar
Tema8.pdf Descargar

Programación Paralela de GPUs con CUDA

Instructores

  • Alberto Embarcadero Ruiz
  • Miguel Ángel Guillén Hernández

Objetivo

Difundir a la comunidad universitaria y hacer de su interés el tópico del cómputo en paralelo de forma práctica, mediante la programación de tarjetas gráficas (GPUs) y otros dispositivos similares de la compañía NVIDIA, utilizando el lenguaje C y la extensión CUDA, de la misma compañía.

Contenido

  1. Introducción a la programación paralela
    • Concepto de paralelismo
    • Procesamiento serial, concurrente y paralelo
    • Taxonomía de Flynn
    • Modelos de programación concurrente/paralela
    • Concepto de 'granularidad'
  2. Introducción a CUDA
    • Diversas opciones para programación concurrente/paralela
    • ¿Qué es CUDA?
    • ¿Qué es una GPU?
    • Modelo Host-Device
    • Ejecución de un programa en CUDA
    • Hilos, bloques y mallas
    • Modelo de memoria
  3. Programando en CUDA
    • Estructura de un programa en CUDA y C
    • Funciones básicas de CUDA
    • Manipulación de arreglos y matrices
    • Sincronización en CUDA
    • Manipulación de imágenes

Fundamentos de programación orientada a objetos con Java

Contenido

  1. Paradigma de POO
  2. Objetos y clases, sus métodos y atributos
  3. Solución de un problema con el paradigma POO
  4. Diseño de diagrama de clases con arquitectura Modelo Vista controlador
  5. Implementación y uso de clases en JAVA
  6. Variables y métodos
    1. Encapsulación y Modificadores de acceso
    2. Estructuras condicionales y de repetición
    3. Métodos estáticos
    4. Arreglos
    5. Excepciones
    6. Herencia
    7. Polimorfismo, métodos abstractos- métodos constructores
    8. Otros

Fundamentos de Programación Paralela

Contenido

  1. Conceptos de paralelismo
    1. Definición de proceso
    2. Computo serial y paralelo
    3. Concurrencia y paralelismo
    4. Granularidad y niveles de paralelismo
  2. Patrones de Programación paralela
    1. Diseño de un programa paralelo
    2. Paradigmas de programación paralela
      1. Maestro - esclavo
      2. Entubamiento de datos
      3. Divide y conquista
      4. SPMD
    3. Descomposición del problema
      1. Datos
      2. Tareas o funciones
    4. Diferencia entre hilo y proceso
  3. Modelos de programación paralela
    1. Memoria compartida
    2. Dependencias de datos y de control
      1. OpenMP
      2. Hilos pthreads
    3. Memoria Distribuida
      1. MPI

Programación Paralela de GPUs con CUDA

Instructores

  • Esaú Ugalde Vargas

Objetivo

Difundir a la comunidad universitaria y hacer de su interés el tópico del cómputo en paralelo de forma práctica, mediante la programación de tarjetas gráficas (GPUs) y otros dispositivos similares de la compañía NVIDIA, utilizando el lenguaje C y la extensión CUDA, de la misma compañía.

Contenido

  1. Introducción a la programación paralela
    1. Concepto de paralelismo
    2. Procesamiento serial, concurrente y paralelo
    3. Taxonomía de Flynn
    4. Modelos de programación concurrente/paralela
    5. Concepto de 'granularidad'
  2. Introducción a CUDA
    1. Diversas opciones para programación concurrente/paralela
    2. ¿Qué es CUDA?
    3. ¿Qué es una GPU?
    4. Modelo Host-Device
    5. Ejecución de un programa en CUDA
    6. Hilos, bloques y mallas
    7. Modelo de memoria
  3. Programando en CUDA
    1. Estructura de un programa en CUDA y C
    2. Funciones básicas de CUDA
    3. Manipulación de arreglos y matrices
    4. Sincronización en CUDA
    5. Manipulación de imágenes

Desarrollo Web

Instructores

  • Juan Francisco de Reza Trujillo
  • Melanie Sarai Galván Rodríguez

Objetivo

Al finalizar el curso, el alumno tendrá las bases para desarrollar sistemas en la industria dedicada al desarrollo web.

Contenido

  1. Introducción a las plataformas web
  2. Introducción a la arquitectura cliente-servidor
  3. Introducción a los frameworks
  4. Modelo, vista y controlador
  5. El lenguaje de marcado HTML
  6. El lenguaje PHP
  7. Funciones de PHP
  8. Características avanzadas de PHP
  9. El lenguaje de marcado CSS
  10. Introducción al lenguaje JavaScript
  11. Introducción a jQuery
  12. Introducción a las bases de datos
  13. Introducción al lenguaje SQL
  14. Introducción a CodeIgniter
  15. La tecnología AJAX y el protocolo JSON
  16. Introducción a CSS3 y HTML5
  17. Canvas
  18. Elaboración de una aplicación real

Explorando XML: Aprende a leer, entender y trabajar con archivos del SAT

Instructor

  • Rubén Pedro Jiménez Enriquez

Objetivo

Capacitar a los estudiantes para interpretar, procesar y extraer información útil de archivos XML mediante herramientas accesibles como Microsoft Excel y Python, con énfasis en aplicaciones prácticas como la lectura de comprobantes fiscales digitales (CFDI) del SAT.

Contenido

  1. Módulo 1: Introducción a XML
    1. ¿Qué es XML? Finalidad y características.
    2. Estructura general: etiquetas, atributos, jerarquía, nodo raíz
    3. Casos de uso comunes.
  2. Módulo 2: Análisis de XML del SAT
    1. ¿Qué es un CFDI? ¿Cómo se ve su estructura XML?
    2. Partes clave del archivo: nodo raíz, Emisor, Receptor, Conceptos, Impuestos, Complemento.
  3. Módulo 3 Práctica con Excel (importación, macros)
    1. Cómo abrir/importar un XML en Excel
    2. Introducción a macros con VBA: leer nodos XML mediante código.
    3. Exportar resultados a tabla para análisis o impresión.
    4. Filtros, fórmulas y análisis básico.
  4. Módulo 4: Python básico para leer XML
    1. Introducción a la biblioteca xml.etree.ElementTree
    2. Cargar un archivo XML, recorrer elementos y extraer texto y atributos
  5. Módulo 5: Extracción de datos del SAT con Python
    1. Filtrar elementos específicos
    2. Almacenar información en listas o diccionarios
    3. Introducción a pandas para crear DataFrames con los datos extraídos
  6. Módulo 6: Exportación y automatización
    1. Exportar los datos extraídos a CSV o Excel (to_csv(), to_excel())
    2. Automatizar lectura de varios XML con un script

Fundamentos prácticos de Linux: Domina la terminal

Instructor

  • Rubén Pedro Jiménez Enriquez

Objetivo

Capacitar a los estudiantes para interpretar, procesar y extraer información útil de archivos XML mediante herramientas accesibles como Microsoft Excel y Python, con énfasis en aplicaciones prácticas como la lectura de comprobantes fiscales digitales (CFDI) del SAT.

Contenido

  1. Módulo 1: Introducción a Linux y navegación básica
    1. ¿Qué es Linux? Historia y distribución del sistema
    2. Diferencias con otros sistemas operativos
    3. Comandos básicos de navegación: pwd, ls, cd, clear, echo
    4. Estructura del sistema de archivos Linux
  2. Módulo 2: Archivos, permisos y gestión de usuarios
    1. Manipulación de archivos y directorios: cp, mv, rm, mkdir, touch
    2. Permisos y propiedades de archivos (rwx, chmod, chown, ls -l)
    3. Concepto de usuarios y grupos en Linux
    4. Comandos de gestión de usuarios: whoami, id, adduser, passwd
  3. Módulo 3: Gestión de procesos y software
    1. Visualización y control de procesos: ps, top, kill, jobs, bg, fg
    2. Instalación y administración de software con APT: install, remove, update, upgrade
  4. Módulo 4: Redirecciones, tuberías y scripting básico
    1. Redirección de entrada/salida: >, >>, <, 2>.
    2. Introducción a Bash scripting: variables, condicionales, scripts ejecutables
    3. Creación y ejecución de scripts simples
  5. Módulo 5: Automatización y red
    1. Comandos de red básicos: ping, curl, wget, ip a
    2. Visualización de logs del sistema: cat, tail, less, journalctl
    3. Automatización de tareas

Programación en Lenguaje C: Fundamentos y Técnicas Intermedias

Instructora

  • M.C. Laura Sandoval Montaño

Objetivo

Al finalizar el curso, los estudiantes habrán adquirido las bases esenciales del lenguaje C y técnicas intermedias para desarrollar programas. Serán capaces de escribir código estructurado y modular, manejar punteros y memoria dinámica, y aplicar conceptos intermedios para resolver problemas prácticos utilizando C.

Contenido

  1. Módulo 1: Introducción al Lenguaje C y Configuración del Entorno
  2. Módulo 2: Tipos de Datos y Operaciones Básicas
  3. Módulo 3: Estructuras de Control de Flujo
  4. Módulo 4: Funciones y Modularización del Código
  5. Módulo 5: Arreglos y Punteros
  6. Módulo 6: Manejo de Memoria Dinámica
  7. Módulo 7: Introducción a Estructuras de Datos Básicas

Fundamentos de Python para Análisis de datos

Instructora

  • M.I. Elba Karen Sáenz García

Objetivo

Proporcionar a los/as participantes habilidades para manipular, limpiar, visualizar y analizar datos usando Python y algunas de sus bibliotecas.

Contenido

  1. Módulo 1: Introducción
  2. Módulo 2: Estructura de Datos
  3. Módulo 3: Estructuras de Control
  4. Modulo 4: Funciones
  5. Módulo 5: Manejo de Archivos

Fundamentos de Programación con Python

Instructora

  • M.I. Elba Karen Sáenz García

Objetivo

Proporcionar a las participantes habilidades para manipular, limpiar, visualizar y analizar datos usando Python y algunas de sus bibliotecas.

Contenido

  1. Módulo 1: Fundamentos de Python para Análisis de Datos
  2. Módulo 2: Manipulación y Limpieza de Datos con Pandas
  3. Módulo 3: Visualización de Datos
  4. Módulo 4: Análisis Exploratorio de Datos
  5. Módulo 5: Introducción a Machine Learning con Scikit-Learn

Fundamentos de Word y Excel para Ciencias e Ingeniería

Instructores

  • Iván Martínez Martínez
  • Hugo Abraham Rivera Rodriguez

Objetivo

Al finalizar el curso, el estudiante será capaz de utilizar de manera competente las herramientas fundamentales de Microsoft Word y Microsoft Excel, creando y editando documentos y hojas de cálculo con formato profesional. Podrá aplicar técnicas básicas de edición, organización y presentación de información, incorporar elementos visuales y emplear funciones esenciales de cálculo, así como generar documentos e informes correctamente estructurados y listos para impresión.

Contenido

  1. Parte 1 PROCESADOR DE TEXTOS (MICROSOFT WORD)
    1. Modulo 1: Introducción al entorno de trabajo
      1. La interfaz de usuario: Cinta de opciones y barra de acceso rápido.
      2. Creación, apertura y guardado de documentos
      3. Formatos de archivo: .docx vs .pdf
      4. Modos de vista y Zoom
    2. Modulo 2: Edición y manejo de texto
      1. Selección de texto (teclado y mouse)
      2. Uso del Portapapeles: Cortar, Copiar y Pegar
      3. Deshacer y Rehacer acciones
      4. Revisión ortográfica y gramatical básica
    3. Modulo 3: Formato de fuente y párrafo
      1. Tipografía: Fuente, tamaño, color y estilos (negrita, cursiva, subrayado)
      2. Alineación de párrafos (Izquierda, Derecha, Centro, Justificado)
      3. Interlineado y espaciado
      4. Listas: Viñetas y numeración
    4. Modulo 4: Gestión de referencias y citación en Word
      1. Uso del administrador de referencias
      2. Inserción de citas automáticas
      3. Bibliografía automática en estilos como APA e IEEE
    5. Modulo 5: Diseño de página e inserción de elementos
      1. Configuración de página: Márgenes, orientación y tamaño de papel
      2. Inserción y manipulación básica de imágenes
      3. Creación de tablas sencillas
      4. Impresión de documentos
      5. Inserción de ecuaciones (Editor de ecuaciones de Word)
      6. Símbolos técnicos comunes en ingeniería y ciencias (Ω, °C, Σ, →, etc.)
  2. Parte 2 HOJA DE CÁLCULO (MICROSOFT EXCEL)
    1. Modulo 6: Introducción a la hoja de cálculo
      1. Conceptos básicos: Libro, Hoja, Fila, Columna y Celda
      2. Desplazamiento y selección en la hoja
      3. Tipos de datos: Texto, Números y Fechas
      4. Gestión de hojas: Insertar, eliminar y renombrar
    2. Modulo 7: Formato de celdas y estructura
      1. Ajuste de ancho de columnas y alto de filas
      2. Bordes y sombreados (Relleno)
      3. Formato de números: Moneda, Contabilidad y Decimales
      4. Alineación de celdas y herramienta "Combinar y centrar"
    3. Modulo 8: Fórmulas y funciones esenciales
      1. Estructura de una fórmula y uso del signo igual (=)
      2. Operadores aritméticos básicos (+, -, *, /)
      3. Referencias de celdas (operar con direcciones, no con valores fijos)
      4. Funciones básicas: SUMA y PROMEDIO
      5. Uso del controlador de relleno para copiar fórmulas
    4. Modulo 9: Visualización de datos
      1. Ordenar datos (A-Z, Z-A)
      2. Inserción de gráficos básicos (Columnas y Circulares)
      3. Personalización básica de gráficos (Títulos y etiquetas)
      4. Configuración de área de impresión en Excel

Explorando XML: Aprende a leer, entender y trabajar con archivos del SAT

Instructor

  • Rubén Pedro Jiménez Enriquez

Objetivo

Capacitar a los estudiantes para interpretar, procesar y extraer información útil de archivos XML mediante herramientas accesibles como Microsoft Excel y Python, con énfasis en aplicaciones prácticas como la lectura de comprobantes fiscales digitales (CFDI) del SAT.

Contenido

  1. Módulo 1: Introducción a XML
    1. ¿Qué es XML? Finalidad y características.
    2. Estructura general: etiquetas, atributos, jerarquía, nodo raíz
    3. Casos de uso comunes.
  2. Módulo 2: Análisis de XML del SAT
    1. ¿Qué es un CFDI? ¿Cómo se ve su estructura XML?
    2. Partes clave del archivo: nodo raíz, Emisor, Receptor, Conceptos, Impuestos, Complemento.
  3. Módulo 3 Práctica con Excel (importación, macros)
    1. Cómo abrir/importar un XML en Excel
    2. Introducción a macros con VBA: leer nodos XML mediante código.
    3. Exportar resultados a tabla para análisis o impresión.
    4. Filtros, fórmulas y análisis básico.
  4. Módulo 4: Python básico para leer XML
    1. Introducción a la biblioteca xml.etree.ElementTree
    2. Cargar un archivo XML, recorrer elementos y extraer texto y atributos
  5. Módulo 5: Extracción de datos del SAT con Python
    1. Filtrar elementos específicos
    2. Almacenar información en listas o diccionarios
    3. Introducción a pandas para crear DataFrames con los datos extraídos
  6. Módulo 6: Exportación y automatización
    1. Exportar los datos extraídos a CSV o Excel (to_csv(), to_excel())
    2. Automatizar lectura de varios XML con un script

Fundamentos prácticos de Linux: Domina la terminal

Instructor

  • Rubén Pedro Jiménez Enriquez

Objetivo

Capacitar a los estudiantes para interpretar, procesar y extraer información útil de archivos XML mediante herramientas accesibles como Microsoft Excel y Python, con énfasis en aplicaciones prácticas como la lectura de comprobantes fiscales digitales (CFDI) del SAT.

Contenido

  1. Módulo 1: Introducción a Linux y navegación básica
    1. ¿Qué es Linux? Historia y distribución del sistema
    2. Diferencias con otros sistemas operativos
    3. Comandos básicos de navegación: pwd, ls, cd, clear, echo
    4. Estructura del sistema de archivos Linux
  2. Módulo 2: Archivos, permisos y gestión de usuarios
    1. Manipulación de archivos y directorios: cp, mv, rm, mkdir, touch
    2. Permisos y propiedades de archivos (rwx, chmod, chown, ls -l)
    3. Concepto de usuarios y grupos en Linux
    4. Comandos de gestión de usuarios: whoami, id, adduser, passwd
  3. Módulo 3: Gestión de procesos y software
    1. Visualización y control de procesos: ps, top, kill, jobs, bg, fg
    2. Instalación y administración de software con APT: install, remove, update, upgrade
  4. Módulo 4: Redirecciones, tuberías y scripting básico
    1. Redirección de entrada/salida: >, >>, <, 2>.
    2. Introducción a Bash scripting: variables, condicionales, scripts ejecutables
    3. Creación y ejecución de scripts simples
  5. Módulo 5: Automatización y red
    1. Comandos de red básicos: ping, curl, wget, ip a
    2. Visualización de logs del sistema: cat, tail, less, journalctl
    3. Automatización de tareas

Programación en Lenguaje C: De lo Básico a lo Intermedio

Instructora

  • M.C. Laura Sandoval Montaño

Objetivo

Al finalizar el curso, los estudiantes habrán adquirido las bases esenciales del lenguaje C y técnicas intermedias para desarrollar programas. Serán capaces de escribir código estructurado y modular, manejar punteros y memoria dinámica, y aplicar conceptos intermedios para resolver problemas prácticos utilizando C.

Contenido

  1. Módulo 1: Introducción al Lenguaje C y Configuración del Entorno
    1. Historia y aplicaciones de C
    2. Instalación y configuración del entorno de desarrollo (IDE o terminal)
    3. Estructura básica de un programa en C
    4. Primer programa en C: "Hola Mundo"
  2. Módulo 2: Tipos de Datos y Operaciones Básicas
    1. Tipos de datos primitivos: int, float, char, double, void
    2. Declaración de variables y constantes
    3. Operadores aritméticos, lógicos, de comparación y asignación
    4. Conversión de tipos y operaciones entre tipos de datos
  3. Módulo 3: Estructuras de Control de Flujo
    1. Condicionales: if, else, else if, switch
    2. Bucles: for, while, do-while
    3. Sentencias de control: break, continue, return
    4. Buenas prácticas en el control de flujo y optimización del código
  4. Módulo 4: Funciones y Modularización del Código
    1. Declaración, definición y uso de funciones
    2. Paso de parámetros por valor y por referencia
    3. Retorno de valores y buenas prácticas de modularización
    4. Archivos de cabecera (.h) y separación del código en múltiples archivos
  5. Módulo 5: Arreglos y Punteros
    1. Arreglos unidimensionales y bidimensionales
    2. Operaciones con arreglos: acceso, modificación, iteración
    3. Introducción a punteros y aritmética de punteros
    4. Relación entre punteros y arreglos
  6. Módulo 6: Manejo de Memoria Dinámica
    1. Uso de funciones de asignación dinámica de memoria: malloc(), calloc(), free()
    2. Problemas comunes de manejo de memoria y cómo evitarlos
    3. Aplicaciones prácticas con memoria dinámica: manejo de cadenas, matrices dinámicas
  7. Módulo 7: Introducción a Estructuras de Datos Básicas
    1. Definición y uso de estructuras
    2. Operaciones comunes con estructuras: asignación, acceso a elementos, paso de estructuras a funciones
    3. Introducción a listas enlazadas y su implementación básica

Fundamentos de Python para Análisis de datos

Instructora

  • M.I. Elba Karen Sáenz García

Objetivo

Proporcionar a los/as participantes habilidades para manipular, limpiar, visualizar y analizar datos usando Python y algunas de sus bibliotecas.

Contenido

  1. Módulo 1: Fundamentos de Python para Análisis de Datos
    1. Repaso estructuras de datos (listas, diccionarios, tuplas)
    2. Repaso funciones, comprensión de listas y funciones lambda
    3. Manejo de archivos CSV y otros
    4. Introducción a NumPy:
      1. Creación de arrays y operaciones básicas
      2. Indexación y slicing
      3. Operaciones matemáticas y estadísticas
  2. Módulo 2: Manipulación y Limpieza de Datos con Pandas
    1. Introducción a pandas
    2. Creación de Series y DataFrames
    3. Importación de datos desde archivos
    4. Filtrado y selección de datos
    5. Manejo de valores nulos y duplicados
    6. Transformación y agregación de datos
  3. Módulo 3: Visualización de Datos
    1. Conceptos clave:
      1. Introducción a Matplotlib:
        1. Creación de gráficos de líneas, barras y dispersión
        2. Personalización de títulos, etiquetas y colores
      2. Introducción a Seaborn:
        1. Gráficos avanzados: histogramas, boxplots y mapas de calor
      3. Uso combinado de pandas y seaborn para análisis gráfico
  4. Módulo 4: Análisis de Datos con caso de estudio
    1. Descripción del problema
    2. Exploración inicial de Datos
    3. Limpieza y preparación de datos
    4. Visualización de Datos
    5. Ingeniería de características básica
      1. Análisis de correlaciones entre variables
      2. Identificación de valores atípicos
      3. Visualización de datos
    6. Aplicación de Modelo Básico de Machine Learning
    7. Evaluación del Modelo

Fundamentos de programación con Python

Instructora

  • M.I. Elba Karen Sáenz García

Objetivo

Proporcionar a las participantes habilidades para manipular, limpiar, visualizar y analizar datos usando Python y algunas de sus bibliotecas.

Contenido

  1. Módulo 1: Introducción
    1. Entorno de trabajo
    2. Sintaxis de Python
    3. Tipos de datos. variables y asignación
    4. Operadores y Expresiones. Entrada y salida estándar
  2. Módulo 2: Estructura de Datos
    1. Cadenas
    2. Listas
    3. Tuplas
    4. Conjuntos
    5. Diccionarios
  3. Módulo 3: Estructuras de Control
    1. If, elif y else
    2. while y for in
    3. Uso de estructuras de control en colecciones de datos
  4. Modulo 4: Funciones
    1. Definición y uso
    2. Parámetros y retorno
    3. Estructuración del código en módulos
    4. Bibliotecas estándar
  5. Módulo 5: Manejo de Archivos
    1. Apertura y cierre de archivos
    2. Lectura y escritura en archivos de texto
    3. Guardar y cargar datos

Fundamentos Prácticos de Programación Paralela con OpenMP y MPI

Instructora

  • M.I. Elba Karen Sáenz García

Objetivo

Al finalizar el curso, el participante será capaz de comprender, aplicar y analizar los principios fundamentales de la programación paralela utilizando OpenMP y MPI, desarrollando programas básicos que permitan evaluar el desempeño y distinguir entre los modelos de memoria compartida y distribuida.

Contenido

  1. Modulo 1 Fundamentos del Cómputo Paralelo
    1. Motivación del paralelismo
    2. Memoria compartida vs distribuida
    3. Aceleración, Ley de Amdahl y otras métricas
    4. Herramientas y entornos de desarrollo
    5. Hilos y procesos
  2. Módulo 2 Fundamentos de OpenMP
    1. Arquitectura de OpenMP
    2. Directivas, Funciones y variables de ambiente
    3. Variables privadas y compartidas
    4. Paralelismo de Datos y Funcional
    5. Mecanismo de exclusión mutua
    6. Paralelización de ciclos y reducciones
    7. Ejemplos prácticos
  3. Módulo 3 Fundamentos de MPI
    1. Modelo SPMD
    2. Conceptos y funciones básicas de MPI
    3. Funciones de comunicación punto a punto
    4. Funciones de comunicación colectiva
    5. Ejemplos prácticos

Introducción a Django

Instructora

  • Laura Reyes Carrillo

Objetivo

Al finalizar el curso, el estudiante será capaz de comprender y utilizar los conceptos fundamentales del framework Django para el desarrollo de aplicaciones web basadas en Python. Podrá crear proyectos y aplicaciones, manejar rutas, vistas y plantillas, y ejecutar aplicaciones en un entorno local. Será capaz de estructurar adecuadamente un proyecto, implementar funcionalidades básicas y generar aplicaciones web funcionales con buenas prácticas.

Contenido

  1. Módulo 1: Introducción al entorno de trabajo
    1. ¿Qué es Django? Conceptos básicos del desarrollo web
    2. Instalación de Python y entorno virtual (venv)
    3. Instalación de Django y verificación de la versión
    4. Estructura inicial de un proyecto Django
  2. Módulo 2: Rutas, vistas y plantillas
    1. Estructura de carpetas del proyecto
    2. ¿Qué es el patrón MTV? Función de Model, Template y View
    3. Creación de vistas básicas
    4. Introducción al sistema de plantillas HTML
    5. Crear la primera aplicación
  3. Módulo 3: Modelos, migraciones y base de datos
    1. Modelo SPMD
    2. ¿Qué es un modelo? Creación de modelos
    3. Tipos de campos más comunes
    4. Migraciones: makemigrations y migrate
  4. Módulo 4: Formularios básicos
    1. Modelo SPMD
    2. Crear un formulario HTML simple
    3. Procesar datos enviados desde el navegador
    4. Implementación básica de un CRUD
  5. Módulo 5: Panel de administración y proyecto final
    1. Organización general del proyecto: apps, templates, static
    2. Revisión de errores comunes y buenas prácticas básicas
    3. Integración final del proyecto completo (modelo + vista + template)
    4. Ejecución final y recomendaciones para continuar aprendiendo

Taller de Automatización con Excel y Macros para Ingeniería

Instructores

  • Ivan Martínez Martínez
  • Hugo Abraham Rivera Rodriguez

Objetivo

Proporcionar a los participantes las habilidades necesarias para grabar, editar y programar macros en Excel, permitiendo la automatización de procesos y la resolución rápida de cálculos aplicados a la ingeniería.

Contenido

  1. Sesión 1
    1. Introducción a VBA, grabadora de macros, entorno de desarrollo y variables básicas (2 horas).
  2. Sesión 2
    1. Estructuras de control (IF, FOR, WHILE) y manipulación de celdas y rangos mediante código (2 horas).
  3. Sesión 3
    1. Creación de funciones personalizadas (UDF), manejo de errores y botones de interfaz (2 horas).
  4. Producto final esperado
    1. Un libro de Excel funcional que incluya macros programadas desde cero para limpiar, procesar y presentar un conjunto de datos técnicos o de laboratorio de manera automática.

Fundamentos prácticos de Linux: Domina la terminal

Instructor

  • Rubén Pedro Jiménez Enriquez

Objetivo

Capacitar a los estudiantes para interpretar, procesar y extraer información útil de archivos XML mediante herramientas accesibles como Microsoft Excel y Python, con énfasis en aplicaciones prácticas como la lectura de comprobantes fiscales digitales (CFDI) del SAT.

Contenido

  1. Módulo 1: Introducción a Linux y navegación básica
    1. ¿Qué es Linux? Historia y distribución del sistema
    2. Diferencias con otros sistemas operativos
    3. Comandos básicos de navegación: pwd, ls, cd, clear, echo
    4. Estructura del sistema de archivos Linux
  2. Módulo 2: Archivos, permisos y gestión de usuarios
    1. Manipulación de archivos y directorios: cp, mv, rm, mkdir, touch
    2. Permisos y propiedades de archivos (rwx, chmod, chown, ls -l)
    3. Concepto de usuarios y grupos en Linux
    4. Comandos de gestión de usuarios: whoami, id, adduser, passwd
  3. Módulo 3: Gestión de procesos y software
    1. Visualización y control de procesos: ps, top, kill, jobs, bg, fg
    2. Instalación y administración de software con APT: install, remove, update, upgrade
  4. Módulo 4: Redirecciones, tuberías y scripting básico
    1. Redirección de entrada/salida: >, >>, <, 2>.
    2. Introducción a Bash scripting: variables, condicionales, scripts ejecutables
    3. Creación y ejecución de scripts simples
  5. Módulo 5: Automatización y red
    1. Comandos de red básicos: ping, curl, wget, ip a
    2. Visualización de logs del sistema: cat, tail, less, journalctl
    3. Automatización de tareas

Fundamentos de Python para Análisis de datos

Instructora

  • M.I. Elba Karen Sáenz García

Objetivo

Proporcionar a los/as participantes habilidades para manipular, limpiar, visualizar y analizar datos usando Python y algunas de sus bibliotecas.

Contenido

  1. Módulo 1: Introducción
  2. Módulo 2: Estructura de Datos
  3. Módulo 3: Estructuras de Control
  4. Modulo 4: Funciones
  5. Módulo 5: Manejo de Archivos

Fundamentos de Programación con Python

Instructora

  • M.I. Elba Karen Sáenz García

Objetivo

Proporcionar a las participantes habilidades para manipular, limpiar, visualizar y analizar datos usando Python y algunas de sus bibliotecas.

Contenido

  1. Módulo 1: Fundamentos de Python para Análisis de Datos
  2. Módulo 2: Manipulación y Limpieza de Datos con Pandas
  3. Módulo 3: Visualización de Datos
  4. Módulo 4: Análisis Exploratorio de Datos
  5. Módulo 5: Introducción a Machine Learning con Scikit-Learn

Curso Practico de LaTeX para Redacción Academica y Cientifica

Instructores

  • Iván Martínez Martínez
  • Hugo Abraham Rivera Rodriguez

Objetivo

Capacitar a los participantes en el uso de LaTeX para estructurar, compilar y dar formato a documentos técnicos complejos, manejando correctamente ecuaciones, referencias cruzadas y bibliografía.

Contenido

  1. Sesión 1
    1. Introducción a LaTeX (Overleaf vs. instalación local), preámbulo y estructura básica del documento (2 horas).
  2. Sesión 2
    1. Formato de texto, creación de listas, secciones y elaboración de tablas simples y complejas (2 horas).
  3. Sesión 3
    1. Escritura de expresiones matemáticas, ecuaciones numeradas y símbolos científicos (2 horas).
  4. Sesión 4
    1. Inserción de imágenes, manejo de figuras, referencias cruzadas y automatización de índices (2 horas).
  5. Sesión 5
    1. Gestión de bibliografía con BibTeX, uso de plantillas para reportes y tesis, y proyecto integrador (2 horas).
  6. Producto final esperado
    1. Un documento final en formato PDF compilado desde LaTeX (como un artículo o reporte de laboratorio) que integre portada, índice automático, ecuaciones matemáticas, tablas, imágenes referenciadas y bibliografía.

Introducir a los participantes en el uso básico de Docker como herramienta para crear entornos de ejecución reproducibles, permitiendo ejecutar programas y dependencias de forma aislada, portable y controlada.

Instructora

  • Laura Reyes Carrillo

Objetivo

Introducir a los participantes en el uso básico de Docker como herramienta para crear entornos de ejecución reproducibles, permitiendo ejecutar programas y dependencias de forma aislada, portable y controlada.

Contenido

  1. Sesión 1: Introducción a Docker y contenedores
  2. Sesión 2: Creación de imágenes propias con Dockerfile
  3. Sesión 3: Docker Compose y mini proyecto final Producto final esperado: Proyecto funcional que incluya un programa básico en Python, archivo requirements.txt, Dockerfile y archivo compose.yaml, ejecutado mediante Docker.

Programación en Lenguaje C: De lo Básico a lo Intermedio

Instructora

  • M.C. Laura Sandoval Montaño

Objetivo

Al finalizar el curso, los estudiantes habrán adquirido las bases esenciales del lenguaje C y técnicas intermedias para desarrollar programas. Serán capaces de escribir código estructurado y modular, manejar punteros y memoria dinámica, y aplicar conceptos intermedios para resolver problemas prácticos utilizando C.

Contenido

  1. Módulo 1: Introducción al Lenguaje C y Configuración del Entorno
    1. Historia y aplicaciones de C
    2. Instalación y configuración del entorno de desarrollo (IDE o terminal)
    3. Estructura básica de un programa en C
    4. Primer programa en C: "Hola Mundo"
  2. Módulo 2: Tipos de Datos y Operaciones Básicas
    1. Tipos de datos primitivos: int, float, char, double, void
    2. Declaración de variables y constantes
    3. Operadores aritméticos, lógicos, de comparación y asignación
    4. Conversión de tipos y operaciones entre tipos de datos
  3. Módulo 3: Estructuras de Control de Flujo
    1. Condicionales: if, else, else if, switch
    2. Bucles: for, while, do-while
    3. Sentencias de control: break, continue, return
    4. Buenas prácticas en el control de flujo y optimización del código
  4. Módulo 4: Funciones y Modularización del Código
    1. Declaración, definición y uso de funciones
    2. Paso de parámetros por valor y por referencia
    3. Retorno de valores y buenas prácticas de modularización
    4. Archivos de cabecera (.h) y separación del código en múltiples archivos
  5. Módulo 5: Arreglos y Punteros
    1. Arreglos unidimensionales y bidimensionales
    2. Operaciones con arreglos: acceso, modificación, iteración
    3. Introducción a punteros y aritmética de punteros
    4. Relación entre punteros y arreglos
  6. Módulo 6: Manejo de Memoria Dinámica
    1. Uso de funciones de asignación dinámica de memoria: malloc(), calloc(), free()
    2. Problemas comunes de manejo de memoria y cómo evitarlos
    3. Aplicaciones prácticas con memoria dinámica: manejo de cadenas, matrices dinámicas
  7. Módulo 7: Introducción a Estructuras de Datos Básicas
    1. Definición y uso de estructuras
    2. Operaciones comunes con estructuras: asignación, acceso a elementos, paso de estructuras a funciones
    3. Introducción a listas enlazadas y su implementación básica

Taller de Introducción a Docker para Entornos Reproducibles

Instructora

  • Laura Reyes Carrillo

Objetivo

Introducir a los participantes en el uso básico de Docker como herramienta para crear entornos de ejecución reproducibles, permitiendo ejecutar programas y dependencias de forma aislada, portable y controlada.

Contenido

  1. Sesión 1: Introducción a Docker y contenedores
  2. Sesión 2: Creación de imágenes propias con Dockerfile
  3. Sesión 3: Docker Compose y mini proyecto final Producto final esperado: Proyecto funcional que incluya un programa básico en Python, archivo requirements.txt, Dockerfile y archivo compose.yaml, ejecutado mediante Docker
Universidad Nacional Autónoma de México
Facultad de Ingeniería, Av. Universidad 3000, Ciudad Universitaria, Coyoacán, México D. F., CP 04510
Teléfono: 56 22 08 66
Fax: 56 16 28 90

Sitios de Interés

  • ANFEI
  • CACEI
  • Alianza FIDEM
  • INGENET
Copyrights © 2025 / Facultad de Ingeniería/UNAM/