[FACULTAD be INGENERLA - UNIVERSIDAD NACIONAL DEJUUY
FACULTAD DE INGENIERIA
UNIVERSIDAD NACIONAL DE JUSUY
PLANIFICACION DE CATEDRA
4. Denominacién de Ia actividad curricular (asignaturas) tal como figura en la resolucién
del plan de estudios. Carreras en cuyos planes de estudio se incluye Ia actividad
curricular
PERIODO LECTIVO 2019
Ingenieria en Informatica
Plan 2.010
Licenciatura en Sistemas
Plan 2.010
CARRERAIS y PLANIES DE ESTUDIO
Modelo de Desarrollo de
NOMBRE DE LA ASIGNATURA ener eae
Modelo de Desarrollo de
Programas y Programacién,
ae Coneurrente
MODALIDAD DE CURSADO (1) Annual
ORIENTACION (2) Troncal
CARACTER (3) Obligatoria
CARGA HORARIA SEMANAL Shs. Semanales
CARGA HORARIA TOTAL 150 hs. Totales
3er. Afio de Licenciatura en
Sistemas y 3er, Aflo de Ingenieria
en Informatica
ASlO EN QUE SE ENCUENTRA LA ASIGNATURA EN EL.
PLAN DE ESTUDIO
(1)-Consigne solo una opcién de las siguientes: “Anuaf’ “Cuatrimestra’
(2). Seguin coresponda, si su materia es de orientacion consigne la misma (orientaclon}, de lo contrario consigne
oneal.
(3). Consigne solo una opcion de las siguientes: “Obligatoria, "Optativafelectiva’, “Obligatoria del tramo de orientacin’
*Optativa elective del amo de orientacio’
Puimencon pe C
Perino Lecrivo 2019FACULTAD De INGENIERIA - UNIVERSIDAD NACIONAL DE JUIUY
ANEXO
Programa Analitico de la Catedra Modelo de Desarrollo de Programas y Programacién
Concurrente - Afio 2.019
Unidad 1: Lenguajes de Programacién
Conceptos. Abstracciones de los lenguajes de Programacién: datos y control. Abstracciones
unitarias. Definicion formal. Sintaxis. Semantica. Traduccién del lenguaje. Propiedades. Disefio de
un lenguaje de programacion.
Unidad 2: Paradigmas De Programacién
Introduccién, conceptos y generalidades de paradigmas: Imperativo, funcional, l6gico, heuristico,
concurrente y orientado a objetos. Ventajas y limitaciones de los distintos enfoques. Lenguajes
hibridos y puros.
Postulados: Caracteristicas De Los Lenguajes De Programacién.
Paradigma imperativo: generalidades y anélisis comparativo de estructuras principales de
compiladores.
Paradigma Orientado a Objetos: generalidades. Conceptos
Paradigma Funcional: tipos de datos basicos, concepto de induccién, recurs
funciones de orden superior y datos genéricos. Modelo matematico,
Paradigma Légico: generalidades, introduccion y conceptos. Reglas de inferencias, tipos. Tipos de
datos basicos, conceptos de functores, dominios, predicados, cldusulas y recursividad.
lad, patrones,
Unidad 3: Programacién Orientada a Objetos (POO)
Introduccién. Estructura de un objeto: relaciones. Tipos de relaciones. Propiedades. Métodos
Clases, objetos, mensajes. Relaciones (asociacién, agregacién, generalizacién y herencia,
dependencia).
Encapsulamiento y ocultacién. Organizacién jerarquica de los objetos.
Polimorfismo. Herencia. Beneficios y problemas derivados de la utilizacion de la POO.
Clases abstractas. Tipos de datos abstractos y orientacién a objetos. Implementacion de tipos de
datos abstractos. Clases y objetos en C++.
Unidad 4: Modelo de Desarrollo Orientado a Objetos
Fundamentos. Estructura de un problema orientado a objetos,
Metodologia 00 para el desarrollo de programas. Introduccién al proceso unificado de Rational
(RUP): caracteristicas, fases y disciplinas.
Captura de requisitos. Actores y casos de uso. Prototipo de la IU.
Analisis y disefio. Analizar casos de uso y clases, disefiar a arquitectura, casos de uso y clases.
Implementacién. Implementar la arquitectura y las clases, realizar pruebas de unidad e integrar el
sistema.
Unidad 5: Programacién Concurrente
Introduccién. Programas concurrentes. Indicadores de concurrencia. Ventajas y desventajas de la
utilizacion de programas concurrentes. Arquitecturas concurrentes.
PianivicaGiow ECATEDRA
PenionoLecrive 2019ACULTAD o& INGENIERIA - UNIVERSIDAD NACIONAL pe Jusby
Comunicacién y sincronizacién. Tipos de comunicacién. Tipos de sincronizacién.
Intercambio de mensajes. Instrucciones atémicas. Funcionamiento correcto.
Regiones criticas. Exclusién mutua
‘Seméforos. Regiones criticas. Regiones criticas condicionales. Monitores.
Propiedades de los programas concurrentes. Problema del productor y consumidor. Bloqueos.
Unidad 6: Aplicaciones Concurrentes
Introduccién a JAVA. Tipos primitivos y variables. Operadores. Estructuras. IDE Eclipse.
Unidad 7: Hilos en JAVA
Introduccién. Programas y procesos. Hilos. Implementacién. Terminacién. Estados. Herramientas
de Planificacién de Hilos, Multiprocesamiento en JAVA.
Unidad 8: Concurrencia en JAVA con Wait() ¥ Notify()
Introduccién, Excepciones con try-catch. Bloqueo de un hilo, Notificacién de espera en hilos.
‘wait() y Notify) como cola de espera. Modelo Productor/Consumidor. Interrupcién de un hilo.
Implementacién.
Unidad 9: Implementacién de Hilos en JAVA usando Runnable
Introduccién. Implementacién del método run(), Creacién y ejecucién de tareas. Implementacién.
Unidad 10: Implementacién de Hilos en JAVA usando Executor framework
Introduccién. Implementacién de la Interfaz Executor Service. Métodos. Otras implementaciones
dela clase Executors.
Unidad 11: Implementacién de un monitor en JAVA
Introduccién, Caracteristicas y funcionamiento de un monitor. Implementacion
Firma:
Aclaracién
rawarscAciOn DE CATEDRA
PeniopoLecrvo 2019