Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2012-13


PROGRAMACIÓN CONCURRENTE Y DE TIEMPO REAL

Asignaturas
 

  Código Nombre    
Asignatura 21714020 PROGRAMACIÓN CONCURRENTE Y DE TIEMPO REAL Créditos Teóricos 3,75
Título 21714 GRADO EN INGENIERÍA INFORMÁTICA Créditos Prácticos 3,75
Curso   2 Tipo Obligatoria
Créd. ECTS   6    
Departamento C137 INGENIERÍA INFORMÁTICA    

 

Si desea visionar el/los fichero/s referente/s al cronograma sobre el número de horas de los estudiantes pulse sobre su nombre:

 

Requisitos previos

El alumno debe tener cursadas y aprobadas las asignaturas de primer curso
"Introducción a la Programación" y "Metodología de la Programación".

 

Recomendaciones

a)Sería de desear que el alumno dispusiese de un dominio razonable del
castellano, tanto a nivel de expresión oral como escrita, así como del marco
cognitivo-intelectivo y metalingüístico necesario para una correcta lectura,
procesamiento y asimilación de los contenidos que la bibliografía de la
asignatura exige, al ser estos muchos y variados.

b)Igualmente deseable sería el dominio de las reglas elementales de la aritmética
básica, y cierta cultura general, obtenida a través de la lectura de libros de
toda clase, de la prensa escrita, o de ambas.

c) No resultará ocioso el adecuado conocimiento y manejo de las reglas de
urbanidad, para el correcto trato tanto a los compañeros como al profesor.

d)Se recomienda al alumno entregarse al estudio con seriedad, rigor, continuidad
e interés, como si se tuviese una inquebrantable voluntad intelectual y
académica.

e)Más vale un mal libro que muchos buenos apuntes: por tanto, para cada tema
concreto del curso se le propondrán como material de revisión/trabajo/estudio un
mínimo de dos y un máximo de cuatro capítulos de referencias concretas (en
inglés, claro está). Ocasionalmente se le proporcionarán unos apuntes (en
castellano), que como mucho debería usar como material de apoyo, pero nunca como
texto base. Se deja constancia clara y explícita de que un correcto estudio y
preparación de la asignatura requerirá la lectura íntegra del material propuesto,
y que en modo alguno limitar la preparación al estudio aislado de los apuntes
garantiza superar la misma, y mucho menos garantiza la adquisición de los
conocimientos deseados.

f)La copia de apuntes en clase ES UNA PÉRDIDA DE TIEMPO: por tanto, los
profesores harán lo posible para que no tenga que copiar apuntes en clase,
proporcionándole en la página de la asignatura con carácter previo a su
explicación todo el material necesario para la preparación de la misma. En
consecuencia, si copia apuntes, es porque es usted un copiador compulsivo; pero
sepa que distraen su atención y suelen ser fuente de errores en el estudio
posterior, ya que lo que se copia mal se estudia peor, para el hipotético caso en
que el alumno se apreste a estudiar.

g)El alumno debe saber que una clase comienza antes de ser explicada y continua
tras ser explicada: o lo que es lo mismo, llegar a clase a ver qué nos cuenta hoy
este buen señor es un error. La mecánica de trabajo que les recomiendo a lo largo
del curso para preparar una clase debe seguir las siguientes fases:  PRIMERA:
Lectura y revisión previa de los materiales indicados en el cronograma del curso
para esa clase en concreto.  Semanalmente se establecerá  el conjunto de tópicos
a impartir del temario oficial, el material de lectura para esa clase en
concreto, los problemas recomendados para ejercitar los contenidos teóricos
explicados, y en ocasiones alguna tarea adicional de interés.  SEGUNDA:.
Asistencia a clase. Dado que no necesita tomar apuntes, preste atención a los
desarrollos y explicaciones del profesor, y relaciónelos con lo previamente leído
por usted. Tome notas de la dudas o discrepancias que le surjan, para su
posterior discusión en la propia clase o en una tutoría individualizada. El
alumno debe saber además que se encuentra matriculado en una universidad pública
presencial, y que la asistencia a clase forma parte de sus obligaciones como
discente. TERCERA: Tras la clase, repase los contenidos de la misma, entiéndalos
y aclare con el profesor los conceptos que no estén claros. Póngalos en práctica
con los problemas de la relación que corresponda, y conéctelos con los contenidos
a desarrollar en la próxima clase. Es decir, vuelva al primer apartado.

