Como es habitual en los programas de doctorado americanos, este trimestre me toca desempeñar una labor docente para ganarme los garbanzos. De hecho, es la primera vez que tengo que hacerlo aquí en Chicago, porque el año pasado (el primer año) nos eximían de tener que currar (por la cantidad de clases que teníamos), y porque el trimestre pasado me ganaba los garbanzos trabajando para mi director de tesis (la asignatura que enseñé en verano no cuenta, porque eso me lo pagaron aparte de mi sueldo normal).
En fin, me ha tocado ser el profesor de prácticas de la asignatura CMSC 16200 Honors Introduction to Computer Science 2. El título es muy genérico, lo que le permite al profesor enseñar basicamente lo que le de le gana. En este caso, el profesor de teoría es Stuart Kurtz, una persona cuya densidad cerebral, no me cabe duda, se aproxima asintoticamente al infinito. Sus conocimientos de teoría computacional (nos dio alguna clase el trimestre pasado en Complejidad Computacional) son impresionantes. Pero lo bueno del profe es que, además, es un hacker de UNIX a la antigua usanza (aunque le falta la barba tipo Kernighan, Ritchie, etc.). En nuestra primera reunión, me inspiró muy buen rollo cuando dijo “Te voy a explicar cómo quiero que sea esta asignatura… ¡quiero que sea una fábrica de hackers!”. Moooooooola. Vamos, que quiere que, al final de esta asignatura, los estudiantes tuviesen todo el conocimiento necesario para ponerse a desarrollar software libre.
[Por cierto, antes de que los neofitos se piensen que la asignatura va a ser una fabrica de criminales informáticos, por favor leed la verdadera definición de hacker, no la definición que han popularizado los medios de comunicación.]
Además, esta es una asignatura honors. Aquí en EEUU, algunas asignaturas tienes dos versiones: la normal y la honors (p.ej. la versión normal de CMSC 16200 es CMSC 15200). En la asignatura honors, se cubre mucha más materia y te meten más caña. Me parece, aunque no lo sé seguro, que la versión honors la suele enseñar un profesor más veterano (mientras que la normal la suele enseñar un profesor joven). Para acceder a una versión honors, pues tienes que tener una nota media bastante alta. Esto es pura ética protestante del trabajo: te deslomas a trabajar para conseguir una buena nota media… y te lo recompensan con más trabajo :-) Pero a lo que voy: que los alumnos de esta asignatura son personas muy muy muy motivadas.
En resumen: esto es el sueño humedo hecho realidad de cualquier profesor geek (como yo :-P ) Las prácticas consisten en hora y media en una sala de ordenadores, y luego 48 horas para entregar una serie de ejercicios. Están estructuradas de tal manera que casi todas las prácticas requieren que los alumnos trabajen en grupos, imitando estilos de desarrollo que se dan en proyectos open source (p.ej. un grupo de 4 tiene que abordar un problema complejo, dividirlo en componentes, asignar trabajo a cada miembro del grupo, trabajar individualmente, y luego integrar cada componente para producir un resultado final). En la primera práctica hemos empezado a lo bestia. El profesor de teoría ya ha cubierto (en una sola semana: tres horas de clase) los fundamentos de UNIX y programación con BASH, así que mi práctica ha consistido en programar scripts de dificultad media (pero de dificultad altisima, si esto fuese una asignatura de programación en España…). Además, me he pasado la primera media hora de la práctica hablandoles de lo importante que es el trabajo en grupo, y como la colaboración abierta es un fundamento del desarrollo de software libre y open source, refiriendoles a ensayos de Stallman, de Eric S. Raymond, incluso a clasicos como “Hackers” (Steven Levy) o “In the beginning… was the command line” (Neal Stephenson). De hecho, les he llevado copias impresas de “La Catedral y el Bazaar” (el ensayo, no el libro entero) y de “How to become a hacker” (de ESR). Y ellos encantados con todo lo que les contaba, oiga.
Para los más curiosos, podeis visitar la web de las prácticas. En ella podeis encontrar una descripción detallada de la organización de las prácticas, y la primera práctica.
Todo esto, por supuesto, no puedes hacerlo ni loco en una universidad española. Si en una asignatura de “introducción a la informatica” me ventilo UNIX y programación BASH en tres horas, y luego les mando una práctica donde tienen que extraer datos del access.log del Apache (entre otras cosas), los alumnos van directos a decanato a denuciarme por ogro y mala persona. A mi me parece que la diferencia clave es que en las universidades españolas estamos demasiado acostumbrados a que nos lo den todo muy mascadito. Es decir, todo el conocimiento que necesitas para hacer las prácticas, el examen, etc. generalmente está contenido en las clases de teoría. Aquí, en cambio, si el profesor dice “Os vais a leer para el lunes esta guía de programación BASH, porque si no no podeis hacer la práctica”, pues todos dicen amén y estudian por su cuenta. Pero bueno, se supone que todo esto cambiará con Boloña…
Ah, y si os estais preguntando de qué van a tratar las siguientes prácticas… pues poca cosa… solo todo lo que tiene que saber un hacker de hoy en día: yacc/lex, LaTeX, DocBook, XML, XSLT, lenguajes de scripting (Python, Ruby, …), C a palo seco, etc.
Latest Comments
RSS