Data Science and Artificial Intelligence

Data Structures and Algorithms

Integrated course, 2.50 ECTS


Course content

Part 1: Classic data structures and algorithms
- Computability, Turing machine and Optimal Stopping
- Runtime considerations and Landau notation
- Basic tasks of algorithm development
- Simple and advanced data structures
- Simple algorithms (backtracking, bubblesort, ...)
- Divide and conquer principle (including dynamic programming)
Area 2: Advanced algorithms
- Special features when accessing sequentially stored data
- Priority queues and self-organizing data structures
- Basics of lossy compression of data
- Basics of Fast Fourier Transform
- Single pass algorithms
- Kalman filter

Learning outcomes

The students have a well-founded overview of data structures, their possible uses as well as their advantages and disadvantages. They know the basic tasks of algorithm development and various solution approaches, which they can also evaluate in terms of memory requirements and runtime considerations. They know and understand advanced algorithms, such as the Fast Fourier Transform.

Recommended or required reading and other learning resources / tools

Recommended literature or books:
- Arens, T. et al. (2018). Mathematics, Springer spectrum, 4th edition
- Dahmen, W., Reusken, A. (2012): Numerik für Ingenieure und Naturwissenschaftler, Springer, 2nd edition
- Hart, W.E. et al. (2017). Pyomo - Optimization Modeling in Python, Springer, 2nd ed.
- Knuth, D.E. (2011) The Art of Computer Programming (4 volumes), Addison Wesley, Revised Edition
- Papageorgiou, M., Leibold, M., Buss, M. (2015). Optimization - static, dynamic, stochastic methods for use, Springer-Vieweg, 4th edition
- Sedgewick, R., Wayne, K. (2014). Algorithms: algorithms and data structures, Pearson study, 4th edition
- Skiena, S. S. (2012). The Algorithm Design Manual, Springer, corr. reprint
- Weicker, K., Weicker, N. (2013). Algorithmen und Datenstrukturen, Springer Vieweg
- Weitz, E. (2018). Concrete mathematics (not only) for computer scientists: With many graphics and algorithms in Python. Springer spectrum: 1st edition.
Recommended journals or selected articles:
Relevant journals and articles will be announced in the courses.

Typical software for this module:
Python / Spyder / PyCharm, Matlab / Octave / Scilab etc.

Mode of delivery

1,25 ECTS Lecture, 1,25 ECTS Exercise

Prerequisites and co-requisites

Module 5

Assessment methods and criteria

Lecture: final exam, Exercise: examination character