h)Una asignatura NO se prepara en una semana. NO deje la preparación de los
trabajos a entregar ni la del examen final para el último momento. Probablemente
será inútil. Utilice el cronograma de la asignatura para planificar su esfuerzo,
o pida ayuda a su profesor para planificar el tiempo y su preparación de cara al
examen final con antelación. Si no lo hace, el único perjudicado será usted.

i) Saber una asignatura NO es saber unos apuntes. Nunca lo ha sido. Unos apuntes
son, probablemente y en el mejor de los casos, un resumen de lo explicado por
elprofesor en clase, lo cual a su vez será un resumen de lo revisado por el
profesor en la bibliografía específica. Por tanto, olvide aquello de "me sé los
apuntes pero me han suspendido", o "esto no estaba en los apuntes, sino en tal
libro" o "este problema o ejercicio no se parece a  ninguno que hayamos hecho en
clase". Si usted  SABE la materia, estará preparado para aplicarla a situaciones
nuevas y desconocidas. Y ello pasa por haber manejado bibliografía tal y cómo se
indica en el apartado b). Saber los apuntes es una condición necesaria para
aprobar, pero no suficiente. Por tanto, si usted  sabe sus apuntes, NO SABE la
materia. Y recuerde que SABER no es MEMORIZAR.

j)La revisión de calificaciones NO es una subasta.  Es  un  medio que la
Universidad pone a su  disposición para que sepa DÓNDE, CÓMO Y POR QUÉ ha
fallado, y proceda a  PLANIFICAR con su profesor la fase posterior de estudio
orientada a subsanar las lagunas que sus conocimientos tengan.  Por tanto, por
favor, no acuda a revisión con la intención de discutir sobre:

•Los criterios de corrección, ya que estos los define su profesor, y no es ni
puede ser algo sujeto a negociación.

•La distribución de la puntuación entre los diferentes enunciados de los
ejercicios del examen, ya que su profesor sabe qué es más importante que usted
haya aprendido, y cómo evaluar ese aprendizaje, y ajustará esa distribución en
consecuencia. El que considere que esa distribución le perjudica es un error,  ya
que habrá sido aplicada por igual a sus compañeros, y además lo que hará será
demostrar que no tiene claros aquellos conceptos que son más relevantes.

•Lo parecido o distinto de los ejercicios del examen a los realizados en clase.
Un examen no tiene por qué parecerse a lo ya ejercitado. Los ejercicios de clase
le CAPACITAN para dominar los conceptos. Los exámenes DEMUESTRAN que usted sabe
aplicar esos conceptos aprendidos a situaciones novedosas o simplemente
diferentes a las estudiadas.

•La verificación de si determinado ejercicio estaba o no en sus apuntes

•La simple pataleta por no haber superado la asignatura. No entienda un suspenso
más que con la siguiente lectura: el trabajo realizado no ha sido válido, no ha
sido suficiente, o ambas cosas. Debe trabajar más. Cualquier otra interpretación
por su parte es un error.

k)Su obligación es estar informado de las circunstancias de la asignatura. Visite
con asiduidad la sección de noticias de la plataforma virtual de la asignatura y
en caso de duda consulte por e-mail a su profesor. No utilice argumentos de la
clase "no sabía nada..." o "no me he enterado de que.." para excusar un fallo.
Recuerde que ES su obligación y su responsabilidad  estar enterado.

l)Utilice la tutoría. Es el único medio por el cual el profesor puede ofrecerle
una enseñanza de carácter individualizado. Por tanto, aproveche la tutoría, en
sus versiones presencial, electrónica, o de cualquier otro tipo boloñés. Y hágalo
con frecuencia: siga el método de preparación de las clases ya descrito, y visite
a su profesor cada vez que tenga dudas. Con carácter ordinario, un mínimo de una
visita al profesor cada tres semanas debería ser normal para usted. Si hay
dificultades, tan a menudo como necesite.

