Modul
Algorithm Engineering [M-INFO-100795]
Credits
5Recurrence
Jedes SommersemesterDuration
1 SemesterLanguage
German/EnglishLevel
4Version
3Responsible
Organisation
- KIT-Fakultät für Informatik
Bricks
Identifier | Name | LP |
---|---|---|
T-INFO-111856 | Algorithm Engineering Pass | 1 |
T-INFO-101332 | Algorithm Engineering | 4 |
Competence Goal
The students acquire a systematic understanding of algorithmic problems and solution approaches in the field of Algorithm Engineering, building on existing knowledge in the subject area of algorithms. In addition, they will be able to apply learned techniques to related problems and interpret and comprehend current research topics in the field of Algorithm
Engineering.
Upon successful completion of the course, the student will be able to
• Explain terms, structures, basic problem definitions, and algorithms from the lecture;
• select which algorithms and data structures are suitable for solving an algorithmic problem and, if necessary, adapt them to the requirements of a specific problem;
• Execute algorithms and data structures, analyze them mathematically precise and prove the algorithmic properties;
• Explain machine models from the lecture and analyze algorithms and data structures according to these models
• Analyze new problems from applications, reduce them to their algorithmic core and create a suitable abstract model; based on the concepts and techniques learned in the lecture, design and analyze own solutions in this model, and prove algorithmic properties in this model.
Prerequisites
There are two partial achievements Algorithm Engineering and Algorithm Engineering Exercises. The partial achievement Algorithm Engineering Exercises must be started to be allowed to take the oral examination for Algorithm Engineering.
Content
• What is Algorithm Engineering, Motivation etc.
• Realistic modeling of machines and applications
• practice-oriented algorithm design
• implementation techniques
• experimental techniques
• evaluation of measurements
The above skills are taught primarily using concrete examples. In the past these were for example the following topics from the area of basic algorithms and data structures:
• linked lists without special cases
• sorting: parallel, external, superscalar,...
• priority queues (cache efficient,...)
• search trees for integer keys
• Full text indexes
• graph algorithms: minimal spanning trees (external,...), route planning
In each of these cases, the focus is on the best known practical and theoretical methods. These usually differ considerably from
from the methods taught in beginners' lectures.
Workload
Lecture and exercise with a combined 3 semester hours, 5 ECTS
5 ECTS correspond to about 150h of work, split into
about 45h visiting lectures and exercise or block seminar
about 25h preparation and follow-up on lectures
about 40h solving exercise tasks (programming, preparing presentation for mini seminar, etc)
about 40h exam preparation