This course offers algorithmic techniques for solving problems with respect to data science applications. The main objective of this course is to learn basic skills and knowledge to design efficient algorithms and data structures and to analyze their complexity.
The course will be based on a formal exam and practical assignments.
Students will learn about basic algorithms and data structures, and how to select an algorithm or data structure for a given task. These include
In addition, students will learn how to design simple algorithms using techniques like incremental algorithms and divide&conquer and how to evaluate algorithms and data structures in terms of their efficiency.
- arrays, lists, stacks and queues,
- searching and sorting algorithms,
- search trees,
- hash tables,
- and basic graph algorithms.
Type of instructions
The sessions will intertwine lectures and solving and discussing exercises.
- A blend of class notes and material from reference books will be used in this course..