Archive for the 'Docencia' Category

Este trimestre: enseñando bases de datos

Tras dos trimestres de investigación pura y dura que culminaron en la publicación que ya he mencionado anteriormente, este trimestre me toca volver a la docencia. ¡Albriquias! ¡Alegrata! ¡Me late el cardiotripa! En concreto, voy a ser asistente de docencia en CMSC 23500, una asignatura de introducción a las Bases de Datos. Voy a ser el responsable de organizar e impartir las prácticas de la asignatura, lo que incluye ejercicios a pie de máquina pero también sesiones de discusión en los que resolvemos ejercicios más “teóricos” (p.ej., diseño de una base de datos).

Aunque las bases de datos no tienen mucho que ver con mi área de investigación, siempre ha sido una mis materias favoritas de la informática (tanto la parte de diseño como la parte de programación). De hecho, cuando estudiaba ingeniería en ESIDE fui “becario web” desde 1999 hasta 2003, y al final mis responsabilidades acabaron tirando más hacia el diseño y administración de las bases de datos de las que dependían las aplicaciones web de ESIDE (y luego de toda la universidad). Ahora que me doy cuenta, tengo mil historias de esa época y algún día debería sentarme a ponerlas por escrito… en fin, a lo que iba, que las bases de datos siempre me han molado bastante.

Sin embargo, hasta ahora no he impartido una clase de bases de datos a nivel universitario (impartí un par de cursos de bases de datos en Bilbao, pero eran fuera de la universidad), así que cuando me comentaron cuales eran mis opciones docentes para este trimestre, escogí la asignatura de base de datos sin pensármelo dos veces. Evidentemente, no va a ser una asignatura tan orientada al h4×0ring como la asignatura de programación cuyas prácticas impartí en 2006 y 2007, y en la cual teníamos a los estudiantes escribiendo parsers con lex y yacc en la quinta semana. No obstante, tengo unas cuantas ideas en ebullición. En concreto, desde que me involucré con el Center for Teaching and Learning de la universidad, me he interesado mucho por el Aprendizaje Activo y el Aprendizaje Colaborativo, y últimamente intento aplicarlos lo máximo posible en mi docencia.

Por ejemplo, la semana pasada tuvimos el primer “discussion group” de la asignatura, en el que me reuno con los estudiantes de la asignatura (14 estudiantes, aunque a la sesión vinieron 8) durante una hora y “discutimos”. Como no hemos llegado a SQL ni a los otros aspectos más técnicos de las bases de datos, el propósito de esta sesión fue realizar el diseño de una base de datos utilizando el modelo Entidad-Relación. Lo estructuré de la siguiente manera:

  1. Entrego a los estudiantes un enunciado, y les doy unos minutos para que lo lean y hagan preguntas por si algo no queda claro. Podeis echar un vistazo al enunciado aquí. Como podéis ver, ajem, me cuesta desvincular el frikismo de la docencia xDDD
  2. Los estudiantes se juntan en grupos de tres, y realizan el diagrama Entidad-Relación juntos. Esto es mejor que hacerlo individualmente porque (1) en el “mundo real” casi siempre te va a tocar colaborar con otras personas en este tipo de tareas y (2) porque esto estimula discusión sobre conceptos teóricos que se han visto en clase (p.ej., “Esto es una entidad débil!” “Me parece que no” “Explícame por qué no” etc.)
  3. Pasada media sesión, cada grupo escribe su solución en la pizarra. En concreto, tuvimos tres soluciones, todas esencialmente correctas, pero con sutiles diferencias, porque hay mil maneras de diseñar una base de datos, y cada una suele diferir en puntos semánticos muy detallistas o incluso irrelevantes. Esto también estimula una discusión sobre cómo se diseña una base de datos, por qué distintos diseños pueden plasmar la misma realidad, etc.

Cabe destacar que estas sesiones son opcionales, y ni siquiera son evaluadas. Su propósito es puramente complementar lo que se ve en las clases “de teoría” para reforzar los conocimientos. Y, aun así, la mayoría de los estudiantes vienen y hacen los problemas sin rechistar (no hay grupos donde uno hace todo el trabajo, y el resto se rasca las narices). Evidentemente, esta estrategia es posible porque es un grupo pequeño de estudiantes y porque aquí en EEUU los estudiantes están habituados a hacer mucho trabajo fuera de las clases “de teoría”, a hacer muchas preguntas, y a dialogar lo máximo posible con los docentes (a diferencia de los estudiantes españoles, que tendemos a ser muy calladitos).

