¿Cuál es la mejor manera de estructurar los talleres para comenzar a programar?

7

Estamos planeando organizar talleres de programación para desarrolladores web Java con codificación básica pero sin experiencia en diseño. El objetivo de los talleres es presentar a estos programadores al código limpio.

Áreas de enfoque:

  • TDD
  • Cuatro reglas de diseño simple
    • ejecuta todas las pruebas
    • no contiene duplicaciones
    • expresa la intención de los programadores
    • minimiza el número de clases y métodos

Estructura:

  • 6 talleres entrenados durante todo el día durante 3 meses usando la programación de pares y el cambio de pares
  • Cada taller contiene
    • cuatro presentaciones / demostraciones de 15 minutos
    • cuatro ejercicios de resolución de problemas de 90 minutos
    • Pecha kucha de 4 minutos por cada programador

Katas planeados para el primer taller:

  • números primos
  • juego de bolos
  • puntuación de tenis
  • conversión de números árabes a romanos
  • factores primos

¿Crees que esta es una buena manera de estructurar un taller de programación? ¿Hay algún elemento que pueda introducir en los talleres para hacerlos más interactivos y crear más interés entre los desarrolladores?

Edición 1: Resumen de los comentarios

  • Cree un interés en la lectura de libros.
  • Tenga ejemplos de proyectos reales.
  • Tener contacto con el grupo durante los días libres.
pregunta Ranga Rao Karanam 16.01.2012 - 21:37

6 respuestas

3

Suena como si estuvieras en el camino correcto, pero para que los estudiantes realmente obtengan el material y lo utilicen día a día, necesitas tener un tiempo donde puedan ingresar su código real de su trabajo diario o lo que sea, y practicar. en eso.

    
respondido por el Martijn Verburg 16.01.2012 - 21:59
3

Las áreas de enfoque y la estructura suenan bien. Algunos pensamientos:

  • Ya que una vez que la clave es presentar a las personas el código limpio, asegúrese de que cada pieza del código de ejemplo esté realmente limpia a menos que lo esté utilizando como un ejemplo negativo. Parece una obviedad, pero a menudo el código malo se cuela y arruina tu ética (reputación) como instructor.
  • Usa ejemplos negativos de una manera constructiva. Mostrar ejemplos negativos, especialmente cuando no pertenecen a nadie en el grupo, es a menudo una forma de conseguir la participación del grupo en el proceso, permite una buena lluvia de ideas ("¿por qué en earth hicieron ¿X? "y así sucesivamente) sin que parezca que estás atacando a un alumno en el grupo. Puede comenzar encontrando el peor ejemplo posible, pero luego haga que otros ejemplos negativos sean menos difíciles de criticar a medida que avancen los talleres.
  • Hacer que los participantes sean responsables de parte del contenido (a través de pecha kuchas) es una buena idea. Esto les ayudará a convertirse en buenos comunicadores sobre el desarrollo, además del contenido que están aprendiendo.
  • Vincule ejercicios, presentaciones, ejemplos, al trabajo que están haciendo "de verdad" siempre que sea posible.
  • Trate de hacer algún tipo de registro o contacto con el grupo durante las semanas libres (las semanas entre las reuniones del taller), tal vez algo que los haga responsables de la continuación de la experiencia de aprendizaje, incluso si es solo un blog. publicar o una adición a un wiki de grupo.
respondido por el jcmeloni 16.01.2012 - 22:58
1

Este taller suena sólido. Definitivamente me aseguraría de que haya documentos o lecturas sugeridas para llevar a casa. Algunos pueden argumentar que los asistentes no leerán los materiales que les entreguen, pero yo cuestiono que si es interesante, y hay un valor agregado, los desarrolladores seguirán adelante. El libro Head First Design Patterns es fantástico, y una lectura súper divertida. Tal vez introduzca extractos de allí, y permita que los desarrolladores vean su valor, y luego sugiera que lo lean entre sesiones. Tiene un promedio de $ 25 (creo) y vale cada centavo.

    
respondido por el DaBaer 16.01.2012 - 22:25
1

Este taller coincidirá perfectamente con la meta. Hay algunos buenos libros disponibles en el mercado, como el enfoque TDD de Kent Beck, Refactoring - Mejorar el diseño del código existente - Martin Fowler, Clean Code - Un manual de Agile Craftman Ship de Robert C.Martin. Debería recomendar a la asistente que lea el libro, donde en estos conceptos se describen detalladamente, no podemos cubrir todo en un solo taller.

    
respondido por el SathishKumar Murugesan 17.01.2012 - 09:57
0

Me suena perfecto, he tenido experiencias organizando una. Recomiendo tener sesiones en la mañana seguidas de un ejemplo de diseño y luego desarrollar los casos de prueba para el mismo diseño en la tarde (algo así para ser coherente con el patrón de enseñanza). He tenido una sesión práctica en la mañana y he recibido quejas de los candidatos en el pasado solicitando que la sesión práctica se maneje en la tarde y no en la mañana.

La retroalimentación también hizo hincapié en más tiempo en la práctica porque las personas tienen más dudas de esa manera que entender algo sobre la teoría. Espero que ayude :) ¡Buena suerte!

    
respondido por el Venki 16.01.2012 - 22:24
0

También puede intentar dividir el grupo en subgrupos, digamos 4 grupos de 4, darles a todos la misma tarea de programación básica, luego barajar el código a otro grupo y hacer que cada grupo agregue alguna funcionalidad adicional. Les mostrará la importancia de escribir un código que se pueda mantener mejor que cualquier conferencia larga.

    
respondido por el SnoopDougieDoug 20.01.2012 - 17:06

Lea otras preguntas en las etiquetas