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

 IMPRIMIR PLANIFICACIÓN

Información básica

Carrera
Analista en Informática
Departamento
Informática
Sitio Web
No especificada
Plan de Estudios
Plan 2006
Carácter Período
Cuatrimestral 1° Cuatrimestre
Docente Responsable
Marcelo Domingo Re

Equipo docente

Nombre y Apellido
Garello, Pablo Andrés
Mangioni, Luis Omar
Re, Marcelo Domingo

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 en un lenguaje orientado a objetos. Que domine conceptos de multiprocesamiento.

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 Secuencial

Definición. Ejemplos de lenguajes. Representación en Basic: Estructuras básicas de control: secuencial, selectiva, repetitivas y salto incondicional. Ejemplos.

Unidad III: Paradigma Estructurado

Definición, Ejemplos de lenguajes. Representación en Pascal. Estructuras de control. Procedimientos y Funciones: usos y diferencias. Ejemplos.

Unidad IV: Gramáticas Libres de Contexto

Definición formal. Convención Notacional. Derivaciones. Árbol de Parseo y Derivación. Ambigüedades.

Unidad V: 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 VI: 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.

Unidad VII: 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.

Unidad VIII: Layouts

Diseño de formularios basados en Layouts. Fundamentos. Ejemplos (Qt, wxPython, Java). Aplicaciones.

Unidad IX: Multiprocesamiento

Creación de hilos de ejecución. El planificador. Sincronización. .

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: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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, Luis Omar Mangioni, Marcelo Domingo Re
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, Luis Omar Mangioni, Marcelo Domingo Re
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, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Guía de TP 1 y 2

Observaciones:
Unidad IV: Gramáticas Libres de Contexto Semana 2 Tipo: T Duración: 2 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Introducción a las gramáticas libres de contexto

Observaciones:
Práctica en laboratorio Semana 2 Tipo: EP Duración: 1 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Guía de TP 3

Observaciones:
Unidad V: Paradigma Funcional Semana 3 Tipo: T Duración: 1 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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 3 Tipo: EP Duración: 2 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Guía de TP 4

Observaciones:
Primer pacial - Unidades II, III, IV Semana 3 Tipo: EP Duración: 1 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Parcial Unidades II, III y IV

Observaciones:
Unidad V: Paradigma Funcional Semana 3 Tipo: T Duración: 1 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Variables y expresiones Let. Expresiones Lambda. Definiciones de alto nivel. Expresiones condicionales.

Observaciones:
Unidad V: Paradigma Funcional Semana 4 Tipo: O Duración: 6 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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: C Duración: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Parcial paradigma funcional

Observaciones:
Unidad VI: Paradigma Lógico Semana 6 Tipo: O Duración: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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: O Duración: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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: O Duración: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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, Luis Omar Mangioni, Marcelo Domingo Re
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, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Parcial paradigma Lógico

Observaciones:
Unidad VII: Paradigma Orientado a Objetos Semana 10 Tipo: O Duración: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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: O Duración: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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: O Duración: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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: O Duración: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Teoría: Antipatrones de Diseño.

Observaciones:
Unidad VIII: Layouts - Unidad IX: Conceptos de Mutiprocesamiento Semana 13 Tipo: T Duración: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Teoría: Unidad VII Diseño de formularios con disposiciones relativas. Unidad VIII: Conceptos de Multiprocesamiento.

Práctica: Guía de TP 17

Observaciones:
Clase abierta de consulta Semana 14 Tipo: EP Duración: 3 hs
Docente/s responsable/s: Pablo Andrés Garello, Luis Omar Mangioni, Marcelo Domingo Re
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, Luis Omar Mangioni, Marcelo Domingo Re
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, Luis Omar Mangioni, Marcelo Domingo Re
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, Luis Omar Mangioni, Marcelo Domingo Re
Descripción:

Parcial Integrador

Observaciones:

Requerimientos para regularizar

se deberá obtener un mínimo de 50 puntos promediando las notas de los cuatro parciales, no haber obtenido ninguna calificación menor a 30 puntos y tener el 70% de las guías aceptadas.

Requerimientos para promover

se deberá obtener un mínimo de 70 puntos por parcial y tener el 85% de las guías aceptadas.

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
01-04-2011 Parcial Escrita Primer pacial - Unidades II, III, IV.

Unidades II-III-IV

15-04-2011 Parcial Escrita Segundo parcial.

Unidad V

17-05-2011 Parcial Escrita Tercer parcial.

Unidad VI

17-06-2011 Parcial Escrita Parcial Orientación a Objetos.

Unidad VII

24-06-2011 Recuperatorio Escrita Parcial Integrador.

Recuperatorio