Este curso parte de la certeza de que la mayoría de las matemáticas aprendidas durante un programa universitario tienen el potencial de ser utilizadas en la resolución de problemas cotidianos a los que se enfrente un programador o desarrollador de software, solo falta recordar esos conocimientos y tener ejemplos concretos que sirvan de inspiración para que individualmente se encuentren nuevas oportunidades de aplicación que resulten provechosas. Por otro lado, ciertas especializaciones relativamente recientes requieren para su verdadera comprensión y dominio un nivel de competencia matemática mayor al que estábamos acostumbrados, tal es el caso del Machine Learning, la Criptografía y el análisis de redes sociales, por citar algunos.

Mediante el repaso de temas y conceptos fundamentales, y su ilustración con ejemplos reales, este curso tiene el objetivo de despertar nuevamente en los participantes la curiosidad matemática, alentarlos en la aplicación de los conocimientos matemáticos que ya alguna vez manejaron, así como incentivarlos a adquirir nuevos. Saber matemáticas no tiene desperdicio alguno.

· A quien va dirigido:

  • Personas que como desarrolladores de software, quieren encontrar aplicaciones en su trabajo diario al conocimiento matemático que adquirieron durante la universidad.
  • Personas que buscan expandir sus habilidades como desarrolladores a través de los insights que provee el conocimiento matemático.
  • Personas que se dedican a la programación, pero no tuvieron una formación matemática formal y quieren tener un primer acercamiento y guía para ir construyendo estas habilidades.
  • Programadores en general.

Learn you some math for a great good

· Temario del entrenamiento:

Día 1
  • Introducción a IPython
  • Demostraciones matemáticas
  • Teoría de conjuntos
    • Aplicaciones
      • Diseño de consultas a bases de datos.
      • Diagnóstico de datos corruptos
  • Funciones
  • Algebra booleana
    • Aplicaciones
      • Reducción de complejidad en programas
      • Problemas de satisfabilidad
Dia 2
  • Algebra Lineal
    • Aplicaciones
      • Manipulación de imágenes
      • Arquitectura de software
      • Machine Learning
Día 3
  • Combinatoria.
    • Aplicaciones
      • Pruebas de software
      • Evaluación de la dificultad de un problema.
  • Probabilidad y Estadística
    • Aplicaciones
      • Análisis de logs
      • Machine Learning
  • Cadenas de Markov
    • Aplicaciones
      • Creación de modelos de pruebas de software
      • Descubrimiento de modelos de procesos dinámicos.
Dia 4
  • Teoría de la Información.
    • Aplicaciones
      • Compresión de datos
      • Criptografía
      • Evaluación de arquitecturas de software.
  • Teoría de Grafos y Redes
    • Aplicaciones
      • Análisis de redes sociales.
      • Análisis de redes tecnológicas
Día 5
  • Matemáticas y computación.
  • Introducción al Cálculo Lambda

· Pre-requisitos:

Necesarios:
  • Tener conocimiento de cualquier lenguaje de programación.
  • Tener conocimientos de matemáticas de nivel medio superior.
Recomendables:
  • Haber cursado las materias de probabilidad y estadística.
  • Conocimiento en Python.