De acuerdo a la carta al estudiante:
Los ejercicios de programación están agrupados en aproximadamente 14 bloques. Cada estudiante deberá inventar al menos 10 ejercicios durante el semestre y recibirá crédito por un 5% de la nota del curso. Cada ejercicio inventado debe tener el mismo formato usado en los concursos de programación de la ACM, y debe pertenecer a un bloque distinto de los 14 disponibles. La creación de ejercicios correlaciona con una mayor comprensión de los conceptos de programación, de acuerdo a la literatura científica. Para crearlos, el estudiante debe prestar atención a los conceptos de programación involucrados en el bloque, y puede tomar como ejemplos los ejercicios propuestos por el profesor y asistentes. Los ejercicios inventados deben ser únicos entre estudiantes. Es decir, si dos o más estudiantes inventan el mismo ejercicio, se dará crédito sólo al del primero en proponerlo. El profesor servirá como el ente centralizador de los ejercicios inventados por estudiantes, y podrá ayudarles en el proceso de creación de los mismos durante las horas de consulta.
Para presentar los ejercicios inventados, descargue uno de los archivos comprimidos anteriores, acorde al lenguaje de programación que se va a usar para resolverlo. Luego siga estas instrucciones:
problem.es.md para escribir el enunciado de su ejercicio. Ubique su problema en un contexto: una situación hipotética pero realista que haga al ejercicio aplicado y más interesante. Su enunciado del problema debe tener un ejemplo de entrada y de salida que debe generar el programa.solution.c o solution.cpp acorde al lenguaje de programación (C ó C++ respectivamente).Makefile provisto para compilar en línea de comandos, o abrir el proyecto solution.pro en QtCreator.problem.es.md) en dos archivos: input01.txt para la entrada y ouput01.txt para la salida correspondiente.input02.txt, output02.txt) y (input03.txt, output03.txt). Piense en valores interesantes, extremos o inválidos a probar. Por ejemplo, un programa para encontrar números primos puede probarse con números negativos, cero, uno (que no es primo), y valores muy grandes que pueden hacer fallar por exceso de tiempo para una solución fuerza bruta../solution < input01.txt | diff output01.txt - no debe producir salida.given.c ó given.cpp. Escriba en él el código fuente inicial que dispondrán las personas que resuelvan su ejercicio. Es un extracto de su solución (en solution.c o solution.cpp). Por ejemplo, puede proveer una función main() y pedir a quienes resuelvan el reto escribir otras funciones faltantes. O bien, proveer varias funciones y que ellos tengan que escribir el main() y otras funciones, o proveer una clase incompleta, o una clase que depende de otra que está ausente.7z o Zip. No incluya en su comprimido, archivos generados a partir del código fuente, como código objeto/binario generado por el compilador. Es decir, su comprimido debería tener archivos fuente de C/C++, archivos de Markdown, casos de prueba en .txt, Makefiles, y el proyecto de Qt (.pro). Si usa la linea de comandos puede escribir make 7z ó make zip.