Вы находитесь на странице: 1из 14

Planificacin de la asignatura de ALGORITMOS Y ESTRUCTURAS DE DATOS

de 2 de Ingeniera Tcnica en Informtica de Gestin para su adecuacin


al Espacio Europeo de Enseanza Superior

I. INTRODUCCIN
II. CONTEXTO
III. MTODO DE TRABAJO (planificacin)
IV. DISEO DE LA ASIGNATURA (GUA DOCENTE)
1.

2.
3.
4.
5.

6.
7.
8.

9.

Identificacin
1.1. De la asignatura
1.2. Del profesorado
Presentacin
Conocimientos previos
Competencias
Contenidos
5.1. Sobre los conocimientos
5.2. Sobre las competencias
5.3. Objetivos formativos de cada tema
Metodologa docente
Temporalizacin o cronograma
Evaluacin
8.1. Evaluacin del aprendizaje
8.1.1 Esquema tradicional de evaluacin (punto de partida)
8.1.2 Nuevo esquema de evaluacin (esquema tradicional + aadidos)
Bibliografa
9.1 Bibliografa bsica
9.2 Bibliografa complementaria

IV. DISEO DE LA ASIGNATURA (GUA DOCENTE)

I. INTRODUCCIN
Con el nimo de responder a la necesidad de promover la convergencia entre los
sistemas nacionales de educacin superior de la Unin Europea, y teniendo en cuenta la
importancia de un desarrollo armnico del Espacio Europeo de Educacin Superior
antes del ao 2010, ante la demanda de una serie de mejoras en los sistemas educativos
de los estados de la Unin Europea que permitan una formacin ptima de los
estudiantes y su integracin en un mercado laboral unificado y sin fronteras, es
necesario acercarse cuanto antes a la metodologa que la nueva situacin implica.
Para aproximarse a dicho propsito, la Universidad de Murcia lanz la
Convocatoria para el desarrollo de experiencias de innovacin educativa en el contexto
de la convergencia europea para el curso 2006-2007, dentro de la cual se sita el marco
de trabajo de este documento.

II. CONTEXTO
La Facultad de Informtica de la Universidad de Murcia no es ajena a la necesidad de la
adaptacin de sus planes de estudio al Espacio Europeo de Educacin Superior. De
hecho, durante las ltimos tres cursos se han llevado a cabo experiencias piloto de
cursos completos y de asignaturas individuales o en grupo, e incluso para el curso 20072008 se va a continuar en la misma lnea con proyectos de tipo A y B.
En este contexto, durante el curso 2006-2007, nos acogimos a la convocatoria de la
Universidad de Murcia referida anteriormente, en su modalidad B, para trabajar con la
asignatura Algoritmos y Estructuras de datos:
Carcter
Temporalidad
Crditos LRU
Alumnos

Troncal
Anual
6 tericos + 6 prcticos
154

III. MTODO DE TRABAJO


El trabajo a realizar consista en los siguientes apartados:

1. Creacin de equipos docentes con participacin de profesores, estudiantes y,


en su caso, personal de administacin y servicios de la Universidad de Murcia,
para el desarrollo de materias o conjuntos de asignaturas concretas.

2. Elaboracin de guas docentes de titulacin, asignaturas y unidades


didcticas en una o varias reas, bajo el prisma de la metodologa ECTS.

3. Diseo de materiales en relacin al ECTS.

4. Actividades no presenciales, desarrollo de materiales y estrategias para la


integracin y aplicacin de las TIC a las nuevas metodologas docentes en la
titulacin.

5. Acciones encaminadas a la formacin, motivacin, difusin e informacin del


profesorado, del personal de administracin y servicios y del alumnado en
nuevas metodologas docentes, tanto generales como especficas, de las
respectivas reas o grupos de reas de conocimiento.

