El problema es que funciona

Estabamos en Algo1, tomando recuperatorio, un alumno entrega su exámen y yo lo tomo para corregirlo. Termino de corregirlo y no estaba seguro de que nota ponerle, entonces lo hablo con el equipo docente. Un miembro del equipo pregunta: ¿cual es el problema? a lo que respondo: «El problema es que funciona». Resulta que el alumno habia planteado un algoritmo que resolvia la consigna, pero… ¿como decirlo?…mmmm.  Digamos que la solución era «demasiado rústica». Si la solución no funcionara, no habria dudas, el alumno estaria reprobado sin más vueltas. Pero justamente el problema radicaba en que la solución funcionaba lo cual sumaba la complejidad de explicar al alumno que a pesar que su solución funcionaba, no cumplia con los estándares de calidad de la cátedra.

Justamente esta es una de las diferencias entre ir universidad y no hacerlo*: en la universidad no basta con que funcione, también debe cumplir con algunas otras características. Dichas características dependen del foco de la materia. El hecho de un programa funcione es una condición necesaria, pero está lejos de ser suficiente.

*en realidad es lo que deberia ocurrir, pero no puedo asegurar que siempre sea asi.

6 comentarios en “El problema es que funciona

  1. Hola… particularmente yo soy un hincha pelotas de la prolijidad de la implementacion y de ver que todo funcione bajo los contextos que medianamente se me pueda ocurrir ( por ende se ve que soy muy pro TDD ) ahora en contexto de lo planteado me parece qeu si habria que ver toodo el contexto del parcial y de la persona, ademas de ver cuales son los parametros de la catedra.. no obstante eso.. no pondria qeu esta mal el punto…pero si le pondria ( 0.70 si vale un punto ) explicando que bajo tal concepto no funciona. Me parece que si logro resolver el algoritmo, es algo a favor.

    1. Voy a poner un ejemplo concreto: si en la materia estamos enseñando algoritmos de ordenamiento y el alumno en un ejercicio debe ordenar los elemento de una lista y para hacerlo simplemente invoca a «miLista.sort()» que es una función de la libreria del lenguaje, entonces claramente resuelve, pero no cumple la consigna.

      1. yo al pibe lo banco!

        me crucé con «ingenieros» que no saben resolver un problema ni haciéndolo por fuerza bruta.
        poray el pibe no sabía resolverlo elegantemente y lo haya resuleto bien cabeza, pero le doy todo el mérito que ante la consigna «resolvelo» el flaco lo hizo. falta gente de ese tipo en el mundo.

        puntaje mínimo para aprobar, pero yo lo banco! =P

  2. Creo que un ejemplo como ese podría ser análogo al de un parcial o final de alguna materia dura, como ser Análisis, donde dado un problema se llega a la solución, pero no se justifica el cómo se llegó a la misma.
    El hecho de llegar a una solución rústica implica que no se sabe bien por dónde se está yendo, o bien que se hizo fuerza bruta hasta llegar al resultado esperado.

  3. Hay que ver si se le dieron las herramientas conceptuales necesarias durante la cursada para poder resolver problemas computacionales con algoritmos razonablemente eficientes. Si el profesor no tiene dudas sobre eso, entonces no hay dudas sobre la calificación merecida.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.