¡Que buen libro (pero no entendí el final)!

Puede que alguna vez me haya pasado con una pelicula, pero definitivamente nunca me habia pasado con un libro.

El libro en cuestión se llama Acerca de Roederer y su autor es Guillermo Martinez, un matemático argentino también autor de la excelente novela Crímenes imperceptibles (llevada al cine por Alex de la Iglesia bajo el título Los crímines de Oxford).

Hacia ya más de un año que me habian regalado este libro y yo ni siquiera lo había puesto en mi lista de prioridades de lectura, pero justo se dió que terminé de leer Hechicero y no tenia otro libro de dimensiones portables para seguir leyendo, asi que lo agarré. Las primeras 20 páginas no me resultaron atrapantes (el libro tiene en total 117 páginas), pero de a poco me fue atrapando y cuando habia llegado ese punto de adicción que suelen desperta los buenos libros, ¡chan! se acabó. Era obvio que el final estaba cerca pues faltaban pocas páginas, pero dado el desarrollo de la historia, yo no divisa un final. Tal vez sea por eso que el final me desconcertó. Me pareció un final muy abierto, o tal vez sea que me faltó atar algunos cabos para verdaderamente entenderlo. En fin, más allá de este curioso detalle el libro me gustó.

Anuncios

Aventura gráfica made in Argentina (ex-FIUBAs)

La semana pasada me llego un mail de compañero de Francisco Saenz contandome del lanzamiento de Reversion, una aventura gráfica desarrollada por un conjunto de alumnos de Fiuba: Francisco (mi compañero), Fernando y Facundo.

Estos tres muchachos se conocieron en su época de estudiantes en Fiuba, luego de un par de años fundaron la empresa 3F Soluciones en el contexto de la cual desarrollaron este juego. El año pasado, Francisco y Fernando estuvieron de invitados en mi materia en UNQ donde contaron sobre el surgimiento de la empresa, su forma de trabajo y el proceso de desarrollo de este juego. Todos quedamos facinados con la presentación y muy expectantes al lanzamiento del juego que se llamaria Reversion.

Bien, finalmente el momento llegó, desde hace unos está disponible para descarga el primer capítulo de Reversion. Tal vez lo más llamativo del juego es que está ambientado en Argentina y pueden reconocerse en las distintas pantallas escenas inconfundibles de pasajes de Buenos Aires.

Dado que los juegos no son mi fuerte, les dejo el link al anuncio escrito por los creadores y para quienes les interes el backstage, les recomiendo ver el blog que escribe el equipo de desarrollo.

Mis felicitaciones al equipo de 3F y ojala les vaya muy bien con esta iniciativa, chau, ¡ me voy a jugar!

Primer cuatrimestre 2012: ¡largamos!

Asi es, largamos y casualmente en esta ocasión el cuatrimestre comenzó al mismo tiempo en FIUBA y en UNQ. Curiosamente la mi mátricula de alumnos se invirtió respecto del cuatrimestre pasado: mientras que en Ing. de Software (UNQ) tengo menos alumnos (pasé de 15 a 7) en Algo3 (FIUBA) tenemos alrededor de 50 alumnos (casi el doble que el cuatrimestre anterior).

El comienzo fue bastante movido, de hecho las clases comenzaron la semana pasada y recien ahora me pude hacer un tiempo para escribir un par de líneas. Algo interesante es que en ambas materias noto una mejora respecto del cuatrimestre anterior:

  • En Algo3, a pesar de tener más alumnos, las cantidad de consultas sobre el TP0 se redujeron notablemente. Lo cual a mi entender tiene que ver con 2 cuestiones: el enunciado del TP fue menos ambiguo y al mismo tiempo las explicaciones en clase previas a la entrega del TP0 fueron lo muy claras.
  • En Ing. de software, me asignaron un aula ¡excelente!: pizarra blanca enorme, mesas altas con ruenas y banquetas. Por otro lado tengo un alumno del  cuatrimestre pasado que me va a estar dando una mano como colaborador, lo cual espero nos permita tener un mejor seguimiento de los alumnos.

Si bien las materias tratan sobre distintos tópicos, en ambos casos estamos poniendo un importante énfasis en las pruebas: TDD, BDD, etc.

Otro punto común es que en ambos casos vamos a estar utilizando como herramienta de apoyo la plataforma Moodle.

¿Alguna vez te preguntaste como está hecho Google Docs?

Yo me lo he preguntado en varias ocasiones y particularmente una de las cosas que más me cautiva en la edición en simultáneo en tiempo real. A ciencia cierta desconozco como lo hace Google, pero durante las últimas semanas un par de compañeros de Southworks liderados por MatiasW estan trabajando en una herramienta que también cuenta con esta capacidad.

Se trata de MarkdownR, un editor colaborativo en tiempo real de markdown desarrollado con share.js. En verdad vale la pena tomarse unos minutos para darle una mirada, pueden accederlo aquí: http://markdownr.cloudapp.net/.

Y para los curiosos, el código está disponible en GitHub: https://github.com/southworksinc/markdownR/.

Ingenieria de software: ¿existe tal cosa?

¡Que pregunta! Se podrán imaginar que siendo profesor de una materia con este nombre mi respuesta es sí.

Pero no todo el mundo piensa lo mismo. Una de las personas que cuestiona la existencia de dicha disciplina no es más ni menos que David Parnas, quien el pasado octubre publicó un artículo titulado: “Software Engineering – Missing in Action: A Personal Perspective”. En dicho artículo Parnas repasa brevemente el surgimiento del término ingeniería de software y expone ciertas razones por la cuales duda de que el desarrollo de software tenga el caracter de ingenieria. El artículo me resultó por demás interesante, ya que también toca a la pasada cuestiones como ingenieria vs. ciencia, la estructura de la profesión y la educación del profesional del software.

