escuela ingenierÍa civil en computaciÓn ingenieria …

5
Syllabus Armonizado Plan :16 ESCUELA INGENIERÍA CIVIL EN COMPUTACIÓN INGENIERIA CIVIL EN COMPUTACIÓN LENGUAJES Y PARADIGMAS DE PROGRAMACION Nombre del Módulo LENGUAJES Y PARADIGMAS DE PROGRAMACION Número de Créditos Expresados en SCT - CHILE Créditos STC-Chile: 5 Número de horas totales: 135 Distribución de horas Presencial Autónomo Cátedra Ayudantía Práctica Laboratorio Seminario Clínica Terreno Taller Tarea Estudio 2,00 0,00 0,00 1,00 0,00 0,00 0,00 0,00 2,00 2,50 Área de Conocimiento Ingeniería y Tecnología Semestre 3 Requisitos - INTRODUCCION A LA PROGRAMACION (PRERREQUISITO) Unidad Responsable de la Construcción del Syllabus INGENIERIA CIVIL EN COMPUTACION Competencias del perfil de egreso al que contribuye este módulo y nivel de logro de cada una de ellas 08. Dominar el cuerpo de conocimiento disciplinar de ciencias de la computación conforme a estándares reconocidos nacional e internacionalmente para su correcto desempeño profesional. Nivel de logro de la competencia:AVANZADO 09. Utilizar el cuerpo de conocimiento disciplinar en el quehacer profesional para la solución de problemas específicos de su ámbito laboral, considerando múltiples plataformas de desarrollo computacional.Nivel de logro de la competencia: INTERMEDIO 10. Utilizar las ciencias de la computación como herramienta tanto para el desarrollo de la misma como de otras ciencias y de actividades productivas en general, trabajando en equipos multidisciplinarios e integrando conocimiento específico de otras disciplinas.Nivel de logro de la competencia: INTERMEDIO Aprendizajes Maneja conceptos asociados a la representación y manejo de programas Maneja conceptos relacionados con la interpretación y compilación de lenguajes de programación Conoce los aspectos básicos de los sistemas de tipos Utiliza los sistemas de tipos para la implementación correcta de programas 1 / 5

Upload: others

Post on 16-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESCUELA INGENIERÍA CIVIL EN COMPUTACIÓN INGENIERIA …

Syllabus Armonizado

Plan :16

ESCUELA INGENIERÍA CIVIL EN COMPUTACIÓN

INGENIERIA CIVIL EN COMPUTACIÓN

LENGUAJES Y PARADIGMAS DE PROGRAMACION

Nombre del Módulo LENGUAJES Y PARADIGMAS DE PROGRAMACION

Número de Créditos

Expresados en SCT - CHILE Créditos STC-Chile: 5 Número de horas totales: 135

Distribución de horas

Presencial AutónomoCátedra Ayudantía Práctica Laboratorio Seminario Clínica Terreno Taller Tarea Estudio2,00 0,00 0,00 1,00 0,00 0,00 0,00 0,00 2,00 2,50

Área de Conocimiento Ingeniería y Tecnología

Semestre 3

Requisitos

- INTRODUCCION A LA PROGRAMACION (PRERREQUISITO)

Unidad Responsable de laConstrucción del Syllabus

INGENIERIA CIVIL EN COMPUTACION

Competencias del perfil de

egreso al que contribuyeeste módulo y nivel de logro

de cada una de ellas

08. Dominar el cuerpo de conocimiento disciplinar de ciencias de la computación conforme aestándares reconocidos nacional e internacionalmente para su correcto desempeñoprofesional. Nivel de logro de la competencia:AVANZADO

09. Utilizar el cuerpo de conocimiento disciplinar en el quehacer profesional para la soluciónde problemas específicos de su ámbito laboral, considerando múltiples plataformas dedesarrollo computacional.Nivel de logro de la competencia: INTERMEDIO

