La imagen fue obtenida de la página oficial de la OMI en facebook, aquí el post original
Karel el robot es una aplicación que simula un robot y su entorno. Dicho robot sigue instrucciones en su lenguaje, que tiene una sintaxis muy similar a un lenguaje de programación real, como PASCAL, o Java. Fue creado por Richard E. Pattis en 1981 con un objetivo; enseñar a pensar de una manera ordenada y eficiente.
El lenguaje de este simulador, si bien, es bastante limitado a comparación de un lenguaje de programación real, da muy buenas bases para el diseño real de un programa y de hecho fue utilizado oficialmente desde el 2004 y hasta el 2016 como una de las pruebas de la Olimpiada Mexicana de Informática y actualmente como la prueba oficial de la OMIP y OMIS.
Para ello, la OMI diseñó su propia versión del simulador. A la fecha y de forma oficial se utiliza Karel.js para las competencias pero puedes descargar una versión antigua de su página oficial aquí.
El simulador, integra además un compilador del lenguaje particular de Karel. Un compilador es un programa que traduce de un lenguaje de programación a otro, por lo general es de un lenguaje fácil de escribir para los humanos a un lenguaje fácil de entender para una máquina. En este caso la máquina es Karel. Para que el compilador funcione correctamente es necesario que nuestro código esté escrito correctamente también, respetando la sintaxis del lenguaje con el que trabaja.
A lo largo de los post sobre Karel, yo no busco crear un curso desde 0 para que todos aprendan a programar porque ya existen muchos así; yo recomiendo el de la página "#Include Poetry", donde pueden encontrar un excelente curso donde enseñan todo lo que necesitas saber para poder programar en Karel y C++ porque son cursos especialmente hechos para olímpicos.
Mi enfoque es en cómo resolver problemas a nivel Olimpiada, principalmente utilizando temas de recursión simple, recursión con parámetro y búsquedas exhaustivas explicando cómo y porqué se desarrolla así el algoritmo, por lo que te recomiendo primero dar una vuelta por "#Include Poetry" para que entiendas cómo se programa en Karel y depués continuar con mis posts.
Estaré resolviendo problemas de Karelotitlán, que es un lugar donde puedes entrenar y también problemas del compendio oficial de la OMI.