m)NO se quede con una duda. Es muy habitual entre nuestros alumnos que cuando les
surge una duda se queden con ella hasta el mismo momento del examen. Luego,
durante la revisión reconocen: "sí, esto no me quedó claro, pero..." EVITE estos
comportamientos. En una asignatura como esta, el progreso con garantías hacia
nuevos contenidos implica haber asimilado correctamente los contenidos previos.

n)El profesor es su juez. Su labor en el momento de evaluarle se limitará a
juzgar la cantidad y calidad del esfuerzo realizado por usted. Cualquier otro
aspecto es irrelevante.

ñ)Acuda a clase y participe en ella. Plantee sus dudas, y fomente la discusión
entre sus compañeros y con el profesor. Ello contribuirá de forma positiva a su
formación, y hará la dinámica académica más rica. Además, contribuirá
positivamente a su crecimiento personal.

o)Sea consciente de sus derechos como alumno, pero también de las obligaciones
que el serlo conlleva. En particular, trate de seguir en todo momento la línea de
conducta que el código ético de la Universidad (Código Peñalver) le aconseja.

 

Profesores

Nombre Apellido 1 Apellido 2 C.C.E. Coordinador  
ALBERTO GABRIEL SALGUERO HIDALGO PROFESOR SUSTITUTO INTERINO N
Antonio J. Tomeu Hardasmal PROFESOR TITULAR DE UNIVERSIDAD S

 

Competencias

Se relacionan aquí las competencias de la Materia/módulo o título a que pertenece la asignatura, entre las que el profesor podrá indicar las relacionadas con la asignatura.

Identificador Competencia Tipo
C14 Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real. ESPECÍFICA
T08 Capacidad de adaptación a nuevas situaciones. GENERAL

 

Resultados Aprendizaje

Identificador Resultado
R01 Capacidad de identificar la concurrencia en un problema y de descomponer el mismo en una serie de tareas concurrentes cooperativas debidamente sincronizadas.
R04 Capacidad para desarrollar el intercambio de mensajes entre objetos distribuidos bajo algún middleware, o bien mediante algún API de paso de mensajes.
R03 Capacidad para desarrollar programas concurrentes en algún lenguaje de programación que dé soporte a la concurrencia, con adecuado control de la exclusión mutua y la sincronización que sea necesaria, en base a las primitivas de control de la concurrencia que el lenguaje proporcione.
R05 Conocimiento básico del concepto de aplicación de tiempo real, y de algún API –a nivel puramente descriptivo- que proporcione soporte al mismo en el marco de programación general y bajo la misma filosofía utilizada para la consecución de los anteriores resultados
R02 Conocimiento de las principales primitivas teóricas de control de la exclusión mutua y la sincronización entre entidades concurrentes.

 

Actividades formativas

Actividad Detalle Horas Grupo Competencias a desarrollar
01. Teoría
Exposición de los contenidos de la materia con
ayuda de  diapositivas, junto con la propuesta de
ejercicios de afianzamiento desarrollados en
aula. Ejecución de códigos de prueba en aula y
desarrollo de soluciones a ejercicios de baja
complejidad.
30 C14
03. Prácticas de informática
El alumno resolverá en las clases de prácticas
informáticas un conjunto de ejercicios prácticos
de programación con la asistencia y el
asesoramiento del profesor. Tales ejercicios
configurarán una asignación de prácticas, siendo
su propuesta de carácter semanal o bisemanal, y
su confección y entrega obligatoria para el
alumno.
30 C14 T08
10. Actividades formativas no presenciales
a) Lectura cuidadosa y razonada de las
referencias bibliográficas indicadas por los
profesores.

b) Resolución de los ejercicios y/o problemas de
afianzamiento de contenidos propuestos por los
profesores.

c) Estudio intenso y continuado con denuedo y
dedicación
90 C14 T08

 

Evaluación

Criterios Generales de Evaluación

APARTADO PRIMERO: CRITERIOS DE CORRECCIÓN Y DESARROLLO DE EXÁMENES

