El presente libro tiene como objetivo brindar una introducción a las competencias universitarias nacionales e internacionales de programación. Para ello se analizan diversos problemas algorítmicos de nivel inicial, medio y avanzado. La obra se divide en varios capítulos, cada uno de los cuales agrupa problemas por temas, los que se formalizan con una introducción teórica. Cada problema propuesto se presenta con su explicación y su resolución en el lenguaje de programación JAVA. Al mismo tiempo, esta obra tiene el objetivo de servir de modelo para que profesores universitarios puedan replicar la experiencia de los autores y llevar adelante competencias de programación o programación competitiva, en sus respectivas casas de estudio.