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.

5 Responses to “Este trimestre: enseñando bases de datos”


  1. 1 Eric

    Pienso que das demasiado credito a los estudianted estadounidense, en general. Hay muchas clases, en el U of C tambien, en que nadie habla. Tienes suerte que tus estudianted quieren participar!

  2. 2 Nova

    Joder, que friki eres xD. Me acuerdo de mi profe de mates del año pasado que nos puso un problema de producción en una Galaxia de Star Wars.

    Esto es un poco off-topic, pero como das clases en EEUU y no conozco a ningún bloguer español que de clases en América y haya estudiado en España. Te hago una serie de preguntas. En la universidad que das clases, para poder investigar tienes que dar clases? Hablando con gente de la uni, siempre llegamos a la conclusión de porque tenemos profesores tan malos y otros tan buenos. Los buenos es porque le apasiona enseñar y los malos, básicamente, porque están investigando y les imponen dar una serie de horas de clases. Allí en América, funciona igual? En relación al nivel de los estudiantes, ves mejor preparados a los Americanos?o Españoles? Siempre, no sé si es una leyenda urbana, leo que todo el conocimiento y sobre todo el más relacionado con las ciencias esta en América.

    Un saludo!

  3. 3 Borja Sotomayor

    Nova: En EEUU la carga de investigación y docencia de los profesores varía muchisimo según la universidad. Por ejemplo, la Universidad de Chicago es un “research university” donde lo que más te valoran es la investigación, con lo cual hay muchos profesores que apenas dan clase. Si es verdad que algunos tienen que dar clase por obligación, pero la mayoría de los profesores con los que he interactuado han resultado ser bastante buenos.

    En cuanto al nivel de los estudiantes, esa pregunta no tiene una respuesta sencilla. A nivel de conocimientos brutos, yo diría que los españoles estamos mejor preparados. Por ejemplo, cuando yo hice ingeniería informática en España, vi asignaturas de informática desde el primer día. Aquí en EEUU, en cambio, los primeros dos años en la universidad todavía tienes que ver muchas asignaturas generales que no tienen nada que ver con tu campo (esto es lo que los americanos llaman “liberal arts education”), así que no ven tanta materia como un estudiante español al cabo de 4-5 años. Sin embargo, aquí suelen inculcar una serie de disciplinas y habilidades que raramente se ven en universidades españolas y que luego vienen muy bien en el “mundo real”. Por ejemplo, se fomenta mucho el trabajo y la iniciativa personal (más allá de lo que te cuenten en el aula), aprender a trabajar en equipo, a no copiar trabajos o exámenes (algo que es motivo de expulsión inmediata en algunos sitios), etc. En cuanto a las ciencias, aquí seguramente se ve una educación científica de mayor calidad, pero simplemente porque los estudiantes tienen ocasión de aprender con gente que está involucrada en investigaciones punteras (porque en EEUU se invierte una burrada en ciencia, al menos comparado con España).

  4. 4 Nova

    @Borja: Muchas gracias. Has dicho algo que es la base de todo. España invierte muy muy muy poco en Investigación. Así nos va…Gracias!

  5. 5 MaY

    Tanto E/R y tanta gaita de diseño para implementarlo todo en un cutre servidor con Windows. Luego claro, al final, pasa lo que pasa…. (http://www.tiraecol.net/modules/comic/comic.php?content_id=66&mode=flat&order=0)

Leave a Reply