Puedo darte la perspectiva de un profesor. Rutinariamente doy preguntas de examen para las cuales los estudiantes deben escribir pseudocódigo o código de programa real.
El problema que tengo es que debo evaluar el nivel individual de conocimiento y habilidad de los estudiantes. Por lo general, tenemos trabajo de laboratorio, tarea, proyectos y exámenes para hacer esto. Cada uno de estos es necesariamente algo artificial y tiene sus pros y sus contras, pero la esperanza es que, juntos, podamos obtener una buena idea de dónde está un estudiante. En particular, la tarea y los proyectos les permiten a los estudiantes resolver problemas algo sustanciales y escribir / probar / depurar programas prácticos. Sin embargo, los estudiantes pueden sustituir mucho tiempo y la ayuda de otros (incluso sin hacer trampa) por el conocimiento y la habilidad individual. Un examen me da una medida de lo que ese estudiante, no el estudiante y sus compañeros de cuarto y asistentes de enseñanza y StackOverflow, pero el estudiante individual sabe y puede hacer. Desde un punto de vista laboral: ¿será este estudiante un contribuyente individual a los proyectos?
Muchos estudiantes opinan que programar escribiendo código a mano es artificial, y lo es. Sin embargo, no es más artificial que los proyectos de tarea. Pregúntele a un profesional cuándo vinieron a trabajar y le dijeron “ya hemos implementado el nuevo sistema, pero eliminamos estas piezas y queremos que todos en el equipo vean si pueden duplicar lo que ya hicimos”. es algo a lo que es prácticamente imposible exponer a los estudiantes en un entorno de clase típico, pero es donde realmente sucede un montón de trabajo. Como otros han dicho, escribir código a mano es normal en una entrevista (si no puede hacerlo, no será contratado), pero también es cierto que a veces los programadores trabajan juntos en una pizarra. Entonces, aprende a hacerlo cómodamente.
Si encuentra esto difícil, entonces hay algunas cosas que puede hacer, dependiendo de lo que lo haga difícil. Si sufres ansiedad por los exámenes, entonces deberías obtener ayuda competente (tenemos un gran Centro de Recursos Académicos donde enseño que hace un gran trabajo con esto). De lo contrario, practique. Si quieres ser un buen lanzador, entonces comienza a lanzar una pelota de béisbol; si quieres programar, programa; Si quieres resolver problemas a mano, ¡practica hacerlo! Cualquier función que vea, lea o escriba durante el curso podría ser un buen problema de ejemplo. Obtenga algunos amigos, acuerde un problema, establezca un temporizador de 5 a 10 minutos (según el problema) y resuélvalo por separado. Si todavía no domina el idioma que está usando (o si lo es pero no ve de inmediato cómo resolver el problema), no intente pensar primero en el idioma. Dibuje su solución con imágenes y / o pseudocódigo primero, luego conviértala al idioma.
- ¿Cuál es la mejor universidad, SRM o VIT?
- ¿Qué universidades ofrecen títulos de licenciatura en artes circenses?
- ¿Debo solicitar la universidad de ingeniería en Pune?
- ¿Hay alguna universidad en Brasil que ofrezca programas de pregrado en literatura inglesa?
- ¿Cuáles son las mejores universidades para la astronomía en la India?
Cuando suene el temporizador, observe si no ha terminado y tómese unos minutos para terminar. Luego compara las soluciones. Si tiene 3 o 4 personas, verá 2–4 respuestas de diferente calidad. Debatirlos, predecir lo que sucederá. ¡Incluso puede escribir las soluciones y compararlas!
Lo que generalmente encuentro es que a los estudiantes les faltan algunos elementos clave: o no pueden analizar el problema y los ejemplos en el examen, que muestra brechas conceptuales y posiblemente incluso falta de vocabulario del curso; o son incapaces de articular un algoritmo en el nivel apropiado de abstracción, que muestra la falta de un modelo mental del problema y / o las herramientas computacionales; o carecen de fluidez en el lenguaje de programación que estamos usando.
¡Nada de esto es artificial! Si tiene estos problemas, entonces todavía no está donde quiere estar. La buena noticia es que puede solucionarlo con una práctica dedicada y una autoevaluación clara.
En una nota separada, eso requeriría un ensayo enorme por sí mismo: he decidido que los estudiantes generalmente deberían usar un IDE durante los primeros 2 o 3 semestres. Entiendo que son herramientas poderosas que facilitan las cosas, y son una necesidad profesional en estos días. Sin embargo, al igual que un GPS le permite conducir docenas de veces sin que aprenda cómo llegar allí (qué caminos toma, cuáles son los puntos de referencia clave, etc.), un IDE permite a los estudiantes producir programas sin aprender sobre interfaces de funciones , cómo ocurren la compilación y la vinculación, etc. Cuando las cosas salen mal, los estudiantes están a la deriva sin un modelo mental de lo que realmente está sucediendo. Entonces, creo que un IDE es una gran lupa de productividad para alguien que tiene el modelo mental de lo que es un programa, cómo funciona, cómo encajan sus componentes y cómo se crean los programas. Pero evita que los principiantes adquieran el modelo en primer lugar. En cualquier caso, los proyectos en los que uno trabaja para los primeros cursos de pregrado (o incluso en toda una carrera de pregrado) no necesitan toda esa infraestructura.
¡Buena suerte!