A Flipped Classroom Experience Teaching Software Engineering

The paper will be presented at the 1st International Workshop on Software Engineering Curricula for Millennials (SECM2017)

Abstract: New teaching approaches like the flipped classroom are an interesting alternative to educate new generations but they represent new challenges for teachers. This paper describes our experience re-designing our classes and study materials in order to adopt a flipped classroom approach combined with some other non-traditional teaching techniques. This experience is focused on the Software Engineering course at Universidad Nacional de Tres de Febrero. In this paper we share details of our strategy, the positive results we obtained and the concerns we still need to address.

Keywords: experience report; flipped classroom; education; agile; software engineering

Download full-paper

Pase: de Algo3 a MeMo2

Pase: de Algo3 a MeMo2

Después de más 15 años como parte del equipo docente liderado por Carlos Fontela y a cargo de la materia Algoritmos y Programación 3, este año emprenderé un nuevo camino.

Resulta que a partir de la implementación del nuevo plan de estudios de la Licenciatura hay que empezar dictar nuevas materias y eso requiere del nombramiento de nuevos docentes o de la reubicación de los docentes existentes. Este segundo caso es el mío.

En particular en el segundo cuatrimestre de este año debe comenzar a dictarse la materia Métodos y Modelos en la Ingeniería de Software 2 (a.k.a. MeMo2). Como su nombre lo sugiere, esta nueva materia es la continuación de Métodos y Modelos en la Ingeniería de Software 1 (a.k.a. MeMo1) que es una materia (hoy en día) equivalente a la materia Análisis de la Información del plan anterior. MeMo1 empezó a dictarse hace un par de cuatrimestres y su equipo docente está liderado por Sergio Villagra. Para asegurar cierta consistencia entre MeMo1 y MeMo2, Sergio también estará involucrado en MeMo2. Por mi parte, durante este primer cuatrimestre estaré participando de MeMo1 y trabajando en el armado de MeMo2.

Debo admitir que dejar Algo3 no fue una cuestión fácil. Si bien el equipo docente de Algo3 ha ido variando a lo largo de todos estos años, somos varios los que llevamos más de 10 años trabajando juntos. Creo que justamente es esa combinación del “núcleo de veteranos” con “la sangre de los nuevos colaboradores” y el compromiso de mejora continua de todo el equipo, lo que ha motivado a que la materia este en una constante evolución. Al mismo tiempo armar y dictar MeMo2 representa un gran desafío y una importante oportunidad de crecimiento en mi carrera docente y es por ello que acepté el pase.

Me voy de Algo3 muy contento de haber trabajado con ese gran equipo docente e infinitamente agradecido a Carlos Fontela por haberme invitado a sumarme al equipo allá por el año 2000.

Preparando AyDOO@UNTreF 2017

El sábado pasado comenzamos a trabajar en la preparación de la materia Análisis y Diseño Orientado a Objetos. En términos generales mantendremos la dinámica del año pasado con la incorporación de algunos cambios surgidos principalmente del feedback de los alumnos.

El cambio más relevante para este año es que no seré único docente de la materia, sino que este año también serán parte del equipo docente Facundo Rodríguez Arceri y Diego Fontdevila.

El año pasado estimamos una carga de trabajo semanal extra-clase de 4 horas pero los alumnos reportaron unas 10 horas promedio de dedicación (un poco exagerado a mi parecer).  Para este año veremos de regular las tareas de manera que la carga de trabajo extra-clase esté más cercana a nuestra expectativa de 4 horas que a las 10 horas reportadas por los alumnos.

Continuaremos trabajando con Java y Ruby, pero posiblemente el trabajo con Ruby lo comencemos más tempranamente.

Según hemos acordado con la coordinación, la materia la estaremos dictando los días miércoles, en el horario de 18 a 22 en la sede Lynch.

 

Tarde de revisión de papers

Tarde de revisión de papers

Ayer pasé gran parte de la haciendo revisiones de papers para el Internacional Workshop on Software Engineering Curricula for Millennials que se realizará en Buenos Aires el próximo mes de Mayo como evento satelite de la conferencia internacional de Ingeniería de Software.