En fin, más adelante vamos a cubrir SQL, programación web con bases de datos, y aspectos más teoricos de las bases de datos (como los dichosos arboles B). De hecho, hace más de un lustro escribí un cuaderno de ejercicios de SQL, y este trimestre quiero traducirlo al inglés, extenderlo, y publicarlo online. Más detalles sobre esto en el siguiente post.

Consultor

Muchos de mis compañeros universitarios Deustenses acabaron como consultores en diversas compañías, algo que está en las antípodas de mis intereses profesionales. Sin embargo, a partir de enero, yo también voy a ser un consultor. Antes de que alguien empiece a elucubrar teorías conspirativas sobre la suplantación de mi persona por un Borja más conformista, aclaro que lo que me han ofrecido es ser un Teaching Consultant (”consultor pedagógico”) en el Center for Teaching and Learning de la Universidad de Chicago :-) Es un puesto con dedicación mínima (unas cuantas horas al mes, compatible con el doctorado) en el que proporcionaré consejo a profesores y estudiantes sobre como ser un buen educador. Por ejemplo, uno de los servicios que ofrece este centro es realizar una grabación de una clase para que dos consultores puedan revisar la grabación y proporcionar feedback para que el profesor pueda mejorar su docencia. De hecho, este verano solicité este servicio, y los comentarios que me proporcionaron fueron excelentes. Al parecer, fue precisamente por esta evaluación que decidieron ofrecerme uno de los puestos de Teaching Consultant cuando les surgió una vacante.

Además, este puesto no es únicamente una manera de ayudar a que otras personas puedan mejorar su estilo docente, sino una manera de que yo pueda reflexionar sobre mis propias ideas pedagógicas (de hecho, uno de los requisitos del puesto es asistir a varios seminarios y talleres sobre educación). Siendo más materialistas, también es una adición bastante importante al curriculum, sobre todo de cara a acceder a puestos docentes. En fin, que me mola mucho esto de poder ser un “consultor pedagógico” :-)

Teaching Assistant Prize

Hoy me han dado en el departamento un diplomilla que dice lo siguiente:

2007 ANNUAL TEACHING ASSISTANT PRIZE
is awarded to

Borja Sotomayor

In recognition for your excellent work in
developing and teaching the CMSC 16200 lab

Presented by:
[Firma]
—————
STUART A. KURTZ, Chairman
Department of Computer Science

Yo no suelo recibir premios, ni los persigo activamente, con lo cual este tipo de cosas me hacen mucha ilusión, aunque no sé si merezco un premio por hacer algo que me encanta ;-) El premio está compartido con Adam Shaw, un compañero de doctorado que se ha currado unas asignaturas impresionantes de introducción a la programación.

Por cierto, de CMSC 16200 ya se ha hablado en este blog anteriormente, sobre todo en Esto va a molar…. Es una de esas asignaturas que resulta una gozada impartir (otra razón por la que me parece que no merezco un premio por ello ;-) : alumnos hiper-motivados, contenidos h4×0r total, y frikismo por todos lados.

Y ahora, a volver a la cruda realidad metiendo más horas en trabajos de investigación… :-P

Pronunciación

Durante el trimestre de invierno me toca, al igual que el año pasado, ser profesor de prácticas en una asignatura de programación. Este año, me he propuesto conseguir que mis alumnos pronuncien correctamente mi nombre y, aparte del habitual “Just imagine the ‘j’ is an ‘h’” (que no es completamente exacto), quiero proporcionarles la pronunciación de mi nombre utilizando el Alfabeto Fonético Internacional. Consultando las entradas de Wikipedia sobre el Alfabeto Fonético Internacional y la Transcripción fonética del español con el IPA, me parece que la siguiente es una representación fonética más o menos correcta de mi nombre:

¿Alguien conoce el Alfabeto Fonético internacional lo suficientemente bien como para confirmarme si esta representación es correcta? (¿o si es una sandez? :-)

Hay que mantenerlos ocupados…

Hace tiempo que no escribo nada. La principal razón es la que expliqué en el artículo Humdrum. Agosto es un mes de lo más rutinario, hay poco que contar, e incluso me da pereza sentarme delante del ordenador para escribir. Aunque todavía tengo pendiente escribir un artículo más completo sobre Chispo (sí, ya se me pasó el bajón hace tiempo).

Pero bueno, voy a contar algo, que si no va a parecer que he abandonado el blog :-) Ahora en Agosto estoy impartiendo una asignatura de C/C++ en la Universidad de Chicago. Por razones históricas, la asignatura se llama Introduction to Computer Science-2 y su código es CMSC 15200 (muy importante, aquí las asignaturas a veces son más conocidas por su código que por su nombre). Más detalles sobre mi asignatura aquí. El temario es muy parecido al de Laboratorio de Informática I (”Laboratorio”) y Tecnología de la Programación (”TP”) de ESIDE. Teniendo en cuenta que el año pasado impartí Laboratorio y dirigí proyectos de TP (y estuve en varios tribunales de TP), pues dar el mismo temario debería ser pan comido.

