(objectives)
The goal of the course is to provide the knowledge of the most common and useful data structures (stacks, queues, lists, trees, graphs) and of the main algorithms to handle them. The students will learn the tools to formally analyze the computational complexity of algorithms and problems. A further goal of the course is to assume familiarity with the main algorithmic approaches (divide and conquer, greedy, iterative, top-down, bottom-up). The Python programming language will be employed for exercise sessions and exams.
|