La revisión de papers no es una actividad que yo realicé muy a menudo, pero es algo que realmente disfruto porque más allá de estar en rol de “evaluador” lo veo sobre todo como una oportunidad de aprendizaje. Revisar un paper implica no solo leer el paper sino sobre todo entenderlo. Adicionalmente hay que verificar referencias a otros papers, reflexionar y dar feedback. Y por supuesto: hay que dar un dictamen.

Si bien es posible que para gran parte de la comunidad científica lo más importante de la revisión sea el dictamen (aceptado o no), yo considero que lo más importante es el feedback que se le da al autor, pues si bien un paper aceptado suma para un CV, el feedback permite mejorar y eventualmente volver a intentarlo en caso que el paper no resulte aceptado.

Notas del CONAIISI 2016

Notas del CONAIISI 2016

Jueves y viernes pasado estuve participando de este congreso que se llevó a cabo en la ciudad de Salta. Llegué a la ciudad el día anterior y estuve dando una charla abierta en la Universidad Nacional de Salta. Hubo unos 25 participantes entre los cuales se contaban alumnos avanzados, graduados, docentes y particulares. Aquí están las diapositivas que utilicé. Le agradezco a Loraine Gimson que fue quien se encargo de la organización de la actividad.

Ese mismo día por la noche compartí la cena con el Ing. Guillermo Pantaleo, un colega de FUIBA que fue docente mío y con quien tuve el gusto de trabajar un cuatrimestre. Él también estaba en Salta para participar del congreso.

El Jueves comenzó el congreso. Quedé impresionado por la gran cantidad y diversidad de asistentes. Más allá de los locales del norte del país había varios grupos grandes de Buenos Aires, Santa Fe y Córdoba y también gente de Cuyo, la Mesopotamia y la Patagonia, muy federal sinceramente.

El congreso se realizó en el campus de Universidad Católica de Salta que está ubicado en las afueras de la cuidad, hermoso, pastito muy cuidado, árboles, cerros alrededor, todo muy limpito y ordenado.

El jueves por la noche fue la cena de camaradería en un lugar llamado “La Peña de los Gauchos Güemes” que según, cuentan su construcción es un réplica de la histórica Posta de Yatasto. En la cena compartí la mesa con: una estudiante de la Nacional de Rosario, un estudiante de UTN.LaPlata, dos profesoras de UCASAL y un profesor/investigador de la Nacional de Avellaneda, cuyo trabajo de tesis yo había leido cuando trabajaba en mi tesis de grado sobre programación orientada a aspectos, ja!.

Entre las sesiones que más me gustaron estuvieron:
  • Un taller que dictó Carlos Neil (de la UAI) sobre escritura de papers. Realmente muy bueno, tanto a nivel contenido y también a nivel orador, el tipo muy didáctico y compartió mucho tips concretos.
  • Un trabajo de gente de UTN.BA sobre desafíos de arquitectura de IoT.
  • El keynote sobre documentos electrónicos y firma digital
  • Un trabajo basado en un experimento sobre cómo TDD llega a generar menos bugs
  • Una sesión tipo Foro donde estudiantes/graduados recientes contaban sobre sus emprendimientos
  • Un trabajo del ISISTAN sobre Refactoring que presentó Claudia Marcos

Mi presentación fue el día viernes y contó con una gran asistencia (el aula estaba repleta) y por las caras y participación de los asistentes me parece que tuvo una buena llegada. Aquí están las diapositivas que utilicé durante la presentación.

Cierre de AyDOO 2016 en UNTreF

El cuatrimestre terminó y en mi opinión su desarrollo estuvo bastante en línea con lo planeado inicialmente.

Comenzando por los números duros:

  • Hubo 16 inscriptos, 2 de ellos nunca vieron a clase, 1 vino solo una clase y los restantes 13 completaron la cursada.
  • La nota promedio de cierre de cursada fue 7,9/10.
  • La evaluación general de la materia realizada por los alumnos (vía encuesta anónima) fue de 7,5/10.

