Los alumnos tienen que entregar las tareas vía git usando el repositorio que facilita los servidores de electrónica (vea como crear un repositorio y configurarlo). Para saber los criterios de evaluación, lea esta sección dedicada.
Los archivos que usted debe entregar son: un archivo readme en texto plano, una documentación simple en un archivo pdf, un makefile, y archivos fuente. Cualquier otro archivo que deba agregarse a la tarea, será notificado con anticipación.
La descripción detallada de los archivos a entregar se presenta a continuación:
Este texto menciona los archivos que componen la tarea, explica cómo se compilar cada etapa desarrollada (si requiere pasos o elementos extra, como bibliotecas por ejemplo), y cómo se debe ejecutar cada una de ellas; de tal forma que un usuario que no tenga conocimientos avanzados de programación sepa la función principal de su código y como llevarla a cabo.
De ser necesario, otras cosas pueden ser agregadas para dar completitud al entendimiento de la tarea. Sólo debe generarse un archivo readme para toda la tarea, no es necesario generar uno por cada etapa desarrollada.
En caso de que la tarea a realizar cuente con una etapa adicional que brinde una bonificación extra de puntaje, se debe especificar en el documento si se efectuó el desarrollo de la etapa.
Corresponde a un documento en formato pdf donde se debe incluir un diagrama de alto nivel del desarrollo de la tarea (si el desarrollo es por etapas, el diagrama debe estar basado en la última etapa), una explicación breve de los módulos que componen a ésta, centrándose en la forma en que ellos interactúan y un breve listado con las dificultades presentadas durante el desarrollo de la tarea y las soluciones implementadas para abordarlas. En caso de no lograr solucionar las dificultades encontradas, se debe señalar los elementos que hicieron falta para abordar el problema de mejor forma. Se espera que se mencionen por lo menos 3.
Por último, debes incluir la información que estimes importante para entender tu solución, además de otros elementos que pueden ser solicitados en los enunciados. Normalmente el archivo de documentación tiene un alto peso en la nota de la tarea. Por favor no omitir este ítem.
Este archivo permite compilar los módulos de la tarea, de modo que al ejecutar el comando make en la respectiva carpeta de la etapa a utilizar, todos los archivos sean compilados y la tarea se encuentre lista para ser ejecutada. Si la tarea tiene mas de una etapa se debe generar un archivo makefile por cada etapa o módulo desarrollado.
El código debe ser estéticamente correcto (buen uso de espacios, saltos de linea y debe estar indentado). Esto facilita la lectura y la comprensión del flujo del código.
Además, se espera que los nombres de las variables y funciónes sean concisos y autoexplicativos (es decir, que su nombre sea corto y que además ofrezca indicios de su propósito).
También se debe comentar el código para clarificar el funcionamiento de las distintas secciónes de código.
En este sitio se pueden encontrar consejos para escribir un buen código.
Si el desarrollo de la tarea contempla mas de una etapa, cada una de estas debe estar almacenada en una carpeta diferente, con un nombre descriptivo (Etapa 1, Etapa A, etc). Esto permite la evaluación del método de desarrollo iterativo e incremental, permite un repositorio más ordenado y facilita la labor de corrección de ésta.
Norma de Atrasos: Se efectuará un descuento de 5 puntos por día de atraso cumplido. (incluyendo sábados, domingos y feriados).
Las credenciales para ingresar al repositorio Git de Electrónica les han sido entregadas vía e-mail. Cuando entren por primera vez, deben generar una contraseña usando un enlace seguro proporcionado en el mismo correo. Procuren anotarla en un lugar seguro, será necesaria para crear y administrar sus repositorios!.
Una vez ingresado al sitio, se debe crear un repositorio en los servidores de Electrónica. El título del repositorio creado para cada tarea debe cumplir con el siguiente formato:
Un ejemplo de título es el siguiente:
arancibia.pilar-marquez.jesus-rojas.gonzalo-Tarea1.2019.1.
El repositorio debe tener como colaboradores a los ayudantes del ramo.
Los archivos finales de la tarea deben estar subidos en el branch principal ("master"). Al realizar la ultima publicación, agregar tag "Final" al commit y realizar push con opción de tags habilitada:
La revisión de la hora/fecha de entrega se realizará con respecto al último commit del tag "Final". Si este tag no se encuentra en el repositorio, ¡la tarea no se considerará entregada!
Si tienen problemas usando GIT, pueden ver una pequeña referencia en el apartado Ayuda GIT.
Los repositorios deben ser privados, ver ultima sección de Crear repositorio GIT
Las tareas serán evaluadas de acuerdo a los siguientes criterios:
Los programas compilan sin errores ni warnings. En caso de que durante la compilación se presenten errores pequeños que no entorpecen la ejecución de la tarea, se contactarán a los alumnos y se les dara una sola oportunidad para encontrar alguna solución, siendo éstos responsables de responder oportunamente.
Si los errores son difíciles de corregir o no permiten la ejecución de la tarea, no se podrá comprobar si ésta cumple con los requisitos solicitados y por ende, éstos se evaluarán con un cero.
Se evalúan los archivos readme, makefile y de documentación, respetando los formatos indicados. Se entrega también gráficos e imágenes solicitadas en el enunciado de la tarea. Además, cada uno de los miembros realiza un uso apropiado del repositorio GIT, respetando las indicaciones dadas en esta sección.
La tarea debe cumplir con cada uno de los hitos planteados para cada una de las etapas solicitadas.
No se debe aplicar hard coding, que corresponde a la mala práctica de incrustar datos directamente en su código, en vez de obtenerlos a través de la ejecución de una rutina, lo que conlleva a resultados incorrectos. Por ello, su uso implica descuentos en el puntaje.
Su trabajo debe hacer uso de las técnicas cubiertas en la asignatura y cuyo aprendizaje se busca evidenciar. Por ejemplo, si su solución debe ser orientada a objetos (caso ELO329), el no uso de este paradigma implicará descuentos
La división del puntaje en dichas secciones queda al criterio de los ayudantes, quienes se compromenten a aplicarla de igual forma a todos los estudiantes.
Además:
La explicación breve y las dificultades son elementos esenciales en el archivo de documentación y por ende tienen alta ponderación en el puntaje de éste. No olvidar añadirlas.
Un código bien comentado, identado y autoexplicativo puede ahorrar escribir mucha documentación aparte. Se recomienda nombrar las variables de forma inteligente para hacer el código mucho más entendible tanto para ti como para el ayudante.
Ojo, el buen cumplimiento del procedimiento de entrega también es evaluado como parte de la documentación.