Planificación de Tecnologías de la Programación (2020)

     IMPRIMIR PLANIFICACIÓN

    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
    How to Design Programs
    The MIT Press

    ISBN: 0-262-06218-6
    Formato: html
    Selección de páginas: Capítulos I al V

    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