This is an old revision of the document!


CC4101 - Lenguajes de Programación

Material de referencia

  • PrePLAI, breve introducción a la programación funcional, Racket, y #lang play
  • PLAI (S. Krishnamurthi) - capítulos 1 a 14 (para macros, capítulos 35-37)
  • OOPLAI, para la parte sobre objetos

Apuntes complementarios

Referencias adicionales (disponibles en biblioteca FCFM)

  • Essentials of Programming Languages (D. Friedman, M. Wand, C. Haynes)
  • Structure and Interpretation of Computer Programs (H. Abelson, G. Sussman, J. Sussman)
  • Sobre Scheme: The Little Schemer (D. Friedman, M. Felleisen)
  • Sobre Haskell: Learn You a Haskell (excelente libro sobre programación funcional en general, y Haskell en particular)
  • Sobre sistemas de tipos: capitulos 24-31 del PLAI, o mucho más exhaustivo, Types and Programming Languages (B. Pierce)

Evaluación 2021/1 (modalidad online)

  • 3 tareas
  • mini-quizzes: 1 por unidad temática
  • 1 control
  • 1 examen

La Nota de Control se calculará como el promedio ponderado del examen (50%) y del promedio de los controles (50%). El promedio de controles a su vez se calcula como el promedio ponderado del control (50%) y del promedio de los quizzes (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. En este caso se considerará su nota de examen solamente si es superior la promedio de controles.

La Nota de Tareas se calculará como el promedio de cada tarea. Importante: No hay tarea recuperativa

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.

Evaluación (semestres "normales")

  • 3 tareas
  • 2 controles
  • 1 examen

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.

La Nota de Tareas se calculará como el promedio de cada tarea. Importante: No hay tarea recuperativa

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.

Reglas Entrega Tareas

  • 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

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.

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:

  • Nadie tiene permiso de tomar notas, grabar la conversación, copiar o fotografiar lo que esté escrito en la pizarra. La pizarra debe borrarse después de la discusión.
  • Se debe respetar un lapso de cuatro horas después de cualquier conversación antes de empezar a trabajar en la tarea.

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.