10. Utilizar las ciencias de la computación como herramienta tanto para el desarrollo de lamisma como de otras ciencias y de actividades productivas en general, trabajando en equiposmultidisciplinarios e integrando conocimiento específico de otras disciplinas.Nivel de logro dela competencia: INTERMEDIO

Aprendizajes

Maneja conceptos asociados a la representación y manejo de programas

Maneja conceptos relacionados con la interpretación y compilación de lenguajes deprogramación

Conoce los aspectos básicos de los sistemas de tipos

Utiliza los sistemas de tipos para la implementación correcta de programas

1 / 5

Page 2: ESCUELA INGENIERÍA CIVIL EN COMPUTACIÓN INGENIERIA …

Syllabus Armonizado

Maneja conceptos de programación defensiva en el contexto del desarrollo de software

Maneja aspectos básicos del paradigma de Orientación a Objetos

Aplica conceptos de modelado avanzado de datos

Evalúa el uso del paradigma de orientación a objetos

Conoce y utiliza aspectos avanzados de la programación funcional

Conoce las ventajas y desventajas del uso de sistemas de tipos

Conoce y utiliza iteradores

Maneja aspectos básicos de la programación funcional

Maneja tipos de datos genéricos

Utiliza lenguajes de programación lógica

Maneja conceptos relacionados con el manejo de memoria en tiempo de ejecución

Unidades de aprendizajes y

saberes esenciales Unidad I - Fundamentos de los Lenguajes de ProgramaciónExplicar cómo los programas que procesan otros programas los tratan como sus datos deentrada.Distinguir la definición de un lenguaje (lo que significan los constructores) de laimplementación de un lenguaje particular (compilador vs intérprete, representación deejecución de objetos de datos, etc.).Distinguir sintaxis y parseo de semántica y evaluación.Describir un árbol de sintaxis abstracto para un lenguaje pequeño.

Unidad II ¿ Diseño de Lenguajes de ProgramaciónDescribir informalmente los valores que tiene cada tipo primitivos y compuestosPara un lenguaje con un sistema de tipos estático, describe las operaciones que seencuentran estáticamente prohibidas, tales como pasar el tipo incorrecto de valor a unafunción o métodos.Explicar como las reglas de tipo definen un set de operaciones que son legales para un tipo.Dar un programa de ejemplo que no chequea tipo en un lenguaje particular, y que sinembargo no da error al ser ejecutado.Explicar por qué se podría elegir desarrollar un programa en un lenguaje con tipos seguroscomo Java, en contraste con un lenguaje no seguro como C/C++.Explicar la relación entre la herencia en orientación a objetos y subtipos (la idea de que unsubtipo puede ser usado en un contexto que espera el supertipo).Conocer los aspectos fundamentales del paradigma de orientación a objetos.Describir los conceptos principales del modelo de orientación a objetos, tal como identidad deobjetos, constructores de tipos, encapsulado, herencia, polimorfismo y versiones.Conocer el concepto de iteradores en el contexto de la programación funcional.Describir ejemplos de errores en programas detectados por un sistema de tipos.Explicar por qué la indecisión requiere que los sistemas de tipos aproximenconservativamente el comportamiento de un programa.Explicitar las reglas de tipo que rigen el uso de un tipo compuesto particular.Usar tipos y mensajes de error de tipo para escribir y depurar programas.Usar subclases para diseñar simples jerarquías de clases que permiten la reutilización decódigo para distintas subclases.Razonar correctamente sobre el control de flujo en un programa usando despacho dinámico.Usar mecanismos de encapsulamiento de orientación a objetos, tales como interfaces yatributos privados.

2 / 5

Page 3: ESCUELA INGENIERÍA CIVIL EN COMPUTACIÓN INGENIERIA …

Syllabus Armonizado