Para poder llevar a cabo la planificacin anterior, se conform al comienzo del curso
2006-2007 el grupo de trabajo, formado por los siguientes profesores: Norberto Marn
Prez (coordinador), Domingo Gimnez Cnovas y Jesualdo Toms Fernndez Breis;
tambin se incluyeron en dicho grupo a tres alumnos con experiencia en proyectos
piloto en cursos anteriores: Javier Serrano Esteban, Lidia Snchez Snchez y Eva Mara
Brocal Snchez.

Se han mantenido peridicamente reuniones durante todo el curso, evitando,


evidentemente, los periodos de exmenes. El objetivo que se marc desde el principio
fue preparar el material necesario para la docencia en la asignatura con el propsito de
procurar su adaptacin a la metodologa ECTS.
Se contaba con el texto gua que se elabor durante el curso 2002-2003 y se ofreci
a los alumnos al siguiente curso. A partir de l se ha elaborado la Gua Docente, que se
incluye en este documento partiendo del modelo propuesto por la Universidad de
Murcia para tal fin.
Durante el primer trimestre del curso, se llev a cabo una labor de recopilacin de
material, tanto documentos oficiales como relativos a experiencias piloto desarrolladas
con anterioridad en asignaturas y reas de conocimiento paralelas a las implicadas en
nuestra asignatura y de utilidad como modelo y fuente de ideas y sugerencias.
Durante el segundo trimestre se elaboraron y confeccionaron competencias,
objetivos, unidades didcticas, planificaciones temporales, metodologas docentes y
mtodos de evaluacin.
Durante el tercer trimestre se ha estudiado la viabilidad y empleo de nuevas
tecnologas y herramientas software para la mejora de la docencia. En concreto se ha
estudiado la viabilidad del uso de una aplicacin software, Mooshack, empleada en los
ACM Contest (concursos internacionales de programacin organizados por la ACM,
Association for Computing Machinery), para correccin automtica de ejercicios. Se va
a utilizar durante el curso 2007-2008. Tambin se tiene presente la posible utilizacin de
otra aplicacin, Moodle. Adems, por supuesto, se cuenta con la pgina web de la
asignatura.
En realidad, no se puede decir que en cada periodo temporal nos hayamos ceido a
desarrollar exclusivamente lo que estaba planificado. Ha habido un proceso de
realimentacin conforme se iban recopilando nuevos materiales o nuevas experiencias.
Durante el curso hemos asistido a las I Jornadas Nacionales sobre adaptacin de la
Universidad de Murcia al Espacio Europeo de Educacin Superior: Proyectos de
Innovacin Educativa los das 11 y 12 de diciembre de 2006, a las II Jornadas
Nacionales sobre el Espacio Europeo de Educacin Superior. Presente y futuro de la
Convergencia Europea los das 23 y 24 de abril de 2007, a la conferencia titulada
Adaptacin al Espacio Europeo de Educacin Superior en la Escuela de Informtica,
impartida en la Facultad de Informtica por la Subdirectora de Innovacin Educativa de
ETS de Ingeniera Informtica de la Universidad de Mlaga, y a las JENUI (XIII
Jornadas de Enseanza Universitaria de la Informtica) desarrolladas en Teruel del 16
al 18 de julio de 2007, as como a diversas reuniones con la Vicerrectora de
Convergencia Europea y con los coordinadores de proyectos piloto de otros centros.
Finalmente, y con todo lo anterior, se ha elaborado este informe que solo pretende
dar un pequeo paso adelante hacia la convergencia europea en cuanto experiencia
enriquecedora y previsora de lo que se avecina inminentemente.

IV. DISEO DE LA ASIGNATURA (GUA DOCENTE)


1. Identificacin
1.1 De la asignatura
Nombre de la signatura
Cdigo
Curso / Grupos
Tipo
Crditos LRU
Estimacin del volumen de trabajo del alumno
(ECTS)*
Duracin

ALGORITMOS Y ESTRUCTURAS DE DATOS


05BH
Segundo / 1
Troncal
6 Tericos + 6 Prcticos
10
Anual

1.2 Del profesorado


Nombre y apellidos (Coordinador)
rea/ Departamento
Despacho y Facultad dnde se ubica.
Telfono
Correo electrnico y pgina web

