Organizadores y asistentes de enseñanza sobre los programas en línea de CS Center

El 14 de noviembre, el CS Center lanza por tercera vez los programas en línea "Algoritmos y Computación Eficiente", "Matemáticas para Desarrolladores" y "Desarrollo en C++, Java y Haskell". Están diseñados para ayudarlo a sumergirse en un nuevo campo y sentar las bases para aprender y trabajar en TI.

Para inscribirse, deberá sumergirse en la atmósfera de aprendizaje y aprobar un examen de ingreso. Lea más sobre el programa, el examen y el costo en código.stepik.org.

Mientras tanto, los asistentes de enseñanza y el curador del programa del último lanzamiento le dirán cómo se organiza la capacitación, quién viene a estudiar, cómo y por qué los asistentes revisan el código durante sus estudios y qué aprendieron de la participación en los programas.

Organizadores y asistentes de enseñanza sobre los programas en línea de CS Center

Cómo están organizados los programas

El CS Center tiene tres programas en línea basados ​​en la plataforma Stepik: "Algoritmos y Computación Eficiente", "Matemáticas para Desarrolladores" и "Desarrollo en C++, Java y Haskell". Cada programa consta de dos partes. Estos son cursos preparados por profesores y científicos experimentados:

  • Algoritmos e informática teórica como parte del programa de algoritmos.
  • Análisis matemático, matemáticas discretas, álgebra lineal y teoría de la probabilidad en el programa de matemáticas para desarrolladores.
  • Cursos en C++, Java y Haskell en el programa online en lenguajes de programación.

Así como actividades adicionales, como revisiones de código, resolución de problemas teóricos para evidencia, consultas con asistentes y docentes. Son difíciles de escalar, por lo que el entrenamiento se lleva a cabo en grupos pequeños. Las actividades ayudan a comprender el tema en profundidad y obtener comentarios de alta calidad.

Artemy Pestretsov, asistente de enseñanza: “Me parece que la revisión de código es la principal característica distintiva de los programas en línea en lenguajes y algoritmos. Para encontrar la respuesta a su pregunta, simplemente puede buscar en Google. Es difícil y largo, pero posible. Pero Google no hará una revisión del código, por lo que es muy valioso”.

Cada curso dentro del programa tiene una duración aproximada de dos meses. En la final, los estudiantes deben aprobar un examen o recibir créditos por todos los cursos.

Organizadores y asistentes de enseñanza sobre los programas en línea de CS Center

Quienes son nuestros estudiantes

Estudiantes de programas en línea:

  • Quiere llenar los vacíos en matemáticas o programación. Por ejemplo, desarrolladores experimentados que quieran mejorar su base matemática.
  • Empiezan a familiarizarse con la programación e incluyen los programas del centro en su plan de autoformación.
  • Prepárese para la admisión a un programa de maestría o un centro de CS.
  • Estudiantes con un perfil educativo diferente que decidieron cambiar radicalmente de rumbo. Por ejemplo, químicos o profesores.

Artemy Pestretsov: “Tuvimos un estudiante, un hombre en su mejor momento, que trabajaba en una compañía de petróleo y gas y se retrasó en los plazos porque se fue de viaje de negocios a un pozo. Es genial que personas con antecedentes completamente diferentes vean que las tecnologías de la información y las matemáticas han cobrado impulso. Estas son personas consumadas que pueden vivir muy bien, pero están tratando de aprender algo nuevo, quieren desarrollarse en otras áreas”.

Mijaíl Veselov, vmatm:: “El nivel de cada uno es diferente: alguien no entiende completamente las cosas básicas del lenguaje, y alguien viene como programador de Java o Python, y puedes tener una conversación con él con el espíritu de “cómo hacerlo mejor”. Lo principal es no centrarse en lo mejor de lo mejor, sino en el nivel medio, para que el curso sea útil para todos”.

Cómo se organiza la formación

Varias herramientas ayudan a los organizadores y educadores a construir el proceso.

Correspondencia en el correo. Para anuncios importantes y formales.
Chatea con profesores y organizadores. Los muchachos a menudo comienzan a ayudarse entre sí en el chat incluso antes de que el maestro o el asistente vean la pregunta.
Seguimiento. Para consultas y entrega de tareas a docentes y asistentes. Aquí puede hacer preguntas privadas y discutir la solución uno a uno: los estudiantes, por supuesto, no pueden compartir soluciones entre sí.

Los organizadores se comunican con los estudiantes y tratan de resolver rápidamente los problemas. Kristina Smolnikova: "Si varios estudiantes preguntan lo mismo, entonces este es un problema común y todos deberían saberlo".

Cómo ayudan los asistentes

Revisión de código

Los estudiantes de los programas entregan sus tareas y los asistentes verifican qué tan limpio y óptimo es su código. Así es como los chicos organizaron la revisión la última vez.

Artemy Pestretsov trató de responder preguntas dentro de las 12 horas, porque los estudiantes entregaron las tareas en diferentes momentos. Leí el código, encontré problemas en términos de estándares, prácticas generales de programación, llegué al fondo de los detalles, pedí optimización, sugerí qué nombres de variables debían corregirse.

