[en] The Rubik's cube is one of the most popular puzzles of all time. It is highly difficult to solve it, so lots of people end up following internet guides. Besides guides for novel people, there are also other guides to learn how to solve the Rubik's cube in a much faster way. They are used by those whose intention is to beat personal records or even compete internationally. Most of the resolution methods require memorizing step by step some rotation sequences —called "algorithms"—. The problem is that some methods contain dozens of algorithms to be learned. Each algorithm can be described as a string of characters that defines the rotations it is composed, i.e.: "l2' U' z' U R2 U' L U R2 z' L". The guides use this notation to display the algorithms. However, for users not used to the notation it is tedious to interprete. The aim of this project is to develop an app to learn the resolution methods in an easy way. This have been achieved in two ways. First of them has been developing an Android application, so that the mobility of smartphones and tablets is used to allow the user to consult, at any time, anywhere, the algorithms he or she wants to learn. The second way has been building a Rubik's cube in three dimensions, so it allows to run any algorithm. The application features an elegant user interface that follows the design guidelines recommended for Android by Google, and it provides a positive user experience. Moreover, the structure of the application is scalable so that, if it is necessary to include new resolution methods or algorithms, there is no need of making changes in it. Finally, it includes extra functionality as the ability to save backups of application data in the cloud or using different color schemes to display the three-dimensional Rubik's cube.

[es] El cubo de Rubik es uno de los rompecabezas más populares de todos los tiempos. La dificultad de resolverlo es alta, por lo que mucha gente termina acudiendo a guías existentes en internet. Además de guías para gente novel, también existen otras destinadas a resolver el cubo de Rubik de una manera mucho más rápida. Éstas son utilizadas por aquellos cuya intención es batir récords personales o incluso competir a nivel internacional. La mayoría de métodos de resolución requieren que se memoricen paso a paso secuencias de giros —llamadas "algoritmos"—. El problema de algunos métodos es que contienen decenas de estos algoritmos. Cada algoritmo puede expresarse a través de una cadena de caracteres que define los giros que lo componen, por ejemplo: "l2' U' z' U R2 U' L U R2 z' L". Las guías hacen uso de esta notación para mostrar los algoritmos. No obstante, para el usuario no habituado a ella, tener que interpretarla es una labor tediosa. El objetivo de este proyecto es construir una aplicación que facilite el aprendizaje de los diferentes métodos de resolución. Esto se ha conseguido de dos formas. La primera ha sido desarrollando la aplicación para Android, de tal manera que se aprovecha la movilidad de los smartphones y tabletas para que el usuario pueda consultar en cualquier momento y lugar aquellos algoritmos que quiera aprender. La segunda ha sido construyendo un cubo de Rubik en tres dimensiones que permite ejecutar cualquier algoritmo que se le indique. La aplicación cuenta con una interfaz gráfica cuidada, que sigue las líneas de diseño recomendadas por Google para Android y que proporciona una experiencia de usuario positiva. Además, la estructura de la aplicación es escalable de forma que, si se quieren incorporar nuevos métodos de resolución y algoritmos, no es necesario realizar cambios en ella. Por último, incluye funcionalidad extra como la posibilidad de guardar en la nube copias de seguridad de los datos de la aplicación o de emplear distintos esquemas de colores para mostrar el cubo de Rubik tridimensional.