Universidad Tecnológica Nacional Facultad Regional San ... filePlan: 2008 ... destrezas que...
Transcript of Universidad Tecnológica Nacional Facultad Regional San ... filePlan: 2008 ... destrezas que...
Universidad Tecnológica Nacional Facultad Regional
San Francisco
Ingeniería en Sistemas de Información
Paradigmas de programación
PLANIFICACIÓN CICLO LECTIVO 2010
ÍNDICE
ÍNDICE ......................................................................................................................................... 2
PROFESIONAL DOCENTE A CARGO ................................................................................... 3
UBICACIÓN ................................................................................................................................. 4
OBJETIVOS ................................................................................................................................. 5
ORGANIZACIÓN DE CONTENIDOS ..................................................................................... 7
PROGRAMA ANALÍTICO ...................................................................................................... 10
CRITERIOS DE EVALUACIÓN ............................................................................................. 12 EVALUACIÓN : ........................................................................................................................... 12 AUTOEVALUACIÓN: .................................................................................................................. 12
PLAN DE TRABAJO ................................................................................................................ 13
METODOLOGÍA ...................................................................................................................... 17
BIBLIOGRAFÍA ........................................................................................................................ 20
ARTICULACIÓN ...................................................................................................................... 22 ARTICULACIÓN CON EL ÁREA: ................................................................................................. 22 TEMAS RELACIONADOS CON MATERIAS DEL ÁREA: .................................................................. 23 ARTICULACIÓN CON EL NIVEL: ................................................................................................ 24 TEMAS RELACIONADOS CON MATERIAS DEL NIVEL: ................................................................. 24 ARTICULACIÓN CON LAS CORRELATIVAS: ................................................................................ 25 TEMAS RELACIONADOS CON LAS CORRELATIVAS: .................................................................... 25
ORIENTACIÓN ......................................................................................................................... 26 DEL ÁREA: ............................................................................................................................... 26 DE LA ASIGNATURA: ................................................................................................................ 26
ESTRUCTURACIÓN DE TIEMPOS ...................................................................................... 27
PROFESIONAL DOCENTE A CARGO
Docente Categoría Título Profesional
José Oscar Mugetti Mare Profesor Adjunto Ordinario
Esp. En Docencia Universitaria Ingeniero en Sistemas de Información
UBICACIÓN
Dentro del contexto curricular prescripto se ubica en:
Carrera: Ingeniería en Sistemas de Información Plan: 2008
Orientación: Ingeniería de Software Área: Programación Nivel: Segundo
Carga Horaria Semanal: 8 horas Régimen: cuatrimestral
Distribución horaria Formación
Total de
horas
Teórica – 108 hs Práctica – 20 hs
Teoría Práctica Laboratorio Formación experimental
Resolución de
problemas de
Ingeniería
Proyecto y
diseño
Práctica profesional supervisada
20 108 20 128
OBJETIVOS
Llamamos competencia a conjuntos complejos de habilidades y destrezas que posibiliten la acción de un amplio espectro de situaciones, como puede apreciarse la noción de competencia no implica solo la posesión de un conocimiento
¿Cómo se adquieren las competencias? Actuando, usando herramientas de los diferentes paradigmas,
mejorando procedimientos, probando soluciones alternativas, etc.. Las competencias son capacidades agregadas y complejas que
permiten el desempeño en diferentes ámbitos y que funciona como un dispositivo en permanente revisión crítica y recreación.
Una persona competente, al nivel de formación básica en paradigmas de programación, debería poseer algunas de las capacidades, habilidades y actitudes propias de un profesional seriamente formado.
Los objetivos que se pretenden alcanzar con el desarrollo del programa en Paradigmas de Programación son fundamentalmente:
- Comprender los fundamentos de los paradigmas de programación básicos que son utilizados por los lenguajes de programación actuales.
- Conocer el modelo formal o semiformal subyacente de cada paradigma y la forma en que el mismo es incorporado en un lenguaje de programación concreto.
- Aplicar los diferentes paradigmas en la resolución de problemas.
En lo referente al paradigma funcional , el alumno deberá: a) Manejar los principios básicos del cálculo lambda b) Comprender el diseño funcional de programas y que el problema a
tratar es caracterizarlo como una función entre conjuntos a ser definida. Para el logro de tales conceptos se eligió el lenguaje SCHEME (dialecto de LISP) que soporta el paradigma.
c) Capacidad para utilizar los conceptos para el diseño de programas sencillos.
El paradigma lógico , el alumno deberá: a) Conocer la fundamentación teórica en que se basa el mismo, y
cuales son sus aspectos formales y esencialmente el mecanismo de inferencia y los conceptos de lógica matemática utilizados (axiomas, derivación sintáctica, cláusulas de Horn, programas lógicos, etc.).
b) Capacidad para diseñar programas en TURBO PROLOG de poca complejidad, pero la suficiente como las lograr internalizar el concepto del paradigma.
En cuanto al paradigma basado en orientación a objetos :
a) Conocer los conceptos que le dieron origen y que no se encuentran en otros paradigmas.
b) Modelar el problema utilizando los conceptos de herencia, polimorfismo, clase, instancia, objetos compuestos, mensaje, etc. Es necesario que el alumno implemente y utilice estos conceptos en un lenguaje que utilice el paradigma, para ello se introduce el uso de un lenguaje de uso masivo como JAVA
Teniendo en cuenta lo particular de cada paradigma se tendrán como
expectativas de logros : a) Reflexionar, recrear y aprender. b) Construir y reconstruir esquemas y procesos. c) Utilizar diferentes instrumentos y medios para la concreción de las
necesidades planteadas, a partir de los paradigmas propuestos. d) Asimilar las convenciones y principios que rigen cada uno de los
paradigmas. e) Decidir teniendo en cuenta las posibilidades y limitaciones de las situaciones
particulares. f) Inserción en la vida profesional. g) Flexibilidad y predisposición para planificar el desarrollo del trabajo. h) Persistencia ante las dificultades. i) Disposición favorable al trabajo en equipo y particularmente al trabajo
interdisciplinario. j) Actitud crítica ante diferentes tipos de soluciones. k) Autonomía para resolver situaciones complejas, de manera ordenada y
metódica. l) Expresar y comunicar sus ideas, utilizando la terminología adecuada. m) Reflexionar sobre lo resuelto. n) Fundamentar criterios personales. o) Asumir positivamente logros y fracasos.
ORGANIZACIÓN DE CONTENIDOS
Unidad Temática nº 1: Introducción
Contenidos conceptuales - Introducción a los paradigmas de programación. - Ventajas, deficiencias, y comparación entre los diferentes paradigmas.
Contenidos procedimentales - Identificación de problemas en los diferentes paradigmas
Contenidos actitudinales - Despertar la inquietud de que existen diferentes aspectos conceptuales,
vinculados a la resolución de problemas con programas de computación.
Unidad Temática nº 2: Paradigma funcional Contenidos conceptuales
- Lenguajes Funcionales. - Especificación de algoritmos funcionales. - Funciones, problemas y diseño modular.
Contenidos procedimentales - Análisis de un caso de estudio.
- Análisis dimensional de fórmulas. - Desarrollo del diseño. - Programación en Scheme. Contenidos actitudinales - Introducir algunas características de la programación funcional y a las
técnicas de diseño modular. - Caracterizar el problema como una función entre conjuntos a ser
definida. - Entender el concepto de "orden superior", que autoriza a realizar
abstracciones sobre funciones, es decir a que éstas sean representadas por variables que son argumentos de otras funciones.
Unidad Temática nº 3: El cálculo lambda
Contenidos conceptuales - Introducción. - Reglas del cálculo lambda. - Reducciones (redex)
Contenidos procedimentales - Ejercitación identificando los términos que están bien formados con el
cálculo lambda. - Identificación de las variables libres. - Reducciones. - Aplicación del cálculo lambda en las relaciones entre los números
naturales. - Aplicación y transferencia del cálculo lambda a la programación en
Scheme.
Contenidos actitudinales - Predisponer un interés de establecer una teoría general de las
funciones y entenderla de modo de proveer fundamentos para la lógica y la matemática.
- Usarlo como fundamento conceptual de los lenguajes de programación, y en especial al paradigma funcional, al cual aporta: - Una sintaxis de base. - Una semántica para el concepto de función como procesos de
transformación de argumentos en resultados. - Los medios para definir primitivas de programación.
Unidad Temática nº 4: Paradigma lógico
Contenidos conceptuales - Introducción a la programación en lógica. - Sintaxis y semántica de la programación lógica.
Contenidos procedimentales - Programas lógicos, ejercitación. - Utilización del programa Turbo Prolog para la resolución de
situaciones reales en práctica de laboratorio. Contenidos actitudinales - Interpretar los conceptos del paradigma, la cual permite definir el
problema estableciendo relaciones sobre ciertos dominios dados. - Sustentar la idea de que un programa puede ser descripto definiendo
ciertas relaciones entre conjuntos de objetos, a partir de las cuales otras pueden ser calculadas empleando deducción.
- Internalizar el concepto de que la programación consiste en describir el problema en sí mismo, ocupándose de qué y no del como.
Unidad Temática nº 5: Paradigma orientado a objetos
Contenidos conceptuales - Introducción, evolución y reseña histórica, conceptos básicos. - Objetos - Concepto de objeto compuesto, relaciones entre objetos, ensamble.
Contenidos procedimentales - Programación orientada a objetos, ejercitación en laboratorio con Java - Análisis de casos y su resolución en laboratorio, utilizando lenguajes con
programación orientada a objetos en lenguaje JAVA Contenidos actitudinales
- Comprender que los nuevos paradigmas, como TOO vienen a cubrir un espacio que se fue generando a medida que creció la complejidad de los sistemas y su necesidad de adaptarse rápidamente a los cambios.
- Hacer que el alumno entienda que en vez de pensar en los procesos y su descomposición, se piense en los objetos y su comportamiento.
- Que los eventos que ocurren en un sistema son cambios de estados de los objetos
- Las técnicas de OO se pueden utilizar como medio para el diseño sencillo de sistemas complejos.
Unidad Temática nº 6: Ciclo de desarrollo TOO
Contenidos conceptuales - Ciclo de desarrollo antecedentes y comparaciones. - Impacto de la TOO.
Contenidos procedimentales - Análisis de casos y su resolución utilizando distintas metodología y su
diferencia con la TOO. Contenidos actitudinales - Lograr que el alumno adopte una actitud crítica ante diferentes tipos
de soluciones. - Comprenda que la TOO le provee una adaptabilidad y mantenibilidad
difícil de lograr con otras metodologías.
PROGRAMA ANALÍTICO
Contenidos:
UNIDAD 1:
- Introducción a los paradigmas de programación. - Ventajas, deficiencias, y comparación entre los diferentes paradigmas. - Análisis de soluciones entre los diferentes paradigmas
UNIDAD 2:
- Lenguajes Funcionales. - Estructura de los lenguajes funcionales y su importancia.
- Especificación de algoritmos funcionales. - Identificadores - Especificación con condiciones - Especificación funcional operacional. - Sub expresiones, condicional, recursividad, clases de recursividad,
notación. - Funciones, problemas y diseño modular.
UNIDAD 3:
- Introducción. - Reglas del cálculo lambda.
- Igualdad en cálculos lambda puros. - Variables libres y acotadas. - Sustitución. - Axiomas y reglas de igualdad beta.
- Reducciones (redex) - Introducción. - Reglas de cálculo. - Forma normal.
UNIDAD 4:
- Introducción a la programación en lógica. - Interpretación lógica.
- Sintaxis y semántica de la programación lógica. - Lógica de predicados de primer orden y formas restringidas. - Lenguaje de programación lógica. - Extensiones al modelo básico de objeto en un lenguaje particular. - Términos, Predicados, Fórmula, Regla o sentencia. - Conectivos y Cuantificadores. - Interpretación, satisfacción lógica, consecuencia lógica o deducción. - Inferencia lógica, regla básica de inferencia, consistencia y completitud. - Cláusulas de Horn.
UNIDAD 5:
- Introducción, evolución y reseña histórica, conceptos básicos. - Objetos
- abstracción de datos, ocultamiento de la información. - Estado, comportamiento, identidad. - Clases, métodos, mensajes, herencia y polimorfismo.
- Concepto de objeto compuesto, relaciones entre objetos, ensamble. - Introducción a la teoría de Objetos - Fundamentos de Java - Clases y POO - Clases y Objetos, creación e intanciación - Abstracción y Encapsulamientos de datos - Herencia y Extensión de clases - AWT - Introducción a JSP
UNIDAD 6:
- Ciclo de desarrollo antecedente y comparaciones. - Enfoque tradicional y modelo de cascada. - Modelo iterativo. - Modelo oportunístico. - Modelo incremental.
- Impacto de la TOO. - Objetivos, ventajas, problemas, características y herramientas. - Comprenda que la TOO le provee una adaptabilidad y mantenibilidad
difícil de lograr con otras metodologías.
CRITERIOS DE EVALUACIÓN
Evaluación:
SeguSeguSeguSeguimientoimientoimientoimiento----EvaluaciónEvaluaciónEvaluaciónEvaluación----Promoción Promoción Promoción Promoción ---- Regularidad: Regularidad: Regularidad: Regularidad: Se realizará al alumno un seguimiento personalizado que permitirá la
evaluación continua del mismo, en cuanto a: a) Interés por la materia. b) Integración con grupos de trabajo. c) Responsabilidad y compromiso de trabajo. d) Participación activa en las clases, tanto teórica como práctica. e) Logros de todos y cada unos de los contenidos que hacen a las competencias
que se persigue con el dictado de la materia.
Esta evaluación continua será realizada siguiendo el siguiente criterio: a) Seguimiento b) Comprensión
♦ Comprensión de procesos. ♦ Comprensión de conocimientos.
c) Mejora ♦ Evaluar la evaluación. ♦ Mejorar los métodos. ♦ Mejorar el aprendizaje.
En lo referente a evaluación final, se propone la realización tres (3)
evaluaciones parciales, (una por cada uno de los paradigmas) de carácter teórico práctico y serán realizadas al finalizar el estudio de cada uno de los paradigmas, incluyendo la última evaluación de integración.
La aprobación del mismo requerirá que los alumnos respondan correctamente por lo menos el 40% de la evaluación.
La condición de alumno regular será alcanzada con la aprobación de los tres parciales, alcanzar la asistencia mínima exigida y realizada los trabajos prácticos encomendados.
• Rendir un examen final en las fechas correspondientes a los llamados a exámenes finales, que abarcará la totalidad de los temas de la asignatura y se tendrá en cuenta su condición de regular.
Autoevaluación: Será realizada utilizando el instrumento elaborado desde Secretaría
Académica y aprobado por Consejo Académico.
Ingeniería en Sistemas de Información Paradigmas de programación
Página 13 de 27
PLAN DE TRABAJO
Eje temático Nº 1: : Introducción
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
1
• Introducción a los paradigmas de programación.
• Ventajas, deficiencias, y comparación entre los diferentes paradigmas.
.
metodología. Lección magistral; .Interrogación; Aula taller: Análisis de casos Técnica de resolución de problemas Técnicas de grupo
A) Seguimiento B) Comprensión
de procesos C) Comprensión
de conocimientos
D) Mejorar la evaluación
E) Mejorar los métodos
F) Mejorar el aprendizaje
a)Apendizaje significativo de contenidos a) Interrelación e
interactividad. b) Proceso de
pensamiento c) Ejercitación
1 a 14 y 25 a 27
Eje temático Nº 2: Paradigma funcional
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
2, 3,4, 5
- Lenguajes Funcionales. - Estructura de los
lenguajes funcionales y su importancia.
- Especificación de algoritmos funcionales. - Identificadores - Especificación
con condiciones - Especificación
funcional operacional.
- Sub expresiones, condicional, recursividad, clases de recursividad, notación.
- Funciones, problemas y diseño modular.
metodología. Lección magistral; .Interrogación; Aula taller: Análisis de casos Técnica de resolución de problemas Técnicas de grupo
A) Seguimiento B) Comprensión
de procesos C) Comprensión
de conocimientos
D) Mejorar la evaluación
E) Mejorar los métodos
F) Mejorar el aprendizaje
a)Apendizaje significativo de contenidos d) Interrelación e
interactividad. e) Proceso de
pensamiento Ejercitación
1 a 6, 8 y 14
Eje temático Nº 3: El cálculo lambda
Ingeniería en Sistemas de Información Paradigmas de programación
Página 14 de 27
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
6, 7
- Introducción. - Reglas del cálculo
lambda. - Igualdad en
cálculos lambda puros.
- Variables libres y acotadas.
- Sustitución. - Axiomas y reglas
de igualdad beta.
- Reducciones (redex) - Introducción. - Reglas de
cálculo. - Forma normal.
metodología. Lección magistral; .Interrogación; Aula taller: Análisis de casos Técnica de resolución de problemas Técnicas de grupo
A) Seguimiento B) Comprensión
de procesos C) Comprensión
de conocimientos
D) Mejorar la evaluación
E) Mejorar los métodos
F) Mejorar el aprendizaje
a)Apendizaje significativo de contenidos f) Interrelación e
interactividad. g) Proceso de
pensamiento Ejercitación
1 a 6, 8 y 14
Eje temático Nº 4: Paradigma lógico
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
8 y 9
- Introducción a la programación en lógica. - Interpretación
lógica. - Sintaxis y semántica
de la programación lógica.
- Lógica de predicados de primer orden y formas restringidas.
- Lenguaje de programación lógica.
- Extensiones al modelo básico de objeto en un lenguaje particular. - Términos,
Predicados, Fórmula, Regla o sentencia.
- Conectivos y Cuantificadores.
metodología. Lección magistral; .Interrogación; Aula taller: Análisis de casos Técnica de resolución de problemas Técnicas de grupo
A) Seguimiento B) Comprensión
de procesos C) Comprensión
de conocimientos
D) Mejorar la evaluación
E) Mejorar los métodos
F) Mejorar el aprendizaje
a)Apendizaje significativo de contenidos h) Interrelación e
interactividad. i) Proceso de
pensamiento Ejercitación
1 a 6 y 15
Ingeniería en Sistemas de Información Paradigmas de programación
Página 15 de 27
Eje temático Nº 4: Paradigma lógico
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
- Interpretación, satisfacción lógica, consecuencia lógica o deducción.
- Inferencia lógica, regla básica de inferencia, consistencia y completitud.
- Cláusulas de Horn.
Eje temático Nº 5: Paradigma orientado a objetos
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
10, 11, 12, 13 y 14
- Introducción, evolución y reseña histórica, conceptos básicos.
- Objetos - abstracción de
datos, ocultamiento de la información.
- Estado, comportamiento, identidad.
- Clases, métodos, mensajes, herencia y polimorfismo.
- Concepto de objeto compuesto, relaciones entre objetos, ensamble.
metodología. Lección magistral; .Interrogación; Aula taller: Análisis de casos Técnica de resolución de problemas Técnicas de grupo
A) Seguimiento B) Comprensión
de procesos C) Comprensión
de conocimientos
D) Mejorar la evaluación
E) Mejorar los métodos
F) Mejorar el aprendizaje
a)Apendizaje significativo de contenidos j) Interrelación e
interactividad. k) Proceso de
pensamiento Ejercitación
7, 9, 10, 11, 12, 13, 24, 25, 26, y 27
Eje temático Nº 6: Ciclo de desarrollo TOO
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
15 y 16
- Ciclo de desarrollo antecedentes y comparaciones.
metodología. Lección magistral; .Interrogación;
A) Seguimiento B) Comprensión
de procesos C) Comprensión
a)Apendizaje significativo de contenidos l) Interrelación e
7, 9, 10, 11, 12, 13, 24, 25, 26, y 27
Ingeniería en Sistemas de Información Paradigmas de programación
Página 16 de 27
Eje temático Nº 6: Ciclo de desarrollo TOO
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
- Enfoque tradicional y modelo de cascada.
- Modelo iterativo. - Modelo
oportunístico. - Modelo
incremental. - Impacto de la TOO.
- Objetivos, ventajas, problemas, características y herramientas.
diferentes formas
Aula taller: Análisis de casos Técnica de resolución de problemas Técnicas de grupo
de conocimientos
D) Mejorar la evaluación
E) Mejorar los métodos
F) Mejorar el aprendizaje
interactividad. m) Proceso de
pensamiento Ejercitación
Ingeniería en Sistemas de Información Paradigmas de programación
Página 17 de 27
METODOLOGÍA
Metodología de Desarrollo:
a) clases en el aula y en el laboratorio:
• teoría
Duración: 3 horas semanales a cargo del profesor.
Tendrán el carácter de Teórica- Prácticas.
En las mismas se impartirán los conocimientos claves del contenido de la materia, presentando y evaluando conceptos y terminología de los distintos paradigmas través de un enfoque comparativo.
Se ejemplificarán los conceptos en los diferentes paradigmas utilizando lenguajes que soporten los distintos paradigmas por ejemplo Scheme para funcional, Turbo Prolog para el lógico y Java en el Orientado a Objetos.
• prácticaprácticaprácticapráctica
Duración: 5 horas semanales a cargo del profesor y auxiliar asignados al curso.
En las mismas se impartirán guías de ejercicios. Se analizarán y discutirán las soluciones de los principales ejercicios y problemas.
- Resolución de problemas de ingeniería Ambito de realización: En el Laboratorio de Informática Actividades a desarrollar: Resolución de casos de estudio en los diferentes paradigmas de programación estudiados. Implementación de programas en Smalltalk, Prolog y Scheme Tiempo (carga horaria, período que abarca): 18 horas, durante todo el cursado
• en laboratorioen laboratorioen laboratorioen laboratorio
Las horas de clases guiadas en el laboratorio, se incluyen dentro de las horas correspondientes a las clases prácticas y estarán a cargo del profesor y auxiliar asignados al curso. Codificarán programas elementales en diferentes paradigmas, teniendo en cuenta la disponibilidad de compiladores en el Laboratorio.
Trabajos Prácticos:Trabajos Prácticos:Trabajos Prácticos:Trabajos Prácticos:
Realizar, y entregar los trabajos prácticos asignados.
Ingeniería en Sistemas de Información Paradigmas de programación
Página 18 de 27
PRINCIPIOS METODOLÓGICOS:
a) Conocimientos previos: se evaluará por medios de cuestionarios los conceptos previos que el alumno trae desde el cursado de materias anteriores para establecer un parámetro de iniciación que permita que el alumno pueda asociar los nuevos conceptos e incorporarlos a su estructura cognitiva.
b) Aprendizaje significativo de contenidos: ♦ lección magistral para introducir abundante información en poco tiempo ♦ Se introducirá la investigación de los nuevos paradigmas ♦ La resolución de problemas concretos en prácticas de laboratorio.
c) Interrelación e interactividad: ♦ Alumno - alumno = interrelación. ♦ Alumno - máquina = interactividad Así la interactividad permitirá la mejor interrelación humana y los conceptos vertidos de la manera anterior serán profundizados por los alumnos en técnicas grupales de actividades en trabajos prácticos, que serán intensivos y de diferentes naturaleza, que permitan agudizar el ingenio y desarrollar las competencias anteriormente descriptas. Estas técnicas serán realizadas en el aula y en el laboratorio. El aula taller y el seminario serán también ampliamente utilizados a los efectos de que los participantes asuman la responsabilidad de trabajo conjunto, ya sea para su propio aprendizaje o a la resolución de problemas planteados.
d) Proceso de pensamiento: Tanto las clase teóricas, como la investigación y el trabajo práctico en laboratorio serán orientados a que el alumno construya un proceso de pensamiento para que luego internalice los conceptos llegando a ser así un aprendizaje significativo.
HERRAMIENTAS:
a) Lección magistral: para introducir información sobre todo conceptuales y
proporcionar las claves de interpretación de los diferentes paradigmas. b) Interrogación: Se utilizarán técnicas de interrogación y pruebas objetivas,
sobre todo para establecer los conocimientos previos. c) El aula taller y el seminario serán ampliamente utilizados a los efectos de
que los participantes asuman la responsabilidad de trabajo conjunto, ya sea para su propio aprendizaje o para la resolución de problemas planteados.
Dentro del aula taller podrán ser utilizadas las siguientes técnicas entre otras: ♦ Análisis de casos: Consiste en presentar la descripción de una
determinada situación real o ficticia para que intenten arribar a una solución ya sea individual o grupalmente.
♦ Técnicas de resolución de problemas: Planteado el problema, deberán elaborar las hipótesis de soluciones y extraer las conclusiones pertinentes.
Ingeniería en Sistemas de Información Paradigmas de programación
Página 19 de 27
♦ Método realidad teoría-práctica: Se observan problemáticas de la realidad que se relacionan con los temas a desarrollar. Se propone el estudios de los temas y se asignan tareas a los grupos según intereses comunes, y luego se proponen las conclusiones de la totalidad de los grupos.
♦ Técnicas de grupo: • Taller: Aprender haciendo. • Interrelación con grupo Objeto: Utilización del grupo de
investigación de Objetos para colaboración en talleres a efectos de ampliar el tiempo de uso de la tecnología de objetos.
Formación práctica: Consignar la carga horaria total dedicada a la formación práctica vinculada a los cuatro grupos que se indican a continuación: a) Formación experimental: no se consigna Ámbito de realización: Disponibilidad de infraestructura y equipamiento: Actividades a desarrollar: Tiempo (carga horaria, período que abarca): Evaluación (de seguimiento y final): b) Resolución de problemas de ingeniería: Ámbito de realización: En el Laboratorio de Informática Actividades a desarrollar: Resolución de casos de estudio en los diferentes paradigmas de programación estudiados. Implementación de programas en Smalltalk, Prolog y Scheme Tiempo (carga horaria, período que abarca): 18 horas, durante todo el cursado Evaluación (de seguimiento y final): de seguimiento, mediante entregas parciales y coloquio final c) Actividades de proyecto y diseño: no se consigna Ámbito de realización: Actividades a desarrollar: Tiempo (carga horaria, período que abarca): Evaluación (de seguimiento y final): d) Práctica Supervisada: no se consigna Ámbito de realización: Actividades a desarrollar: Tiempo (carga horaria, período que abarca): Evaluación (de seguimiento y final):
Ingeniería en Sistemas de Información Paradigmas de programación
Página 20 de 27
BIBLIOGRAFÍA
Necesaria 1. Tasistro A., J. Vidart ”Programación Lógica y funcional”. EBAI (1988).
2. Carnota Raúl Jorge, Teszkiewicz Alberto Daniel “Sistemas expertos y
representación del conocimiento” EBAI 1989.
3. Sethi Ravi “Lenguajes de programación - Conceptos y constructores”
Addison-Wesley Iberoamericana (1992).
4. Kenneth C. Louden “ Lenguajes de programación - Principios y práctica”
Thomson 2004.
5. Budd Timothy “Introducción a la Programación Orientada a Objetos” .
Addison-Wesley Iberoamericana (1994).
6. Alfonseca Manuel, Alcalá Alfonso “Programación Orientada a Objetos , Teoría y Técnicas OOP para desarrollo de software” Anaya Multimedia (1992).
7. Tutorial de Java en español 8. Sitio Web del grupo Objeto, Facultad Regional San Francisco de la Universidad
Tecnológica Nacional y sus enlaces a sitios de interés:
� http://java.sun.com/docs/books/tutorial/ � http://javaboutique.internet.com/ � http://java.sun.com/java.sun.com/doc/ � http://www.cica.es/formacion/JavaTut/ � http://www.dcc.uchile.cl/~lmateu/Java/Apuntes/index.htm � http://mec21.etsii.upm.es/ayudainf/aprendainf/Java/Java2.pdf 9. Teoría de Java con ejemplos, Manual en realización del grupo Objetos, de la
Facultad Regional San Francisco de la Universidad Tecnológica Nacional. 2002
Opcionales
10. Kowalski R. A. .”Logic for Problem Solving”. North Holland, Amsterdam,
(1979).
11. Puyau H., J. Roetti. “Elementos de Lógica Matemática”. EUDEBA, (1976).
12. Sterling L. , E. Shapiro. “The art of Prolog: Advanced Programming
Techniques”. The MIT Press (1986).
13. James Martín - James J. Odello “Análisis y Diseño Orientado a Objetos”.
Prentice Hall Hispanoamericana (1994).
14. Lalonde y J. Pugh.“Inside Smalltalk. Vol. I y II”. Prentice Hall International
(1991).
Ingeniería en Sistemas de Información Paradigmas de programación
Página 21 de 27
15. Lozano y F. Segovia Perez. “Programación Orientada a Objetos.
Aplicaciones con Smalltalk”. Paraninfo (1993).
16. Meyer. “Object-Oriented Software Construction”. Prentice Hall International
(1988).
17. Strostrup. “What is Object-Oriented Programming?”. IEEE Software, 10-19
(1988).
18. PC Scheme a simple, modern LISP, User's Guide.
19. Gregorio Klimovsky “ Las desventuras del conocimiento” AZ Editora (1994).
20. Thomas S. Kuhn “La estructura de las revoluciones científicas” México, Fondo
de Cultura Económica (1971).
21. Ludwin Von Bertalanffy “Teoría general de los sistemas, Fundamentos, desarrollo , aplicaciones” Fondo de Cultura Económica, Mexico (1992).
22. Jean Piaget “Naturaleza y métodos de la epistemología” Editorial Proteo (1989).
23. Jorge E. Grau “Tecnología y Educación” Fundec ( 1995).
24. Ministerio de Educación de la República Argentina “Ley Federal de Educación” (1993)
25. Universidad Tecnológica Nacional “Cuadernillo de capacitación – Planificación coordinada” ( 1996).
26. Universidad Tecnológica Nacional “Nuevo diseño curricular para Ingeniería en sistemas de Información” ( 1994).
27. Ezequiel Ander Eggen "La Planificación educativa, concepto, métodos, estrategias y técnicas para educadores" Editorial Magisterio del Río de Plata (Bs. As. 1995).
28. The Java Tutorial A practical guide for programmers de java de Sun Microsystems, páginas web de la empresa generadora Java.
Ingeniería en Sistemas de Información Paradigmas de programación
Página 22 de 27
ARTICULACIÓN
Articulación con el Área:
Asignatura Carga Horaria Porcentaje Paradigmas d e Programación 128 20% Matemática Discreta Algoritmos y Estructuras de Datos
96 160
15% 25%
Ingeniería en Sistemas de Información Paradigmas de programación
Página 23 de 27
Temas relacionados con materias del área:
Matemática Discreta Tema relacionado Relaciones y Funciones entre conjuntos Recurrencia Árboles binarios – Eje temático 4 Grafos – Eje temático 9
Paradigma Funcional Eje temático 2
Estructuras algebraicas – Eje temático 6 Árboles binarios – Eje temático 11
Cálculo lambda Eje temático 3
Lógica y Proposiciones lógicas – Eje temático 2 Relaciones y Funciones entre conjuntos Recurrencia Árboles binarios – Eje temático 4 Grafos – Eje temático 9
Paradigma lógico Eje temático 4
Algoritmos y
Estructuras de Datos Tema relacionado
Concepto de paradigma Introducción Eje temático 1
Tipos de Datos – Eje temático 1 Sintaxis y Semántica – Eje temático 2
Paradigma Funcional Eje temático 2 Cálculo lambda Eje temático 3 Paradigma Lógico Eje temático 4 Paradigma orientado a Objetos Eje temático 5
Ingeniería en Sistemas de Información Paradigmas de programación
Página 24 de 27
Articulación con el Nivel:
Asignatura Carga Horaria Porcentaje Paradigmas de programación 128 20% Sintaxis y Semántica del Lenguaje 128 20%
Temas relacionados con materias del nivel:
Sintaxis y semántica de los lenguajes Tema relacionado
Estructuras de control – Eje temático 6 Tipos de datos – Eje temático 5
Paradigma funcional – Eje temático 2 Paradigma orientado a objetos – Eje temático 5
Abstracción de datos Eje temático 2 Abstracción de control Eje temático 2
Paradigma funcional – Eje temático 2 Paradigma orientado a objetos – Eje temático 5 Paradigma lógico – Eje temático 4 Cálculo lambda – Eje temático 3
Ingeniería en Sistemas de Información Paradigmas de programación
Página 25 de 27
Articulación con las correlativas:
Asignatura Para cursar Para rendir Cursada Aprobada Aprobada
Paradigmas de Programación
Matemática Discreta Algoritmo y Estructuras de Datos
--- Matemática Discreta Algoritmo y Estructuras de Datos
Temas relacionados con las correlativas:
Sintaxis y Semántica de los lenguajes
Tema relacionado
Estructuras de control – Eje temático 6 Tipos de datos – Eje temático 5
Paradigma funcional – Eje temático 2 Paradigma orientado a objetos – Eje temático 5
Abstracción de datos Eje temático 2 Abstracción de control Eje temático 2
Paradigma funcional – Eje temático 2 Paradigma orientado a objetos – Eje temático 5 Paradigma lógico – Eje temático 4 Cálculo lambda – Eje temático 3
Ingeniería en Sistemas de Información Paradigmas de programación
Página 26 de 27
ORIENTACIÓN
Del Área:
El área de programación tiene como objetivos formar en las metodologías, técnicas y lenguajes de programación como herramientas básicas para el desarrollo de software y el estudio de disciplinas que permitan crear nuevas tecnologías.
De la Asignatura:
Es finalidad de la asignatura Paradigmas de Programación en avanzar en el conocimiento de los lenguajes de programación con el estudio de otros paradigmas y sus modelos conceptuales como la programación orientada a objetos, la programación funcional y la programación lógica y resolver problemas utilizando nuevos conceptos, aplicando distintos lenguajes de programación.
Ingeniería en Sistemas de Información Paradigmas de programación
Página 27 de 27
ESTRUCTURACIÓN DE TIEMPOS
TEMA HS SEMANAS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Fecha comienzo semana
02 08
09 08
16 08
23 08
3008
06 09
1309
20 09
2709
04 10
1110
18 10
25 10
01 11
08 11
15 11
Unidad 1 8 X Unidad 2 24 X X X Unidad 3 20 X X X Unidad 4 28 X X X X Unidad 5 32 X X X X Unidad 6 4 X Trabajos prácticos
X X X X X X X X X X X X X X
Evaluación parcial
12 1º 2º 3º
Total 128
La distribución horaria se realizó manteniendo el siguiente criterio: a) Cada semana de clase contiene siete (8) horas cátedras. b) Las semanas propuestas por el diseño curricular son dieciséis (16). c) Los prácticos son realizados en laboratorio donde se instrumentará la
aplicación directa de cada paradigma en lenguajes de programación que soporten cada uno de ellos.
d) Las ejercitaciones que no fueran terminadas en horario de clase, deberá ser completadas por los alumnos a los fines de mantener su cátedra al día y poder completar su carpeta de trabajos prácticos que deberá ser entregada a los fines de la regularidad o cualquiera de las otras situaciones que fueron antepuestas en los criterios de evaluación.
e) Las dudas que pudieran surgir serán evacuadas por el docente en horario extra clase, a convenir.