teaching
Course materials and lecture slides.
TC3002B - Aplicaciones Computacionales Avanzadas
Capstone course that frames the final project for ~120 undergraduate Computer Science students at Tecnológico de Monterrey. The curriculum integrates six modules — Artificial Intelligence, Compilers, Statistics, Research Methods, and two project tracks — and is delivered alongside four industry partners: C3.ai, Intel, NXP, and Oracle.
The 2026 cohort works on agentic LLM systems with an emphasis on efficient inference: Triton kernels, GPU-based LLM serving, and constrained decoding for structured outputs. Course material, notebooks, and project briefs are published as a Jupyter Book.
- Course site: salvahin.github.io/ACA-2026
Lecture Slides
- Inside XGrammar: Constrained Decoding - How XGrammar enforces structured outputs (JSON, grammars) during LLM inference
TC6003 - Analysis and Design of Algorithms
Graduate course covering fundamental algorithm design paradigms and analysis techniques.
Lecture Slides
- Session 05: Selection Problems & Adversary Arguments - Selection algorithms, median finding, and adversary argument lower bounds
- Session 06: Matrix Multiplication & Polynomials - Strassen’s algorithm and polynomial multiplication techniques
- Session 07: Graph Algorithms - From traversals to graph coloring
Bio-Inspired Computational Intelligence
Advanced topics in evolutionary computation and nature-inspired optimization algorithms.
Lecture Slides
- Lecture 9: Multi-Objective Optimization - Introduction to multi-objective optimization, Pareto optimality, NSGA-II, and related algorithms
Interactive Visualizations
- Multi-Objective Optimization Explorer - Interactive tool to explore Pareto optimality, dominance relationships, and the trade-offs between conflicting objectives