Personalmente quedé muy conforme con el desarrollo de la materia, obviamente siempre hay cuestiones que mejorar, pero en términos generales creo que la dinámica fue apropiada. Creo que el uso del campus virtual ayudó mucho a la dinámica y personalmente estoy muy conforme con la herramienta utilizada (Eliademy).

Entre los puntos positivos destacados por los alumnos estuvieron:

  • El uso de un lenguaje nuevo para ellos (Ruby), ya que hasta el momento la mayoría había trabajado casi exclusivamente con Java. Cabe aclarar que no trabajamos solo con Ruby, sino que comenzamos trabajando con Java y luego pasamos a Ruby. En este sentido varios alumnos sugirieron comenzar con Ruby mucho antes.
  • Los videos. Para varias cuestiones (principalmente de carácter técnico) compartí videos grabados por mi, que los alumnos encontraron muy útiles.
  • Los casos reales. En casi todos los temas que fuimos viendo, fui compartiendo casos reales que me he encontrado en mi carrera profesional como ingeniero.

Entre los puntos negativos a mejorar destacaron:

  • La estimación de la carga de trabajo. Inicialmente yo había estimado (y explicitado) unas 4 horas semanales de trabajo extra clase, pero según reportaron los alumnos, en promedio debieron dedicar unas 10 horas semanales.
    => Definitivamente este es un punto a mejorar y lo que pienso hacer al respecto no es modificar las tareas semanales sino simplemente comunicar que se requerirán unas 10 horas de trabajo semanal extra clase.
  • La falta explícita de recreo. Dado que la dinámica de las clases incluye actividades de trabajo, no suelo dar recreos explícitos, sino que para mi el momento de recreo es  cuando hacen las actividades. Típicamente doy X minutos para hacer las actividades y en ese tiempo son libres de tomar una porción para hacer su recreo. Fui explícito respecto a esto pero evidente a los alumnos no les gusta y quieren que de un recreo explícito.
    => Sinceramente no estoy convencido de cambiar esto, pero es algo que evaluaremos en la próxima edición. Una opción que estoy barajando es dar un recreo de 10 minutos pero que sean los propios alumnos quienes lo pidan explícitamente en cada clase y si nadie lo pide, entonces posiblemente no se haga.

Finalmente hubo algunas opiniones contradictorias de los alumnos respecto del nivel de exigencia. Si bien hubo coincidencia en que el nivel de exigencia fue alto, algunos lo consideraron muy positivo mientras que otros lo consideraron negativo.

aydoo2016

Preparando Análisis y Diseño Orientado a Objetos en UNTreF

Por estos días me encuentro preparándome para dictar esta materia el primer cuatrimestre de este año. Si bien ya he dictado este materia en otras ocasiones esta vez tengo el desafío de dictarla solo, las veces anteriores la dicté en conjunto con @dfontde. En base al feedback obtenido de las dictadas anteriores y de algunas ideas que probando en otras materias, he decido hacer algunos ajustes a la dinámica de dictado de la materia.

El avance de internet, las redes sociales y la sobrecarga de información requieren que la dinámica de las materias se adapte, por ello más allá de la clase presencial semanal tendremos un modelo de aula extendida basado en un plataforma web. En base a esto se espera que los alumnos tengan una interacción constante con todo el grupo de estudio. Por cada hora de clase presencial se espera una dedicación de al menos una hora de trabajo fuera del aula. Dicho esto y pasando en limpio: los alumnos que cursen la materia deberán dedicar al menos 8 horas semanales todas las semanas. Dependiendo de cuanta maña pueda darse cada alumno, puede que la materia le insuma unas 6 horas semanales o puede que le insuma unas 10. El punto clave aquí es que a diferencia de otras materias no es posible llevar esta materia “haciendo la plancha” y estudiando a 30 horas seguidas los días previos a la evaluación. Se quiere una dedicación constante.

Respecto del mecanismo de evaluación no me gusta tomar examen escrito (aunque no lo descarto) y por ello estoy diseñando un mecanismo de evaluación basado en tareas semanales. La mayoría de estas tareas será de índole individual. Las tareas consistirán principalmente en lecturas con cuestionarios asociados y resolución de problemas de modelado y programación.