Download Paradigmas de programación - FRCU

Document related concepts

Common Lisp wikipedia , lookup

Polimorfismo (informática) wikipedia , lookup

Dylan (lenguaje de programación) wikipedia , lookup

Oz (lenguaje de programación) wikipedia , lookup

Scala (lenguaje de programación) wikipedia , lookup

Transcript
Ministerio de Educación
Universidad Tecnológica Nacional
Facultad Regional Concepción del Uruguay
Cátedra: PARADIGMAS DE PROGRAMACIÓN
CÓDIGO: 9529
Carrera: INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Plan: ORD. Nº 1150
Régimen: CUATRIMESTRAL
Año: 2008
Horas semanales: 7
Introducción a los Paradigmas
Lenguajes de programación: Objetivos. Cualidades Deseables. Paradigmas Funcional,
lógico y orientado a objetos: Características principales y evolución. Manejo de la
complejidad: abstracción, descomposición y ocultamiento de datos y operaciones.
Otros Paradigmas: Paralelo y distribuido. Orientados al acceso. Lenguajes de estructura
de datos única. Programación de Flujo de datos. Lenguajes pequeños. Lenguajes de
Bases de Datos. Lenguajes de tiempo real.
Paradigma Orientado a Objetos
Introducción. Objetos. Fundamentos. Principios: Simulación. Responsabilidades.
Conceptos básicos: Encapsulamiento. Objeto. Mensajes y Métodos. Clase. Instancia.
Ejemplar. Composición. Herencia, subclase y superclase. Jerarquía de clases, árbol y
bosque. Costos y beneficios de la herencia. Heurísticas para crear subclases.
Conceptos avanzados: Polimorfismo: paramétrico y sobrecarga. Enlace estático y
dinámico. Herencia múltiple.
Visibilidad y dependencia.
Ventajas y Desventajas de la Orientación a Objetos.
OBJECT PASCAL: Características principales. Construcción de una aplicación.
SMALLTALK/V: Elementos del lenguaje. Sintaxis. Palabras reservadas. El sistema de
clases. Ambiente de trabajo (browsers, inspector, workspaces, debugger). Metaclases.
Métodos y variables de Clase. Construcción de una aplicación. Identidad.
Paradigma Funcional
Introducción. Principios. Conceptos principales: Funciones. Transparencia referencial.
Recursividad. Polimorfismo. Listas. Funciones sobre listas. Funciones de orden superior.
Evaluación tardía. Cálculo Lambda.
LISP: Elementos del lenguaje. Átomos. Listas. Operaciones básicas. Definición de
funciones. Expresiones Aritméticas. Otras funciones.
Aplicaciones
Paradigma Lógico
Página 1 de 5
Ministerio de Educación
Universidad Tecnológica Nacional
Facultad Regional Concepción del Uruguay
Introducción a la Programación Lógica. Principios. Cálculo de enunciados. Cálculo de
Predicados. Relaciones. Cláusulas de Horn. Reglas, hechos y consultas. Deducción.
Variables lógicas. Estados: bound y unbound. Variable anónima. Unificación. Negación y
fracaso.
PROLOG: Elementos del lenguaje. Definición de predicados. Programas y consultas.
Orden de evaluación. Control. Árbol de búsqueda, backtracking y cortes.
Aplicaciones
Página 2 de 5
Ministerio de Educación
Universidad Tecnológica Nacional
Facultad Regional Concepción del Uruguay
Título
Programming
Language Essentials
Características
Henri Bal. Dirk Grune.
Autores
Addison Wesley
Editorial
Descripción Libro sobre las características generales de los lenguajes de
Temas
programación. Contiene los conceptos más importantes de los
distintos paradigmas.
Aspectos de los lenguajes de programación. Lenguajes
imperativos, orientados a objetos, funcionales, lógicos, paralelos
y distribuidos. Otros paradigmas.
Ravi Sethi
Autores
Addison Wesley
Editorial
Descripción Libro sobre las características generales de los lenguajes de
Lenguajes de Programación
Conceptos y constructores Temas
Introducción a la
Programación
Orientada a Objetos
Objetos. Conceptos,
Métodos y Herramientas
Timothy Budd
Autores
Addison Wesley
Editorial
Descripción Libro sobre Orientación a Objetos, con ejemplos en distintos
Temas
lenguajes: Object Pascal, C++, Objetive-C, Smalltalk.
Diseño por responsabilidades. Clases y métodos. Mensajes
ejemplares e iniciación. Herencia. Enlace estático y dinámico.
Herencia múltiple. Polimorfismo. Visibilidad y dependencia.
Mokrane Bouzaghoub. Georges Gardarin. Patrick Valduriez.
Autores
Eyrolles.
Editorial
Descripción Libro sobre Programación, Análisis y Diseño Orientado o
Temas
Descubra SmallTalk
programación. Contiene los distintos paradigmas
Elementos de un lenguaje de programación. Asignación.
Procedimientos. Encapsulamiento. Herencia. Programación
Funcional, Lógica, Concurrente. Descripción de lenguajes.
Objetos. También contiene conceptos sobre Bases de Datos
Orientadas a Objetos.
Conceptos Orientados a Objetos. Lenguajes O.O. Bases de
Datos O.O. y normalización. Análisis y Diseño O.O.
Wilf Lalonde
Autores
Addison-Wesley
Editorial
Descripción Libro básico sobre Orientación a Objetos aplicando Smalltalk/V.
Conveniente para iniciarse en este entorno de programación.
Página 3 de 5
Ministerio de Educación
Universidad Tecnológica Nacional
Facultad Regional Concepción del Uruguay
Smalltalk: mensajes, receptores y selectores. Áreas de trabajo y
transcript. Métodos, clases y depurador. Jerarquía de clases.
Biblioteca de Smalltalk.
Kent Beck
Autores
Prentice Hall
Editorial
Descripción Libro sobre técnicas de programación en Smalltalk para
aprovechar todo su potencial.
Patrones. Métodos y Mensajes. Variables de instancia y
Temas
variables temporales. Colecciones. Clases. Ejemplo de desarrollo
en Smalltalk.
Temas
SmallTalk.
Best practice patterns
Brad Cox. Andrew Novobilski
Autores
Addison Wesley
Editorial
Descripción Este libro presenta los conceptos básicos de la Orientación a
Object Oriented
Programming
LISP
Temas
Ulises Cortés. Carlos Sierra.
Autores
Marcombo
Editorial
Descripción Conceptos de programación funcional aplicando LISP. No hace
Temas
Logic, Programming
And PROLOG
Objetos y compara las ventajas y desventajas de utilizar
lenguajes adaptados a objetos (híbridos) versus lenguajes puros.
Objetivos de la Orientación a Objetos. Objetos, Mensajes y
encapsulamiento. Clases y herencia. Clases básicas.
Colecciones. Interfaces. Desarrollo de ejemplos comparados en
Ada, C++, Objetive-C y Smalltalk-80
énfasis en la programación funcional pura, sino que la mezcla
con instrucciones del paradigma imperativo.
Expresiones simbólicas, átomos y listas. Predicados.
Entrada/salida. Recursividad e iteración. Estructuras.
Aplicaciones.
Ulf Nilsson. Jan Matuszynski.
Autores
Wiley
Editorial
Descripción Contiene conceptos básicos sobre Lógica matemática;
Temas
Autores
Editorial
posteriormente explica como transformar las expresiones lógicas
en programación, y por último analiza el caso particular del
lenguaje Prolog. Incluye también programación lógica con
concurrencia y bases de datos deductivas.
Lógica e inferencia. Cláusulas. Unificación. Negación. Lógica y
Bases de Datos. Lógica y Sistemas Expertos. Gramáticas.
Esquemas alternativos de lógica.
Iván Bratko
Addison Wesley
Página 4 de 5
Ministerio de Educación
Universidad Tecnológica Nacional
Facultad Regional Concepción del Uruguay
Descripción Contiene conceptos básicos y avanzados sobre Prolog, y su
PROLOG, programming
For Artificial Intelligence
The essence of Logic
Temas
aplicación a sistemas basados en el conocimiento, en especial
Sistemas Expertos.
PROLOG: reglas, sintáxis, listas, operadores. Estructuras de
datos. Backtracking. Entrada/Salida. Representación de árboles.
Inteligencia Artificial: problema y estrategias de solución.
Búsquedas y heurística. Sistemas Expertos y represtanción del
conocimiento. Sistemas de aprendizaje.
John Kelly
Autores
Prentice Hall
Editorial
Descripción Contiene las bases matemáticas formales de la lógica,
Temas
incluyendo el cálculo proposicional (de enunciados) y el cálculo
de predicados.
Tablas de verdad. Semántica. Deducción. Lógica proposicional
axiomática. Lógica de predicados.
Pedro Cuenca Giménez
Autores
Anaya multimedia
Editorial
Descripción Libro de programación en JAVA. Para investigar las
JAVA
Temas
BIBLIOGRAFÍA
COMPLEMENTARIA
Software
Utilizado
características, ventajas y desventajas del uso de la
Programación Orientada a Objetos en lenguajes orientados a
Internet-Intranet
Orígen de JAVA y características. Applets. Seguridad. Animación
y multithreading. Conceptos de Orientación a Objetos.
Manual de referencia de Turbo Pascal 7.0
Tutorial de Smalltalk/V (incluido en el software)
Apéndice de Clases de Smalltalk
Manual de Referencia de Common LISP
Tutorial de Common LISP (incluido en el software)
Documentación en línea del software utilizado (ayudas)
Turbo Pascal 7.0 (DOS)
Smalltalk/V (Windows)
Common LISP (DOS)
LispWorks 4.1, de Harlequin (Windows)
Scheme, del MIT (Windows)
Turbo Prolog (DOS)
Swi Prolog (Windows)
Página 5 de 5