Efficient Computational Algorithms
This course provides an introduction to computational algorithms. It covers the common computing algorithms, algorithmic paradigms, and data structures used to solve these problems and applications in computing. The course emphasizes the relationship between algorithms and programming, and introduces performance measures and analysis techniques for these problems. The course primarily targets students from the Master double degree programme from FAU Erlangen on Computational Engineering and USI on Computational Science.
This course provides a comprehensive overview of the concepts of algorithm analysis and computing development. We will review ten computing algorithms with the greatest influence on the development and practice of computing and engineering in the 20th century. Following is our list (in chronological order): Metropolis Algorithm for Monte Carlo, Simplex Method for Linear Programming, Krylov Subspace Iteration Methods, The Decompositional Approach to Matrix Computations, QR Algorithm for Computing Eigenvalues, Quicksort, Algorithm for Sorting, Fast Fourier Transform, Integer Relation Detection, and Fast Multipole Methods.
The students should select one of out 10 possible computational algorithms, and summarize it in the class (30 to 45 min, and if applicable, including a Python, or Julia software framework). 100% of the grade is determined by a mandatory graded project presentation and report during the official examination period.
The course is offered in collaboration with FAU Erlangen, and in particular Prof. Harald Köstler and Dr. Alexander Ditter