Cómo aprobar Retos de Programación

Hasta el cuatrimestre de primavera del curso 2005/2006, la asignatura de Reptes de Programació había sido una forma de quitarse fácilmente 3 créditos de libre elección. En Febrero del 2006, decidieron pasar un programa “anticopia” no demasiado sofisticado. A pesar de su simpleza, un servidor fue tan rematadamente tonto que, aún conociendo la forma de “engañarlo”, no fue capaz de aprobar la asignatura por la vía rápida.

La idea original de los créditos ALE era buena, pero cuando hay que cubrir tantos se acaba convirtiendo en un lastre al final de la carrera. Evidentemente, uno puede ser listo y aplicado apuntándose a las organizaciones de alumnos y actividades similares para sacar estos créditos adelante. Pero ese tipo de “estrella” o “talante” no lo tiene todo el mundo (también los hay que somos más torpes en estas cosas).

Requisitos

Para llevar a cabo la maniobra hacen falta dos personas o más. Consiguiendo cromos no puedes destapar las soluciones a tus deberes, pero sí las soluciones de los deberes de otra persona.

También necesitarás algunas soluciones con las que conseguir cromos. Descárgate el fichero reptes.zip en el que encontrarás 41 ficheros fuente; las soluciones a 41 problemas.

Procedimiento

Lo primero es algo intuitivo. De las soluciones que hay en el fichero reptes.zip, selecciona aquellas que no sean solución a alguno de tus deberes (esas se deben guardar para el final). Entonces comienza a ganar cromos para poder destapar las soluciones de tu compañero, tu compañero debería proceder análogamente.

En este punto, cada uno ya dispone de todas las soluciones a sus deberes (o, al menos, las suficientes para aprobar). Aquí llega la parte interesante.

Resulta que el repositorio de la web de la asignatura NO verifica que las soluciones enviadas sean válidas o correctas. Simplemente “pregunta” al juez del ACM si el alumno pudo solucionar el problema. La prueba es sencilla: para un problema cualquiera, manda la solución al ACM y luego manda el clásico <<<Hola mundo>>>. Si cuela es que todavía no se han molestado en arreglar ese pequeño detalle.

Lo más práctico resulta ofuscar todo lo posible la solución enviada, aunque no resuelva bien los problemas (total, no lo van a comprobar). Así, si les da por revisar las soluciones a mano siempre se puede alegar que: <<<En el ACM funcionaba>>>.

En resumen, enviamos la solución buena al ACM para que nos marque el problema como superado y la solución ofuscada (posiblemente no funcional) al repositorio de la asignatura. Si la prueba del <<<Hola mundo>>> funcionó, probablemente este método te permita sacarte 3 créditos por la patilla, como solía ser habitual.