Invitado especial

En la clase de hoy de Algoritmos y Programación 3, estará como invitado especial Mariano Martinez Peck, un joven ingeniero con quien tuve el gusto de trabajar tiempo atrás. Actualmente Mariano se encuentra haciendo un doctorado en Francia y aprovechando su visita al pais estará compartiendo con los alumnos de la materia su experiencia en el doctorado y también hablará un poco sobre Pharo y metaprogramación.

Como siempre, las clases son abiertas con lo cual los interesados pueden darse una vuelta por el aula 201 de la sede Paseo Colón de la Facultad de Ingeniería a partir de las 19.00 hs.

Nos vemos.

Comienzo de clases en FIUBA

El pasado lunes 8 de marzo comenzaron las clases en FIUBA. Durante este primer cuatrimestre estoy dictando Algoritmos y Programación 3 (algo3) y Algoritmos y Programación 1 (algo1) en el curso de RositaW.

Personalmente siento que va a ser un cuatrimestre muy movido pues al cabo de tan solo 2 semanas de clases hubo más de 90 mensajes en la lista de Algo3 y mas de 40 en la lista de Algo1. Al mismo tiempo la forma en que están planificada las cursadas de estas materias, requiere una dedicación importante tanto por parte de los alumnos como de los docentes.

Algo1 tiene una carga horaria de 6 horas de clases semanales las cuales estan repartidas en 2 dias, con 90 minutos teoría seguidos de 90 minutos de práctica. Un detalle interesante es que el lenguaje utilizado para el dictado de la materia es Python. Durante la cursada hay 5 parcialitos y 4 trabajos prácticos de realización obligatoria para aprobar la cursada. Una vez aprobada la cursada hay un final con el que se finaliza la materia.

En algo3 la carga horaria de clases también es de 6 horas, pero repartida de otra forma: un día todo teoría y otro dia todo práctica. Durante la cursada hay 2 parciales y 3 trabajos prácticos, los dos primeros son individuales y se hacen en Smalltalk y el tercero es grupal y se hace en Java. Con todo esto se aprueba la cursada y se accede al final.

Continuará….

Retrospectiva con alumnos en Algo 3

El pasado jueves fue la última clase de Algo 3 y nos pareció el momento indicado para hacer una restrospectiva con alumnos. Yo tomé el rol de facilitador. Para la retrospectiva utilizamos la técnica que Diana Larsen utilizó en Agiles2009 y que está explicada en su libro Agile Retrospectives. Muy a grandes rasgos la técnica tiene la siguiente dinámica:

  1. En una pared se traza un timeline (que en nuestro caso representaba el cuatrimestre) y se le pide a los participantes que escriban en post-it los eventos y sensaciones que tuvieron durante los largo del periodo del tiempo en cuestión. Cada post-it se ubica sobre la línea de tiempo considerando su “positividad/negatividad” ubicando más arriba los post-it con referencias a cosas positivas y más abajo los de referencias negativas. Cada participante puede poner varios post-it y no importa que distintos participantes hagan referencia al mismo tema.
  2. Una vez completo el timeline con todos los post-it se pasa a leerlos uno por uno  “clasificándolos” en áreas temáticas.
  3. Cuando se han clasificado todas las historias, se pide a los participantes que voten aquellos temas sobre los quieren trabajar.
  4. Finalmente, los temas más votados son trabajados en mesa redonda. En nuestro caso las áreas más votadas fueron:
    1. Contenido de la materia (16 votos)
    2. Clases prácticas y Trabajos prácticos (12 votos)

