Laboratorios

En esta sección se encuentran los enunciados de los laboratorios del curso. En la barra lateral puede acceder al enunciado de cada uno de ellos. A continuación, se exponen las reglas generales de este tipo de evaluación.

Reglas

Estas reglas aplican para todos los laboratorios realizados durante este curso, y es necesario que las lean para poder hacer una correcta entrega de sus soluciones. Como no tenemos forma de fiscalizar gran parte de estas reglas, confiaremos en su honestidad al momento de tomar la evaluación.

Grupos

Los laboratorios están pensados para ser resueltos durante las dos horas del laboratorio, sin embargo, el plazo de entrega de esta evaluación generalmente excederá el plazo del bloque de laboratorio.

Si bien ambos integrantes del grupo deben discutir la solución correcta, se les recomienda también que ambos participen de la implementación de la solución y la escritura del “informe”. Una forma de hacer esto es con la opción de “Compartir Pantalla” y “Control Remoto” de Zoom.

Para asignar correctamente los grupos en las salas de conversación de Zoom, les pedimos que cambien su nombre en la plataforma para que inicie con GXX, donde XX simboliza el número de lista de alguno de los dos integrantes, con un cero a la izquierda si es necesario para completar los dos dígitos. Esto nos permitirá crear los breakout rooms de forma eficiente.

Para lograr el objetivo de los laboratorios, requerimos que el trabajo y la discusión la realicen en solamente entre los integrantes de su grupo solamente. En caso de seguir con dudas, recomendamos contactar al equipo docente para recibir más feedback. Luego del término de la evaluación, tendremos espacio en el bloque auxiliar para discutir colectivamente las soluciones.

Material Necesario

Para la resolución de los laboratorios, en general requerirán de un computador personal con sistema operativo Windows, macOS o Linux. Este computador debe tener instalado Python 3.8 o superior. No garantizamos que los ejemplos funcionen con otras versiones de Python 3, y mucho menos con Python 2.

En algunos casos, será necesario que se conecten a la VPN del CEC, utilizando las credenciales de su cuenta FCFM (la de las impresoras del CEC). El tutorial para realizar esta conexión lo pueden encontrar en la página web del CEC. Se les avisará con anticipación si esto es necesario para un laboratorio.

En casos específicos en que requieran un sistema operativo en particular, se les facilitará un archivo de máquina virtual, que podrán ejecutar usando Oracle VirtualBox. Se les avisará con anticipación si este es el caso, e intentaremos subir un tutorial sobre cómo correr estas máquinas virtuales cuando corresponda.

Por último, y al igual que en las clases de cátedra, necesitarán una forma de comunicarse entre integrantes del grupo. Para esto, habilitaremos Breakout Rooms en Zoom, pero son libres de usar otras formas de comunicación (Discord, Telegram, WhatsApp, Signal, llamada telefónica, etc.)

Uso de material externo

Se les recomienda fuertemente el desarrollo de las implementaciones de este laboratorio sin utilizar código de fuentes distintas a las del curso. Sabemos que muchas de las implementaciones de resolución de estos problemas se encuentran fácilmente en Internet, pero el objetivo de esta evaluación es que puedan desarrollarlas por su cuenta para entenderlas mejor. En caso de tener dudas, recomendamos consultar con el equipo docente. Con respecto a material adicional que no contenga implementaciones ni ha sido citado en el curso (videos explicativos, artículos, etc), en general está permitida su utilización, sin embargo, les recomendamos que nos pregunten directamente en caso que no sepan si el material extra calificaría o no para su uso.

Rúbrica

La rúbrica general de los laboratorios es la siguiente:

  • Cada pregunta tiene la misma ponderación en el puntaje total del laboratorio.
  • Una implementación sin explicación (tanto en el “informe” como en los comentarios del código) no se considerará correcta. Requerimos que discutan y expliquen lo que quieren hacer y por qué quieren hacerlo a grandes rasgos (no es necesario un comentario por línea de código, pero sí es recomendable que cada método o bloque funcional de su código esté comentado, ojalá en formato PEP-8).
  • El puntaje de cada sección de cada pregunta está especificado al final de la misma.

Consultas al equipo docente

Durante el desarrollo del laboratorio, podrán preguntar en todo momento al equipo docente en caso de tener cualquier duda respecto a implementación o idea de solución. Después del bloque del laboratorio y hasta la fecha final de entrega, recibiremos preguntas por el Telegram del curso, por U-Cursos y en el bloque de consultas de los miércoles a las 11 hrs.

Entregables

En cada laboratorio, deberán subir al módulo de Tareas de U-Cursos un archivo comprimido con una carpeta por pregunta de laboratorio con el nombre PX, donde la X representa el número de la pregunta contestada. Dentro de cada una de estas carpetas, deberán colocar:

  • Código programado para la resolución de la pregunta (Separados en las carpetas de cada pregunta)
  • Un archivo con el nombre README.md, en formato Markdown, con las siguientes secciones:
    • Un párrafo explicando cómo correr el código entregado
    • Un párrafo corto resumiendo cómo llegaron a la solución propuesta
    • Respuestas a preguntas explícitas hechas y reflexiones solicitadas en la pregunta de laboratorio