Norberto Marn Prez


Lenguajes y Sistemas Informticos / DIS
2.27 Facultad de Informtica
968 36 46 37
nmarin@dif.um.es
http://dis.um.es/~nmarin/

Horario de atencin al alumnado


Nombre y apellidos
rea/ Departamento
Despacho y Facultad dnde se ubica.
Telfono
Correo electrnico y pgina web

Domingo Gimnez Cnovas


Lenguajes y Sistemas Informticos / DIS
2.03 Facultad de Informtica
968 36 46 11
domingo@dif.um.es
http://dis.um.es/~domingo/

Horario de atencin al alumnado


Nombre y apellidos
rea/ Departamento
Despacho y Facultad dnde se ubica.
Telfono
Correo electrnico y pgina web

Alberto Prez Vela


Lenguajes y Sistemas Informticos / DIS
2.16 Facultad de Informtica
968 39 85 26
albperez@um.es
http://dis.um.es/~albertopv/

Horario de atencin al alumnado


Nombre y apellidos
rea/ Departamento
Despacho y Facultad dnde se ubica.
Telfono
Correo electrnico y pgina web
Horario de atencin al alumnado

Juan Jos Meroo Snchez


Lenguajes y Sistemas Informticos / DIS
2.23 Facultad de Informtica
968 36 46 46
jjmerono@um.es
http://dis.um.es/~jjmerono/

2. Presentacin
Los algoritmos y las estructuras de datos constituyen los dos pilares bsicos de la
programacin. Esta asignatura se puede ver como una continuacin natural de la
asignatura de programacin de primer curso. Partiendo de una base previa en los
principios de la programacin, se intenta desarrollar en los alumnos las habilidades de
resolucin de problemas, con herramientas como los esquemas algortmicos, el
razonamiento inductivo, la descomposicin modular, la aplicacin de procesos
metdicos, y en general el pensamiento algortmico. Los conocimientos adquiridos en
la asignatura resultan fundamentales en todas las asignaturas posteriores donde se
requieran conocimientos de programacin.

3. Conocimientos previos
Se supone que el alumno domina los conceptos esenciales de programacin, y conoce
las estructuras de datos fundamentales estudiadas en primer curso. En concreto, es
imprescindible que los alumnos hayan aprobado la asignatura 05BD - Metodologa y
Tecnologa de la Programacin. Asimismo, deben saber programar con soltura en un
lenguaje imperativo estructurado. Tambin es necesario un dominio suficiente de los
conceptos y destrezas matemticas de primer curso.

4. Competencias
Transversales/Genricas
- Capacidad de anlisis y sntesis.
- Capacidad de organizacin y planificacin.
- Comunicacin oral y escrita.
- Conocimientos de informtica relativos al mbito de estudio.
- Resolucin de problemas.
- Toma de decisiones.
- Razonamiento crtico.
- Compromiso tico.
- Habilidades en las relaciones interpersonales.
- Trabajo en equipo.
- Aprendizaje autnomo.
Especficas de la asignatura
En el siguiente apartado sobre los contenidos se incorporan las competencias y
objetivos especficos asociados a cada tema en particular. De esta manera, creemos que
es ms claro.

5. Contenidos

5.1 Sobre los conocimientos

5.1.1 Programa de Teora


Parte I. Estructuras de Datos.
Tema 1. Abstracciones y especificaciones
Tema 2. Conjuntos y diccionarios
Tema 3. Representacin de conjuntos mediante rboles
Tema 4. Grafos
Parte II. Algortmica
Tema 1. Anlisis de algoritmos
Tema 2. Divide y vencers
Tema 3. Algoritmos voraces
Tema 4. Backtracking
Tema 5. Ramificacin y poda

5.1.2 Programa de Prcticas