Respecto del contenido de la materia los actions items más importantes que sacamos fueron:

    • Reveer la decisión de dar lecturas obligatorias en inglés, pues ha resultado un impedimento muy importante para muchos alumnos.
      • Continuar dando Smalltalk, pero dar más clases prácticas al respecto, pues costó mucho programar el TP Smalltalk.
        • Dar la clase de Scrum antes (en este cuatrimeste fue la última clase). La idea seria darla antes de comenzar con el TP grupal para que puedan utilizarlo al hacer dicho TP.
          • Dar más soporte para el uso de ANT. Este punto no lo comparto, me parece que es una herramienta muy simple y con lo que se dió en clase y un poco de voluntad tiene que ser suficiente para hacer lo que les pedimos.
            • Ajustar la clase de persistencia, pues dejo más interrogantes que respuestas.

              En cuanto a las clases prácticas:

                • Continuar con las clases en el laboratorio
                  • Compartir el diseño del TP con otros grupos para tener una visión distinta.

                    Sin duda al hacer la retrospectiva del con todo el equipo docente tomaremos estos en consideración para el cuatrimestre próximo.

                    Algunas que se mencionaron durante la restrospectiva y que quisiera destacar fueron:

                      • Los alumnos vieron como positivo el hecho de utilizar Smalltalk, pues les permitió tener acercamiento más concreto a la idea de objetos que se comunican enviandose mensajes.
                        • El reconocimiento de los alumnos a la labor del equipo docente, contestando consultas tanto presenciales en las clases como en la lista de correo de la materia.
                          • Les resulto de gran interés la clase sobre tendencias que dimos con Eugenio.

                            Personalmente debo decir que termino el cuatrimestre muy contento pero también bastante agotado, la carga de trabajo de este cuatrimestre fue mucho mayor a la que estábamos acostumbrados. Estoy contento porque creo que el enfoque adoptado permitió a los alumnos aprender mejor los conceptos de la materia y en relación a esto quisiera mencionar un episodio que me ocurrió la semana pasada. Estaba hablando con uno de mis grupos, en un momento les pregunté porque no habían avanzado aún con las clases de interface de usuario y un alumno me contesto: “es que aún nos falta agregar algunas pruebas unitarias para asegurar el correcto funcionamiento del modelo”. Esto no dice cuando aprendieron de objetos, pero si refleja claramente que entendieron la importancia de las pruebas.

                            Me despido con algunas fotos que tomamos durante la retrospectiva.

                            Imagen0039 Imagen0038

                            Imagen0040

                            AOP reloaded

                            El jueves pasado Pablo Cosso me invitó a dar una clase de AOP en su materia en Fiuba. Esto me obligó a desenpolvar mi tesis de AOP y actualizar parte del contenido en base a los avances de los últimos dos años. Mal que me pese el  tema de AOP se ha enfriado muchísimo respecto de los que era hace dos años. Un clara prueba de esto es la actividad de las lista de aosd.net donde la cantidad media de mensajes mensuales no supera los 10 mensajes. El porque de este enfriamiento merece un post aparte que estaré escribiendo próximamente. Más allá de esto, me parece importante mencionar una herramienta para plataforma .NET que se ha convertido en el «análogo» a AspectJ: PostSharp. Esta herramienta ofrece capacidades weaving estático con un modelo de pointcuts basado en anotaciones. Además la herramienta cuenta con una serie de contribuciones que permiten integrarla fácilmente con distintos componentes/herramientas como Spring Framework y EntLib entre otros. La clase duró unos 90 minutos y hacia el final surgieron varias preguntas de parte de la audiencia que parecen indicar que el tema resultó de interés.

                            Quiero agradecer a Pablo por su gentíl invitación.

                            Próximamente más AOP.

                            Saludos!

                            SOA & Cloud computing en Fiuba (completo)

                            Dimos la clase y creo que a los alumnos les resultó entretenido.El título que le dimos a la clase fue: Tendencias en el desarrollo de software. Me parece una buena idea la de hablar sobre tendencias pero sin duda deberemos revisar y actualizar los temas expuestos teniendo mucho cuidado con la profundidad con la que tocamos cada tema.

                            El slide deck utilizado está disponible aquí.

                            SOA & Cloud computing en Fiuba

                            Esta tarde en el contexto de Algo3 y para ir cerrando el cuatrimestre, junto con Eugenio Yolis vamos a estar dando una clase de tendencias y estado del arte del desarrollo del software. Eugenio en particular va a estar centrado en SOA mientras que yo hablaré sobre Cloud computing y temas aledaños.

                            Como siempre las clases son abiertas, asi que gustan pueden pasar por el aula 203 de Paseo Colon (Fiuba) a partir de las 19 hs.

                            Mañana les cuento como salió.

                            Nuestra presentación en Smalltalks 2009

                            El pasado viernes junto a Carlos presentamos el trabajo que estamos haciendo en algo3. En la sesión hubo unas 50 personas. Comenzamos la sesión presentando el contexto en el cual dictamos la materia, luego Carlos explicó el régimen de cursada y la forma en que se encara la parte teórica de la materia, después de eso yo expliqué el enfoque utilizado en la práctica, donde a mi parecer lo más interesante es el uso de alguna prácticas ágiles como TDD, desarrollo iterativo, pair programming, collective ownership e integración contínua.

                            Durante la presentación tuvimos algunas consultas de la audiencia . En una de ellas un asistente comentó que el pedirles a los alumnos un informe con la explicación del TP realizado le parecía «anti» ágil, pues los métodos ágiles prefieren código corriendo en lugar de documentación. La realidad es que tengo 2 respuestas para esto:

                            1. Los métodos ágiles no dicen que no haya que documentar, sino que es más importante la aplicación funcionando y en nuestro caso pedimos la aplicación funcionando y ADEMAS un informe de cómo fue resuelta la problemática (en ese orden de prioridad).  Nota: próximamente voy a escribir un blogpost sobre agilidad y documentación pues creo que hay un mal entendido general de este tema)
                            2. En el contexto de la materia enseñamos a desarrollar software, lo cual es más ámplio que la mera escritura de código, los alumnos deben entender el problema a resolver, tomar decisiones de diseño y comunicarlas. Un diseño por más bueno que sea, si no es bien comunicado puede traer muchas complicaciones a futuro. Es por esto que hacemos incapié en la aplicación funcionando y TAMBIEN en las pruebas unitarias y el informe como dos herramientas para comunicar el diseño.

                            Otro comentario que tuvimos fue tal vez la gran cantidad de herramientas y contenidos vistos podian restar importante cantidad de tiempo para el correcto aprendizaje del paradigma y junto con esto nos proponian dar todo la materia sólo con Smalltalk. Personalmente no comparto esta visión y creo justamente la variedad de herramientas vistas permite a los alumnos una mejor comprensión del paradigma.

                            Como de costumbre al finalizar la sesión pedí feedbak a los asistentes utilizando la técnica de las caritas ( 🙂  😐  😦 ). Comentí el error de no dejar en claro si el feedback era sobre la calidad de la sesión o si era una opinión sobre el enfoque presentado. Algunos dieron su opinion sobre ambas cosas, pero la mayoria no. Más allá de este detalle el resultado fue: 80% 🙂  20% 😐

                            Después de la sesión estuvimos hablando con varios docentes de universidades de la patagonia y de UTN quienes se mostraron interesados con el enfoque presentado.

                            Personalmente estoy muy conforme con la presentación y muy contento con el enfoque que estamos utilizando.

                            La presentación completa fue grabada por los organizadores del evento y próximamente está disponible (seguramente en el site de la conferencia). Mientras tanto para los interesados el slide deck utilizado esta disponible aquí (inglés) y también puse una versión en castellano aquí.

                             

                            Smalltalks 2009, calendario publicado

                            Desde hace un par de dias se encuentra publicado el calendario de la conferencia. Entre las sesiones que parecen más prometedoras a mi parecer (más allá de las sesiones de los invitados especiales) están la de Esteban Lorenzano, sobre desarrollo de aplicaciones para IPhone y  la Germán Arduino sobre Smalltalk Web Toolkit.

                            En cuanto a mi sesión, la misma fue confirmada para el viernes 20 a las 14 hs, a los interesados en conocer el enfoque que estamos aplicando en Algo3, ¡allí nos vemos!

                            Smalltalks 2009 (¡seré speaker!)

                            Del 19 al 21 de noviembre se llevará a cabo en la Facultad de Ciencias Exactas y Naturales (UBA) la tercer conferencia argentina de Smalltalk: Smalltalks2009. Esta edición contará la presencia de varias personalidades entre las que se destacan Dan Ingalls y Stephane Ducasse. Adicionalmentecomo  indica el título del post, voy a ser uno de los speakers de la conferencia, donde junto a Carlos vamos a estar contando lo que estamos haciendo en Algoritmos 3.

                            Aún no está confirmado el horario de la presentación, pero si quieren ver un abstract de lo que hablaremos, les dejo este link.

                            ¡Nos vemos allí!

                             

                            Comienzo de clases

                            La semana pasada comenzaron las clases del segundo cuatrimestre en fiuba. A pesar de haber quedado disponibles 4 vacantes el curso 1 de algoritmos 3 está mucho más completo que cuatrimestres anteriores. Por suerte para este período vamos a contar con GabrielF (estaba en el curso 3 de nuestra cátedra) y dos nuevos colaboradores MatiasW y FedericoS.

                            A diferencia de cuatrimestres anteriores tengo la percepción que ha habido muchas menos consultas en la lista de correo de la materia sobre el tp0, lo cual puede deberse a: a) hemos sido más claros en la explicación o b) los alumnos han venido más iluminados o con más conocimientos.

                            Por otro lado tengo la percepción de que tenemos más alumnos trabajando con C# que los cuatrimestres anteriores.

                            Bueno, con el tiempo veremos si estas percepciones iniciales se corresponden o no con la realidad.