“Todos escriben código de manera diferente, las personas tienen diferentes experiencias. Hubo alumnos que tomaron y escribieron la primera vez. Me gusta todo, funciona muy bien y se tarda 25 segundos en comprobarlo porque todo está perfecto. Y sucede que te sientas y durante una hora tratas de entender por qué una persona escribió ese código. Este es un proceso educativo absolutamente adecuado. Cuando haces una revisión de código en la vida real, eso es más o menos lo que sucede”.

Mikhail trató de construir el proceso de forma independiente para cada estudiante, de modo que no hubiera ninguna situación "Ya le expliqué esto a alguien, pregúntale". Dio un primer comentario detallado sobre el problema, luego el estudiante hizo preguntas aclaratorias y actualizó la solución. Por aproximación sucesiva, obtuvieron un resultado que convenía tanto al mentor como al estudiante en términos de calidad.

“En las primeras una o dos semanas de capacitación, las personas escriben un código no muy preciso. Deben recordarles cuidadosamente los estándares que existen tanto en Python como en Java, hablar sobre analizadores automáticos de código para errores y deficiencias evidentes, para que luego no se distraigan con esto y para que todo el semestre no moleste a un persona porque sus transferencias están mal hechas o no está la coma.

Consejos para quienes desean realizar revisiones de códigos de capacitación

1. Si un alumno ha escrito un código problemático, no pida volver a hacerlo. Es importante que entienda cuál es el problema de este código en particular.

2. No mientas a los estudiantes. Es mejor decir honestamente "No sé" si no hay forma de entender el problema. Artemy: “Tuve un estudiante que cavó mucho más profundo que el programa, descendió al nivel de hierro, luego volvió a subir, y subíamos constantemente en este ascensor de abstracciones. Tuve que recordar algunas cosas, pero fue muy difícil de formular desde el principio”.

3. No es necesario centrarse en el hecho de que un estudiante es un principiante: cuando una persona hace algo por primera vez, se toma las críticas más en serio, no sabe en absoluto cómo lo hacen normalmente, y lo que logra y que no. Es mejor hablar con cuidado solo sobre el código y no sobre las desventajas del estudiante.

4. Es genial aprender a responder preguntas de una manera "educativa". La tarea no es responder directamente, sino asegurarse de que el estudiante realmente entienda y llegue a la respuesta por sí mismo. Artemy: “En el 99 % de los casos, podía responder de inmediato a la pregunta de un estudiante, pero a menudo no podía tomar y escribir una respuesta de inmediato, porque hay mucho que sopesar. Escribió cincuenta líneas, borró, volvió a escribir. Soy responsable de la reputación de los cursos y del conocimiento de los estudiantes, y este no es un trabajo fácil. Surge una sensación muy agradable cuando un estudiante dice: "¡Oh, tengo una idea!" Y yo estoy como, "¡Tiene una epifanía!"

5. Es importante ser considerado y no criticar demasiado. Inspirar, pero no demasiado para que el alumno no crea que lo está haciendo todo muy bien. Aquí tienes que aprender a gestionar adecuadamente el nivel de tus emociones.

6. Es útil recopilar comentarios generales y errores similares para ahorrar tiempo. Puede grabar el primer mensaje de este tipo y luego simplemente copiar y agregar detalles en respuesta a otras personas con la misma pregunta.

7. Debido a la diferencia de conocimientos y experiencia, algunas cosas parecen obvias, por lo que al principio los asistentes no las descifran en los comentarios para los estudiantes. Ayuda simplemente releer lo que se escribió y agregar lo que parecía banal. Mikhail: “Me parece que cuanto más ayudo con la verificación de soluciones, más claro soy para los estudiantes del nuevo curso desde el principio. Ahora leería los primeros comentarios al código y diría: "Debería haber sido más cuidadoso, con más detalle".

Enseñar y ayudar es genial.

Les pedimos a los muchachos que compartieran qué experiencia útil obtuvieron mientras revisaban el código y hablaban con los estudiantes.

Artemy: “Lo principal que aprendí es enseñar paciencia. Esta es una habilidad completamente nueva, estoy aprendiendo áreas no técnicas completamente nuevas para mí. Creo que enseñar me ayudará mucho cuando hable en conferencias, hable con colegas o presente proyectos en un mitin. ¡Aconsejo a todos que prueben!”

Mikhail: “Esta experiencia me ayudó a ser un poco más tolerante con el hecho de que alguien escribe código diferente a mí. Especialmente cuando recién comienzas a buscar la solución. Tomé cursos de Python y Java yo mismo y resolví problemas similares de manera diferente. Variables y funciones nombradas de manera diferente. Y las soluciones de los muchachos son todas un poco diferentes, porque en programación no hay una solución de referencia. Y aquí necesitas un poco de paciencia, para no decir: "¡Solo era necesario hacer esto!" Me ayudó más tarde en el trabajo discutir los pros y los contras de soluciones específicas, y no los pros y los contras del hecho de que no lo hice”.

Más sobre programas en línea y reseñas de ex alumnos

Fuente: habr.com

Añadir un comentario