Notas Universidad
Contenido
Inicializando búsqueda
    cardel/notasUniversidad
    • Notas Universidad
    • 2023 II
    • 2024 I
    • 2024 II
    • 2025 I
    • 2025 II
    • 2026 I
    • 2026 II
    cardel/notasUniversidad
    • Notas Universidad
      • 2023-II
        • 0. Explicación Notas de Cornell (1)
        • 1. Relaciones de recurrencia método de arbol
        • 2. Relaciones de recurrencia método del maestro
        • 3. Método inductivo
        • 4. Lista enlazada
        • ADA I
        • 0. Explicación Notas de Cornell (1)
        • 1. Abstracción de datos
        • 2. Abstracción de datos
        • Funcional - Jueves
        • 0. Explicación Notas de Cornell
        • 1. Conceptos abstracción de datos
        • Funcional-Martes
        • Ejemplos postman
        • Redes Neuronales
      • FLP
      • IA innovador
      • Introducción análisis numérico
      • Programación funcional (PFC)
      • Programación imperativa
      • 2024-I
      • Vida artificial
        • Contenido del curso
        • Arquitecturas en la nube
        • Sesión 01: Introducción a la nube I
        • Sesión 02: Introducción a la nube II
        • Sesión 03: PAAS/IAAS/SAAS I
        • Sesión 04: Ejemplo PaaS
        • Sesión 05 IaaS II, PaaS I
        • Sesión 06: Ejemplo implementación
        • Sesión 07 Tendencias en Cloud y Clusterización
        • Sesión 08: Introducción AWS
        • Sesión 09: Modelo de costos / Infraestructura global / Seguridad I
        • Sesión 10 VPC
        • Sesión 11: Route 53, Cloudfront, EC2
        • Sesión 12: Computo II almacenamiento (datos y bd)
        • Sesión 13. Bases de datos / Arquitectura / Monitoreo
          • Parte 1 despliegue app
          • Parte 2: Funciones lambda (AWS)
          • Parte 3 Azure functions (Microsoft)
          • Ejemplo 1: SDK con S3
          • Ejemplo 2: SDK con Azure container
          • Ejemplo 3: Creación de base de datos (RDS) SDK
          • Solución 1: AWS
          • Solución 2: Azure
          • Parte 1: Tendencias en cloud
          • Parte 2: Clusters
          • Parte 3: Infraestructura como código
          • Conceptos sobre AWS
          • Práctica de uso de EC2 en el lab
          • Laboratorio 1 con AWS Cli
          • Teoria redes y seguridad en AWS
          • Arquitectura
          • Balanceo de carga y monitoreo
          • Bases de datos
          • Parte 1: Costos
          • Parte 2: Infraestructura AWS
          • Parte 3: Seguridad 1
        • Cierre del curso
        • Sesion 3: 29 de Feb Representación de datos
        • Sesion 4: 07 de Marzo: AST (Arboles de sintaxis abstracta)
        • Sesión 10: Tipos
        • Sesión 11 Inferencia de tipos
        • Sesión 12: Objetos simples
        • Sesión 13: Objetos planos
        • Sesión 2: 22 de Feb: Especificación inductiva y recursiva
        • Sesión 9: 18 de Abril Asignación
        • Sesión 9: 18 de Abril: Paso por referencia
        • Sesion 12 de Julio AWS I
        • Sesion 20 de Mayo: Problemas con grandes datos y estrategias
        • Sesion 24 Junio Capstone project
        • Sesiones de retos (3 Jul, 5 Jul)
        • Sesión 05 de Junio Teoria Procesamiento de Lenguaje natural y RNN
        • Sesión 06 de Julio (Master class)
        • Sesión 06 de Mayo Repaso
        • Sesión 07 de Junio Práctica PLN
        • Sesión 08/10 de Julio Retos Jupyter
        • Sesión 08 de Mayo Repaso II parte
        • Sesión 10 de Mayo: Estrategias de entrenamiento
        • Sesión 12 de Junio Cocreación A
        • Sesión 14 de Junio: Comentarios sobre cocreación B
        • Sesión 15 de Mayo Función de activación
        • Sesión 15 de julio AWS II
        • Sesión 17 de Julio AWS III
        • Sesión 17 de Junio Comentarios retos
        • Sesión 19 de Junio AWS IV
        • Sesión 19 de Junio: Autoencoders I
        • Sesión 22 de Julio
        • Sesión 22 de Junio: Autoencoders II
        • Sesión 22 de Mayo Redes Convolucionales + imágenes
        • Sesión 24 de Junio: Practica autoencoders
        • Sesión 24 de Mayo Tensorflow (imagenes)
        • Sesión 25 de Mayo: Master class
        • Sesión 26 y 28 de Junio Autoencoders variacionales / Generative adversarial network
        • Sesión 27 de Mayo Redes Recurrentes
        • Sesión 29 de Mayo Redes Convolucionales
        • Sesión 31 de Mayo Series de tiempo
            • Datos
            • Modelos
            • Plan de capacitación
            • Presentación de la información
            • Presentación de su idea
            • Recomendación: Probar otro modelo
            • Soporte del problema
            • Untitled
        • Cierre del curso
        • Sesion 6: Ajuste del BP
        • Sesión 09: Procesamiento de texto e imágenes
        • Sesión 10: Errores
        • Sesión 11: parte 1: Errores II
        • Sesión 12: Descomposición de matrices
        • Sesión 2: Introducción RN
        • Sesión 3: Perceptrón y adaline
        • Sesión 4: Perceptrón multicapa 06 de Marzo
        • Sesión 5: Métricas perceptrón multicapa
        • Sesión 7: Procesamiento de datos
        • Sesión 8: Metricas y procesamiento de salidas
        • Cierre del curso
        • Sesión 02: Elementos PF
        • Sesión 03: 27 de Feb
        • Sesión 05: Extendiendo la abstracción
        • Sesión 08 Colecciones
        • Sesión 10: Concurrencia de procesos
        • Sesión 11: Paralelismo
        • Sesión 4: 05 de Marzo Funciones anónimas, currificación y abstracción
        • Sesión 6: Reconocimiento de patrones
        • Sesión 7: Funciones alto orden
        • Sesión 9: Introducción concurrencia
        • Cierre del curso
        • Sesión 09: Arreglos multidimensionales
        • Sesión 1. Metodología para resolver problemas
        • Sesión 10: GUI
        • Sesión 2: Introducción a programar
        • Sesión 3: Variables y condicionales
        • Sesión 4: Funciones I
        • Sesión 5: 13 de Marzo Funciones II
        • Sesión 6: Ciclos for
        • Sesión 7: Ciclos while
        • Sesión 8: Arreglos unidimensionales
        • Resumen del curso
        • Sesión 01 20 de Feb
        • Sesión 03: Redes Complejas
        • Sesión 04: Fractales
        • Sesión 05: Teoria de Juegos
        • Sesión 06 Algoritmos evolutivos
        • Sesión 07 - Caos
        • Sesión 08: Automatas celulares
        • Sesión 2 P1: Sistemas complejos
            • Ejemplo MTU
            • Gradualidad: Experimentos mentales
            • Gradualidad
            • MTU
            • Sistema complejo
      • ADA II
      • Capacitación Power Bi y Python UNAL
      • FLP
      • Infraestructuras
      • 2024-II
      • Programación funcional
      • Redes Neuronales
        • Sesion 05: Programacion voraz
        • Sesión 02: Divide y vencerás con memorización
        • Sesión 03: Programación dinámica I
        • Sesión 04: Programación dinámica II
        • Sesión 06: Programación voraz II
        • Sesión 07: Optimización
        • Sesión 09: Repaso
        • Sesión 11 Problemas computacionales
        • Sesión 01: Repaso Racket
        • Sesión 02: Especificación de Datos y alcance
        • Sesión 03: Representación de datos abstractos
        • Sesión 04: Árboles de sintaxis abstracta
        • Sesión 05: Interpretador
        • Sesión 06: Condicionales, ligaduras y procedimientos
        • Sesión 07: Procedimientos recursivos
        • Sesión 08: Sesión de repaso
        • Sesión 09: Asignación y paso por referencia
        • Grupo 50
        • Grupo 51
        • Recursos
          • Sesión 01: Introducción a la paralelización
          • Sesión 04 de Septiembre: Introducción paralelización II
          • Sesión 05: Perfilado
          • Sesión 06: Procesos e hilos
          • Sesión 07: OpenMP
          • Sesión 08: Sistemas distribuidos
          • Sesión 09: Repaso
          • Sesión 10: Docker y kubernetes
          • Sesión 11: Balanceadores
          • Clase 02: Introducción a la paralelización
          • Clase 03: Introducción paralelización II (Ejercicio)
          • Clase 04: Paralelización II
          • Clase 05 Profiling
          • Clase 06 Hilos y procesos en Python
          • Clase 07 OpenMP
          • Clase 08: Repaso
          • Clase 09: Introducción sistemas distribuidos
          • Clase 11: Docker y kubernetes
          • Clase 12: Balanceadores carga
        • Sesion 09: Repaso de conceptos de PF
        • Sesión 02. Elementos de PF
        • Sesión 03: Funciones y procesos
        • Sesión 04. Funciones de alto orden
        • Sesión 05: Funciones y datos
        • Sesión 06: Listas I
        • Sesión 07: Listas II
        • Sesión 08: Colecciones I
        • Sesión 10: Colecciones II
        • Sesión 11: Introducción al parelismo
        • Introducción y elementos de las RN
        • Sesión 02 Perceptrón y adaline
        • Sesión 03: Procesamiento de datos I
        • Sesión 04: Procesamiento de datos II
        • Sesión 05: Tensorflow
        • Sesión 08. Perceptrón multicapa
        • Sesión 09: Repaso
        • Sesión 10: Regularización y optimizadores
      • Algoritmos I Jala University
      • Algoritmos II
      • Estructuras discretas II ICESI
      • FLP
      • Infraestructuras
      • Programación funcional
      • Programación por restricciones
      • 2025-1
        • Clase 1. Algoritmos
        • Clase 2 Complejidad
        • Clase 4: Ordenamiento
        • Clase 5 Algoritmos de búsqueda
        • Clase 6: Estructuras de datos I
        • Clase 7: Estructuras de datos II
        • Clases 3: Complejidad recurrencias y estrategias algorítmicas
        • Notas
        • Recursos adicionales
        • Clase 10 Ejemplos de demostración NP-HARD
        • Clase 2: Divide y vencerás con memorización. Programación dinamica
        • Clase 3: Multiplicación de matrices y elementos programación dinámica
        • Clase 4: Problema de la mochila y programación Voraz 1
        • Clase 5: Algoritmos voraces y algoritmos sobre grafos
        • Clase 6: Introducción a la optimización
        • Clase 7: Método gráfico
        • Clase 8: Forma estándar y Simplex
        • Clase 9: Tablero Simplex y Branch and Bound
        • Introducción a la complejidad computacional
        • Reducción SAT a 3-SAT
        • Grupo 01
        • Grupo 03
        • Grupo 05
          • Clase 02 de Mayo: Funciones de alto orden
          • Clase 05 de Marzo. Inducción estructural y generalizada
          • Clase 07 de Mayo: Expresiones for, teoremas de teoria de números
          • Clase 10 de Mayo: Teorema de residuo chino y representación números grandes
          • Clase 11 de Abril Teoría de Números II
          • Clase 12 de Feb Relaciones
          • Clase 12 de Marzo: Funciones, procesos. Relaciones recurrencia
          • Clase 19 de Feb Listas
          • Clase 19 de Marzo Relaciones de recurrencia II
          • Clase 23 de Mayo: RSA y TAD
          • Clase 25 de Abril Repaso teoría de números
          • Clase 26 Marzo: Relaciones RR y Funciones alto orden
          • Clase 26 de Febrero Inducción matemática
          • Repaso de RSA y comentarios sobre la TI
            • Ejemplos iniciales clase
          • Clase 02 de Mayo: Funciones de alto orden, colecciones y expresiones for
          • Clase 02 de Mayo Colecciones, funciones de alto orden y expresiones for
          • Clase 05 de Febrero Relaciones
          • Clase 05 de Marzo: Inducción estructural
          • Clase 07 de Mayo: Expresiones for, congruencias lineales
          • Clase 11 de Abril: Teoría de números II
          • Clase 12 de Febrero
          • Clase 12 de Marzo de 2025 Relaciones de recurrencia I
          • Clase 14 de Mayo: Sistemas de congruencias, teorema del residuo chino y sistemas de números
          • Clase 19 de Feb Listas
          • Clase 19 de Marzo: Relaciones de recurrencia II
          • Clase 23 de Mayo de 2025 Criptografia y RSA
          • Clase 25 de Abril repaso teoría de números
          • Clase 26 de Febrero: Inducción matemática
          • Clase 28 de Mayo: Apuntes sobre la TI
        • Clase 1: Repaso
        • Clase 10: Inferencia de tipos
        • Clase 11: Objetos
        • Clase 2 Abstracción de datos
        • Clase 3: Representación de datos
        • Clase 4. Árboles de Sintaxis Abstracta (AST)
        • Clase 5: Interpretación y compilación
        • Clase 6: Condicionales, locales y procedimientos
        • Clase 7: Procedimientos recursivos
        • Clase 8: Asignación, paso por referencia
        • Clase 9: Chequeo de tipos
        • Semana 10: Docker y kubernetes II
        • Semana 11: Kubernetes / Docker Swarm
        • Semana 2: Introducción a la paralelización
        • Semana 3: Ejemplos de paralelización
        • Semana 4. Profiling
        • Semana 5. Multithreading y multiproceso
        • Semana 6: OpenMP
        • Semana 7 Herramientas de profiling en Linux
        • Semana 8: Intro Cloud y Pipelines CI/CD
        • Semana 9: Docker y Kubernetes I
          • Crear un Deployment
        • Clase 10: Introducción a Programación Concurrente (PC)
        • Clase 11: Complejidad de la paralelización
        • Clase 12: Paralelismo de tareas
        • Clase 14: Paralelismo de datos
        • Clase 2. Elementos de programación funcional
        • Clase 3: Funciones y procesos
        • Clase 4: Funciones de alto orden
        • Clase 5: Funciones y datos
        • Clase 6: Listas I
        • Clase 7: Listas II
        • Clase 8 Colecciones I
        • Clase 9: Colecciones II
        • Clase 10 Solvers completos
        • Clase 11. Consistencia
        • Clase 12: Solvers incompletos
        • Clase 13: Propagación y búsqueda
        • Clase 2: Introducción a CSP
        • Clase 3: Generalidades de CSP I
        • Clase 4: Generalidades de CSP II
        • Clase 5: Modelado básico en Minizinc
        • Clase 6: Modelos complejos I
        • Clase 7: Modelos complejos II
        • Clase 8: Modelos complejos III
        • Clase 9 Modelos complejos IV
      • Cursos 2025-II
        • Sesiones
          • Contenido
          • Divide y vencerás
          • Ejemplo de divide y vencerás con memorización
          • Objetivos
          • Programación entera
          • Vertex Cover
          • Objetivos
          • Demostración que MaxClique es NPC
          • Objetivo de clase
          • Elementos de programación dinámica
          • LCS
          • Objetivos
          • Problema MCM (Multiplicación de Matrices)
          • Caracterización de la Subestructura Óptima
          • Objetivos
          • Definicion
          • Problema de la mochila 0/1
          • Que es
          • Algoritmo de Dijisktra
          • Arbol de recubrimiento minimo
          • Objetivos
          • Problema de cambio de monedas
          • Objetivos
          • Forma de holgura
          • Introducion optimizacion
          • Transformar un problema a forma estandar
          • Objetivos
          • Generalidad de programacion lineal
          • Metodo Simplex 2D (Grafico)
          • Metodo Simplex nD (Holgura)
          • Metodo Simplex nD (Tablero)
          • Resumen
          • Objetivos
          • Programacion entera
          • Resumen
          • Simplex no factible
          • 3SAT
          • Objetivos
          • Problema SAT
          • Problemas NPC
          • Problemas computacionales
          • Problemas computacionales.
          • Clasificación de maquinas de Turing
          • Enunciado parcial
        • Clases
          • Resumen: Fundamentos de Algoritmia
          • Fundamentos de algoritmos
          • Algoritmos de fuerza bruta
          • Definición
          • Definición
          • Contenido
          • Definiciones
          • Algoritmo buble sort
          • Algoritmo counting sort
          • Algoritmo de insertion sort
          • Algoritmo de mergesort
          • Algoritmos de ordenamiento
          • Recursos
          • Descripción
          • Definición
          • Contenido
          • Divide y vencerás
          • Introducción
          • Contenido
          • Introducción
          • Introducción
          • Cola de prioridad
          • Contenido
          • Lista doblemente enlazada
          • Lista enlazada circular
          • Lista simplemente enlazada
        • Clases
          • Recursos
          • Gramaticas
          • Definición
          • Objetivos
          • Sistema de tipos para el intérprete
          • Introducción a los sistemas de tipos
          • Objetivos
          • Interpretador tipos chequeo I
          • Interpretador tipos chequeo II
          • Evaluación de procedimientos
          • Let
          • Interprete chequeo parte 1
          • Objetivos
          • Ejemplo 1 Inferencia
          • Ejemplo 2 Inferencia
          • Interpretador inferencia
          • Primitivas
          • Interprete de chequeo
          • Objetivos
          • Conceptos básicos de programación orientada a objetos
          • Objetos planos
          • Objetos simples
          • Sintaxis de la programación orientada a objetos II
          • Sintaxis de la programación orientada a objetos I
          • Alcance
          • Objetivos
          • Ocurrencia
          • Especificacion recursiva de programas
          • Representacion gramaticas
          • Representación inductiva
          • Ambientes
          • Objetivos
          • Estrategias de representacion TAD
          • TAD
          • Arboles de sintaxis abtracta
          • Objetivos
          • Define-datatype
          • Arboles binarios
          • Ejemplo con ambientes
          • Definiciones
          • Objetivos
          • Resumen
          • Interpretador
          • Introduccion Interpretador
          • Compilados
          • Objetivos
          • Condicionales
          • Ligaduras locales
          • Procedimientos
          • Preambulo
          • Ejercicio
          • Evaluación procedimiento recursivos
          • Implementación de procedimientos recursivos I
          • Modificaciones a la gramática
          • Resumen
          • Ambientes recursivos
          • Asignación
          • Objetivos
          • Implementacion referencia
          • Implementación del set
          • Interprete asignación
          • Interprete paso por referencia
          • Paso valor y referencia
          • Clase
          • Punto 1 Abstracción de datos
            • Solución examen
            • Punto 1 Listas Python
            • Punto 2 Análisis de código
        • Cronograma
          • Introducción
          • Que son
          • Que son
          • 4. On premises
          • Contenido
          • Servicios cloud
          • Contenido
          • Guía de Clase: Servicios IaaS, PaaS y SaaS en AWS y Azure
          • Definiciones
          • Contenido
          • FaaS (Function as a Service) en AWS y Azure
          • Apuntes
          • Contenido
          • Taller Docker
          • Apuntes despliegue en AWS
          • Contenido
          • Infraestructura como código
          • Taller IAC
          • AWS Kinesis
          • Contenido
          • Servicios de IA en AWS
          • Servicios de IA en Microsoft Azure
          • Servicios de Mensajería en AWS
          • Servicios de Mensajería en Microsoft Azure
          • 1. Definiciones
          • Contenido
          • 1. Aspectos básicos de precios
          • Sobre la certificación
          • Definiciones
          • Buenas practicas
          • Contenido
          • Herramientas de aws para estimación de costos
          • Infraestructura
          • Definiciones
          • AWS Support Plans Comparison
          • Amazon VPC
          • AWS Service catalog
          • Cloudfront
          • Conceptos básicos
          • Contenido
          • Grupos de seguridad
          • AWS Organizations
          • Protección de datos en reposo
          • Route 53
          • Introducción
          • Introducción
          • Introducción
          • Contenido
          • EC2
          • Tipos de servicios
          • Modelos de precios
          • Amazon Aurora
          • Amazon DynamoDB
          • Amazon RedShift
          • Contenido
          • EBS
          • Introducción
          • RDS
          • S3 Glacier
          • Recursos
          • AWS Trusted Advisor
          • Autoscaling
          • Cloud Watch
          • Contenido
          • Elastic load Balancing
          • Fiabilidad
          • ¿Que es?
        • Corte 1
          • Arquitecturas de Sistemas Distribuidos
          • Objetivos
          • GitHub Actions: Automatización de CI/CD Integrada
          • Introducción a los Sistemas Distribuidos
          • Pipelines CI/CD: Automatización para Desarrollo Ágil
          • Objetivos
          • Docker
          • Virtualización
          • Objetivos
          • Docker
          • Limitaciones de Docker
          • Objetivos
          • Ejemplo de despliegue
          • Qué es
          • Contenido
          • Ley ahmdal
          • Localidad memoria cache
          • Paralelizacion
          • Resumen
          • Resumen
          • Explicación Detallada del Código con TBB (Threading Building Blocks)
          • Compilación con lpthreads
          • Paralelización en C++
          • Ambientes virtuales
          • Objetivos
          • ¿Qué es el profiling?
          • Pyinstrument
          • Perfiladores time y timeit
          • cProfile
          • Objetivos
          • Instrucciones AVX
          • Resumen AVX
          • Objetivos
          • Hilos y procesos
          • Multiproceso en Python I
          • Multiproceso en Python II
          • Librería Thread
          • Objetivos
          • OpenMP I
          • OpenMP II
          • OpenMP III
          • Problema localizacion
          • Resumen
          • Objetivos
          • Perf
          • Tipos de salida S.O
          • Valgrind
          • top
          • Punto 1 Estudio de herramienta
          • Resolución de problema
          • Análisis de caso
          • Solucion
          • Corte 1
            • Contenido
            • Programacion funcional
            • Abstracción parallel
            • Abstracción task
            • Objetivos
            • Computación paralela
            • Ejercicio
            • Paralelismo en JVM
            • Benchmarking
            • Objetivos
            • Complejidad de Programas Paralelos
            • Ejercicio: Paralelización de Sumatoria Geométrica
            • Ley Amhdal
            • Resumen de la Clase: Complejidad y Paralelismo
            • Ejercicio
            • Objetivos
            • Paralelismo de tareas
            • Paralelismo de tareas con Reduce
            • Solución del ejercicio
            • Objetivos
            • Paralelismo de datos
            • Paralelismo de tareas Scan
            • Contenido
            • Tipos de evaluación
            • Principios de PF
            • Resumen
            • Currificación
            • Funciones de Alto Orden y Anónimas en Scala
            • Recursión de Árbol
            • Recursión en Programación
            • Objetivos
            • Currificación
            • Ejemplo
            • Funciones de alto orden
            • ¿Que es ?
            • Definiciones
            • Objetivos
            • Jerarquia de clase
            • Objetivos
            • Listas
            • Problematica
            • Reconocimientos de patrones II
            • Objetivos
            • Map
            • Reduce o reducir
            • Resumen de Operaciones Funcionales en Scala
            • Tuplas
            • Objetivos
            • Colecciones
            • Ejercicio expresiones for
            • Expresiones for
            • Flatmap
            • Operaciones sobre secuencias
            • Resumen
            • Set
            • Objetivos.
            • Evaluacion perezosa
            • Expresiones for
            • Map
            • Problema
            • Programación funcional
          • Corte 1
            • Contenido
            • Imperativo
            • Abstracción Parallel
            • Abstracción Task
            • Objetivos
            • Computación Paralela y Concurrente
            • Concurrencia en la JVM
            • Ejercicio de Paralelización
            • Resumen de Computación Paralela y Concurrente
            • Benchmarking
            • Objetivos
            • Complejidad de programas secuenciales
            • Ejercicio: Producto Vectorial Paralelo
            • Ejercicio
            • Ley de Amdahl
            • Resumen de Temas de Paralelismo y Complejidad
            • Ejercicio
            • Objetivos
            • Paralelismo y colecciones
            • Paralelización del Map
            • Paralelización del reduce
            • Objetivos
            • Paralelismo de datos
            • Paralelismo de tareas Scan
            • Bloques de código
            • Caracteristicas de la programación funcional
            • Introducción
            • Evaluación por nombre
            • Evaluaciones de expresiones por valor
            • Objetivos
            • Currificación
            • Funciones anónimas en Scala
            • Funciones de alto orden
            • Recursión: Lineal vs Cola
            • Recursión de Árbol: El caso de Fibonacci
            • Objetivos
            • Ejemplo de abtracción
            • Análisis de Abstracción Funcional mediante Currificación
            • Funciones de Alto Orden: Análisis Técnico
            • Jerarquia de clases
            • Abstracción de datos
            • Objetivos
            • Jerarquia de clases
            • Objetivos
            • Ejemplos reconocimiento
            • Listas
            • Reconocimiento de patrones I
            • Reconocimiento de patrones II
            • Objetivos
            • FoldLeft y FoldRight
            • Map
            • Parametrizacion de tipos
            • Reduce
            • Resumen
            • Tuplas
            • Objetivos
            • Jeraquia de las colecciones
            • Ejercicio de flatmap
            • Ejercicio expresiones for
            • Expresiones for
            • Flatmap
            • Logicas
            • Resumen de la Clase - Colecciones en Scala
            • Set
            • Objetivo
            • Consultas con expresiones for
            • Ejercicio
            • Evaluacion perezosa
            • Maps
            • Programación funcional
      • Cursos
        • Sokoban (Tipo 1: Pregunta 2 / Tipo 2: Pregunta 3).
        • Arboles y grafos PUJ Cali
        • Solución — Primer Parcial Árboles y Grafos 2026-1
        • Codigos
          • Repaso
          • Busquedas
          • Como vamos
          • Grafo complementario
          • Grafos bipartito
          • Representaciones de grafos dirigidos
          • Representaciones de grafos no dirigidos
          • Búsqueda por Amplitud (BFS)
          • Como vas
          • Búsqueda por Profundidad (DFS)
          • Grafo implícito
          • Resumen de Conceptos de Búsqueda en Grafos
          • Punto 1 - Dividir y Conquistar [13 pts.]
          • Punto 2 - Grafos Bipartitos [15 pts.]
          • Solucion examen
          • Como vamos
          • Definiciones
          • Idea
          • Idea
          • Conectividad en grafos
          • Como vamos
          • Conectividad II - Revisión y Ampliación
          • Orden Topológico - Revisión y Ampliación
          • Algoritmos para detección de SCC
          • Como vamos
          • Componentes fuertemente conexos (SCC)
          • Algoritmo de Tarjan
          • Temas
          • Problema de puentes y articulaciones
          • Algoritmo de Tarjan para puentes y puntos de articulación
          • Algoritmo de Pila de Aristas
          • Como vamos
          • Componentes biconexas
          • Resumen
          • Temas
          • Grafo ponderado
          • Relajación
          • Explicación tarea 1
          • Problematica
          • Codigo fuente
          • Correctitud y complejidad del algoritmo de Bellman-Ford
          • Descripción del algoritmo de Bellman-Ford
          • Algoritmo Dijkstra
          • Temas
          • Correctitud del algoritmo de Dijkstra
          • Grafos con estado I
          • Implementación de Dijkstra
          • Algoritmo de Floyd‑Warshall
          • Como vamos
          • Correcitud de Floyd Warshall
          • Implementacion en Python
          • Motivacion
          • Representaciones
          • Definiciones
          • Especificación recursiva de árboles
          • Propiedades y representación de árboles
          • Medidas en los grafos
          • Codigos
          • Enfoque de divide y vencerás
          • Centro
          • Expectativas
          • Árboles de Segmentos
          • Update
          • Árboles de Fenwick (Fenwick Tree / Binary Indexed Tree)
          • Clase 29 Union Find
          • Objetivos
          • Invariantes de ciclo
          • Notación asintótica
          • Árboles de cobertura mínima
          • Contenido
          • Implementacion Kruskal
          • Implementacion Prim
          • Soluciones
          • Codigos lazy propagation
          • Problema UVA 11235
          • Evaluación perezosa
          • Objetivos
          • Diapositivas
          • Divide y vencerás I
          • Objetivos
          • Objetivos
          • Divide y vencerás
          • Invariantes de ciclos
          • Resumen
          • Algoritmo de la bisección continuo
          • Algoritmo de la bisección
          • Análisis de complejidad de la bisección
          • Objetivo
          • Resumen de clase: Algoritmo de la bisección
          • Como vamos
          • Familias de Grafos
          • Introducción a los Grafos
          • Resumen de Conceptos de Teoría de Grafos
          • Teorema de Handshaking (Apretón de Manos)
        • Recursos
          • Relaciones
          • Objetivos
          • Clase 10. Solucion seguimiento e induccion
          • Ejercicio 2: Inducción
          • Inducción matemática
          • Solución del seguimiento
          • Como vamos
          • Definición recursiva de datos
          • Inducción estructural
          • Como vamos
          • Divide y vencerás
          • Reconocimiento de patrones
          • Temas
          • Mergesort
          • Método del Maestro
          • Quicksort
          • Conceptos base
          • Método del árbol de recursión para resolver ecuaciones de recurrencia
          • Método de iteración para resolver ecuaciones de recurrencia
          • Resumen de Conceptos: Métodos de Solución de Relaciones de Recurrencia
          • Como vamos
          • Currying
          • Funciones de orden superior
          • Resumen de Conceptos: Funciones de Orden Superior y Currying
          • Clase 16. Ejemplo del Método del Árbol de Recurrencia
          • Motivación
          • Introducción a la teoría de números
          • Numeros primos
          • Teoremas sobre primos
          • Funciones de alto orden: map, filter y reduce
          • Map y filter
          • Reduce y Fold
          • Aritmetica modular
          • Como vamos
          • División entera
          • Objetivos
          • Introduccion a scala
          • Módulo en Scala
          • TADs y Congruencias Lineales
          • Clase 22 Ecuaciones de congruencia
          • Temas
          • Colecciones
          • Expresiones for
          • Teorema del residuo chino
          • Clase relaciones n arias
          • Proyección
          • Relaciones n arias
          • Relaciones
          • Resumen
          • Objetivos
          • Enfoque en Java (Imperativo)
          • Versión imperativa
          • Programación imperativa vs funcional
          • Objetivos
          • Recursión en código
          • Geometrica
          • Resumen de Recursión
          • Clase 6. Evaluación de expresiones y recursión estructural
          • Evaluación de expresiones
          • Recursión estructural
          • Resumen de Conceptos - Clase 6
          • Como vamos
          • Recursión de árbol
          • Recursión de cola
          • Recursión lineal
          • Resumen de Conceptos de Recursión
          • Como vamos
          • Inducción matematica
          • Materiales
          • Solución Segundo Parcial — Fundamentos de Lenguajes de Programación 2026-I
          • Solución Primer Parcial — Fundamentos de Lenguajes de Programación 2026-I
            • Introducción al curso y repaso
            • Problema
            • Conceptos
            • Conceptos de programación funcional
            • ¿Que es?
            • TAD de tipo
            • Ejemplo de objetos
            • Ejercicio en clase
            • Alcance de Variables
            • Objetivos
            • Ocurrencia Libre en Cálculo Lambda
            • Representación Inductiva
            • Representación Recursiva de Programas
            • Representación mediante Gramática BNF
            • Resumen: Representación de Datos y Lenguajes en EOPL
            • Abstracción de datos
            • Donde vamos
            • Ejemplo Cálculo Lambda
            • Ejemplo TAD: Árboles con Hojas Mixtas
            • Estrategia para la construcción de TAD
            • Árbol de Sintaxis Abstracta (AST)
            • Como vamos
            • Define-datatype en EOPL
            • Ejercicio: Árbol de Sintaxis Abstracta (AST) para árboles binarios
            • Ejercicio datatypes
            • Resumen de Conceptos: Define-datatype y Árboles de Sintaxis Abstracta (AST)
            • Clase 5: Semántica de lenguajes de programación
            • Intérprete Simple
            • Cómo es el proceso de interpretación o compilación
            • Resumen de Conceptos de la Clase
            • Scanner, Parser e Intérprete
            • Como vamos
            • Condicionales
            • Ejercicio ligaduras
            • Ejericicio 2 Ligaduras y condicionales
            • Ligaduras
            • Procedimientos
            • Cambios en la gramática
            • Clase 7. Procedimientos recursivos
            • Ejemplo de evaluación con letrec
            • Ejercicio de evaluación de expresiones en Scheme con ambientes
            • Asignación y Referencias en Lenguajes de Programación
            • Como vamos
            • Ejemplo de Paso por Referencia
            • Paradigmas
            • Paso por referencia
            • Clase 9: Lenguajes tipados
            • Consulta de tipos
          • Contenido
          • Solución Segundo Parcial — Fundamentos de Lenguajes de Programación 2026-I
          • Solución Primer Parcial — Fundamentos de Lenguajes de Programación 2026-I
            • Temas
            • Enunciado
            • Introducción a Racket
            • Repaso PF
            • ¿Qué es inferencia de tipos?
            • Ejemplos
            • Clase 11 Objetos
            • Ejemplos
            • Alcance de Variables
            • Objetivos
            • Especificación Recursiva de Programas
            • Ligaduras
            • Representación Inductiva
            • Representación mediante BNF
            • Resumen de Conceptos: Especificación y Ligadura de Datos en Lenguajes de Programación
            • Introducción
            • Como vamos
            • Ejemplo Expresión Cálculo Lambda
            • Ejemplo ambientes
            • Ejemplo tuplas
            • Resumen de Conceptos de Abstracción de Datos
            • Como vamos
            • Definición de Tipos de Datos Abstractos (TADs) en Scheme
            • Ejemplo: Implementación de Ambientes (Environments)
            • Ejercicio: Parser y Unparser para Mapas y Valores
            • Ejercicio: Definición de Árboles con Variantes Mixtas
            • Resumen de Conceptos de la Clase
            • Sintaxis Abstracta y Concreta
            • Como vamos
            • Especificación Léxica y Gramatical
            • Interpretación y compilación
            • Intérprete Simple
            • Scanner y Parser
            • Resumen de Conceptos de Interpretación y Compilación
            • Como vamos
            • Condicionales
            • Ejemplo
            • Ejercicio condicionales y ligaduras
            • Ligaduras locales
            • Definiciones
            • Clase 7 Procedimientos recursivos
            • Ejemplo de evaluación con letrec
            • Ejercicio
            • Implementación de letrec
            • Asignación
            • Como vamos
            • Ejemplo paso por referencia
            • Paradigmas
            • Paso por referencia
            • Contenido
            • Ejercicio
            • Interprete de chequeo
            • Pruebas sobre el intérprete
        • Recursos
        • Solución - Primer Examen Parcial
        • Solución - Segundo Examen Parcial
          • Conceptos de redes
          • Clase 10 Docker compose y Docker Swarm
          • Docker Swarm
          • Docker Compose
          • Objetivos
          • Dependencias en sistemas paralelos
          • Introducción a la paralelización
          • Limitaciones en el crecimiento del rendimiento de procesadores
          • Recursos compartidos en sistemas paralelos
          • Resumen integral: Limitaciones fundamentales en sistemas paralelos y paralelización
          • Como vamos
          • Ejercicio TBB
          • Ejercicio Thread
          • Notas de compilación
          • Resumen de Conceptos de Programación Paralela
          • Usando Thread
          • Ambientes en python
          • Como vamos.
          • Perfilado determinístico
          • Perfilador estadístico
          • Profiler de tiempo: time y timeit
          • Profiler
          • Resumen
          • Temas
          • Conclusiones de profiling
          • Instrucciones AVX
          • Multiprocessing
          • Resumen
          • Threading en Python
          • Como vamos
          • OpenMP
          • Queue y Pipe en Multiprocessing Python
          • Secuencial
          • Como vamos
          • Perf
          • Top y HTOP
          • Resumen
          • Valgrind
          • Arquitecturas
          • Clase 8. Introduccion a sistemas distribuidos
          • Introducción a sistemas distribuidos
          • Pipelines CI/CD
          • requirements.txt
          • Comandos importantes de Docker
          • Estructura Dockerfile
          • Recursos
          • Solucion parcial G50
            • Introducción
            • Temas
            • Repaso
            • Resumen
            • Condición de carrera
            • Motivación
            • Que es paralelismo
            • Estrategia de paralelización
            • Sobre la complejidad de programas paralelos
            • Ejemplo scalemeter
            • Scalameter
            • Clase 12 Paralelizacion de tareas
            • Clase 13: Colecciones Paralelas
            • Alcance léxico
            • Objetivos
            • Condicionales, booleanos, definiciones
            • Evaluación de expresiones
            • Listas
            • Resumen integral: Conceptos fundamentales de programación funcional en Scala
            • Como vamos
            • Ejemplo de recursion lineal y de cola
            • Recursión
            • Recursión de arbol
            • Resumen de Conceptos de Recursión
            • Como vamos
            • Currificación
            • Ejercicio de funciones de alto orden y anónimas
            • Funciones de alto orden
            • Resumen
            • Abstracción de datos II
            • Abstracción de datos I
            • Temas
            • Modelo de sustitución
            • Notación infija
            • Resumen de Conceptos de Abstracción de Datos en Scala
            • Como vamos
            • Herencia y clases abstractas
            • Listas
            • Como vamos
            • Map y Filter
            • Reduce y Fold
            • Resumen
            • Tuplas
            • Limitaciones listas
            • Listas
            • Expresiones for
            • Operaciones sobre colecciones
            • Set
            • Como vamos
            • Evaluación perezosa
            • Generalización de las expresiones For
            • Maps
          • Recursos
          • Solución - Segundo Examen Parcial
            • Introduccion a Scala
            • Temas
            • Programación orientada a objetos
            • Resumen de conceptos de programación funcional y Scala
            • Condición de carrera
            • Motivación
            • Paralelismo
            • Estrategia de paralelización
            • Benchmarking
            • Conceptos
            • Ejemplo Benchmarking
            • Clase 12: Paralelismo de tareas
            • Scan
            • Alcance léxico
            • Objetivos
            • Expresiones
            • Expresiones y operaciones
            • Listas
            • Mecanismos de evaluación
            • Resumen de Conceptos de Programación Funcional en Scala
            • Como vamos
            • Recursión de árbol
            • Recursión de cola
            • Recursión estructural
            • Recursión lineal
            • Resumen de Conceptos de Recursión
            • Como vamos
            • Funciones que retornan funciones
            • Ejercicio de funciones de orden superior
            • Funciones de orden superior
            • Resumen de Conceptos de Programación Funcional
            • Abstracción
            • Temas
            • Encapsulación y modelo de sustitución
            • Notación infija
            • Resumen
            • Como vamos
            • Herencia
            • Reconocimiento de patrones en clases
            • Reconocimiento de patrones sobre listas
            • Herencia
            • Temas
            • Map y Filter en Scala
            • Reduce y Fold en Scala
            • Resumen de Conceptos de Programación Funcional en Scala
            • Tuplas en Scala
            • Limitacion de las listas
            • Colecciones en Scala
            • Expresiones For
            • Flatmap
            • Como vamos
            • Evaluación perezosa
            • Expresiones for extendido
            • Map
      • 2026-II
        • Árboles y Grafos
          • Clase 1. Repaso de estructuras de datos y notación asintótica
          • Clase 2. Invariantes de ciclo y divide y vencerás
          • Divide y vencerás
          • Ejercicios interactivos
          • Invariantes de ciclo
        • Estructuras de Datos
          • Clase 1. Repaso de programación básica
          • Clase 2. Lenguajes de programación y paradigmas
          • Clase 3. Introducción a la complejidad computacional
          • Clase 4. Ciclos dependientes y sumatorias
          • Ejercicios interactivos
          • Clase 5. Ejercicios de análisis de complejidad
          • Ejercicios interactivos
        • Fundamentos de Interpretación y Compilación de Lenguajes de Programación
        • Infraestructuras Paralelas y Distribuidas
        • Fundamentos de Programación Funcional y Concurrente

    Contenido

    1. Divide y venceras
    2. Ejemplo de divide y vencerás con memorización
    Anterior
    Sesiones
    Siguiente
    Divide y vencerás
    Made with Material for MkDocs