Data Structures and Algorithms

Data Structures and Algorithms (DS&A) is an essential course for any programmer to understand algorithm properties, distinguish between algorithm strategies, and learn how to use them effectively. This module is divided into two parts: the first looks at elements of Discrete Mathematics to give the user a solid foundation, while the second focuses more on the applied aspect. Students will learn to program constructs such as arrays, stacks, queues, trees, graphs, linked lists, heaps, and hash tables in real-world applications using real programming languages. They will also explore different well-known algorithms, including sorting, traversing a tree, and simple graph algorithms. Finally, the unit will cover algorithmic analysis for the efficient code design.