Las prcticas consistirn en el anlisis, diseo, implementacin y prueba de algunos
problemas de algoritmos y de estructuras de datos, usando el lenguaje de programacin
C++ sobre Linux. Para ello se impartirn dos seminarios:
- Seminario 1: Programacin en C (8 horas)
- Seminario 2: Programacin en C++ (6 horas)
Adems, se impartir un seminario, cuya participacin ser opcional, que servir para la
realizacin voluntaria de una prctica sobre los contenidos del tema 1 (Abstracciones y
especificaciones), que eliminar la materia correspondiente para el examen:
- Seminario de especificaciones algebraicas (2 horas)

5.2 Sobre las competencias


El objetivo fundamental de la asignatura es el siguiente: ser capaz de analizar,
comprender y resolver una amplia variedad de problemas computacionales, diseando e
implementando soluciones eficientes y de calidad, como resultado de la aplicacin de
un proceso metdico.

5.3 Objetivos formativos de cada tema


Parte I. Estructuras de Datos.
Tema 1. Abstracciones y Especificaciones
Reconocer la importancia de la abstraccin no solo en programacin,
sino como un mecanismo fundamental de la capacidad intelectual
humana y conocer los mecanismos y tipos de abstracciones que
aparecen en programacin.
Concienciarse de la necesidad de desarrollar especificaciones del
software que sean tiles y precisas, entendiendo la especificacin como
un punto de acuerdo entre el usuario y el implementador de una
abstraccin.
Conocer algn lenguaje de especificacin formal de TAD y aplicarlo en
la especificacin de los TAD estudiados en la asignatura. En particular,
conocer el mtodo algebraico, basado en el uso de axiomas, y el
constructivo, basado en la definicin de precondiciones y
poscondiciones.
Tema 2. Conjuntos y diccionarios
Familiarizarse con la notacin y terminologa de los tipos de datos
abstractos conjunto, diccionario y bolsa, siendo consciente de la
importancia y ubicuidad de estos tipos en el desarrollo de programas.
Ser capaz de disear, implementar y analizar estructuras de
representacin no arbreas para los tipos conjunto y diccionario,
adaptadas a las necesidades especficas de cada aplicacin.
Conocer la estructura de datos de tablas de dispersin, sus distintas
variantes y los factores que influyen en su eficiencia.
Concienciarse de la importancia del factor eficiencia, en cuanto a tiempo
de ejecucin y uso de memoria, en el diseo e implementacin de
estructuras de datos.
Comprender la independencia entre la idea de datos almacenados y
estructura de acceso a esos datos, a travs del estudio de estructuras
duales o mltiples.
Tema 3. Representacin de conjuntos mediante rboles
Entender y conocer un conjunto de tcnicas eficientes de representacin
de conjuntos y diccionarios mediante estructuras arbreas, como los
rboles trie, AVL y B.
Comprender la necesidad de usar mecanismos de equilibrado o balanceo
para conseguir eficiencia en las distintas representaciones arbreas.
Adquirir la habilidad de evaluar las necesidades de representacin de
una aplicacin especfica, tomando decisiones justificadas sobre las
estructuras de representacin ms adecuadas.
Ser capaz de disear e implementar tipos de datos usando las estructuras
estudiadas en este tema, realizando las adaptaciones que cada aplicacin
concreta requiera.