A) DEL EXAMEN TEÓRICO
-El examen teórico será escrito, con una duración mínima de 60 minutos y máxima
de 120 minutos. Dicho examen podrá incluir preguntas tipo test de repuesta simple
o múltiple, preguntas de desarrollo corto, ejercicios o problemas.
-El examen teórico se calificará de 0 a 10 puntos. Se obtiene  Aprobado en el
examen teórico con una calificación igual o superior a cinco puntos.
-Una cuestión tipo test, corta, ejercicio o problema simple,  se consideran
correctos únicamente si la solución final que se proporciona es completamente
correcta. En otro caso se considera incorrecta y no puntúa.
-Una cuestión tipo test, corta, ejercicio o problema de múltiples apartados se
consideran  correctos si todos los apartados que la conforman son correctos. En
cualquier otro caso es incorrecta y no puntúa.

B) DEL EXAMEN PRÁCTICO
-Se realizará en ordenador con una duración mínima de 120 minutos y máxima de 180
minutos. El alumno dará solución mediante algún lenguaje de programación que dé
soporte a la concurrencia a los enunciados que se le planteen.
-El examen práctico se calificará de 0 a 10 puntos. Se obtiene  Aprobado en el
examen práctico con una calificación igual o superior a cinco puntos.
-Las condiciones que una solución a un enunciado de examen  práctico debe cumplir
para considerarse correcta son:

a) Los ficheros subidos a través del Campus Virtual que conforman el examen
práctico se ajustan al número, formato y nomenclatura de nombres explicitados por
el profesor en el documento de examen.
b) El contenido de los ficheros es el especificado por el profesor en el
documento de examen en orden a solucionar el enunciado en cuestión.
c) Los programas elaborados por el alumno, se pueden abrir y procesar con el
compilador del lenguaje, y realizan un procesamiento técnicamente correcto,según
el enunciado de que se trate. Se entiende por un procesamiento técnicamente
correcto a aquél código de programa que compila correctamente sin errores, cuya
semántica da soporte a la solución pedida, y que ha sido escrito de acuerdo a las
convenciones de estilo y eficiencia habituales en programación

C) DE LAS APORTACIONES AL FORO, GLOSARIO Y WIKI DEL CAMPUS VIRTUAL
-Tendrán carácter individual y podrán realizarse durante el periodo de clases de
la asignatura, pudiendo incluir definiciones, tópicos concretos de la asignatura,
o desarrollos completos de conceptos teóricos o prácticos. Se podrán publicar en
los foros, glosario o wiki del campus virtual de la asignatura.
-Su validación a efectos de ser puntuados exigirá tener un contenido mínimo, ser
técnicamente correctas, y describir con propiedad y un uso correcto del idioma y
–en su caso- de la notación, el elemento de que se trate. Cada aportación
correcta sumará un máximo de 1 punto.El alumno podrá realizar tantas aportaciones
como estime oportuno, si bien el límite práctico de puntuación a obtener en este
apartado es de 10 puntos.

D)DE LAS ASIGNACIONES DE PRÁCTICAS
Semanalmente se propondrá al alumno una asignación de prácticas, que este deberá
resolver y entregar a través del Campus Virtual. Los criterios de corrección (en
su caso) de las mismas, y dada su naturaleza práctica, serán los mismos que los
descritos en el apartado B) anterior para los exámenes prácticos. Estas
asignaciones podrán servir para compensar la calificación del examen final de
prácticas, siempre que se cumplan los criterios descritos en el punto c) del
APARTADO SEGUNDO.

APARTADO SEGUNDO: CRITERIOS DE EVALUACIÓN
a) La calificación final de la asignatura vendrá determinada por la calificación
obtenida en el examen final teórico ponderada al 40%, sumada a la calificación
obtenida mediante las aportaciones a foros, glosario y wiki, ponderada al 10% y
sumada a la calificación obtenida en el examen final práctico ponderada al
50%,siempre que se cumplan todos los criterios siguientes:

-se haya obtenido al menos cinco puntos en el examen final teórico.
-se haya obtenido al menos cinco puntos en el examen final de prácticas.

