Licenciado en Ciencias Matemáticas (UCM) y doctor en Ingeniería Informática (UAM). Entre 1988 y 1997 desarrolló su actividad en el sector privado en diversas compañías como Intelligent Decision Systems, Grupo Apex, Telefónica I+D e Instituto de Ingeniería del Conocimiento (UAM). Durante este tiempo trabajó en proyectos relacionados con la Ingeniería del Conocimiento.
Entre 1997 y 2000 fue profesor en la Escuela Politécnica de la Universidad Antonio de Nebrija y a partir de 2000 se incorporó al departamento de Ingeniería Informática de la Escuela Politécnica Superior de la Universidad Autónoma de Madrid.
Miembro del Grupo de Recuperación de Información, su interés investigador ha evolucionado desde los Sistemas Tutores Inteligentes, aplicados a la enseñanza de las Matemáticas hasta los Sistemas de Recomendación y sus aplicaciones. En particular, actualmente trabaja en el análisis de la radicalización y los discursos de odio en las redes sociales y el papel que pueden tener los sistemas de recomendación en su mitigación.
Entre 2014 y 2018 fue Subdirector de Calidad e Innovación Docente de la Escuela Politécnica Superior y miembro de la Conferencia de Decanos y Directores de Ingeniería Informática (CODDII). Desde septiembre de 2018 hasta julio de 2021 dirigió el departamento de Ingeniería Informática, siendo representante de los directores de departamento de la UAM en el Consejo de Gobierno. Desde julio de 2021 ocupa el puesto de Adjunto a la Rectora para Calidad e Innovación Docente de la UAM.