Many aspects of Data Science rely on computers to do the heavy lifting for computing results, handling data, etc. With larger datasets, it becomes crucial that such computations and the handling of data are performed efficiently in terms of the time needed for the computations and the space used to store the data.|
In this course, you will develop basic skills and knowledge to create, select and reason about efficient algorithms and data structures. For this, we consider different basic algorithms and data structures for frequently appearing problems, techniques for designing efficient algorithms, how to establish that an algorithm is correct by a mathematical proof, and how to analyse the efficiency of an algorithm or data structure.
The course will be based on a formal exam and practical assignments.
This course is open for students enrolled in the pre-master’s program Data Science and Entrepreneurship only.
The courses from the premaster’s program Data Science and Entrepreneurship program require specific prior knowledge. It is only possible to participate in this course if approved by the admission committee and if you are enrolled for the pre-master’s program.
Please note that this course will be taught in Mariënburg, ‘s-Hertogenbosch (JADS).
Students will learn about basic algorithms and data structures, and how to select an algorithm or data structure for a given task. These include
- arrays, lists, stacks and queues,
- searching and sorting algorithms,
- search trees,
- hash tables,
- and basic graph algorithms.
In addition, students will learn how to design simple algorithms using techniques like incremental algorithms and divide&conquer, how to prove that an algorithm is correct, and how to analyze algorithms and data structures in terms of their efficiency.
Type of instructions
Lectures and labs/instructions
- The class notes and material from reference books will be used in this course..