Planificación de TecnologÃas de la Programación (2020)
Información básica
Carrera |
IngenierÃa en Informática |
Departamento |
Informática |
Sitio Web |
No especificada |
Plan de Estudios | |
Plan 2006 | |
Carácter | PerÃodo |
Cuatrimestral | 1° Cuatrimestre |
Docente Responsable | |
Pablo Andrés Garello |
Equipo docente
Nombre y Apellido |
Castoldi, Federico |
Dalmolin, Gabriel Sebastian |
Garello, Pablo Andrés |
Rubiolo, Mariano Pablo |
Carga horaria
Carga horaria total | 90 | hs |
TeorÃa | 30 | hs |
Resolución de ejercicios | 60 | hs |
Proyecto y diseño | 0 | hs |
Evaluaciones | 0 | hs |
Formación experimental | 0 | hs |
Resolución de problemas de ingenierÃa | 0 | hs |
Otras actividades | 0 | hs |
Contenidos mÃnimos
Paradigmas de programación: imperativa, funcional, lógica, estructurada, orientada a objetos, dirigida por eventos, visual, orientada a aspectos. Análisis comparativo de los paradigmas. Lenguajes y aplicaciones. Tecnología de la programación para el diseño de formularios basados en disposiciones relativas, flujos, hilos de ejecución, acceso a la red. Interfases para la Programación de Aplicaciones |
Objetivos
OBJETIVOS: Que el alumno conozca los distintos paradigmas de programación. Que entienda la lógica y estructura de los lenguajes correspondientes. Distinga las diferencias y aplicaciones de los distintos paradigmas. Que el alumno conozca y domine aspectos de diseño orientados a objetos utilizando UML y su implementación.Patrones de Diseño. Calidad del Software. Programación Elegante. |
Conocimientos especÃficos previos para cursar la asignatura
Los alumnos deben tener “Ingeniería de Software I” con estado de Aprobada, “Ingeniería de Software II” y “Algoritmos y Estructuras de Datos” con estado de Regular |
MetodologÃa de enseñanza
Desarrollo de las clases Teoría: será desarrollada durante la primera hora de clase de cada día en laboratorio, utilizando proyecciones de diapositivas que estarán a disposición de los alumnos para que puedan tomar apuntes. Práctica: Se desarrollarán en laboratorio. Se diseñarán las soluciones y se implementarán en computadora los programas y proyectos correspondientes a la ejercitación propuesta en las guías de trabajos prácticos. Estarán a cargo de los profesores jefes de trabajos prácticos. Duración: 2 Hs. por clase. Sitio Web: los alumnos dispondrán de un sitio web (http://entornovirtual.unl.edu.ar/course/view.php?id=107) basado en un software para e-learning donde podrán acceder al material de la cátedra, noticias, foros, sitios de interés, material adicional, cartelera de avisos, etc. Desde el sitio podrán comunicarse con los profesores y entre pares. Cada Jefe de Trabajos Prácticos debe habilitar a sus alumnos requiriendo un nombre de usuario, clave y correo electrónico para acceder al sitio. Consultas: Se coordinarán con los alumnos. Los profesores propondrán días y horarios con antelación a las fechas de evaluación. Lista de Correo entre los integrantes de la cátedra: funcionando a modo de foro, se crea una lista en un sitio público con una dirección de e-mail en él.
|
Programa AnalÃtico
Unidad I: Introducción |
Introducción a los Paradigmas de Programación: Definición de Paradigma, Tipos de Paradigmas, Historia y evolución de los lenguajes de programación.  |
Unidad II: Paradigma Orientado a Objetos |
Conceptos. Ley de Demeter. Concepto de "Tell. Don't ask" para el diseño. Problemas de la mal utilización de la orientación a objetos. Utilización de UML para representar modelos de objetos. Patrones de diseño comunmente usados. Calidad del Software |
Unidad III: Paradigma Funcional |
Definición. Características. Lenguajes Funcionales. El Cálculo Lambda. Variables libres y ligadas. Conversión α. Reducción β. Representación en Scheme. Sintaxis. Convención de nombre. Expresiones simples. Variables y expresiones Let. Expresiones Lambda. Definiciones de alto nivel. Expresiones condicionales. Asignaciones. Recursividad. Secuenciamiento. Vectores. Mapeo de procedimientos a listas. Estructuras. Ingreso y salida de datos. |
Unidad IV: Paradigma Lógico |
Conceptos. Campos de aplicación. Formalización de sentencias. Alfabetos. Términos. Fórmulas bien formadas. Fórmulas Lógicas. Semántica: significado de las fórmulas, modelos, consecuencia lógica. Interferencia Lógica. Cláusulas Definidas. Programas. Objetivos. Representación en Prolog: sintaxis (comentarios, variables lógicas, términos, operadores). Unificación. Predicados y objetivos. Backtracking. Predicados predefinidos. Cláusulas. Hechos. Reglas. Listas. Evaluación de expresiones. |
BibliografÃa
BibliografÃa básica |
Matthias Felleisen, Robert Bruce, Findler Matthew, Flatt Shriram Krishnamurthi |
Cronograma de actividades
Unidad I: Introducción | Semana 1 | Tipo: T | Duración: 1 hs |
Docente/s responsable/s: Pablo Andrés Garello | |||
Descripción: Introducción a los paradigmas de programación |
|||
Observaciones: |
Unidad II: Paradigma Secuencial | Semana 1 | Tipo: T | Duración: 1 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: Introducción al paradigma secuencial |
|||
Observaciones: |
Unidad III: Paradigma Estructurado | Semana 1 | Tipo: T | Duración: 1 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: Introducción al paradigma Estructurado |
|||
Observaciones: |
Práctica en laboratorio | Semana 1 | Tipo: EP | Duración: 2 hs |
Docente/s responsable/s: Pablo Andrés Garello | |||
Descripción: Guía de TP 1 y 2 |
|||
Observaciones: |
Práctica en laboratorio | Semana 2 | Tipo: EP | Duración: 2 hs |
Docente/s responsable/s: Pablo Andrés Garello | |||
Descripción: Guía de TP 3 |
|||
Observaciones: |
Unidad V: Paradigma Funcional | Semana 2 | Tipo: T | Duración: 1 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Introducción al paradigma funcional: Características. Lenguajes Funcionales. El Cálculo Lambda. Variables libres y ligadas. Conversión α. Reducción β. Representación en Scheme. Sintaxis. Convención de nombre. Expresiones simples. |
|||
Observaciones: |
Práctica en laboratorio | Semana 2 | Tipo: EP | Duración: 2 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: Guía de TP 4 |
|||
Observaciones: |
Primer pacial - Unidades II, III, IV | Semana 3 | Tipo: EP | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: Parcial Unidades II, III y IV |
|||
Observaciones: |
Unidad V: Paradigma Funcional | Semana 4 | Tipo: TP | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Variables y expresiones Let. Expresiones Lambda. Definiciones de alto nivel. Expresiones condicionales. |
|||
Observaciones: |
Unidad V: Paradigma Funcional | Semana 4 | Tipo: TP | Duración: 6 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Teoría: Definiciones de alto nivel. Expresiones condicionales. Asignaciones. Recursividad. Secuenciamiento. Vectores. Práctica : Guía de TP-6 - PF3
Teoría: Mapeo de procedimientos a listas. Estructuras. Ingreso y salida de datos. Práctica: Guía de TP-7 - PF4 |
|||
Observaciones: Clase Teórico/Práctica |
Clase abierta de consulta | Semana 5 | Tipo: TP | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: clase abierta de consuta teórico práctica |
|||
Observaciones: |
Segundo parcial | Semana 5 | Tipo: EP | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: Parcial paradigma funcional |
|||
Observaciones: |
Unidad VI: Paradigma Lógico | Semana 6 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Teoría: Unidad VI Conceptos básicos del paradigma y Prolog. Programación declarativa. Paradigma lógico. Lógica de primer orden. Campos de aplicación. Programación lógica. Hechos, preguntas y reglas: definición y declaración. Variables lógicas. Variable anónima. Backtraking y unificación. Reglas recursivas. Sintaxis de Prolog. Significado declarativo y procedural del lenguaje. Prácticas sobre el entorno libre SWI-Prolog. Práctica : Guía de TP-8 - PL1 |
|||
Observaciones: |
Unidad VI: Paradigma Lógico | Semana 7 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Teoría: Listas: Definición. Lista vacía. Representación interna en prolog. El functor “.”. Manejo de listas: cabeza y cola. Expresiones aritméticas: definición y operadores. Comparación de términos. Evaluación y comparación de expresiones. Práctica: Continuación TP-9 - PL2
Teoría: Corte: definición, comportamiento. Uso del corte. Problemas potenciales. Práctica: Guía de TP-10 – PL3 |
|||
Observaciones: Clase teórico / práctica |
Unidad VI: Paradigma Lógico | Semana 8 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Teoría: Esquema condicional. Predicados predefinidos. Práctica: Guía de TP-11 - PL4
Teoría: Predicados predefinidos. Práctica: Guía de TP-12 - PL5 |
|||
Observaciones: Clase teórico / práctica |
Unidad VI: Paradigma Lógico | Semana 9 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Teoría: Aplicación del paradigma: Sistemas expertos Práctica:Guía de TP-13- PL6
Clase abierta de Consulta |
|||
Observaciones: Clase teórico práctica |
Tercer parcial | Semana 10 | Tipo: EP | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: Parcial paradigma Lógico |
|||
Observaciones: |
Unidad VII: Paradigma Orientado a Objetos | Semana 10 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Teoría: Unidad VII: Repaso de conceptos fundamentales. Repaso de UML. Ley de Demeter. Problemas de la mal utilización de la Orientación a Objetos. Concepto de “Tell. Don't ask.” para el diseño. Práctica: Guía de TP-14-POO1 |
|||
Observaciones: Clase Teórico / Práctica |
Unidad VII: Paradigma Orientado a Objetos | Semana 11 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Teoría: Reglas del Buen Diseño. Paso a Código de Diagramas UML. Uso de Lenguaje JAVA para la Codificación. Conceptos básicos del Lenguaje. Práctica:
Teoría: Patrones de Diseño de Creación: Abstract Factory, Builder, Factory Method, Prototype, Singleton. Práctica: Guía de TP-15-POO2 |
|||
Observaciones: |
Unidad VII: Paradigma Orientado a Objetos | Semana 12 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Teoría: Patrones de Diseño Estructurales: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy. Práctica:
Teoría: Patrones de Diseño de Comportamiento: Chain of Responsibility, Command, Mediator, Observer, State, Strategy, Template Method. Práctica: Guía de TP-16-POO3 |
|||
Observaciones: |
Unidad VII: Paradigma Orientado a Objetos | Semana 13 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción:
Teoría: Antipatrones de Diseño. |
|||
Observaciones: |
Clase abierta de consulta | Semana 14 | Tipo: EP | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: Clase abierta de consulta |
|||
Observaciones: |
Parcial Orientación a Objetos | Semana 14 | Tipo: EP | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: Cuarto Parcial |
|||
Observaciones: |
Clase abierta de consulta | Semana 15 | Tipo: EP | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: Clase abierta de consulta |
|||
Observaciones: |
Parcial Integrador | Semana 15 | Tipo: EP | Duración: 3 hs |
Docente/s responsable/s: Pablo Andrés Garello, Pablo Andrés Garello, Pablo Andrés Garello | |||
Descripción: Parcial Integrador |
|||
Observaciones: |
Requerimientos para regularizar
Se deberá obtener un mínimo de 40 puntos promediando las notas de los 3 parciales, no haber obtenido ninguna calificación menor a 40 puntos. |
Requerimientos para promover
se deberá obtener un mínimo de 60 puntos por parcial, en promedio 70 puntos. |
Examen final
Alumnos regulares |
El examen estará constituído por preguntas teóricas de cualquier unidad y tres ejercicios de los paradigmas funcional, lógico y objetos. |
Alumnos libres |
El examen estará consituído por preguntas teóricas de cualquier unidad y 5 ejercicios. |
Evaluaciones
Fecha | Tipo | Modalidad | Descripción |
---|---|---|---|
21-04-2020 | Parcial | Escrita | Parcial Orientación a Objetos. Unidad II |
22-05-2020 | Parcial | Escrita | Parcial Paradigma Funcional.
Unidad III |
16-06-2020 | Parcial | Escrita | Parcial Paradigma Lógico. Unidad IV |
26-06-2020 | Recuperatorio | Escrita | Recuperatorio. Recuperatorio de uno de los parciales |