Como tutor, ¿debo fomentar la exploración a riesgo de obtener información incorrecta?

Soy un estudiante universitario de informática en una pequeña escuela de ingeniería. Durante el último trimestre, me pagaron como asistente de enseñanza en uno de los cursos más difíciles del plan de estudios de informática. Debido a que esta es una escuela pequeña, eso significa que básicamente soy un tutor público en nuestros laboratorios de informática durante aproximadamente 10 horas a la semana y ocasionalmente ayudo a calificar exámenes y tareas. Tomé la clase a principios de este año y me fue muy bien, pero de ninguna manera soy un experto en el tema.

La mayor parte del curso es escribir un pequeño intérprete en Scheme. A los estudiantes se les da un punto de partida y se les dice conceptualmente cómo implementar la mayor parte del intérprete en las conferencias, pero la implementación real se deja bastante abierta. Debido a esto, hay bastantes formas válidas de implementar cualquier parte del proyecto, y no creo que pueda aprenderlas todas sin abandonar la escuela para hacer de este mi trabajo de tiempo completo. La parte difícil es que el consejo que le doy a cualquier estudiante depende en gran medida de cómo haya completado el intérprete hasta el momento, por lo que a veces tengo poca confianza en que mis ideas sean correctas.

No veo una buena manera de evitar esto sin decirles que lo hagan como yo lo hice cuando tomé la clase. Creo que un punto fuerte del curso es hacer que los estudiantes piensen en la programación de diferentes maneras, y sugerir que mi manera es la mejor parece contradecir eso de manera muy directa. También tengo poca confianza en la mayoría de los estudiantes para decirme que estoy equivocado, ya que generalmente vienen a mí al menos un poco confundidos en primer lugar.

Como asistente pagado de nuestro departamento de ciencias de la computación, ¿debería alentar diferentes soluciones a riesgo de soluciones incorrectas y, potencialmente, a riesgo de las calificaciones de otros estudiantes? ¿O debo alentar soluciones en las que confío a riesgo de descartar buenas ideas?

En el primer caso, no siento que esté ayudando a los estudiantes de la misma manera que cualquiera de ellos espera, pero en el segundo caso, creo que podría ser reemplazado por un manual de soluciones. Me gustaría empujar en la dirección correcta tanto como sea posible, pero no siempre sé exactamente qué dirección es la correcta dados varios proyectos de miles de líneas diferentes en un solo día.

Una gran pregunta. ¿Le preguntaste al instructor del curso al respecto?
@scaaahu No lo he hecho, aunque me gustaría en la próxima oportunidad. Cualquiera que sea la respuesta de mi profesor, tengo curiosidad por saber qué opiniones hay aquí.

Respuestas (2)

Version corta:

Anímelos, definitivamente anímelos.

Versión larga:

