Students are expected to have already acquired (in previous subjects like Algebra and Calculus, first year) a basic mathematical background in logic, functions theory, algebraic structures and abstraction, as well as some experience in basic programming environments and the Java language (such concepts have been previously taught in the subjects Programming Foundations -I and II- and Information Systems).
Data Structure belongs to the Programming block and it is included in the common module of Computer Science within de degree programme.
The subject can be seen as the natural continuation of Programming Foundations II, but here we study new data structures under several points of view which include, apart from its use, how they are formally defined and implemented, also allowing the possibility of being incorporated as a library into a programming environment.
The subject is also strongly connected with Programming Methodology, where several algorithmic patterns admit an immediate application on the new data structures (for instance, sorting linear ADTs, greedy/dynamic traversing of trees, optimal path searching on graphs, ...) as well as with Declarative Programming (speciality on Computation), where it is mandatory to have been acquired some basic notions on lists, recursion, etc. in order to reinforce some data structures after introducing new expressive resources like higher order, infinite data structures, and so on.
During the rest of the degree (and even furthermore, on their professional careers), students will be concerned with the implementation and manipulation of software applications using complex data structures. Modern languages usually provide some of them by default (lists, queues, ...), but they must be studied with some detail in order to be used correctly. Anyway, other more intrincate data structures (trees, graphs, ...), which are not directly available on typical programming environments, must be designed and incorporated into such tools. Furthermore, the use of data structures, from the point of view of their design and analysis, provide a good level of abstraction and programming skills (recursion, modularity ...) very useful in most tasks related to the development of software applications.
Course competences | |
---|---|
Code | Description |
BA04 | Basic knowledge about the uses and programming of computers, operating systems, data bases, and digital programmes with applications in engineering. |
CO06 | Knowledge and application of basic algorithms in digital technologies for the development of solutions, analysing their appropriateness and complexity. |
CO07 | Knowledge, design, and efficient use of types of data and structures which arise as most appropriate in problem solving. |
CO08 | Ability to analyse, design, build and maintain applications in a strong, safe, and efficient manner by selecting the most appropriate paradigms and programming languages. |
PER01 | Team work abilities. |
PER04 | Interpersonal relationship skills. |
Course learning outcomes | |
---|---|
Description | |
Application of basic principles of structured design, led to objects for problem solving. | |
Ability to manage types of data, data structures, and abstract tupes of data in an appropriate manner regarding their problems, as well as their formal specifications, implementations, and use of abstract types of lineal and non-lineal data | |
Additional outcomes | |
Not established. |
Training Activity | Methodology | Related Competences (only degrees before RD 822/2021) | ECTS | Hours | As | Com | Description | |
Class Attendance (theory) [ON-SITE] | Lectures | BA04 CO06 CO07 CO08 | 0.68 | 17 | Y | N | ||
Problem solving and/or case studies [ON-SITE] | Problem solving and exercises | BA04 CO06 CO07 CO08 PER01 PER04 | 0.68 | 17 | Y | N | ||
Computer room practice [ON-SITE] | Problem solving and exercises | BA04 CO06 CO07 CO08 PER01 PER04 | 0.28 | 7 | Y | N | ||
Computer room practice [ON-SITE] | Practical or hands-on activities | BA04 CO06 CO07 CO08 PER01 PER04 | 0.28 | 7 | Y | N | ||
Progress test [ON-SITE] | Assessment tests | BA04 CO06 CO07 CO08 | 0.48 | 12 | Y | N | ||
Final test [ON-SITE] | Assessment tests | BA04 CO06 CO07 CO08 | 0.24 | 6 | Y | N | ||
Practicum and practical activities report writing or preparation [OFF-SITE] | Project/Problem Based Learning (PBL) | BA04 CO06 CO07 CO08 PER01 PER04 | 0.8 | 20 | Y | N | ||
Study and Exam Preparation [OFF-SITE] | Self-study | BA04 CO06 CO07 CO08 PER01 PER04 | 2.56 | 64 | Y | N | ||
Total: | 6 | 150 | ||||||
Total credits of in-class work: 2.64 | Total class time hours: 66 | |||||||
Total credits of out of class work: 3.36 | Total hours of out of class work: 84 |
As: Assessable training activity Com: Training activity of compulsory overcoming (It will be essential to overcome both continuous and non-continuous assessment).
Evaluation System | Continuous assessment | Non-continuous evaluation * | Description |
Progress Tests | 70.00% | 0.00% | Progress tests related to knowledge acquired in the classroom and/or laboratory ([ESC]50%, [LAB]20%) |
Practicum and practical activities reports assessment | 20.00% | 20.00% | Practices and/or tasks submitted via Moodle ([INF]20%) |
Assessment of active participation | 10.00% | 0.00% | Oral presentations in the classroom and/or laboratory ([PRES]10%) |
Final test | 0.00% | 80.00% | Exam on the complete syllabus of the subject ([ESC]80%) |
Total: | 100.00% | 100.00% |
Not related to the syllabus/contents | |
---|---|
Hours | hours |
Final test [PRESENCIAL][Assessment tests] | 6 |
Unit 1 (de 5): Unit 1. Introduction. | |
---|---|
Activities | Hours |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 2 |
Study and Exam Preparation [AUTÓNOMA][Self-study] | 6 |
Unit 2 (de 5): Unit 2. Formal description of ADTs. | |
---|---|
Activities | Hours |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 3 |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 1 |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 1 |
Practicum and practical activities report writing or preparation [AUTÓNOMA][Project/Problem Based Learning (PBL)] | 2 |
Study and Exam Preparation [AUTÓNOMA][Self-study] | 10 |
Unit 3 (de 5): Unit 3. Linear ADTs. | |
---|---|
Activities | Hours |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 4 |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 2 |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 2 |
Progress test [PRESENCIAL][Assessment tests] | 4 |
Practicum and practical activities report writing or preparation [AUTÓNOMA][Project/Problem Based Learning (PBL)] | 6 |
Study and Exam Preparation [AUTÓNOMA][Self-study] | 16 |
Unit 4 (de 5): Unit 4. Non linear ADTs. Trees. | |
---|---|
Activities | Hours |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 4 |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 2 |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 2 |
Progress test [PRESENCIAL][Assessment tests] | 4 |
Practicum and practical activities report writing or preparation [AUTÓNOMA][Project/Problem Based Learning (PBL)] | 6 |
Study and Exam Preparation [AUTÓNOMA][Self-study] | 16 |
Unit 5 (de 5): Unit 5. Graphs. | |
---|---|
Activities | Hours |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 4 |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 2 |
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] | 2 |
Progress test [PRESENCIAL][Assessment tests] | 4 |
Practicum and practical activities report writing or preparation [AUTÓNOMA][Project/Problem Based Learning (PBL)] | 6 |
Study and Exam Preparation [AUTÓNOMA][Self-study] | 16 |
Global activity | |
---|---|
Activities | hours |
General comments about the planning: | This course schedule is APPROXIMATE. It could vary throughout the academic course due to teaching needs, bank holidays, etc. A weekly schedule will be properly detailed and updated on the online platform (Virtual Campus). Note that all the lectures, practice sessions, exams and related activities performed in the bilingual groups will be entirely taught and assessed in English. Classes will be scheduled in 3 sessions of one hour and a half per week. |
Author(s) | Title | Book/Journal | Citv | Publishing house | ISBN | Year | Description | Link | Catálogo biblioteca |
---|---|---|---|---|---|---|---|---|---|
Java ES con NetBeans + Documentación | http://java.sun.com/javase/downloads/index.jsp | ||||||||
Java. Tutorial online | http://java.sun.com/docs/books/tutorial/java/TOC.html | ||||||||
Página oficial de Haskell | http://haskell.org | ||||||||
Tutorial de Haskell | http://www.haskell.org/tutorial/ | ||||||||
Bird, R.; Walder, P. | Introducción a la Programación Funcional en Haskell | Prentice-Hall | 84-8322-176-4 | 2000 | http://books.google.es/books?id=xIlyOiGOC6EC&printsec=frontcover&dq=haskell+bird&hl=es&ei=-ACQTLa9IIHxOe6WqOkM&sa=X&oi=book_result&ct=result&resnum=1&ved=0CC4Q6AEwAA#v=onepage&q&f=false |
![]() |
|||
Ehrig, H., Mahr, B. | Fundamentals of Algebraic Specifications | Springer-Verlag | 3-540-51799-5 | 1990 | http://books.google.es/books?id=sq1Ktr9W3RgC&lpg=PA41&dq=abstract%20data%20types&pg=PP1#v=onepage&q=abstract%20data%20types&f=false | ||||
Goodrich, Michael T. | Data structures and algorithms in Java | Wiley & Sons | 978-0-470-39880-7 | 2011 |
![]() |
||||
Lafore, R. | Data Structures and algorithms in Java | Sams Publishing | 2002 | ||||||
Lewis, John | Estructuras de datos con Java : diseño de estructuras y algo | Pearson Educación | 84-205-5034-5 | 2006 |
![]() |
||||
Nell, Dale | Abstract data types : specifications, implementations and ap | D. C. Heath and Company | 978-0-669-40000-7 | 1996 | http://books.google.es/books?id=hJ6IOaiHVYUC&printsec=frontcover&dq=Dale+Walker+Abstract+data+types |
![]() |