Pues no. Dar clase en los EEUU es muy distinto a dar clase en España. Y no es por el idioma, ojo, que eso es lo de menos. A saber, las principales diferencias:

  • Grupos más pequeños: Aquí los grupos son normalmente de unas 20 personas y, en verano, son aun más reducidos. De hecho, tengo 5 alumnos en mi asignatura. Esto, evidentemente, no es algo malo… todo lo contrario, hace que la comunicación con los alumnos sea mucho más fluida.
  • Homework: En los cinco años de la carrera de Informática nunca (que yo recuerde) nos mandaron deberes en una asignatura. Evidentemente, había asignaturas que tenían “prácticas” que tenían (como mucho) cinco o seis entregas en todo el cuatrimestre. Pero que el profesor “de teoría” te mandase deberes era algo impensable. Como si no se fiase de ti y quisiera asegurarse de que llevabas la asignatura al día. Aquí, en cambio, a nivel universitario los deberes (el “homework”) son el pan nuestro de cada día. Mis alumnos siempre tienen algun homework que hacer. Y eso que estoy siendo “suave” (en comparación con otros profesores de la Universidad de Chicago). Tenemos clase los lunes, miercoles, y viernes, y los alumnos tienen un “homework breve” que reciben el miercoles y tienen que entregar el viernes, y un “homework largo” que reciben el viernes y tienen que entregar el miercoles. Os recuerdo que en la asignatura de Algoritmos recibía homework todos los días. Además, cada día, nos daban una combinación de homework breve y largo, con lo cual era imposible saber a priori cual iba a ser tu carga de trabajo durante una semana concreta (aunque en general siempre estabas jodidisimo :-P ) Yo estoy siendo “suave” porque les estoy concediendo el “beneficio” de saber a priori cual será su carga de trabajo cada día para que puedan planificarse mejor y compaginar el trabajo con otras asignaturas. Vamos, para que veais como se las gastan por aquí.
  • Lab sessions: El equivalente a las “prácticas” españolas son los “lab sessions”. Yo recuerdo que en 1º de carrera si que teníamos que entregar las prácticas de programación, pero a partir de 2º nada de eso (de hecho, en Laboratorio de Informática I las prácticas eran simplemente presenciales… ibas al centro de cálculo, se daba una clase a pie de máquina, y si querías hacías unos ejercicios y si no, pues no pasa ná). Aquí, en cambio, nos juntamos dos horas (seguidas) a la semana en el centro de cálculo para que los alumnos hagan ejercicios, que deberán entregar al final de las dos horas para que se los corrija. Vamos, como el homework pero con cronómetro…
  • ¿Un parcial? ¡Sí, por favor!: Cuando elaboré la planificación de la asignatura, yo unicamente contemplaba que los homeworks, los lab sessions, y un exámen final comformasen la nota de la asignatura. Cuando presenté mi planificación para que la revisasen, me dijeron “Uy, ¿no incluyes un parcial (”midterm”)? Ya verás como te lo piden…”. Mi reacción inicial fue “¡Anda ya! ¿Qué estudiante en su sano juicio va a pedir hacer un parcial sin que el profesor lo requiera?”. Pero bueno, yo por si acaso dije el primer día que si se apuntaba gente, yo no tenía inconveniente en preparar un parcial para quien quisiera hacerlo. Al cabo de dos semanas, y sin volver a mencionar de nuevo lo del parcial, uno de los alumnos me viene después de clase y me dice “Oye, el primer día dijiste que podíamos hacer un parcial… ¿Cuando podemos apuntarnos?”. Alucina, vecina… Al final se me apuntaron todos los alumnos. Todos mis alumnos querían hacer un parcial en medio de Agosto. En España, inconcebible…
  • And the grade is…: Una ventaja de este sistema (para el alumno) es que no se juega todo en un examen final. En Laboratorio de Informática I, los porcentajes de la nota eran muy sencillos… Examen Final: 100%, el resto: 0%. Aquí, en cambio, es… Homework: 40%, Lab Sessions: 20%, Midterm: 10%, Examen Final: 30%. Esto evidentemente es una desventaja para mi, que me paso la semana entera escribiendo deberes y corrigiendolos…

Pues eso, que estoy dedicando casi todo mi Agosto a mantener a cinco personas ocupadas con deberes y exámenes. Y lo más acojonante de todo es que parece que lo disfrutan… im-presionante…