Tema 4. Grafos
Familiarizarse con la notacin y terminologa usada en teora de grafos,
incluyendo tipos de grafos, propiedades, conceptos y problemas tpicos
sobre grafos.
Ser capaz de disear e implementar una estructura para el tipo de datos
grafo en sus distintas variantes, usando listas y matrices de
adyacencia.
Analizar las ventajas e inconvenientes de las representaciones de grafos
mediante listas y matrices de adyacencia, y su influencia en la eficiencia
de los algoritmos sobre grafos estudiados.
Conocer y comprender el funcionamiento de una amplia variedad de
algoritmos clsicos sobre grafos (tales como los algoritmos de Prim,
Kruskal, Dijkstra, Floyd y Warshall), razonando sobre las ideas
subyacentes y analizando su complejidad computacional.
Adquirir la habilidad de usar los algoritmos estudiados como
herramientas para la resolucin de problemas en un contexto genrico, a
travs de la transformacin de un problema de inters en un problema
sobre grafos.
Ser capaz de disear algoritmos para resolver nuevas clases de
problemas sobre grafos.
Parte II. Algortmica
Tema 1. Anlisis de algoritmos
Concienciarse de la importancia del estudio de los recursos consumidos
por un algoritmo y del inters de hacerlo antes de la implementacin,
entendiendo que para cada aplicacin puede variar lo que sea
considerado un recurso crtico.
Saber determinar en funcin de qu parmetros est dado el tamao de
un problema y qu otros factores afectan al consumo de recursos.
Comprender, distinguir y relacionar los conceptos de eficiencia,
complejidad computacional y tiempo de ejecucin de un algoritmo, en
los casos mejor, peor y promedio.
Conocer y usar correctamente y con soltura las notaciones de
complejidad O, omega, y o-pequea, comprendiendo su significado,
utilidad y limitaciones.
Conocer las cotas de complejidad que aparecen ms frecuentemente en
el estudio de algoritmos, as como la relacin entre los rdenes de estas
funciones.
Saber calcular el tiempo de ejecucin, el orden de complejidad y el uso
de memoria de una gran variedad de tipos de algoritmos, usando las
tcnicas bsicas de conteo de instrucciones y de memoria.
Repasar el concepto de recursin y las cuestiones ligadas a la
construccin de algoritmos recursivos.
Ser capaz de analizar algoritmos recursivos, aplicando los resultados del
anlisis en comparacin de algoritmos, evaluacin de resultados
experimentales y prediccin de tiempos de ejecucin.

Conocer y saber aplicar la tcnica del polinomio caracterstico para la


resolucin de ecuaciones recurrentes lineales y homogneas, y su
extensin a algunos casos no homogneos o no lineales.
Conocer algunas tcnicas alternativas para la resolucin de ecuaciones
de recurrencia no lineales.
Comprender el papel de las condiciones iniciales en la resolucin de las
ecuaciones de recurrencia, determinando justificadamente cules deben
ser usadas en cada caso.
Identificar las ecuaciones recurrentes ms frecuentes en el estudio de
algoritmos y los rdenes de complejidad a los que dan lugar.

Tema 2. Divide y vencers


Comprender los fundamentos de la tcnica de diseo de algoritmos
basada en divide y vencers, identificando su estructura en algunos
algoritmos ya conocidos.
Conocer tanto las ventajas como las limitaciones en la aplicacin de la
tcnica de divide y vencers.
Ser capaz de valorar la posibilidad y conveniencia de aplicar divide y
vencers sobre cierto problema, entendiendo que puede existir ms de
una forma en que la tcnica sea aplicada.
Analizar el tiempo de ejecucin de los algoritmos de divide y vencers,
al menos para el peor caso.
Conocer la influencia del tamao del caso base en el tiempo de
ejecucin, resolviendo problemas de obtencin de tamaos ptimos del
caso base.
Tema 3. Algoritmos voraces
Comprender los fundamentos de la tcnica de diseo de algoritmos
voraces o de avance rpido, identificando su estructura en varios de los
algoritmos sobre grafos ya estudiados.
Conocer una variedad de algoritmos voraces, adquiriendo la capacidad
de aplicar avance rpido para problemas nuevos, determinando si su
aplicacin es posible y adecuada.
Valorar la importancia de disear heursticas de seleccin adecuadas,
como un medio para obtener buenos algoritmos voraces.
Demostrar formalmente la optimalidad de algunos algoritmos voraces,
usando reduccin al absurdo y anlisis de casos.
Conocer la utilidad de la tcnica de avance rpido en la resolucin no
ptima o aproximada de problemas complejos, analizando el
compromiso exactitud/complejidad que se plantea.
Tema 4. Backtracking
Comprender los fundamentos de la tcnica de diseo de algoritmos
basada en backtracking, razonando sobre la idea subyacente de recorrido
implcito en rbol de soluciones.
Ser consciente de la gran flexibilidad que ofrece backtracking en cuanto
a distintos tipos de rboles, problemas a resolver y esquemas (recursivos
o no recursivos) para su implementacin.

