Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teaching:cc4101 [2016/04/06 13:47]
etanter [CC4101 - Lenguajes de Programación]
teaching:cc4101 [2022/05/10 12:15] (current)
etanter
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
 +  * {{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
 +  * [[https://users.dcc.uchile.cl/~etanter/recursion/|A Note on Recursion]], para complementar el PLAI respecto del tema de la recursión
  
-**Apuntes complementarios**+**Material complementario**
   * [[http://users.dcc.uchile.cl/~etanter/play-interps/|Interpretes del curso]] (''%%#lang play%%'')   * [[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  +  * [[https://drive.google.com/drive/folders/1--5pINw75WjlfWhDevB7tz8KmTaoAmCC?usp=sharing|slides de las clases]]  
-  * [[http://users.dcc.uchile.cl/~etanter/scope/index.html|A Note on Dynamic Scope]], para complementar el PLAI respecto del tema de alcance dinámico +  * [[https://www.youtube.com/playlist?list=PLv3byGkm6N0CvCRaQTB52oazPrvz6PsBe|videos de las clases del 2021/1]]
-  * [[http://learnyouahaskell.com/|Learn You a Haskell]] capítulos 3 y 8, para complementar el PLAI respecto  +
-de las clases de tipos en Haskell+
  
 **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)
-====== Reglas Entrega Tareas ====== 
  
  
-  * Recuerde que su tarea es individual y las copias serán penalizadas con nota 1. +====== Evaluación ======
-  * 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. +
-  * 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. +
-  * 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.  +
-  * 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.g. mensajes de error) deben ser idénticos los especificados en enunciado de la tarea.+
  
-Algunas tareas tienen preguntas opcionales, de bonus: +  * 3 tareas 
-  * El puntaje bonus se suma a la nota de la peor tarea del semestre, mientras esta sea menor a 7.0 y superior a 4.0. +  * 2 controles 
 +  * 1 examen
  
-**Importante** +La Nota de Control se calculará como el promedio ponderado del examen (50%) y del promedio de los controles (50%). 
-  * No hay tarea recuperativa+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.
  
-**Coeficientes tareas**+La Nota de Tareas se calculará como el promedio de cada tarea.  
 +**Importante**: No hay tarea recuperativa
  
-Las tres tareas valen por 1/3 de la nota final de tareas.+La Nota Final es el promedio ponderado de la Nota de Control (50%) y de la Nota de Tareas (50%).
  
 +**No se permite convalidar tareas o controles de un semestre a otro**. Si reprueba el curso, ya sea por tareas o por controles, tendrá que volver a rendirlo por completo.
  
-**Convalidación tareas/controles de un semestre a otro** +====== Reglas Entrega Tareas ======
-  * si reprueba por tareas, y que sus notas de controles/examen son **todas** >4.0 (no sólo el promedio), entonces al siguiente semestre no tendrá que rendir controles/examen, sólo hacer las tareas. +
-  * si reprueba por controles, y que sus notas de tareas son **todas** >4.0 (no sólo el promedio), entonces al siguiente semestre no tendrá que hacer las tareas, solo rendir controles/examen.+
  
-La convalidación es válida un sólo semestre. Estas condiciones son estrictas y no se hará ninguna excepción. 
  
 +  * Recuerde que su tarea es individual y las copias serán penalizadas con nota 1.
 +  * 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.
 +  * 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. Una función cumple con la interfaz definida 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.
 +
 +  * 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. 
 +  * 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.g. mensajes de error) deben ser idénticos los especificados en enunciado de la tarea.
  
 ====== Política sobre Tareas y Copias ====== ====== Política sobre Tareas y Copias ======
Line 59: Line 61:
 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.