Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1402
II Semestre 1998
[<=] [home] [<>] [\/] [=>]
CI-1402 Organización de Lenguajes de Programación

Proyecto #1

      El objetivo de este proyecto es darle al estudiante la oportunidad de manipular archivos de manera que aprecie, por lo menos superficialmente, cuál es el tipo de trabajo que realiza un compilador. Importa trabajar más en el nivel de la manipulación simbólica que en la computación numérica o de sistemas de información, que es la usual en otros cursos de la carrera.

      Hay tres tipos de proyecto, para que los estudiantes escogan las que mejor se adapten a su gusto. En todos los casos el trabajo se hace en grupos de dos o tres personas. Los estudiantes son responsables de definir con exactitud el resultado de su trabajo antes de realizarlo, y de entregrarlo completo de acuerdo a su propia especificación. Conviene, además, que la documentación quede escrita en formato HTML, para ponerla en el servidor Internet del curso. Los proyectos son estos:

[<>] Una herramienta para ayudar a resolver el Y2K
[<>] Verificador de código para Caribana
[<>] Transformador HTML de Cartas al estudiante

Una herramienta para ayudar a resolver el Y2K

      Cuando el almacenamiento secundario era muy caro, frecuentemente los programadores ahorraban dígitos al almacenar fechas, codificándolas en seis dígitos en lugar de ocho. Por ejemplo, a la fecha 31 de febrero de 1988 corresponde la hilera "980231", en que se omite los dos primeros dígitos del siglo: "19". Si la fecha está en el nuevo milenio y se almacena de esta manera, cuando se usa artimética para calcular la cantidad de años que han pasado en algunos casos se obtienen números negativos; por ejemplo, no se sabe si una hilera "050231" representa la fecha 31 de febrero en el año "1900" o en el "2000". A este problema se le conoce como Y2K, por las siglas en inglés de Year 2000.

      La prensa a reportado con gran entusiasmo que muchos equipos de computación fallarán en los albores del nuevo siglo; bastantes persona creen que eso es cierto. En este proyecto, su trabajo es escribir una herramienta, que puede tener la forma de uno o varios programas, que sirva para analizar los fuentes de programas para detectar si, potencialmente, pueden dar problemas debido a Y2K. Usted obtendrá una calificación más alta si, además de detectar el problema, ayuda a solucionarlo.

      Implemente sus programas usando un lenguaje de alto poder, preferiblemente Perl o Tcl/Tk. Ya algunas firmas ofrecen herramientas para resolver este problema, las que puede examinar para escribir la suya. En los motores de búsqueda puede encontrar referencias a esos productos.

      Algunas instituciones nacionales tienen interés en usar los programas que Usted produzca, lo que le dará la oportunidad de aplicar su trabajo, aunque elaborar de esta forma su proyecto no es un requisito indispensable para obtener una buena calificación.

Tiempo de entrega: Dos semanas antes de terminar el curso
Modalidad: Parejas

Verificador de código para Caribana

      Desde hace algún tiempo, Caribana se ha dedicado a dar servicios de construcción a muchas empresas, por lo que ha contratado a varios estudiantes de la ECCI. Uno de ellos, Jose Esteban Sánchez, ha conseguido que dos o tres grupos de estudiantes del curso ayuden a la empresa a manipular el código de los sistemas para detactar fallas y producir mejoras.

      Como los sistemas de Caribana son muy sensitivos, los estudiantes que trabajen en esta empresa deben respetar algunas reglas:

Tiempo de entrega: Dos semanas antes de terminar el curso
Modalidad: Grupos de tres personas

Transformador HTML de Cartas al estudiante

      Los profesores de la ECCI entregan a la dirección de la Escuela, semestre a semestre, la Carta al Estudiante para cada curso que imparten. Este proyecto consiste en tomar ese documento, escrito con el procesador de palabras Word de Microsoft, y procesarlo para obtener un archivo HTML equivalente, con vista a ponerlo en Internet eventualmente.

      Como cada profesor tiene un estilo diferente para hacer su carta al estudiante, este programa debe ser capaz de reconocer el estilo, para uniformarlo de manera que todas las cartas al estudiante tengan la misma forma.

      A primera vista puede parecer que no hay trabajo que hacer, pues muchos procesadores de palabras modernos pueden exportar archivos en formato HTML. Sin embargo, hay que recordar que cada profesor escribe su carta al estudiante usando un estilo propio, y lo que se busca es uniformar todos los estilos. Eso implica desechar del archivo Word original original algunas cosas, como por ejemplo toda la sección de evaluación u otros detalles que el profesor incluya en un semestre en que desea realizar una actividad académica específica. Por eso importa mucho que el programa transformador HTML esté parametrizado por una plantilla que define la forma que, a fin de cuentas, tendrán todas las cartas al estudiante procesadas.

      Como ejemplo de un estilo de formato para las cartas al estudiante se pueden usar como plantilla las hojas HTML de los siguientes cursos, definidos por la Comisión de Programación de la ECCI:

Tiempo de entrega: Dos semanas antes de terminar el curso
Modalidad: Parejas

[GR­98] Gothard, William & Rodner, Les: Strategies for Solving the Y2K Problem, Dr. Dobb's Journal, No.285, pp [26, 28, 30, 32, 109], Mayo 1998.
[MF­98] Moore, Robert L. & Foley, D. Gregory: Date Compression and Year 2000 Challenges, Dr. Dobb's Journal, No.285, pp [20­22, 24, 109], Mayo 1998.
[Rie­98] Riedel, Jost: Y2K Challenges, Dr. Dobb's Journal, No.285, pp [10­11], Mayo 1998.
[Swa­98] Swaine, Michael: A Chat with Bob Bemer, Dr. Dobb's Journal, No.285, pp [115­117], Mayo 1998.
[Via­98] Viasoft: OnMark 2000 Comprehensive Year 2000 client/server solution, http://onmark.viasoft.com/download, 1998.

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 1998
Derechos de autor reservados © 1998
[home] <> [/\]