Examen final. Otoño 2000
Normas
Éste es un examen
no presencial del MIT, es decir, un examen que podrá
realizar donde quiera y con acceso a los recursos que
desee. El único requisito es hacerlo sin ayuda
de nadie. Para ello, necesitará tener acceso
a un navegador web. Le sugerimos que el lugar en el
que realice el examen disponga de un buen acceso privado
a un navegador web, a un editor de texto y a un programa
de correo electrónico.
Cuando haya terminado el examen, envíe el resultado
por correo electrónico (en texto sin formato,
por favor) al profesor. Al principio del mensaje, incluya
un párrafo en el que quede claro que el examen
lo ha realizado sin ayuda de nadie.
Aunque dispone de seis horas para realizar el examen,
debería terminarlo mucho antes si ha asistido
a clase y ha leído el material obligatorio. En
concreto, tenga en cuenta que exigimos respuestas con
longitud concreta para cada pregunta: no crea que debe
escribir páginas y más páginas
sólo porque le damos mucho tiempo: una respuesta
clara y concisa puntúa mucho más que una
larga y farragosa.
Recursos
A continuación, detallamos
los recursos que pueden serle de ayuda para responder
las preguntas.
Pregunta 1: Normalización
de un modelo de datos
Aquí tiene un modelo de datos para almacenar
un conjunto recopilado de archivos MP3 (fragmentos digitalizados
de música). Los usuarios se han registrado en
un sistema de comunidades sencillo de ArsDigita. Describa
dos motivos por los que esta tabla no se muestra ni
siquiera en formato formulario de normalización
primaria. A continuación, vuelva a escribir el
modelo de datos para darle formato de formulario de
normalización terciaria. Sugerencia: su modelo
de datos normalizado contendrá más de
una tabla SQL.
create table mp3s (
mp3_id integer primary key,
the_music blob,
submitting_user_id references users,
playing_minutes number,
musicians varchar(4000),
composers varchar(4000),
date_recorded date,
-- ID de usuario separados por espacios
-- (son los usuarios que hicieron clic en "agregar
a mi lista personal"
personal_list_ids clob,
-- ID de usuario separados por espacios
-- (son todos los usuarios que han reproducido
una canción
downloading_user_ids clob,
-- clasificaciones, separadas por espacios
-- cada clasificación es un ID de usuario,entero
(entre 1 y 10)
ratings clob,
original_lyrics clob,
-- idioma de las letras (utilice códigos)
original_lyric_lang char(2),
-- permite que los usuarios carguen canciones
en otros idiomas
lyric_translation1 clob,
lyric_translation1_lang clob,
lyric_translation2 clob,
lyric_translation2_lang clob,
lyric_translation3 clob,
lyric_translation3_lang clob,
-- si viene de un disco compacto, almacena la
información del disco
-- ¿está este disco registrado
en cddb.com? Si es así, registrar clave.
cddb_key varchar(200),
barcode_on_disc varchar(100),
record_label varchar(200),
catalog_number varchar(200),
total_playing_minutes number
);
Extensión de la respuesta:
1 página.
Pregunta 2: Usabilidad
Está harto del MIT. Está
harto de las temperaturas bajo cero (¡y eso que,
oficialmente, aún no ha llegado el invierno!).
Está harto de sentirse tan delgado y quiere parecerse
más a sus profesores. ¿Dónde puede
encontrar temperaturas más cálidas y raciones
ilimitadas de comida para dejar de estar en los huesos?
No hay duda: la solución es un crucero por el
Caribe.
Sus limitaciones son:
-
Debe pasar las Navidades
con sus padres. De lo contrario, no correrán
con los gastos de la universidad del semestre que
viene. Esto es: no puede salir hasta el 26 de diciembre.
-
Debe regresar al MIT el 8
de enero para comenzar el curso; más de 200
personas se han inscrito en el seminario "Alegrías
del PL/SQL" que usted va a impartir.
-
Ser un estudiante de uno
de los cursos más atractivos del MIT le ha
beneficiado mucho en su vida amorosa; tiene una
relación romántica y necesitará
reservar dos plazas para el crucero.
Comience por acceder al sitio Carnival
y no dedique más de 3 minutos para responder
a la pregunta "¿Hay dos plazas libres en cualquier
crucero que salga el 26 de diciembre o en fechas posteriores
y que regrese antes del 8 de enero?"
Pregunta 2a
Sugiera cinco cosas que los diseñadores
de este sitio podrían haber hecho de otra forma
para mejorar la experiencia. (Extensión de la
respuesta: 1-3 frases por cada sugerencia).
Ahora vamos a dar un giro al asunto:
usted es homosexual. Y no quiere terminar en un crucero
casi homófobo.
Dedique otros tres minutos a navegar
por el sitio Carnival
para saber cómo es la experiencia a bordo de
uno de los barcos (puede empezar por el barco Paradise).
Compruebe si puede encontrar información que
revele si Carnival ofrece cruceros especiales para homosexuales
o si cuenta con estancias para este colectivo.
Pregunta 2b
¿Qué podría
haber hecho Carnival para darle una respuesta más
concreta? ¿Más información sobre
la experiencia a bordo? ¿Podría influir
la autoría de varios colaboradores? Redacte un
borrador sobre la forma de conseguirlo. (Extensión
de la respuesta: 1 ó 2 párrafos).
Visite los foros
de mensajes de gay.com (en inglés) para ver
si puede encontrar cruceros por el Caribe pensados para
homosexuales (sugerencia: comience a buscar en la categoría
de viajes ("travel")).
Pregunta 2c
Analice la interfaz de usuario
del programa de foros de preguntas y respuestas de gay.com.
Si lo desea, puede hacerlo en forma de ventajas e inconvenientes
según el programa estándar de foros de
ACS (consulte los foros
de photo.net para obtener un archivo completo).
Extensión de la respuesta: 2 párrafos.
Acceda al sitio PlanetOut
(la directora ejecutiva, Megan Smith, se licenció
en la segunda promoción del curso del MIT) y
busque "Carnival cruise" (crucero de Carnaval). Analice
los suficientes resultados para poder determinar si
Carnival acepta o no el comercio orientado a los homosexuales. Busque
ahora en Google la cadena "Carnival cruise gay" (crucero
de Carnaval para homosexuales). De nuevo, analice los
suficientes resultados para determinar si Carnival acepta
o no el comercio orientado a los homosexuales.
Pregunta 2d
Compare las interfaces de usuario
de los dos motores de búsqueda anteriores para
comprobar su usabilidad. (Extensión de la respuesta:
2 párrafos).
Pregunta 3: Oracle
Pregunta 3a: Diversión
con Oracle
Le hemos ofrecido un servicio web
en ejecución que utiliza una base de datos de
Oracle. Los desarrolladores originales no sabían
mucho de documentación y no le han dejado ningún
archivo .sql con sentencias CREATE TABLE. Utilizando
solamente consultas de SQL (es decir, no puede utilizar
ningún comando de SQL*Plus como "DESCRIBE"),
diga cómo podría saber (1) qué
tablas se han definido, (2) qué columnas hay
en dichas tablas, (3) cuáles de esas columnas
pueden ser "null" (es decir, cuáles
pueden contener el valor "NULL") y (4) cuáles
de las columnas de las tablas tienen limitaciones. Las
consultas de SQL no tienen por qué ser totalmente
correctas, pero sí deberá encontrar las
tablas y las columnas que contengan la información
que necesita.
Extensión de la respuesta: cuatro consultas,
cada una de no más de 1 ó 2 líneas.
Pregunta 3b: Más
diversión con Oracle
Ha escrito un programa de aplicación
que:
- Realiza consultas en una fila
de información desde Oracle (con "SELECT *
FROM FOOBAR").
- Realiza cálculos con
los datos obtenidos.
- Basándose en los cálculos,
actualiza la información sobre la que se ha
realizado la consulta del paso 1 (con UPDATE).
Explique el problema de concurrencia
que aparece cuando se ejecutan simultáneamente
dos copias de este programa (extensión de la
respuesta: 1 párrafo). Incluya dos modificaciones
del programa que eliminen el problema de concurrencia
y aclare las ventajas de cada enfoque. Sus modificaciones
deberán incluir sentencias explícitas
de SQL. (Extensión de la respuesta: 1 párrafo).
Palabras de despedida
Porcentaje de estudiantes de MBA que afirman que contratarían
los servicios de un empleado de la competencia para
hacerse con secretos comerciales: 73%
Porcentaje de criminales condenados que afirman que
lo harían: 60%
-- Wall Street Journal, 3 de mayo de 1999
No basta con buena ingeniería para que un servicio
web triunfe: escoja a sus colaboradores con mucho cuidado.
Al principio del mensaje, incluya
un párrafo en el que quede claro que el examen
lo ha realizado sin ayuda de nadie.
Quién ha redactado esto y cuándo
Este examen lo escribieron Hal Abelson y Philip Greenspun
en diciembre de 2000. El copyright es de 2000 pero puede
reutilizarse siempre y cuando se haga mención
a los autores originales.
|