Líneas
Líneas de investigación
Áreas en las que el grupo concentra su trabajo académico y de formación.
Lenguajes de programación
Estudiamos cómo se diseñan, analizan y transforman los lenguajes y el código que los programas usan a lo largo de su ciclo de vida. Nos interesa tanto la creación de lenguajes de propósito general y de dominio específico como la extracción automática de conocimiento a partir de grandes colecciones de software. El trabajo combina fundamentos de lenguajes con herramientas prácticas de análisis, generación y prototipado.
- Lenguajes de propósito general y de dominio específico (DSL)
- Lenguajes para el ciclo de vida del software
- Análisis y manipulación automática de código
- Analítica de software / Big Code
Educación en ingeniería
Diseñamos entornos y herramientas para enseñar programación y electrónica digital con evaluación y realimentación automáticas. Estudiamos motivación, gamificación, aprendizaje colaborativo y analítica para entender cómo aprenden los estudiantes y cómo mejorar los cursos. El trabajo conecta software educativo con evidencia empírica en el aula y con el análisis del código que producen los estudiantes.
- Entornos didácticos de programación y electrónica digital
- Evaluación y realimentación automáticas
- Learning analytics y métodos mixtos
- Motivación, gamificación y aprendizaje colaborativo
- Análisis de código de soluciones estudiantiles
- Currículo y competencias en ingeniería
Sistemas embebidos confiables
Investigamos cómo hacer más confiables los sistemas embebidos frente a fallos inducidos por radiación y otros eventos transitorios, sin inflar de más el costo en área, energía o desempeño. Desarrollamos métricas, técnicas de protección selectiva, computación aproximada y co-diseño hardware/software, junto con herramientas para evaluar y explorar soluciones tolerantes a fallos.
- Mitigación de soft errors y fallos transitorios
- Computación aproximada para sistemas confiables
- Criticidad de recursos en microprocesadores
- Exploración automática de diseños tolerantes a fallos
Sistemas inteligentes de transporte
Abordamos problemas urbanos de accidentalidad, congestión y operación del transporte con datos, visión por computador e IoT. Construimos modelos para anticipar tráfico y accidentes, detectar evasión en sistemas masivos y monitorear vehículos con sensores, RFID y análisis de video. El foco está en métodos aplicables a ciudades y a sistemas como Transmilenio.
- Accidentalidad vial y datos urbanos
- Predicción y monitoreo de tráfico
- Visión por computador en vías y terminales
- IoT y RFID para monitoreo vehicular
- Operación y evasión en transporte masivo
Agricultura de precisión
Llevamos visión por computador, aprendizaje profundo e IoT al campo para apoyar el monitoreo de cultivos y la producción agropecuaria. Trabajamos en detección de maleza con imágenes multiespectrales, caracterización de cultivos desde el aire y dispositivos de identificación animal, además de asistentes basados en modelos de lenguaje para el manejo agronómico.
- Detección de maleza con imágenes multiespectrales
- Visión aérea y caracterización de cultivos
- Aprendizaje profundo para monitoreo agrícola
- IoT para identificación y movilidad pecuaria
- Asistentes inteligentes para manejo de cultivos
