El problema es que funciona

Estabamos en Algo1, tomando recuperatorio, un alumno entrega su exámen y yo lo tomo para corregirlo. Termino de corregirlo y no estaba seguro de que nota ponerle, entonces lo hablo con el equipo docente. Un miembro del equipo pregunta: ¿cual es el problema? a lo que respondo: «El problema es que funciona». Resulta que el alumno habia planteado un algoritmo que resolvia la consigna, pero… ¿como decirlo?…mmmm.  Digamos que la solución era «demasiado rústica». Si la solución no funcionara, no habria dudas, el alumno estaria reprobado sin más vueltas. Pero justamente el problema radicaba en que la solución funcionaba lo cual sumaba la complejidad de explicar al alumno que a pesar que su solución funcionaba, no cumplia con los estándares de calidad de la cátedra.

Justamente esta es una de las diferencias entre ir universidad y no hacerlo*: en la universidad no basta con que funcione, también debe cumplir con algunas otras características. Dichas características dependen del foco de la materia. El hecho de un programa funcione es una condición necesaria, pero está lejos de ser suficiente.

*en realidad es lo que deberia ocurrir, pero no puedo asegurar que siempre sea asi.

Retrospectiva 2011-1 (con video)

El jueves pasado hicimos la restrospectiva de fin de cuatrimestre en algo3. Utilizamos la misma dinámica que en los últimos cuatrimestres. Entre los positivos puntos destacados se destacaron:

  • El dinamísmo de las clases y en particular el de la clase de repaso
  • El uso de Smalltalk y también otros lenguajes
En los puntos negativos destacaron:
  • El alcance del TP1
  • El poco tiempo para hacer los parciales
Si bien a mi parecer el TP1 no era muy extenso, creo que tenia un complejidad importante a pesar de que dimos dos semanas para desarrollarlo, con lo cual sin duda es algo que tendremos que reveer.
En cuanto al tiempo de los parciales es algo que tendremos que hablar con Carlos.
Adicionalmente a esto hubo algunas sugerencias interesantes por parte de los alumnos:
  • Tener más clases en el laboratorio
  • Hacer una clase de repaso previa al segundo parcial
Más allá de todos estos puntos, mi evaluación personal del cuatrimestre es positiva ya que comparando con los resultados de años anteriores, veo que muchas cosas las hemos ajustado convenientemente. Es de destacar que un solo alumno hizo mención negativa respecto de las lecturas, tema que en cuatrimestre anteriores fue muy polémico.
Por último, un detalle adicional a mencionar es que hemos grabado algunos fragmentos de la actividad. Pueden ver el video resultante en: http://www.youtube.com/algo3fiuba#p/a/u/0/W-Z7joZjNyQ.

¿Manifestación en Buenos Aires?

Seguramente sea lo primero que se les cruce por la cabeza al ver esta foto. Pero no, no es una foto de nuestra «caotica» Argentina, es una foto de la «civilizada» Europa. Puede resultar dificil de creer, pero es una foto de Grecia (Atenas) que salió publicada el 16 de Junio en una nota de la BBC. Si les llama la atención, no se pierdan las fotos de esta otra nota.

¿Será un efecto de la globalización?

Informática en UNQ

Este cuatrimestre empecé a dar clases en la Tecnicatura en Programación Informática (TPI) de la Universidad Nacional de Quilmes. Esta tecnicatura es un carrera corta de pregrado, con una duración de 6 cuatrimestres. Si bien aun no estoy muy familiarizado, lo que he visto de la carrera me ha gustado. Tiene algunas materias que personalmente me resultaron llamativas y que de tener tiempo me gustaria cursar:

  • Estrategias de persistencia
  • Construcción de interfaces de usuario
  • Participación y gestión en proyectos de software libre
  • Introducción a la bioinformática
  • Introducción al desarrollo de videojuegos
En lo que a mi respecta, estoy dictando Programación Objetos 1, que en un punto toca los mismos temas que Algo3Fiuba, pero con una didáctica totalmente distinta, pero eso es tema de otro post.

Soy candidato

A formar parte del consejo asesor del departamento de Computación de Fiuba. Este organismo cumple la función de asesorar al director del departamento en cuestiones relacionadas principalmente a los recursos del departamento. Las opiniones del consejo son precisamiente opiniones no vinculantes, o sea el director puede hacer oidos sordos a las recomendaciones del consejo, pero obviamente eso no es bien visto.

Hace un par de años fui consejero, pero en aquella ocasión fue el claustro de alumnos, en esta ocasión soy candidato por el claustro de docente auxiliares, lo cual implica que solo los docentes auxiliares pueden votarme. Las elecciones son durante esta semana asi que el fin de semana les cuento si fui elegido o no.

De Paint.net a Paint.mono