Identificar distintos tipos de problemas que se pueden resolver por


backtracking, adquiriendo la capacidad de aplicarlo en problemas
nuevos, determinando si su aplicacin es posible y adecuada.
Saber analizar el orden de complejidad de los algoritmos de
backtracking, siendo capaz, al menos, de dar cotas superiores del tiempo
de ejecucin en el peor caso.
Tomar conciencia de la necesidad de usar diferentes estrategias para
reducir la complejidad computacional implcita en los algoritmos de
backtracking.

Tema 5. Ramificacin y poda


Comprender los fundamentos de la tcnica de diseo de algoritmos de
ramificacin y poda, entendindola como una generalizacin de la idea
de recorrido implcito en rbol de soluciones.
Distinguir y relacionar las tcnicas de backtracking y ramificacin y
poda, analizando cuando puede ser preferible una u otra para un
problema dado.
Ser capaz de aplicar ramificacin y poda en problemas nuevos,
comprendiendo la importancia de la heurstica en la resolucin eficiente
de problemas de alto coste computacional.
Entender las implicaciones del compromiso que se plantea en el clculo
de cotas para una solucin parcial: clculo preciso pero lento o rpido
pero inexacto.
Saber disear y utilizar de mtodos aproximados (como, por ejemplo,
heursticas voraces) como ayuda en la resolucin de problemas por
ramificacin y poda.

6. Metodologa docente
El mtodo docente utilizado en la asignatura incluir las siguientes actividades:

La leccin magistral, como el mtodo ms ampliamente utilizado en el


desarrollo de las clases de teora; aunque no por ello el nico. La asistencia es
muy aconsejable, puesto que se llevarn a cabo actividades no contempladas en
otros materiales, como el establecimiento de los contenidos mnimos necesarios
para superar la asignatura (concepto de objetivos mnimos, ver apartado 8 evaluacin).
Las clases de problemas, utilizadas como un modo de apoyar la consolidacin
de los conocimientos tericos. Los enunciados se entregarn de forma
anticipada, y la resolucin se realizar por parte de los alumnos, con la
supervisin del profesor. La participacin activa en las clases de problemas
generar puntuacin extra.
Los seminarios o laboratorios cerrados, usados para la presentacin y desarrollo
de las actividades prcticas bajo una gua y supervisin directa del profesor. En
concreto, se utilizarn para la enseanza de los lenguajes C y C++.
Las prcticas o laboratorios abiertos, que permiten el trabajo autnomo de los
alumnos en la elaboracin de las prcticas, de manera no presencial, aunque

supervisada con cierta periodicidad (concepto de esquema tutorizado de


realizacin de prcticas).
Las tutoras, como un medio para complementar las restantes actividades,
ofreciendo un apoyo directo e individualizado de los alumnos. El profesor podr
citar a los alumnos para la realizacin de tutoras peridicas de seguimiento del
trabajo realizado.

7. Temporalizacin o cronograma
Programa de teora

ALGORITMOS Y ESTRUCTURAS DE DATOS


PARTE I: ESTRUCTURAS DE DATOS
Tema 0. Estructuras de datos y algoritmos
Tema 1. Abstracciones y especificaciones
Tema 2. Conjuntos y diccionarios
Tema 3. Representacin de conjuntos mediante rboles
Tema 4. Grafos
PARTE II: ALGORTMICA
TCNICAS DE ANALISIS
Tema 1. Anlisis de algoritmos
TCNICAS DE DISEO
Tema 2. Divide y vencers
Tema 3. Algoritmos voraces
Tema 4. Backtracking
Tema 5. Ramificacin y poda

Tiempo
(horas)
60
30
1
6
7
7
9
30
10
10
20
5
5
6
4

Mnimo
(horas)
53
27
0
5
6
7
9
26
9
9
17
4
4
5
4

