He buscado mucho este tipo de preguntas y no pude encontrar nada, creo que las respuestas aquí podrían ser útiles para las escuelas.
Mi collage tiene problemas con su sistema de prueba de tareas y me gustaría ofrecerles que actualice o reconstruya su marco de prueba.
Mi método de prueba de collage es totalmente de caja negra. Los estudiantes escriben lo que quieran siempre y cuando pasen las pruebas automatizadas realizadas en el servidor de la escuela.
Luego, el asistente de enseñanza corrige el código de todos los estudiantes y comenta la lógica defectuosa y las malas prácticas. El problema es que no es humanamente posible revisar todo este código.
Mi pregunta es esta:
¿Cuál cree que es el mejor método de prueba de tarea que alentará (o mejor, obligará ) a los estudiantes a escribir un buen código y, en segundo lugar, como resultado, reducirá al mínimo la tarea de revisión del asistente de enseñanza?
--Programamos en C++ en Linux.
Gracias por tus comentarios.
Está solicitando una canalización de revisión de código completamente automatizada, también conocida como el Santo Grial.
Por partes:
Entonces, en general, no, eso no es posible. La única manera que se me ocurre es facilitar la expansión de su marco de prueba y evaluación. Cuando el TA encuentra un error en un programa, se le agrega un test, y todos pasan por el pipeline, y eso se convierte en una cosa menos que revisar.
Para hacer cumplir las buenas prácticas, lo mejor que se me ocurre es hacer que la aplicación crezca tarea tras tarea. Si está mal codificado, expandirlo y mantenerlo será un gran esfuerzo, y el beneficio de las buenas prácticas se hará evidente. Construir bases de código más grandes es, en mi opinión, la única forma en que uno puede realmente entender y creer por qué los patrones y las convenciones son útiles y no solo el producto de algunos tipos exigentes con TOC.
Pero puedes hacer trampa. Por ejemplo, puede verificar minuciosamente manualmente las presentaciones con la puntuación de estilo más baja que pasan todas las pruebas (suponiendo que sean las que están peor codificadas), y encontrar los casos de esquina donde fallarían y agregarlos a su batería de pruebas. Sin embargo, esto es injusto, ya que está dirigiendo su castigo a envíos específicos.
mhwombat