Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
teaching:cc4101 [2017/06/13 10:52] etanterteaching:cc4101 [2024/05/09 17:58] (current) – [Reglas Entrega Tareas] gricci
Line 4: Line 4:
 **Material de referencia** **Material de referencia**
   * [[http://www.dcc.uchile.cl/~etanter/preplai|PrePLAI]], breve introducción a la programación funcional, Racket, y ''%%#lang play%%''   * [[http://www.dcc.uchile.cl/~etanter/preplai|PrePLAI]], breve introducción a la programación funcional, Racket, y ''%%#lang play%%''
-  * [[http://cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/plai-2007-04-26.pdf|PLAI]] (S. Krishnamurthi) - //capítulos 1 a 14 (para macros, capítulos 35-37)//+  * [[http://cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/plai-2007-04-26.pdf|PLAI]] (S. Krishnamurthi) - //capítulos 1 a 14 (para macros, capítulos 35-37)// ({{teaching:cc4101:plai-2007-04-26.pdf|copia local del libro}})
   * [[http://www.dcc.uchile.cl/~etanter/ooplai|OOPLAI]], para la parte sobre objetos   * [[http://www.dcc.uchile.cl/~etanter/ooplai|OOPLAI]], para la parte sobre objetos
- 
-**Apuntes complementarios** 
-  * [[http://users.dcc.uchile.cl/~etanter/play-interps/|Interpretes del curso]] (''%%#lang play%%'') 
   * {{teaching:cc4101:pl_overview.pdf|PL Overview}}, una ilustración simplista de los elementos claves en la definición e implementación de los lenguajes de programación    * {{teaching:cc4101:pl_overview.pdf|PL Overview}}, una ilustración simplista de los elementos claves en la definición e implementación de los lenguajes de programación 
   * [[http://users.dcc.uchile.cl/~etanter/scope/|A Note on Dynamic Scope]], para complementar el PLAI respecto del tema de alcance dinámico   * [[http://users.dcc.uchile.cl/~etanter/scope/|A Note on Dynamic Scope]], para complementar el PLAI respecto del tema de alcance dinámico
   * [[https://users.dcc.uchile.cl/~etanter/recursion/|A Note on Recursion]], para complementar el PLAI respecto del tema de la recursión   * [[https://users.dcc.uchile.cl/~etanter/recursion/|A Note on Recursion]], para complementar el PLAI respecto del tema de la recursión
-  * [[http://learnyouahaskell.com/|Learn You a Haskell]] capítulos 3 y 8, para complementar el PLAI respecto de las clases de tipos en Haskell+ 
 +**Material complementario** 
 +  * [[http://users.dcc.uchile.cl/~etanter/play-interps/|Interpretes del curso]] (''%%#lang play%%''
 +  * [[https://drive.google.com/drive/folders/1--5pINw75WjlfWhDevB7tz8KmTaoAmCC?usp=sharing|slides de las clases]]  
 +  * [[https://www.youtube.com/playlist?list=PLv3byGkm6N0CvCRaQTB52oazPrvz6PsBe|videos de las clases del 2021/1]]
  
 **Referencias adicionales (disponibles en biblioteca FCFM)** **Referencias adicionales (disponibles en biblioteca FCFM)**
Line 18: Line 19:
   * [[http://mitpress.mit.edu/sicp/full-text/book/book.html|Structure and Interpretation of Computer Programs]] (H. Abelson, G. Sussman, J. Sussman)   * [[http://mitpress.mit.edu/sicp/full-text/book/book.html|Structure and Interpretation of Computer Programs]] (H. Abelson, G. Sussman, J. Sussman)
   * Sobre Scheme: The Little Schemer (D. Friedman, M. Felleisen)   * Sobre Scheme: The Little Schemer (D. Friedman, M. Felleisen)
-  * Sobre Haskell: [[http://learnyouahaskell.com/|Learn You a Haskell]] (excelente libro sobre programación funcional en general, y Haskell en particular)+  * Sobre Haskell: [[http://learnyouahaskell.com/|Learn You a Haskell]] (excelente libro sobre programación funcional en general, y Haskell en particular) - Ver capítulos 3 y 8 para complementar el PLAI respecto de las clases de tipos en Haskell
   * Sobre sistemas de tipos: capitulos 24-31 del PLAI, o mucho más exhaustivo, Types and Programming Languages (B. Pierce)   * Sobre sistemas de tipos: capitulos 24-31 del PLAI, o mucho más exhaustivo, Types and Programming Languages (B. Pierce)
  
Line 28: Line 29:
   * 1 examen   * 1 examen
  
-La Nota de Control de se calculará como el promedio ponderado del examen (50%) y del promedio de los controles (50%).+La Nota de Control se calculará como el promedio ponderado del examen (50%) y del promedio de los controles (50%).
 Un alumno que obtenga nota promedio de controles mayor o igual a 5.5 queda automáticamente eximido del examen, pero tiene la opción de rendirlo voluntariamente. Un alumno que obtenga nota promedio de controles mayor o igual a 5.5 queda automáticamente eximido del examen, pero tiene la opción de rendirlo voluntariamente.
  
Line 41: Line 42:
  
  
-  * Recuerde que su tarea es individual y las copias serán penalizadas con nota 1. +  * Recuerde que su tarea es individual y las copias serán penalizadas con nota 1 (ver política abajo). 
-  * La entrega se debe hacer vía U-Cursos hasta las 23:59 del día de entrega de la tarea. Se aceptarán tareas atrasadas con una penalización de 1 punto por dia. +  * No se aceptan atrasos. Sólo tienen a su disposición 7 tokens para días de atraso, para todo el semestre. No se pueden usar más de 3 tokens en una misma tarea. No hay excepciones ni tokens adicionales. 
-  * Una función no comentada se ignorará por completo, es decir, se borrará del código entregado. Se entiende por función comentada una función que incluye sobre ella un comentario con su nombre, firma y breve descripción. + 
-  * Las funciones que no cumplan con las interfaces definidas en la tarea no serán consideradas para la evaluación.+Sobre U-Cursos: 
 +  * La entrega se debe hacer vía U-Cursos hasta las 23:59 del día de entrega de la tarea. 
   * El uso del foro en U-Cursos es altamente recomendado para la discusión del enunciado y resolución de dudas por parte del equipo docente. Si hay alguna modificación sustancial al enunciado en base a discusiones en el foro, se anunciará vía foro en un post nuevo realizado por un miembro del equipo docente actualizando a su vez el enunciado.   * El uso del foro en U-Cursos es altamente recomendado para la discusión del enunciado y resolución de dudas por parte del equipo docente. Si hay alguna modificación sustancial al enunciado en base a discusiones en el foro, se anunciará vía foro en un post nuevo realizado por un miembro del equipo docente actualizando a su vez el enunciado.
-  * La entrega vía U-Cursos debe constar de dos archivos: Uno donde se encuentre el código fuente de la tarea y otro con todos los tests que se usaron durante el desarrollo de ésta.  +  * La entrega vía U-Cursos debe constar de **un único archivo .zip** (**no** utilizar otro formato de compresión como .rar) que contenga todos los archivos con la implementación solicitada en la tarea y los tests que usó para validar su solución. Asegúrese de leer las instrucciones específicas de entrega en cada enunciado. 
-  * Como regla general, no puede usar mutación para resolver las tareas, a menos que el enunciado indique lo contrario. + 
-  * Los mensajes que se deben imprimir hacia el usuario (e.gmensajes de error) deben ser idénticos los especificados en enunciado de la tarea.+ 
 +Reglas específicas: 
 +  * No puede usar mutación para resolver las tareas, a menos que el enunciado indique lo contrario. 
 +  * El testing y la calidad de código son considerados en la evaluación. Por cada eje puede aplicarse un descuento de hasta 0.5 puntos a la nota de la tarea, según lo detallado en la [[https://docs.google.com/document/d/1Ahtk97_teZwtpFnJ-H--rLndeiFuyeDHpoGWpC8wL5I/edit?usp=sharing|siguiente rúbrica]]. 
 +  * El test suite debe estar compuesto por tests propios, cubriendo apropiadamente los casos relevantes. Los tests entregados en los archivos base y/o presentados en el enunciado no son contabilizados. 
 +  * La calidad de código considera lo siguiente: 
 +    - Presencia de firmas para las funciones implementadas. 
 +    - Documentación de comportamientos complejos y relevantes de las funciones. 
 +    - Respeto de los formatos pedidos en el enunciado para los mensajes de error y otros mensajes impresos hacia el usuario. 
 +    - Respeto de las interfaces definidas en el enunciado. Una función cumple con la interfaz declarada en la tarea si recibe los mismos argumentos obligatorios y en el mismo orden. Las funciones pueden recibir además argumentos opcionales, si así lo desean.
  
 ====== Política sobre Tareas y Copias ====== ====== Política sobre Tareas y Copias ======
  
-Las tareas son individuales. Toda entrega deber ser enteramente fruto de su trabajo y no puede ser derivada del trabajo de otros, ya sea de fuentes publicadas como no publicadas, la web, otro estudiante, libros, materia de otros cursos (incluyendo semestres anteriores de este curso), o cualquier otra persona o programa. Se prohibe copiar, examinar, o alterar la tarea de otra persona, o usar un programa para transcribir, modificar o copiar los archivos de otro alumno.+Las tareas son individuales. Toda entrega deber ser enteramente fruto de su trabajo y no puede ser derivada del trabajo de otros, ya sea de fuentes publicadas como no publicadas, la web, ChatGPT/CoPilot u similar, otro estudiante, libros, materia de otros cursos (incluyendo semestres anteriores de este curso), o cualquier otra persona o programa. Se prohibe copiar, examinar, o alterar la tarea de otra persona, o usar un programa para transcribir, modificar o copiar los archivos de otro alumno.
  
 Para facilitar el aprendizaje cooperativo, está autorizado conversar de una tarea con otros estudiantes, siempre y cuando se respete la siguiente política de "pizarra": Una conversación puede tener lugar en una pizarra (o sobre papel, etc.), y debe cumplir las siguientes reglas: Para facilitar el aprendizaje cooperativo, está autorizado conversar de una tarea con otros estudiantes, siempre y cuando se respete la siguiente política de "pizarra": Una conversación puede tener lugar en una pizarra (o sobre papel, etc.), y debe cumplir las siguientes reglas:
Line 59: Line 70:
 El hecho de que pueda recrear la solución de memoria se considera como prueba de que se entendió efectivamente. El hecho de que pueda recrear la solución de memoria se considera como prueba de que se entendió efectivamente.
  
-Toda violación podrá ser reportada a las autoridades de la Facultad, solicitando un sumario, poniendo en riesgo su continuidad en esta Casa de Estudios.+Toda violación podrá ser reportada a las autoridades de la Facultad, solicitando un sumario.