Programa de prcticas
Tiempo
presencial
(horas)
ALGORITMOS Y ESTRUCTURAS DE DATOS
28
SEMINARIOS DE PROGRAMACIN
14
Seminario 1. Programacin en C
8
Seminario 2. Programacin en C++
6
Seminario 3. Especificaciones formales algebraicas
2*
PRCTICAS DE PROGRAMACIN
6
Prctica 1. Anlisis y diseo de estructuras de datos
3
Prctica 2. Eficiencia, evaluacin y prediccin
3
PRCTICAS DE PIZARRA
8
* No se suman al total, al tratarse de prcticas optativas.

Dedicacin
alumnos
(horas
aprox.)
100

4*
100
60
40

Crditos
equival.
(aprox.)
6
1,4
0,8
0,6
3,8
2,3
1,5
0,8

8. Evaluacin
8.1 Evaluacin del aprendizaje
En este curso acadmico, en que la asignatura se encuentra inmersa en un plan piloto de
adaptacin al EEES, se utilizar en esquema mixto de evaluacin del aprendizaje, en el
que se toma como punto de partida el esquema tradicional y, sobre l, se aaden formas
novedosas de evaluacin. En el apartado 7.1.1 se detalla el esquema tradicional, y en el
7.1.2 las novedades aadidas en el mixto.
8.1.1 Esquema tradicional de evaluacin (punto de partida)
La nota final de la asignatura ser un promedio entre la nota total de prcticas y la nota
total del examen. La nota total de prcticas contar un 50% y la de examen un 50%.
Ambas partes deben estar aprobadas por separado.
Teora
Se realizarn dos exmenes parciales eliminatorios, en la modalidad terico-prctico.
La nota total del examen se obtendr promediando las notas de ambos parciales. El
primer parcial corresponde a la parte de estructuras de datos y contar un 50% en el
total. El segundo parcial corresponde a la parte de anlisis y diseo de algoritmos y
contar un 50%. Para obtener el promedio, se requiere que la nota de cada parcial sea
como mnimo de 4 sobre 10.
Prcticas
La nota total de prcticas ser un promedio de la nota obtenida en las distintas prcticas
de la asignatura. Para calcular el promedio, cada una de las partes (por separado) debe
tener como mnimo un 5 sobre 10. En otro caso las prcticas se consideran no
aprobadas. La evaluacin de las prcticas se concretar cuando se entregue a los
alumnos el enunciado de las mismas.
8.1.2 Nuevo esquema de evaluacin (esquema tradicional + aadidos)

Se realizarn dos exmenes parciales, en la modalidad terico-prctico. La nota


total del examen se obtendr promediando las notas de ambos parciales. El
primer parcial corresponde a la parte de estructuras de datos y contar un 50%
en el total. El segundo parcial corresponde a la parte de anlisis y diseo de
algoritmos y contar un 50%. Para obtener el promedio, se requiere que la nota
de cada parcial sea como mnimo de 4 sobre 10. El aprobado global en teora se
establece en 5.

Se mantendr la nota de un parcial aprobado hasta la convocatoria de


septiembre incluida. Se aprueba un parcial con una nota mnima de 5 sobre 10.

La superacin de la prctica opcional de especificaciones algebraicas supone


eliminar la materia correspondiente para el examen.

Para la superacin de las prcticas podr haber varios esquemas de trabajo


posibles:

a)

Se realizarn dos prcticas con carcter obligatorio, similares para todos los
alumnos:
Prctica 1: Implementacin y manejo de estructuras de datos.
Prctica 2: Eficiencia, evaluacin y prediccin.
Es necesario realizar ambas prcticas y aprobarlas por separado (nota mnima
un 5 sobre 10). Cabra la posibilidad de que esas prcticas pudieran
descomponerse en subapartados, referidos cada uno de ellos a cada uno de los
temas de teora.

b)

Se propondrn diferentes prcticas a cada alumno, que debern versar sobre


los contenidos de la materia terica de la asignatura. Dependiendo de la
modalidad del trabajo, se establecern los requisitos para su superacin.

Adems se podran proponer diferentes sistemas complementarios de