Diseñar e implementar una clase.Comparar y contrastar el enfoque procedural/ funcional (definir una función para cadaoperación en la que el cuerpo de la función provee un caso para cada variación de los datos)con el enfoque orientado a objetos (definir una clase para cada variación en los datos en laque la definición de la clase provee métodos para cada operación). Entiende ambos como ladefinición de una matriz de operaciones y variaciones.Definir y utilizar iteradores y otras operaciones sobre agregados, incluyendo operaciones quetoman funciones como argumentos, en múltiples lenguajes de programación, seleccionandolas expresiones más naturales para cada lenguaje.Identifica las propiedades de un programa chequeadas estática y dinámicamente paramúltiples lenguajes de programación.Definir y utilizar iteradores y otras operaciones sobre agregados, incluyendo operaciones quetoman funciones como argumentos, en un lenguaje orientado a objetos, seleccionando lasexpresiones más naturales para dicho lenguaje.

Unidad III ¿ Modelos de Programación AlternativosConocer los aspectos básicos del paradigma de programación funcional.Discutir las diferencias entre generics, subtipos y sobrecarga.Explicar múltiples beneficios y limitaciones de tipos estáticos en la escritura, mantención ycorrección de software.Conocer algún lenguaje de programación lógica.Discutir las ventajas y limitaciones de garbage collection, incluyendo la noción de reachability.Razonar correctamente sobre variables y alcance léxico en un programa usando functionclosures.Escribir algoritmos básicos que evitan asignaciones a estados mutables o considerarreference equality.Usa mecanismos de encapsulamiento funcional tales como closures e interfaces modulares.Escribir funciones útiles que toman como parámetros y retornan otras funciones.Definir y usa partes de programas (tales como funciones, clases y métodos) que usan tiposgenéricos, including for collections.Usar objetos que implementan "generics", subtipos y sobrecarga.Diseñar e implementar objetos que utilizan "generics", subtipos y sobrecarga.Usar un lenguaje de programación lógico para implementar un algoritmo convencional.Usar un lenguaje de programación lógico para implementar un algoritmo empleandobúsqueda implícita utilizando clases, relaciones y cortes.

Metodología a utilizar Clases teóricas o cátedras

El propósito de este método es compartir conocimientos y activar procesos cognitivos. Sedenomina como clase teórica una modalidad organizativa de la enseñanza en la que se utilizaprincipalmente como estrategia didáctica la exposición verbal por parte del profesor de lossaberes que contempla el módulo. Aunque esta exposición se puede realizar de diversasformas y con distintos medios, la característica esencial de esta modalidad de enseñanza essu unidireccionalidad -hablar a los estudiantes- ya que tanto la selección de los saberes aexponer como la forma de hacerlo constituyen una decisión del profesor (De Miguel, 2005)

Resolución de ejercicios y problemas La finalidad de este método es ejercitar, ensayar y poner en práctica, por ejemplo:conocimientos previos o nuevos aprendizajes. A través de la movilización de recursoscognitivos, habilidades y destrezas, se evalúan conceptos básicos y su aplicación y seresuelven utilizando ejemplos prácticos. Usualmente en este método se presentan situacionesen las que se solicita a los estudiantes que desarrollen las soluciones adecuadas o correctasmediante la ejercitación de rutinas, la aplicación de fórmulas o algoritmos, la aplicación deprocedimientos de transformación de la información disponible y la interpretación de losresultados. Se suele utilizar como complemento del método expositivo.

Evaluaciones de

3 / 5

Page 4: ESCUELA INGENIERÍA CIVIL EN COMPUTACIÓN INGENIERIA …

Syllabus Armonizado

aprendizaje - Unidad de Aprendizaje

Definición:

Prueba: Se realiza una por cada unidad, al término de ella, para determinar el grado lodeadquisición de los aprendizajes. Son individuales, escritas.

Entregables: Se toman varios por unidad, y corresponde a ejercicios dejados comotareas,lecturas (trabajo autónomo), pero también considera ejercicios realizados durante laclase oen laboratorio. Pueden ser individuales o en grupo. El promedio de todos constituye lanotaque finalmente es el reconocimiento al trabajo realizado.

