He has taught courses on Formal Methods in Software Engineering, Software Process Management, Software Testing and Maintenance, and other topics related to software engineering and computer science.