evaluacin de la materia terica (prcticas, trabajos opcionales relativos a
determinados temas de la asignatura...). En su caso, la superacin de cada
trabajo opcional conllevara la superacin de la materia terica del tema
correspondiente.

Los alumnos podrn obtener hasta un punto, a sumar a la nota de teora (una vez
aprobada la asignatura), mediante la resolucin de problemas en la pizarra en
clases de problemas. Esta puntuacin adicional no es contabilizada como
satisfaccin de objetivos mnimos del examen.

Adicionalmente y como actividad voluntaria (aunque muy recomendable para


los estudiantes), se preparar a los alumnos para participar en el concurso
internacional de programacin ACM International Collegiate Programming
Contest. Para ello se ofrecer un curso de promocin educativa (Preparacin
para el concurso Internacional ACM de programacin para estudiantes
universitarios) y un concurso de programacin (Olimpiadas Murcianas de
Programacin) a nivel local. Los alumnos ganadores recibirn como premio la
participacin en el concurso internacional (SWERC'2008) con los gastos
pagados, siempre que ello sea factible. A la nota final de la asignatura (una vez
aprobada) se le sumar 0,5 puntos a aquellos alumnos que hayan realizado el
curso de promocin educativa y, por consiguiente, hayan participado en la
Olimpiadas de Programacin.

Si se aprueba una de las dos partes de la asignatura (teora o prcticas), se


conservar la nota de dicha parte hasta que se logre superar la parte pendiente.

9. Bibliografa

9.1 Bibliografa bsica

Gins Garca Mateos, Joaqun Cervera Lpez, Norberto Marn Prez y


Domingo Gimnez Cnovas. Algoritmos y Estructuras de Datos, Volumen I:
Estructuras de Datos. Diego Marn, 2003.
Domingo Gimnez Canovas, Joaqun Cervera Lpez, Gins Garca Mateos y
Norberto Marn Prez. Algoritmos y Estructuras de Datos, Volumen II:
Algoritmos. Diego Marn, 2003.
A.V. Aho, J.E. Hopcroft y J.D. Ullman. Estructura de datos y algoritmos.
Addison-Wesley, 1988.

9.2 Bibliografa complementaria

Brassard, G.; Bratley, P.: Fundamentos de algoritmia. Prentice-Hall, 1998.

Weiss, M.A.: Estructuras de datos y algoritmos. Addison-Wesley, 1995.

Mart, M.; Ortega, Y.; Verdejo, A.: Estructuras de datos y mtodos


algortmicos: ejercicios resueltos. Prentice Hall, 2004.

Baase, S.; Van Gelder, A.: Computer algorithms. Introduction to Design and
Analysis. Addison-Wesley, 2000.

Cormen, T.H.; Leierson, C.E.; Rivest, R.L.; Stein, C.: Introduction to


algorithms, second edition. The MIT Press, 2001.

Wirth, N.: Algoritmos y estructura de datos. Prentice-Hall, 1987.

Heileman, G.L.: Estructuras de Datos, Algoritmos y Programacin orientada a


Objetos. McGraw-Hill, 1997.

Hoorobeek, I.V.: Algebraic Specifications. From Many-Sorted Algebras to a


Practical Specification Language. K.U. Leuven, Dept. of Computer Science, 1985.

Joyanes, L.; Zahonero, I.: Estructura de datos. McGraw-Hill, 1998.

Mehlhorn, K.: Data Structures and Algorithms. Springer-Verlag, 1984.

Pea, R.: Diseo de programas. Formalismo y abstraccin. Prentice-Hall, 1997.

Kernighan, B.W., Ritchie, D.M.: El lenguaje de programacin C. PrenticeHall, 1991.


Stroustrup, B.: El lenguaje de programacin C++. Addison Wesley, 1998.

V. CONCLUSIONES
Entendemos y consideramos que este trabajo realmente no est del todo concluido. A lo
largo del nuevo curso 2007-2008, seguiremos trabajando en ello en un proyecto piloto
tipo B, lo que permitir aplicar lo anterior, siempre abierto a nuevas ideas y opciones.