Академический Документы
Профессиональный Документы
Культура Документы
MODALIDAD ACADMICA
Asignatura
Ciclo Lectivo
Vigencia del
programa
Plan
rea
Paradigmas de Programacin
2014
Desde 2do Cuatrimestre ciclo lectivo 2014
Carga horaria
semanal
Anual/
cuatrimestral
Coordinador de
Ctedra
Objetivos de la
Materia
8 Horas
2008
Programacin
Cuatrimestral
Mgter. Ing. Marcelo Marciszack
Objetivos generales
Que el estudiante:
Comprenda los fundamentos de los paradigmas bsicos que son utilizados por
los lenguajes de programacin actuales.
Conozca el modelo formal o semiformal subyacente de cada paradigma y la
forma en que el mismo es incorporado en un lenguaje de programacin correcto.
Aplique los diferentes paradigmas en la resolucin de problemas.
Objetivos particulares
Continuar con las habilidades alcanzadas por los alumnos en lo referente a la resolucin
de problemas obtenidas en la asignatura correlativa inmediata anterior como lo es,
Algoritmos y Estructura de Datos.
Dar a conocer los diferentes paradigmas, su influencia en la forma de ver o modelar un
determinado problema, analizando las caractersticas de los diferentes paradigmas para la
solucin en trminos de construir e implementar una solucin (Construccin de un
programa)
Sentar las bases, en referencia a la solucin de problemas a travs de la implementacin
de diferentes lenguajes de programacin dentro de diferentes paradigmas, para permitir
evolucionar en instancias posteriores de la carrera en el uso eficiente de cada lenguaje.
Que el alumno sea capaz discernir entre la aplicacin de uno u otro paradigma, en la
resolucin de un problema, ya que contar con los elementos conceptuales bsicos
elementales para el anlisis y modelado de soluciones a los diferentes problemas.
1
Ctedra: Paradigmas de Programacin
Programa Analtico
Unidad Nro. 1: Introduccin a los Lenguajes y Paradigmas de Programacin.
Objetivos Especficos:
Que alumno evidencie y valore las caractersticas constitutivas de cada uno de los lenguajes y paradigmas
de programacin y los asocie con los problemas tipos factibles de resolver por cada uno de estos.
Contenidos:
Introduccin y conceptos generales: Programas, paradigmas, lenguajes de programacin, y programacin.
Paradigmas fundamentales: Clasificacin y evolucin histrica, definicin, lenguajes asociados, ventajas,
limitaciones y reas de aplicacin.
Diferencia entre lenguaje y paradigma de programacin.
Lenguajes de programacin: Conceptos, criterios de evaluacin, resea histrica y evolucin y tipos de
lenguajes: hbridos y puros.
Bibliografa:
Evaluacin:
La evaluacin sumativa, de los contenidos de la unidad, se realiza en el primer parcial, junto a las unidades
temticas N 2, 3 y 4. Son preguntas de desarrollo sobre los temas trabajados de esta unidad.
Bibliografa:
2
Ctedra: Paradigmas de Programacin
Evaluacin:
La evaluacin sumativa, de los contenidos de la unidad, se realiza en el primer parcial, junto a las unidades
temticas N 1, 3 y 4. Son preguntas de desarrollo sobre los temas trabajados de esta unidad.
Bibliografa:
Evaluacin:
La evaluacin sumativa, de los contenidos de la unidad, se realiza en el primer parcial, junto a las unidades
temticas N 1, 2, y 4. Son preguntas de desarrollo sobre los temas trabajados de esta unidad.
3
Ctedra: Paradigmas de Programacin
Contenidos:
Conceptos fundamentales. Abstraccin de datos y ocultamiento de la informacin. Estructura de un objeto.
Mtodos y mensajes. Clasificacin. Clase. Concepto de generalizacin-especializacin. Herencia, simple y
mltiple. Polimorfismo.
Conceptos del modelo de objetos en SmallTalk. Desarrollo de la sintaxis de objetos en Smalltalk.
Expresiones literales. Caracteres, secuencia de caracteres, smbolos y nmeros. Expresiones de asignacin
y variables. Asignacin. Tipos de variables. Variables privadas: de instancia nombradas e indexadas,
argumentos y temporales. Variables compartidas: de clase, globales y pool. Variables especiales: self y
super. Expresiones de mensaje. Sintaxis de un mensaje. Tipos de mensajes: unario, binario y palabra clave.
Orden de precedencia en la evaluacin de expresiones. Expresin de mensajes en cascada. Expresiones de
bloque. Clase Context. Bloques con y sin argumentos. Evaluacin de bloques. Mtodos y expresiones de
retorno. Sintaxis de la definicin de un mtodo. Significado de la expresin de retorno. Mtodos de clase e
instancia.
Lenguaje asociado: Smalltalk Pharo. Imagen, ambiente de objetos, definicin y uso de clases y objetos.
Bibliografa:
Pharo por Ejemplo Andrew P. Black Stphane Ducasse Oscar Nierstrasz Damien Pollet
http://pharobyexample.org/es/PBE1-sp.pdf
Inside Smalltalk. Vol. I, II: Lalonde y J. Pugh; Prentice Hall International; 1991.
Adele Goldberg and David Robson , Smalltalk 80- The Language.
Wirfs- Brock, R. y otros, Designing Object-Oriented Software, Prentice Hall
Tomas Khum Estructura de las Revoluciones Cientficas .
Notas de clase de Tpicos II, curso de la Maestra en Ingeniera de Software UNLP, dictada en
2002 por Mximo Prieto. Documentos de Juan Carlos Vazquez.
Apunte: Introduccin a la orientacin a objetos de la Asignatura Paradigmas de Programacin
UTN FRBA Autores: Carlos Lombardi Nicols Passerini.
Evaluacin:
La evaluacin sumativa, de los contenidos de la unidad, se realiza en el primer parcial, junto a las unidades
temticas N 1, 2, y 3. Son preguntas de desarrollo sobre los temas trabajados de esta unidad.
Los contenidos prcticos se evaluarn en mquina donde se solicitar la codificacin de la solucin
propuesta para un determinado problema, o la modificacin o ampliacin de determinadas partes de una
solucin previamente planteada.
El alumno en forma grupal, deber resolver y presentar en tiempo y forma el Prctico Integrador N 1
correspondiente a esta Unidad.
4
Ctedra: Paradigmas de Programacin
Evaluacin:
La evaluacin sumativa, de los contenidos de la unidad, se realiza en el segundo parcial, junto a la unidad
temtica N 6. Son preguntas de desarrollo sobre los temas trabajados de esta unidad.
Los contenidos prcticos se evaluarn en mquina donde se solicitar la codificacin de la solucin
propuesta para un determinado problema, o la modificacin o ampliacin de determinadas partes de una
solucin previamente planteada.
El alumno en forma grupal, deber resolver y presentar en tiempo y forma el Prctico Integrador N 2
correspondiente a esta Unidad.
5
Ctedra: Paradigmas de Programacin
Bibliografa:
Richard Bird. Introduction to Functional Programming using Haskell. Prentice Hall International,
2nd Ed. New York, 1997
Luca Cardelli. Basic Polymorphic Typechecking. AT&T Bell Laboratories, Murray Hill, NJ 07974.
1998.
Paul Hudak. A Gentle Introduction to Haskell 98. Yale University. Department of Computer Science.
John Peterson. 1999.
Paul Hudak. The Haskell School of Expression: Learning Functional Programming through
Multimedia. Yale University. Cambridge University Press, New York, 2000.
Richard Kelsey, William Clinger and Jonathan Rees. "Revised Report on the Algorithmic Language
Scheme". Higher-Order and Symbolic Computation, Vol. 11, No. 1, August 1998, pp. 7--105.
Barendregt, Hendrik Pieter. The Lambda Calculus: Its Syntax and Semantics, Studies in Logic and the
Foundations of Mathematics. 103 (Revised ed.), North Holland, Amsterdam. Corrections. 1984.
Ken Slonneger y Barry L. Kurtz. Formal Syntax and Semantics of Programming Languages: A
Laboratory-Based Approach. Addison-Wesley, Reading, Massachusetts. 1995.
Evaluacin:
La evaluacin sumativa, de los contenidos de la unidad, se realiza en el segundo parcial, junto a la unidad
temtica N 5. Son preguntas de desarrollo sobre los temas trabajados de esta unidad.
Los contenidos prcticos se evaluarn en mquina donde se solicitar la codificacin de la solucin
propuesta para un determinado problema, o la modificacin o ampliacin de determinadas partes de una
solucin previamente planteada.
El alumno en forma grupal, deber resolver y presentar en tiempo y forma el Prctico Integrador N 3
correspondiente a esta Unidad.
6
Ctedra: Paradigmas de Programacin
Metodologa de
enseanza y
aprendizaje
Los contenidos tericos que sern desarrollados y trabajados con el docente de terico,
con el fin de conceptualizar trminos a utilizar en el desarrollo de los prcticos. Las
clases se trabajan con material elaborado en diapositivas que comparte la ctedra,
iniciando siempre con revisin de los temas anteriores para integrarlos a cada clase y
logrando unificacin de contenidos entre todos los cursos.
Ejercitacin de casos a travs de ejercicios prcticos contenidos en material unificado,
elaborado por los docentes de la ctedra, adems de prcticos que los auxiliares
docentes realizan durante el cursado.
Sistema de
evaluacin
7
Ctedra: Paradigmas de Programacin
Escala de evaluacin
Condiciones de
regularidad
Porcentaje Obtenido
Nota
98 100
10
92 97
9
86 91
8
80 85
7
74 79
6
67- 73
5
60 66
4
40 -59
3
20 -39
2
0 -19
1
El alumno debe regularizar el curso, el requisito de regularidad de asistencia y con
cinco (5) notas aprobadas; dos correspondientes a los parciales tericos y las otras dos
a los prcticos y una adicional que se corresponder con la valoracin integral de tres
prcticos integrales (Uno por cada uno de los Paradigmas Objeto, Lgico y
Funcional).
Alumno Libre: Quienes no den cumplimiento al requisito de regularidad por
asistencia, establecido en el reglamento de estudio y no den cumplimiento a todas las
condiciones establecidas para alumno Regular, ya sea estas obtenidas en las instancias
normales de evaluacin como en la instancia de recuperacin. No podrn acceder a
esta instancia de recuperacin aquellos alumnos que en oportunidad de cursado, no
tengan cumplimentada y aprobada la actividad de prcticos integradores grupales o
tengan que recuperar ms de 2 (dos) instancias de evaluacin de las 4 (cuatro).
Habiendo cumplimentado el requisito de regularidad por asistencia, se podr alcanzar,
tres diferentes formas de regularidad:
a) Alumno Regular: Para alcanzar la regularidad las cinco notas deben alcanzar
una calificacin mnima de cuatro (4) puntos, que corresponde a una
evaluacin del 60% tanto de los parciales tericos como prcticos. Adems, es
condicin la presentacin en tiempo y forma de los trabajos integradores, que
sern realizados por grupos de hasta 3 (tres) alumnos, los que deben poseer la
condicin de aprobados.
b) Alumno con Prcticos Promovidos: En caso de que el alumno obtenga entre
los exmenes parciales prcticos, y la nota correspondiente a los prcticos
integradores un promedio de 8 (ocho) con notas no inferior a 7 (siete), y los
exmenes tericos ambos aprobados, se le da por aprobado el contenido
prctico de la materia, y solo debe rendir un examen final terico.
c) Alumno Promovido: Si el alumno alcanz la promocin de prcticos, y
adems el promedio de las instancias de evaluacin de Tericos es de 9
(nueve) o superior con ninguna nota inferior a 8 (ocho) obtiene la promocin
directa de la asignatura.
Prdida de promocin
La vigencia de las promociones es de un 1 (un) ao, equivalentes a 10 turnos de
exmenes, independiente del cuatrimestre de cursado de la asignatura, vencido este
8
Ctedra: Paradigmas de Programacin
El examen final se tomar en un nico horario y ser unificado para toda la ctedra.
Horario inicio Examen Prctico: 15:00 Horas
Horario Inicio Examen Terico: 17:00 Horas
El examen final para alumnos en condicin de Regular, comienza con una instancia
prctica en mquina, la misma consta de evaluacin de una solucin de un problema
determinado, codificado y resuelto, el cul ser de carcter eliminatorio.
Los alumnos que aprobaron la parte prctica de la evaluacin, y los alumnos de
prcticos promovidos pasaran a una prxima instancia de evaluacin de aspectos
tericos de la asignatura, para lo cual respondern en mquina un cuestionario de
opcin mltiple de caractersticas similares a las evaluaciones de parciales tericas,
pero abarcando la totalidad del programa.
De acuerdo al porcentaje obtenido en esta instancia pueden surgir las siguientes
alternativas:
instancia oral donde se le dan tres temas para desarrollar en papel y explicarlo en
forma satisfactoria para aprobar el exmen.
alumno.
Calificacin Final
Para calificar los exmenes se utilizar el siguiente criterio:
Alumnos promocin Total: Promedio de las cinco notas del cursado.
9
Ctedra: Paradigmas de Programacin
Horas/ao totales
de la asignatura
Cantidad de
horas
prcticas totales
Cantidad de
horas tericas
totales
Tipo de
formacin
prctica (marque
la que corresponde
si es asignatura
curricular -no
electiva-)
Cantidad de
horas afectadas a
la formacin
prctica indicada
en el punto
anterior
Descripcin de
los prcticos
128
64
64
Formacin experimental
Resolucin de problemas de ingeniera
Actividades de proyecto y diseo
Prcticas supervisadas en los sectores productivos y /o de servicios
64
Prcticos ulicos
En el desarrollo de la asignatura, para cada uno de los paradigmas se realizarn
actividades prcticas de laboratorios en cada uno de los lenguajes de programacin.
Prcticos grupales integradores
Se debern desarrollar y presentar en tiempo y forma 3 (tres) prcticos integradores,
uno para cada uno de los siguientes paradigmas: orientado a objetos, lgico y
funcional.
Las fechas de presentacin de los mismos estarn estipuladas en el cronograma de
actividades del ciclo lectivo.
Es condicin necesaria para regularizar la materia que el alumno apruebe los tres
trabajos prcticos, con la posibilidad de recuperar uno de ellos, la nota obtenida en
esta instancia reemplazar la nota del prctico reprobado.
Al final del cursado, se obtendr una nica nota de nota de trabajos prcticos, que
resultar del promedio de los trabajos prcticos integradores.
Criterios de
evaluacin de los
prcticos
10
Ctedra: Paradigmas de Programacin
Descripcin de la Los Trabajos prcticos debern ser desarrollados en grupos de hasta 3 (tres) alumnos.
presentacin de
El medio de entrega de los trabajos prcticos ser a travs del aula virtual, en el link
los prcticos
habilitado especficamente para tal fin.
Es obligacin de cada integrante del grupo subir la resolucin correspondiente al
trabajo prctico en el link especficamente habilitado en el aula virtual para tal fin. Si
algn miembro del grupo no lo sube por cualquier motivo, se considerar que ese
alumno no realiz ni present el trabajo prctico en cuestin.
La entrega de todos los trabajos prcticos tendr especificada una fecha y hora de
vencimiento.
La entrega del trabajo prctico por parte de los integrantes del grupo deber constar de
un nico archivo comprimido que contenga lo siguiente: enunciado y resolucin
correspondiente.
El archivo comprimido deber ser nombrado de la siguiente manera
TP_0X_ApellidoLegajo1_ApellidoLegajo2_ApellidoLegajo3 (X representa el nmero
del trabajo prctico). Todos los integrantes del grupo debern nombrar y subir el
archivo comprimido exactamente igual.
Fechas de entrega Prcticos grupales integradores
Cronograma de
actividades de la
asignatura,
incluyendo
semana prevista
para cada prctico
Trabajo Prctico
Paradigma
Fecha entrega
Primero
Orientado a Objetos
05/09/2014
Segundo
Lgico
03/10/2014
Tercero
Funcional
24/10/2014
Planificacin basada en 15 semanas lectivas, segn calendario acadmico 2014
publicado por la UTN - FRC.
Semana
Actividades Tericas
Introduccin a la Asignatura.
Dictado Unidad N 1.
28/07/14
04/08/14
11/08/14
18/08/14
Unidad N 4: POO
Introduccin al Paradigma.
Conceptos Generales, caractersticas y
aplicaciones.
Unidad N 4:
Introduccin al Lenguaje Smalltalk:
Caractersticas, aspectos, sintaxis.
Ventanas, inspecciones.
Clases, Objetos y Tipos de Mensajes.
Actividades Prcticas
Ambientacin en laboratorio,
Caractersticas de los
diferentes IDE, Acceso y
ejecucin.
Resolucin de problemas con
lgica estructurada, usando
como lenguaje de
programacin C/C++.
Anlisis de Problemas. Lgica
de resolucin de problemas.
Anlisis de casos y problemas
tpicos.
Presentacin entorno Pharo:
ventanas, browser.
Biblioteca de Smalltalk: clases
Boolean, Integer, etc.
Evaluacin de expresiones
bsicas en Smalltalk.
11
Ctedra: Paradigmas de Programacin
25/08/14
Herencia y Polimorfismo.
Introduccin a las colecciones
Resolucin de caso de estudio con
Creacin de clases, instancias y paso de
mensajes. Iteraciones.
Unidad N 4: POO.
01/09/14
Clases especiales:
Clases: Object Magnitude Objeto
indefinido Date Time Boolean.
Ejemplos
con
clases
compuestas.
Ejercitacin con Herencia,
polimorfismo y Colecciones.
Planteo
y
problemas
resolucin
de
Entrega Prctico N 1
08/09/14
Unidad N 4: POO
Repaso Unidad 4
Devolucin Prctico N 1
Unidad N 5
Paradigma Lgico
Introduccin Lgica Predicados de
primer orden.
13/09/2014
10
15/09/14
22/09/14
29/09/14
Unidad N 5
Objetos Compuestos.
Listas y Recursividad.
Repaso general del Paradigma Lgico.
Unidad N 6
Paradigma funcional
Introduccin, caractersticas y conceptos
generales. (Funciones, Calculo Lambda).
Introduccin a Haskell. Sintaxis. Tipos de
Repaso Unidad N 5
Planteo
y
resolucin
problemas
Ejercitacin
completos
de
de
casos
Entrega de Prctico N 2
11
12
06/10/14
13/10/14
Unidad N 6
Ecuaciones con guardas, definiciones
locales.
Expresiones recursivas, tuplas y listas.
Devolucin Prctico N 2
Introduccin a Haskell
Evaluacin
de
expresiones
simples.
Presentacin Prctico N 3
Unidad N 6
Tipos definidos por el usuario. Tipos
polimrficos y recursivos.
Sobrecarga de clases.
Repaso Unidad N 5 y N 6.
12
Ctedra: Paradigmas de Programacin
20/10/14
Ejercitacin Tuplas.
Ejercitacin y consultas 2do
parcial.
25/10/2014
14
27/10/14
01/11/2014
15
08/11/2014
Descripcin de
metodologa
propuesta de
consultas y
cronograma de
consultas
Plan de
integracin con
otras asignaturas
Bibliografa
Obligatoria
El Material de estudio para cada una de las unidades temticas se encuentra editado,
compilado y publicado en el sitio de la Universidad Virtual, el cual se encuentra
disponible para cada alumno inscripto al cursado de la asignatura.
Tambin estn disponibles las filminas para el dictado de tericos y prcticos,
conjuntamente con gua de prcticos de cada unidad.
Bibliografa
Complementaria
13
Ctedra: Paradigmas de Programacin
14
Ctedra: Paradigmas de Programacin
Distribucin de
docentes por
curso
Curso
Turno
2K1
Maana
2K2
Maana
2K3
Maana
2K4
Maana
2K5
Tarde
2K6
Tarde
2K7
Tarde
2K8
Noche
2K9
Noche
2K10
Noche
2K11
Maana
Das y horas
Mar 4,5,6,7
Prctico
Jue 1,2,3,4
Terico
Mie 1
Jue 1,2,3
Tericos
Vie 1,2,3,4
Prctico
Lun 1,2,3,4
Prctico
Mie 4,5,6,7
Terico
Mie 1,2,3,4
Terico
Jue 4,5,6,7
Prctico
Lun 3,4,5,6
Terico
Vie 1,2,3,4
Prctico
Mar 1,2,3,4
Terico
Mie 3,4,5,6
Prctico
Mie 0,1,2,3
Prctico
Jue 3,4,5,6
Terico
Mar 0,1,2,3
Terico
Vie 3,4,5,6
Prctico
Lun 3,4,5,6
Terico
Jue 0,1,2,3
Prctico
Mar 3,4,5,6
Terico
Mie 3,4,5,6
Prctico
Mar 4,5,6,7
Terico
Jue 1,2,3,4
Prctico
Docente
Auxiliar
Ayudante
CORSO, Cynthia
STEFFOLANI,
Felipe
POLLIOTTO,
Martn
LIGORRIA, Laura
COLACIOPPO
Nicols
SERRANO,
Diego
GUZMN,
Anala
COLACIOPPO
Nicols
LIGORRIA, Laura
CASTILLO,
Julio
POLLIOTTO,
Martn
LIGORRIA, Laura
SERRA, Silvio
POLLIOTTO,
Martn
GUZMAN,
Anala
STEFFOLANI,
Felipe
POLLIOTTO,
Martn
CORSO, Cynthia
COLACIOPPO
Nicols
GUZMAN,
Anala
LIGORRIA,
Karina
ROMANI,
Germn
MARCISZACK,
Marcelo /
LIGORRIA, Laura
LIGORRIA,
Karina
ROMANI,
Germn
CORSO, Cynthia
CASTILLO,
Julio
ROMANI,
Germn
LIGORRIA, Laura
FRIAS, Pablo
POLLIOTTO,
Martn
Firma
15
Ctedra: Paradigmas de Programacin