Data Structures and Algorithms
Full course description
As a continuation of the courses Procedural Programming and Objects in Programming, this course will treat the systematic design and application of data structures and algorithms.
Data structures such as lists, trees, graphs, and dictionaries, the associated algorithms and their complexity are explored in this course. Algorithms for applications such as sorting, pattern matching and graph
traversal are also part of the course. Furthermore, design principles for algorithms such as recursion, divide-and-conquer and dynamic programming will be treated as well. Furthermore, students will develop skills to analyse the run-time and space complexity of data structures and algorithms.
Prerequisites
None.
Desired Prior Knowledge: Discrete Mathematics, Procedural Programming and Objects in Programming.
Recommended reading
Required Reading: Sedgewick and Wayne (2011) Algorithms Fourth Edition. Addison Wesley. ISBN: 978-0321573513
Recommended Reading: A Y Bhargava (2016). Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People. Manning. ISBN: 978-1617292231
- T.H.J. Pepels
- F. Barile
- D.H. Cámpora Pérez