The aim is to provide students with skills in the context of design and analysis of computer algorithms, and in particular:
- Fundamentals of static and dynamic data structures
- Sorting and searching algorithms
- Generic programming
Applying knowledge and understanding:
- Design and development of algorithms in C++ language
- Use of basic data structures for problem solving
- Analyze and describe the complexity of algorithms
Adequate knowledge of C++ is recommended.
Course contents summary
This course introduces the fundamental concepts about algorithms and data structures in C++
Introduction to C++ language.
Array and pointers.
Symbol tables and binary trees.
Priority queues and heap.
Binary search trees.
Introduction to Standard Template Library (STL) in C++
Robert Sedgewick, Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching, Third Edition.
Clifford A. Shaffer, Data Structures and Algorithm Analysis Edition 3.2 (C++ Version)
The exam consists of a laboratory examination in C++ (3 hours).
There will be two midterm examinations only for students at the first year:
Midterm 1) topics: part A.
Incidence on the final vote: 50%.
Midterm 2) topics: part B, only after sufficient evaluation of the first Midterm exam. Incidence on the final vote: 50%
The laboratory examinations consist on exercises and quizzes.