Current Teaching

  • Present 2011

    Concurrent and Real-Time Programming

    Compulsory second-year course of the Bachelor's Degree in Computer Engineering. Its learning outcomes focus on solving concurrency problems, with tools such as semaphores and shared memory segments, and on scheduling real-time systems. Lab sessions use C and Ada.

Previous Teaching

  • 2019 2011

    Expert Course in Video Game Development

    A course by and for programmers that has become a national reference. With a project-based approach, it covers the training needs of companies in the sector.

  • 2018 2012

    Operating Systems

    Compulsory second-year course of the Bachelor's Degree in Computer Engineering. Its learning outcomes focus on understanding and using operating systems, especially at the programming level. Lab sessions use C.

  • 2017 2012

    Interaction and Information Visualization

    Compulsory course of the Master's Degree in Computer Engineering. It trains students to conceptualise and design human-computer interaction systems and to create and use virtual environments. Lab sessions use C/C++ and libraries such as OpenGL and ARToolKit.

  • 2012 2007

    Computer Graphics

    Elective course of the Computer Engineering degree covering the graphics pipeline and 3D rendering. Lab sessions studied OpenGL as a library for interactive graphics applications.

  • 2011 2010

    Data and Information Structures

    Core course of the Computer Engineering degree on the main data structures, both linear (stacks, queues and lists) and non-linear (trees and graphs).

  • 2011 2010

    Advanced Programming

    Compulsory course of the Computer Engineering degree on algorithmic complexity and basic algorithm design techniques such as Divide and Conquer, Greedy Algorithms, Dynamic Programming and Backtracking.