En primer lugar, debo decir que no estoy familiarizado con Scheme, por lo que en mi respuesta asumiré un proyecto de codificación arbitrario. Ahora, debe considerar que la codificación, especialmente un proyecto más grande, es mucho más que simplemente escribir el código. Como dijiste, la clase es bastante difícil, asumo que los estudiantes ya tienen algo de experiencia, por lo que deberían saberlo. Aquí, pueden aprender todas las cosas que importan: un plan estructurado sobre lo que quieren codificar, buena documentación del código, gestión del tiempo, etc. Sea honesto sobre lo que puede y no puede hacer, dígales que no mirará unas 100 líneas de código desordenado para encontrar un error. Dígales que lea su código y busque errores allí, deben documentarlo adecuadamente de manera que sea legible y comprensible para un extraño. Dígales que diferencien entre preguntas lógicas (" Tómese un poco de tiempo para hacer un plan (¿primero en papel, tal vez?) junto con ellos sobre cómo podría ser esta parte del programa, cuál es la mejor manera de hacerlo, y luego déjelos implementarlo. Si tienen problemas con la implementación en sí, pueden regresar nuevamente. Tómese un poco de tiempo para hacer un plan (¿primero en papel, tal vez?) junto con ellos sobre cómo podría ser esta parte del programa, cuál es la mejor manera de hacerlo, y luego déjelos implementarlo. Si tienen problemas con la implementación en sí, pueden regresar nuevamente.

Lo mismo debe ocurrir con los errores en el programa: no debe ser usted quien ejecute las pruebas, haga simulaciones o ingrese casos especiales en cada función para encontrar el error. Dígales y enséñeles a los estudiantes cómo encontrar errores, muéstreles cómo (si es posible) reducirlos a una sola función, tal vez a una sola parte de esta función (una buena documentación de lo que se supone que debe hacer una función o un fragmento de código ayuda aquí). En la mayoría de los casos ellos mismos encontrarán el error, se sentirán felices y motivados y seguirán adelante. Si aún no pueden encontrarlo, bueno, al menos pueden mostrarle el resultado incorrecto que genera la función F y puede tomarlo desde allí y orientarlos en la dirección correcta.

Sería bueno si pudiera detener mi consejo aquí, pero desafortunadamente todavía hay un punto más: la motivación. Lo anterior podría funcionar bien con un estudiante motivado que sabe lo que está haciendo, que se sienta en casa para trabajar en ello y acude a usted en busca de ayuda si es necesario. Sin embargo, este no es el único tipo de estudiante. También hay estudiantes que están en el curso solo por una calificación aprobatoria, que no van a las conferencias, que solo quieren instrucciones paso a paso sobre qué hacer para no reprobar y no quieren hacer ningún esfuerzo. . Si no tienes ninguno de estos en tu clase, felicidades, considérate afortunado. Pero si desea probar un enfoque como el que esbocé anteriormente, debe considerar a esos estudiantes en el plan y debe pensar qué hacer con ellos: ¿Simplemente les dices qué hacer? ¿Los dejas reprobar la clase? Estos puntos deben ser discutidos con el instructor, ya que él o ella pueden tener sus propias ideas sobre qué esperar de los estudiantes. No debe actuar por su cuenta, especialmente si puede reprobar a algunos estudiantes perezosos, necesita su consentimiento. Después de decidir un plan juntos, hágalo público a los estudiantes, dígales exactamente lo que espera que hagan solos antes de que vengan a buscar su ayuda, cómo deben preparar adecuadamente su proyecto para que pueda responder de manera eficiente.

Si un estudiante está implementando un enfoque que no puede confirmar como sólido o que probablemente no tenga éxito , entonces debe dirigir a ese estudiante al horario de oficina del profesor (y debe avisarle al profesor).

Cuando un estudiante se te acerca con una depuración u otra pregunta sencilla en el laboratorio, puedes aprovechar la oportunidad para preguntarle: "¿Has consultado con el Prof. X para asegurarte de que vas en la dirección correcta?"

Si fueras un asistente de enseñanza graduado, iría más lejos. Diría que debe anticipar estos múltiples enfoques y, al principio del semestre, pensar en cómo respondería a la variedad de preguntas de los estudiantes, sin dudar en utilizar al profesor como uno de sus recursos en su trabajo de preparación.

¿Tiene algún consejo sobre qué hacer si es poco probable que puedan comunicarse con el profesor antes de la fecha de entrega de la tarea? A veces tengo horarios hasta las 11 p. m. cuando la tarea vence a la medianoche. No creo que yo sea el culpable de las entregas tardías cuando los estudiantes trabajan una hora antes de la fecha límite de entrega de la tarea, entonces, ¿su respuesta también es válida para este caso?
@jcolemang - En el caso de la solicitud de ayuda de la hora 11: supongamos por un momento que un estudiante te trae un código que no funciona, una hora antes de la fecha límite. Supongamos además que se da cuenta de que su enfoque general es tan erróneo que ustedes dos juntos no podrían hacer que funcione según las especificaciones, incluso si lo mantuvieran hasta las 2 am. En ese caso, quizás lo mejor sea que el estudiante entregue algo para que el profesor vea que hubo algún intento. Y después de eso, tal vez lo mejor que ambos puedan hacer en eso...
... el punto es ir a tomar una cerveza. O ve a casa y lava algo de ropa. O acuéstese temprano y tenga dulces sueños y levántese a la mañana siguiente listo para el próximo desafío. Pero, ¿qué pasa en el caso de que no esté seguro de si su enfoque tiene el potencial de resolver el problema según las especificaciones? En ese caso, sólo tienes que ser honesto. Sí, ustedes dos pueden seguir trabajando duro hasta las 11:59 si quieren, pero manténganse tranquilos. Una actitud amistosa y relajada puede ser muy útil para ayudar a los estudiantes a sobrellevar tales situaciones. Te aconsejo que te finjas brasileño (si no lo eres...
... ya brasileño). Solo sé un buen chico/chica y ayuda al estudiante a mantener su perspectiva.