# Algorithms and Data Structures, 2011

The aim of this subject is for the students to acquire new concepts and the necessary strategies to develop optimum solutions to numerous problems. In particular, the student should be able to choose correctly the necessary data structure and algorithms for a given problem with specific specifications. ISABEL SEGURA BEDMAR
HARITH ALJUMAILY
JULIÁN MORENO SCHENEIDER
JUAN PEREA
NATHAN D. RYAN

Department of Computer Science and Engineering

Area:
Languages and Informatics Systems

Degree:
Computer Science Engineering

July, 2011

#### PRERREQUISITES AND RECOMMENDED PREVIOUS KNOWLEDGE

Programming and Calculus.

#### OBJETIVES: KNOWLEDGE AND SKILLS

##### 1. Generic/Transversal Competences

Capacity to analyze and synthesize (PO e), Capacity to organize and plan the work (PO d), Resolution of problems (PO e), Working as a team (PO d) and Capacity to put in practice theory knowledge (PO e)

##### 2. Specific Competences

a. Cognitive (to know): General knowledge about algorithms (PO a), Understanding of basic data structures (PO k) and Familiarity with advanced data structures (PO k)

b. Procedural/instrumental (to be able to do): To be able to design and analyze the algorithms complexity (PO a), To be able to understand and use different data structures (PO k) and To be able to implement program solutions to specific problems using these tools (PO e)

##### 3. Attitude (Being)

Ability to solve problems through algorithms (PO e), Ability to clarify, simplify and efficiency of solving problems (PO e and k) and Ability to question and conclude various solutions to any problem (PO e and k)

#### TEACHING MATERIAL

##### 1. Algorithms:

Algorithm basic notions; Recursion vs. Iteration; Efficiency of an Algorithm.

##### 2. Linear Abstract Data Types:

Lists, Implementations, Complexity; Stacks, Implementations, Complexity; Queues, Implementations, Complexity.

##### 3. Hierarchic Abstract Data types: Trees

General Trees; Binary Trees; Tree Trasverse: preorder, inorder, postorder; Search Binary Trees; AVL Trees.

#### ASSESSMENT ACTIVITIES OR PRACTICAL ASSIGNMENTS

1. Theory Lectures with the objective of acquiring the cognitive specific competences (PO a and k).

2. Academic activities guided by the teacher:

a.    With the teacher: to solve exercises devoted to analyze, design and implement cases with different level of complexity in collaboration with students (PO a and k). Some of the exercises will be carried out in computer laboratories (PO k).

b.    Student work: Homework, individually or cooperatively, with exercises, implementation cases and basic readings from bibliography proposed by the teacher (PO k and e).

Moreover, these activities can be performed as:

i.    Individual work consisting on developing solutions to the problems and exercises posed by the teacher.

ii.    Working cooperatively developing solutions to the problems proposed by the teacher (PO d).

3. Mid-term partial exam and final exam (PO a, e, k).

4. There will be a group tutoring session for each small group to solve the queries and doubts of students.

Citation: Bedmar, I. S., Bedmar, I. S., Aljumaily, H., Schneider, J. M., Perea, J., Ryan, N. D. (2011, May 10). Algorithms and Data Structures. Retrieved July 10, 2020, from Web site: http://ocw.uc3m.es/ingenieria-informatica/algorithms-and-data-structures.
Copyright 2015, UC3M. This work is licensed under a Creative Commons License. 