b) El examen final práctico no será corregido si no se supera el examen  final
teórico, ni tampoco las aportaciones evaluables en foros, glosario y wiki del
campus virtual.
c) Aquél alumno que obtenga menos de cinco puntos en el examen final práctico
pero obtenga un mínimo de dos puntos, podrá compensar la diferencia y superarlo
mediante las asignaciones de prácticas que se habrán ido entregando durante el
curso, siempre que se sumplan los siguientes criterios:  el 100% de las
asignaciones han sido entregadas, al menos el 70% de las mismas están bien
resueltas y el alumno ha acreditado una asistencia a las clases prácticas de al
menos el 80% de las horas de clase práctica impartidas.
d)Exclusivamente para las convocatorias de Junio y Septiembre, se habilitará un
periodo de entrega de asignaciones prácticas atrasadas para aquellos alumnos que
no habiendo cumplido con el calendario de entregas, deseen realizar las mismas
previamente a las citadas convocatorias. No obstante, fuera de las mismas el
profesor podrá establecer plazos extrarordinarios de entrega si lo considera
oportuno.

El alumno debe conocer además que la evaluación se regirá por las  siguientes
normas adicionales:

1)En caso de no poder entregar una asignación de prácticas por enfermedad o causa
de fuerza mayor documentalmente justificadas, el profesor indicará al alumno
nueva fecha de entrega. Como se ha indicado, para las convocatorias de Junio y
Septiembre, se habilitará un período de entrega de prácticas atrasadas, para
aquellos alumnos que deseen acogerse al mismo. No obstante lo anterior, el
profesor podrá establece plazos de entrega extraordinarios si lo considera
oportuno.

2) Los exámenes finales de Febrero, Junio y Septiembre se regirán por los
Estatutos de la Universidad de Cádiz y normativa derivada en cuanto a número de
llamamientos y días de revisión de calificaciones se refiere.

3) A toda convocatoria se acude con el temario completo (tanto teórico como
práctico). No se reservarán calificaciones de partes de la asignatura para
convocatorias sucesivas.

4) Para lo no contemplado en estas notas se estará a lo dispuesto en el
Reglamento de Régimen Académico y Evaluación del Alumnado de la Universidad de
Cádiz.

 

Procedimiento de Evaluación

Tarea/Actividades Medios, Técnicas e Instrumentos Evaluador/es Competencias a evaluar
Aportaciones a los foros, glosario y wiki del Campus Virtual de la asignatura MEDIOS: Soporte proporcionado por el Campus Virtual para la generación y distribución de contenidos elaborados por los alumnos. En concreto se utilizarán uno o varios de los siguiente medios: foro, glosario y wiki. TÉCNICA: Desarrollo libre y abierto de contenidos por el alunmno. INSTRUMENTO DE EVALUACIÓN: Revisión por el profesor de las aportaciones, que serán calificadas con hasta un máximo de un punto en función de su extensión y calidad.
  • Profesor/a
T08
Examen final de Prácticas MEDIOS: Computadoras personales, Plataforma Virtual Moodle y software de propósito específico para el desarrollo de la Programación Concurrente y de Tiempo Real. TÉCNICAS: Verificación de la corrección sintática, semántica y de estilo de los programas desarrollados por el alumno. INSTRUMENTOS DE EVALUACIÓN: Examen de prácticas incluyendo ejercicios y/o problemas de programación. El alumno debe escribir y depurar código de programa que dé solución a los ejercicios/problemas planteados, y que deberá entregar mediante el Campus Virtual al finalizar el tiempo asignado al examen práctico. El código deberá compilar correctamente, realizar un procesamiento técnicamente correcto, y haber sido escrito de acuerdo a las normas de estilo y eficiencia habituales en programación.
  • Profesor/a
C14 T08
Examen final teórico MEDIOS: Expresión Escrita. TÉCNICA: Verificación de la corrección de los enunciados plantedos. INSTRUMENTOS DE EVALUACIÓN: Exámenes escritos que pueden incluir algunos de los siguientes elementos: preguntas tipo test de respuesta simple o múltiple, cuestiones de desarrollo corto, demostraciones, ejercicios y problemas.
  • Profesor/a
C14 T08

 

Procedimiento de calificación

La calificación de la asignatura vendrá determinada de acuerdo a la siguiente
expresión:

CALIFICACIÓN=(0.4)*NOTA EXAMEN TEÓRICO+(0.1)*NOTA APORTACIONES AL CAMPUS
VIRTUAL+(0.5)*NOTA EXAMEN DE PRÁCTICAS