Sumando a este argumento, mi colega Gabriel Falcone me compartió hace un tiempo este video de la conferencia Scotland Ruby, donde disertante afirma:

“Software engineering as it is taught in universities simply does not work. It does not produce software systems of high quality, and it does not produce them for low cost. Sometimes, even when practiced rigorously, it does not produce systems at all. That is odd, because in every other field, the term engineering  is reserved for methods that work.”

¡uffff! Duro, pero bastante realista. En realidad si uno mira el video completo (unos 45 minutos), se encuentra que en realidad el punto de este individuo es que lo que realmente funciona para construir software son los métodos ágiles y que mucha gente tilda a los métodos ágiles como “anti-ingenieriles”. A pesar de no compartir algunos de los puntos expuestos en este video, la sesión me gustó y la recomiendo (de hecho he sacado algunos bullets para mis clases).

Personalmente creo que existe la ingenieria de software como disciplina, pero con una concepción distinta a la que le dan muchas universidades (en general a nivel académico hay cierta “creencia” de que por llamarse ingenieria debe tener una fuerte carga de ciencia básica,cosa que no comparto). Al mismo tiempo creo que es aún una disciplina joven ya que las prácticas/métodos que aumentan la probalidad de éxito de los proyectos – y que por ende podrian poner a la ingenieria de software a la altura de las otras ingenierias- recien se han comenzado a popularizar en los últimos 5 años.

Planes de estudio de informática, RedUNCI y ConFeDI

Por estos dias me encuentro trabajando con miembros de las comisiones curriculares de las carreras de informática de FIUBA preparando una propuesta para ser presentada en el contexto de la iniciativa de unificación de las carreras de informática llevado adelante por RedUNCI y ConFeDI.

RedUNCI (es la Red de Universidad Nacionales con Carreras de Informática) y ConFeDI (Consejo Federal de Decanos de Ingeniería) son dos instituciones argentinas referentes en lo que hace a informática (la primera) e ingeniería (la segunda).

Resulta que en 2009, el Ministerio de Educación decidió “estandarizar” las carreras de informática para lo cual convocó a estas dos instituciones. El resultado fue la resolución 786/2009 la cual define 5 carreras en el área de informática:

  1. Licenciatura en ciencias de la computación
  2. Licenciatura en sistemas
  3. Licenciatura en informática
  4. Ingeniería en Informatica/sistemas
  5. Ingeniería en Computación
La mencionada resolución define las incumbencias y ciertos contenidos curriculares mínimos (y de bastante  alto nivel) de cada carrera. Para la definición de las licenciaturas se tomó como referencia la visión de la RedUNCI mientras que para las ingenierias se tomo como referencia ConFeDI. Esto llevó a que si bien en todos los casos estamos y hablando de carreras de “computación/informática/sistemas” (o pongan el nombre que les guste) hay hoy en dia diferencias incluso en los contenidos minimos. Las licenciaturas estan estructuradas en 6 áreas de conocimiento:
  1. Ciencias Básicas
  2. Teoría de la Computación
  3. Algoritmos y Lenguajes
  4. Arquitectura, Sistemas Operativos y Redes
  5. Ingeniería de Software, Bases de Datos y Sistemas de Información
  6. Aspectos Profesionales y Sociales
Al tiempo que las ingenierías están estructuradas siguiendo la filosofia del Confedi según la cual toda ingeniería se constituye de 4 áreas:
  1. Ciencias Básicas
  2. Tecnologías básicas
  3. Tecnologías aplicadas
  4. Complementaria
Esto plantea un inconveniente no menor a instituciones como FIUBA que dictan licenciatura e ingeniería.
Es en parte por ello que en la actualidad RedUNCI y ConFeDI estan liderando una iniciativa para identificar los contenidos mínimos comunes para todas las carreras de informática.
En linea con todo esto, FUIBA ha elaborado en los últimos años nuevos planes de estudio tanto para la licenciatura y la ingenieria. Estos nuevos planes de estudio (que aún no estan vigentes) fueron elaborados por las correspondientes comisiones curriculares en forma independiente.
A continuación les dejo los links a la resolución del ministerio y las propuestas de nuevos planes de informática de FIUBA.

Resolución  786/2009 del Ministerio de Educación.

Propuesta de Nuevo Plan de estudios Ingeniería Informática

Propuesta de Nuevo plan de estudios Licenciatura en Análisis de Sistemas

Particularidades de UNQ / TPI

La tecnicatura en programación de UNQ, cuenta con una lista de correo en la que están suscriptos todos los alumnos y docentes de la carrera. Esto no es gran cosa, pero lo que sí me parece una particularidad interesante es que todos los comienzos de cuatrimestre el director de la carrera (Pablo Martinez López, mejor conocido como Fidel)  manda un mail de bienvenida que siempre comienza una frase de una Pink Floyd

“Welcome, my son,  Welcome to the machine.”, Welcome to the Machine – Wish You Were Here, Pink Floyd

Esta frase precede a la presentación del director y a una lista de consejos/explicaciones enfocadas en los ingresantes, pero que siempre vienen bien para todos recordar. Este cuatrimestre la citada frase resulta aún más apropiada dada visita de Roger Water. Al mismo tiempo este cuatrimestre Fidel decidió agregar una segunda frase al mail de bienvenida, la cual me parece excelente:

“A fool’s brain digests philosophy into folly, science into superstition, and art into pedantry. Hence University education.”, George Bernard Shaw, Irish dramatist & socialist (1856 – 1950)

Lo cual en castellano sería algo como: “El cerebro de un tonto convierte filosofía en tonterías, la ciencia en superstición y el arte en pedantería. Por eso una educación universitaria.”

Say no more.