I am an assistant professor in the Computer Science and Software Engineering department at California State University –San Luis Obispo. I earned a Ph.D. in Computer Science from Arizona State University, an M.S. in Electrical Engineering with a Computer Science major from the Center for Research and Advanced Studies (CINVESTAV) of the Mexican National Polytechnic Institute, and a B.S. in Computer Engineering from the Universidad de Guadalajara.

My research takes place at the intersection of software engineering and human-computer interaction. It is focused on self-adaptation, artificial emotional intelligence, and advancing development approaches for intelligent systems. It is transdisciplinary and applies innovative technologies such as brain-computer interfaces, eye-tracking, physiological sensors, gesture and posture recognition, and augmented and virtual reality devices while taking advantage of the cloud, parallel, and pervasive computing. I collaborate with cross-departmental and multidisciplinary teams embracing computer science, psychology, industrial engineering, and education technology. My contributions include manufacturing personalized and adaptive intelligent tutors, developing affect-aware video games, and using affect-driven approaches to improve rehabilitation outcomes for children with disabilities. I have designed and managed the development of software frameworks and scalable web applications; improved avatars for interpersonal communication; prototyped augmented reality environments; and created visual programming languages for parallel computing.

Before joining the California State University system, I was a faculty member at Arizona State University and, before that, at Tecnologico de Monterrey. I taught courses in the areas of software architecture, software engineering, web development, compilers design, and programming. I was also an adjunct faculty at Universidad de Guadalajara, where I taught programming languages and database design. Recently, I was invited as a visiting professor at Universidad Panamericana to teach parallel programming and topics in affective computing. As a practitioner, I have worked as a software engineer and consultant and participated as CTO in two startup companies. I am a Senior Member of the ACM and a Senior Member of the IEEE.

With dozens of technical articles published and multiple speaking engagements at various conferences, I have also mentored and advised thesis research, undergraduate capstone projects, and students participating in international programming contests. My goal is to continue contributing to computer science and software engineering through innovative research, teaching, and mentorship. If you are interested in collaborating with me on any of the research projects I have described, please feel free to reach out. I am always excited to work with students eager to learn and contribute to the field. Whether you are looking to gain research experience or want to learn more about the work I do, I would be happy to discuss potential opportunities with you.