NOTA: Dicha ecuación será aplicable única y exclusivamente en el caso de que el
alumno haya obtenido una NOTA IGUAL O SUPERIOR A CINCO PUNTOS EN EL EXAMEN
TEÓRICO y EN EL EXAMEN DE PRÁCTICAS. Si uno de los dos exámenes no se supera, la
calificación final será la obtenida en el examen no superado.

 

Descripcion de los Contenidos

Contenido Competencias relacionadas Resultados de aprendizaje relacionados
            C01 Conocimiento básico de los conceptos de la concurrencia moderna, de los problemas que su uso genera, y de las
primitivas y soluciones estándares para solventar los mismos.

        
C14 R01 R02
            C02 Conocimiento básico de algún lenguaje de programación que dé soporte a algunas de las primitivas habituales
para control de la concurrencia.

        
C14 T08 R01 R03
            C03 Conocimiento de algún API que dé soporte a la comunicación entre hilos distribuidos mediante algún esquema de
paso de mensajes, o basado en middlewares.

        
C14 T08 R04
            C04 Conocimiento básico e introductorio a los sistemas de tiempo real y a su especial problemática.
        
C14 R05

 

Bibliografía

Bibliografía Básica

[Ben90] Ben-Ari, M. Principles of Concurrent and Distributed Programming.Prentice-Hall,1990.

[Ben06] Ben-Ari, M. Principles of Concurrent and Distributed Programming (second edition). Addison-Wesley, 2006.

[Bol09] Bollella, G. y Bruno, E. Real Time Java Programming With Java RTS. SunMicrosystems, 2009.

[Göe06] Göetz, B., Peierls, T., Bloch, J., Bowbeer, J., Holmes, D. y Lea, D.     Java Concurrency in Practice. Addison-Wesley, 2006.

[Pal03] Palma, J.T y otros. Programación Concurrente. Thompson Editores, 2003.

[Wel04] Wellings, A. Concurrent and Real Time Programming in Java. John Wiley &Sons, 2004

 

 

Bibliografía Específica

[Arn01] Arnold, K., Gosling, J. & Holmes, D. El Lenguaje de Programación Java. 
        Addison-Wesley, 2001.
[Bre95] Breshears, C. A Beginner's Guide to PVM-Parallel Virtual Machine. 
        Publicación electrónica del Joint Institute for Computational Science, 1995.
[Col94] Coulouris, G., Dollimore, J. and Kindberg, T. Distributed  Systems. Concept and Design. 
        2nd ed., Addison-Wesley, 1994.
[Eck00] Eckel, B. Piensa en Java. Prentice Hall, 2002.
[Kal09] Kalin, M. Java Web Services; Up and Running. O’Reilly,  2009.

 

 

Bibliografía Ampliación

[Lea01] Lea, Doug. Programación Concurrente en Java. Addison-Wesley, 2001.
[Mul93] Mullender, S (ed.) Distributed Systems, Second Edition. 
        Addison-Wesley, 1993.
[Mur89] Murata, T  Petri Nets: Properties, Analysis and Applications. 
        Proceedings IEEE vol. 77, no. 4. April, 1989.
[Nat06] Naftalin, M. & Wadler, P. Java Generics and Collections. O’Reilly, 2006.
[Oak04] Oaks, S. & Wong, H. Java Threads, 3rd Edition. O’Reilly, 2004.
[Per90] Pérez, J.E. Programación Concurrente.  Editorial Rueda, 1990.
[Pri03] Prieto, Manuel J. Curso de J2ME. Disponible en formato electrónico. 2003.
[Rif92] Rifflet, J.M. Comunicaciones en Unix. McGraw-Hill, 1992.
[Rob96] Robbins, K. & Robbins, S. Practical Unix Programming: A Guide to 
        Concurrency, Communication and Multithreading. Prentice Hall, 1996.
[Vin97] Vinoski, S. CORBA: Integrating Diverse Applications Within Distributed 
        Heterogeneus Environments. IEEE Communications Magazine, Vol. 35, No 2, 
        February 1997.
[Wan00] Wang, P.  Java. International Thompson Editores, 2000.

 

 

El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.