Syllabus query

Academic Year/course: 2017/18

30213 - Data Structures and Algorithms

Syllabus Information

Academic Year:
30213 - Data Structures and Algorithms
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
326 - Escuela Universitaria Politécnica de Teruel
439 - Bachelor's Degree in Informatics Engineering
443 - Bachelor's Degree in Informatics Engineering
First semester
Subject Type:

5.1. Methodological overview

The learning process that is designed for this subject is based on the following:


The study and work continued since the first day of class.
Learning concepts and methodologies for the design and implementation of correct, reusable and efficient Abstract Data Types (ADTs) through lectures, in which student participation will be encouraged.
The application of such knowledge to the design and analysis of algorithms and programs in the classes of problems. In these classes students will play an active role in the discussion and resolution of problems.
Labs in which the student will implement several programming projects, applying the concepts and techniques explained in the lectures.
Teamwork whose result will be reflected in the delivery of suitably designed and documented resulting programs, as well as the explanation and justification of the design and decisions adopted.
A continued work combining concepts and analysis understanding, problem solving using "pencil and paper", and the set-up of (small or medium size) programming projects.

5.2. Learning tasks

Lectures in the classroom where the contents of the course will be developed.

Classes of problems to apply the concepts and techniques previously presented.
The practice sessions take place in a computer lab. In these sessions students will work in teams and perform a number of programming jobs directly related to the topics studied in the course. A series of works or programming exercises will be proposed to be developed either in the laboratory or at home. Result of this work will be delivered within the fixed deadlines.

5.3. Syllabus

  1. Programming with Abstract Data Types (ADTs).
  2. Linear ADTs.
  3. Tree ADTs.
  4. Dictionaries and hash tables.
  5. Introduction to algorithmic schemes.
  6. Introduction to graphs.


5.4. Course planning and calendar


  • Theoretical classes (2 hours per week)
  • Classes of problems (1 hour weekly)



There will be a first face two-hour session in the laboratory. In the rest of the (no presential) practices, students will work in teams, tutored by a teacher. Programming projects will be performed and presented as specified for each of them, and within deadlines to be announced.

Student Work:


The dedication of the student to achieve the learning outcomes in this subject is estimated at 157 hours distributed as follows:

  • 47 hours, approximately, of classroom activities (lectures, problems and laboratory face practices)
  • 42 hours of programming team work
  • 62 hours of effective personal study
  • 6 hours for exams

5.5. Bibliography and recommended resources



Basic Bibliography:

  • Weiss, M.A.: Data Structures and Algorithm Analysis in C++, 4th Edition, Pearson/Addison Wesley, 2014.
  • Hernández, Z.J. y otros: Fundamentos de Estructuras de Datos. Soluciones en Ada, Java y C++, Thomson, 2005.
  • Shaffer, Clifford A.: Data Structures and Algorithm Analysis in C++, Third Edition, Dover Publications, 2013. (En línea.)


  • Martí Oliet, N., Ortega Mallén, Y., Verdejo López, J.A.: Estructuras de datos y métodos algorítmicos: 213 ejercicios resueltos. 2ª Edición, Ed. Garceta, 2013.
  • Joyanes, L., Zahonero, I., Fernández, M. y Sánchez, L.: Estructura de datos. Libro de problemas, McGraw Hill, 1999.

Bibliography on C++:

  • Stroustrup, B.: The C++ Programming Language, 4th Edition, Addison-Wesley, 2013.

Complementary Bibliography:

  • Campos Laclaustra, J.: Estructuras de Datos y Algoritmos, Prensas Universitarias de Zaragoza, Colección Textos Docentes, 1995.
  • Franch Gutiérrez, X.: Estructuras de Datos. Especificación, Diseño e Implementación, 3ª edición, Ed. Edicions UPC, 2001.
  • Mehta, D.P. y Sahni, S.: Handbook of Data Structures and Applications, Chapman & Hall/CRC, 2005.




BB Estructura de datos. Libro de problemas / Luis Joyanes Aguilar [et al.] Madrid [etc.] : McGraw-Hill, D.L.1999
BB Fundamentos de estructura de datos : soluciones en Ada, Java y C++ / Zenón José Hernández Figueroa ... [et al.] Madrid : Thomson, D.L. 2005
BB MARTÍ OLIET, N. Estructura de datos y algoritmos. Ejercicios y problemas resueltos / Nardiso Martí Oliet, Y. Ortega Mallén, J.A. Verdejo López,. Madrid : Prentice Hall, 2003
BB Weiss, Mark Allen. Data structures and algorithm analysis in Java / Mark Allen Weiss Reading, Massachusetts [etc.] : Addison-Wesley, cop. 1999
BB Weiss, Mark Allen. Estructuras de datos en Java : compatible con Java 2 / Mark Allen Weiss . - 1a ed. en español Madrid : Addison Wesley, cop. 2000
BC Martí Oliet, Narciso. Estructuras de datos y métodos algorítmicos : 213 ejercicios resueltos / Narciso Martí Oliet, Alberto Verdejo, Yolanda Ortega Mallén . - 2ª ed. Madrid : Garceta, 2013 [Ejercicios], 2013
BC Campos Laclaustra, Javier. Estructuras de datos y algoritmos / Javier Campos Lacaustra . - 1ª ed., 1ª reimp. Zaragoza : Prensas Universitarias de Zaragoza, 2001
BC Deitel, Paul J.. Java : cómo programar / P. J. Deitel, H. M. Deitel ; traducción Alfonso Vidal Romero Elizondo ; revisión técnica Gabriela Azucena Campos García, Roberto Martínez Román, Jorge Armando Aparicio Lemus. - 7ª ed. Naucalpan de Juárez (Estado de México) : Pearson Educación, 2008
BC Franch Gutiérrez, Xavier. Estructuras de datos : Especificación, diseño e implementación / Xavier Franch Gutiérrez . - 2a. ed. Barcelona : UPC, 1996
BC Handbook of data structures and applications / edited by Dinesh P. Mehta and Sartaj Sahni Boca Raton, Florida [etc.] : Chapman & Hall/CRC, cop. 2005