Aunque a mi amigo Marcio le cueste creerlo, desde mi viaje a Francia que estoy con Ubuntu como mi sistema operativo principal. Esto se debe a que he logrado encontrar prácticamente software para cubrir todas mis necesidades. Una de las pocas cosas que me faltaba resolver era un editor gráfico, ya que si bien en linux está disponible el famoso Gimp, nunca me resulto cómodo. Puede que sea por el modelo de ventanas que tiene o porque me cuesta encontrar algunas funcionalidades. En Windows, yo suelo utilizar el fantástico Paint.Net. Yo sabia que si bien el Paint.Net estaba construido con tecnologia .NET hacia un uso importante de WindowsForms y ello fue lo que me llevo a pensar que no funcionaria en Windows, lo cual comprobé que era efectivamente asi, pues en la página de Paint.Net se indica explicitamente que es un editor para Windows. A pesar de esto se me dio por googlear «paint.net linux» y para mi sorpresa me encontré con Paint.mono un port the Paint.Net a Mono. Luego de investigar un poco, logro instalarlo exitosamente en mi sistema ejecutando los siguientes tres comando de una terminal:

sudo add-apt-repository ppa:xmlich02/ppa
sudo apt-get update
sudo apt-get install paint-mono

El único detalle de esta forma de instalación es que no agrega una entrada de menu correspondiente a Paint.mono. Para ejercutarlo hay que presionar ALT+F2 y luego tipear paintdotnet.

Presentación sobre Cloud Computing

El GrupoITI organizó unas jornadas sobre innovación en cuyo contexto voy a dar una breve presentación sobre Cloud Computing. Puede que no sea un tema muy innovador para algunos, pero la realidad es que es un tema que (hasta donde yo sé) en el ámbito local no ha tenido mayor difusión. Al mismo tiempo  he tenido la oportunidad de estar involucrado en varios proyectos en los últimos dos años y me parece un tema muy interesante; por eso que cuando recibí la invitación para participar del evento, propuse esta temática.

Para más información sobre el evento, puede consultar la agenda aquí.

Actuando el mergesort

Hoy en Algoritmos 1 vimos algoritmos de ordenamiento y como ejercicio se nos ocurrió hacer una representación actuada de los algoritmos de ordenamiento mergesort y quicksort. Básicamente le pedimos a 10 alumnos que se pararan en hilera y que aplicaran el algoritmo para ordenarse por altura de menor a mayor. No se si a los alumnos les sirvio para entender mejor los algoritmos, pero a mi me pareció muy didactica y entretenido. Relacinado a esta temática les dejo este link de gente que baila representando diversos algoritmos de ordenamiento.

Agile Open Tandil 2011

Hace un par de horas que de Tandil luego de haber asistido a esta jugosa conferencia. Estimo que hubo unos 60 participantes los cuales se repartieron entre las más de 16 sesiones seleccionadas. Para mi sorpresa habia muy pocas personas que también habian de la edición anterior (2009), pero parece que en Rosario ocurrió lo mismo, curioso, ya que las ediciones anteriores tuvieron muy buenas repercusiones.

Siguiendo con curiosidades, me enteré que un porcentaje importante de los residentes de Tandil dedicados a sistemas, son originarios de Mar del Plata, lo cual según me explicarón algunos Marplatenses, se debe al hecho que en Mar del Plata no hay universidades públicas que dicten carreras de sistemas y al mismo tiempo resulta que el costo de estudiar en una universidad privada es comparable al costo de un mudarse a Tandil. Además de tandilenses y marplatenses me encontré en la conferencias con algunos colegas de Buenos Aires, puntualmente Martín Alaimo y Hernán Wilkinson.

Una de las sesiones más jugosas de las que participé, fue sobre la enseñanza de métodos ágiles en el ámbito académico. Esta sesión fue propuesta por una docente de ingeniería de software Mar Del Plata. Durante la sesión en la que participamos unas 20 personas, varios docentes expusieron sus experiencias. Algunos alumnos de la UNICEN mencionaron ellos ven una primera aproximación a métodos ágiles en la materia de ingeniería de software y luego tienen la posibilidad de cursar una materia optativa, exclusiva sobre métodos ágiles. En lo que a mi respecta, mencioné algunas de prácticas que usamos en Algo3fiuba y lo que hace JuanG en Administración y control de proyectos 2 y lo que hace CarlosF en Taller de Desarrollo de proyectos 2.

Luego del evento, que finalizó alrededor de las 17 hs., fuimos a tomar un café con MartínA, y los locales y JulianA y Carlos Walzer.

Finalmente, cerramos el dia con un excelente asado en las oficinas de Temperies con JulianA (alto asador), EstabanR, HernánW, MartínA y algunos otros miembros del eqeuipo de Temperies. Asi fue que entre carnes, vinos, guitarra y metegol, pasamos un excelente noche.