Unidad I. Fundamentos de Lenguajes de Programación [30%]

- Prueba (Fundamentos): 15%

- Entregables. 15%

- Unidad de Aprendizaje

Unidad II. Diseño de Lenguajes de Programación [40%]

- Prueba (Diseño de lenguajes de Programación): 20%

- Entregables : 20%

- Unidad de Aprendizaje

Unidad III. Modelos de Programación Alternativos [30%]

- Prueba (Especificación Formal): 15%

- Entregables. 15%

Requerimientos especiales Artículo 10°: La nota obtenida en cada evaluación deberá ser comunicada a los alumnos

dentro de los 10 días hábiles siguientes de efectuada ésta y siempre antes de la próximaevaluación.Los resultados de la evaluación opcional acumulativa deberán ser entregados alos alumnos a más tardar en la fecha de cierre del periodo académico.

Artículo 8°: El alumno podrá faltar a una sola evaluación principal programada en cadamódulo, en cuyo caso podrá rendir en su reemplazo una nueva evaluación de carácteracumulativo, conforme a lo señalado en el respectivo syllabus. Esta norma no será aplicable aaquellas evaluaciones que dentro del syllabus hayan sido definidas como no recuperables.

La prueba parcial aprobación obligatoria de cada unidad, será recuperable en la oportunidadestablecida en el módulo. En caso de recurrir a esta instancia y aprobar la unidad, la notaasignada para la unidad será 4,0.

Artículo 5º: En las evaluaciones escritas, los alumnos tienen derecho a conocer lasrespuestas esperadas las que deben ser analizadas y discutidas por el profesor. El estudiantepodrá solicitar una reconsideración de la calificación obtenida dentro del plazo de 5 días

4 / 5

Page 5: ESCUELA INGENIERÍA CIVIL EN COMPUTACIÓN INGENIERIA …

Syllabus Armonizado

hábiles posteriores a la entrega de los resultados. Las evaluaciones escritas deberánpermanecer en poder del profesor hasta el término del período de reconsideración. En lasevaluaciones orales y procedimentales los alumnos tienen derecho a recibir unaretroalimentación de parte del profesor una vez conocida la calificación, conforme a loscriterios de evaluación preestablecidos.

La aprobación de cada unidad está sujeta a la aprobación de la prueba parcial de esa unidad.En caso de reprobarla, la nota de la unidad se calculará como el menor valor entre 3,9 y lanota obtenida en la unidad de acuerdo a las ponderaciones establecidas.

Artículo 11°: En caso que exista un error en el registro en alguna de las calificaciones finalesse podrá, dentro del plazo de dos meses contados desde el inicio del periodo académicoinmediatamente siguiente, solicitar al director de Escuela su revisión y eventual modificación.Este último resolverpa las solicitudes presentadas, considerando la informaciónproporcionada por el respectivo docente.

Este módulo no contempla una prueba opcional, según acuerdo del Consejo de Escuela de lacarrera de Ingeniería Civil en Computación, ratificado por el Consejo de Facultad de laFacultad de Ingeniería.

Todas las unidades de este curso son obligatorias, por lo que el alumno debe demostrar almenos habilitación básica (nota 4.0) en cada unidad, para optar a aprobar el módulo. Esto esindependiente de la nota calculada para el módulo en forma ponderada. En caso de reprobaresta unidad, la nota final del módulo está determinada como el menor valor entre 3.9 y la notadel módulo calculada de acuerdo a las ponderaciones establecidas para las distintasunidades.

Bibliografía

Nombre: Programming Language Pragmatics, Fourth Edition, Tipo de soporte debibliografía: Libro , Tipo de bibliografía: Básica, Autor(es): Michael L. Scott

Nombre: Concepts of Programming Languages, 11 edition, Tipo de soporte de bibliografía:Libro , Tipo de bibliografía: Complementaria, Autor(es): Robert W. Sebesta

Powered by TCPDF (www.tcpdf.org)

5 / 5