Advanced Programming Techniques for Engineers (AdvPTE)5 ECTS
(englische Bezeichnung: Advanced Programming Techniques for Engineers)
(Prüfungsordnungsmodul: Kernmodule aus der Studienrichtung Bildgebende Verfahren)
Modulverantwortliche/r: Harald Köstler
Lehrende:
Harald Köstler
Start semester: |
WS 2017/2018 | Duration: |
1 semester | Cycle: |
jährlich (WS) |
Präsenzzeit: |
40 Std. | Eigenstudium: |
110 Std. | Language: |
Englisch |
Lectures:
Inhalt:
The content of the lecture will consist of various topics of advanced C++ programming, aimed at teaching the proper and efficient usage of C++ for professional software development.
These are basic language concepts, the C++11/C++14/C++17 standards, object oriented programming in C++, static and dynamic polymorphism, template metaprogramming, and C++ idioms and design patterns.
Lernziele und Kompetenzen:
Wissen:
Lernende können die grundlegenden Sprachkonstrukte in den verschiedenen C++ Standards wiedergeben.
Students know the basic language constructs from different C++ standards.
Verstehen:
Lernende verstehen das C++ Objektmodell und können es mit anderen Programmiersprachen vergleichen.
Students understand the C++ object model and are able to compare it to other programming languages.
Anwenden:
Lernenden können Standardalgorithmen in einer objektorientierten Programmiersprache implementieren.
Students can implement standard algorithms in an object oriented programming language.
Analysieren:
Lernende können gängige Design Patterns klassifizieren und deren Anwendbarkeit für bestimmte Probleme diskutieren.
Students are able to classify common design patterns and to discuss their usability for certain problems.
Evaluieren (Beurteilen):
Lernende können entscheiden, welches Software Design passend für eine bestimmte Aufgabe ist. Sie können auch den Implementierungsaufwand dafür abschätzen.
Students can decide, which software design fits for a certain task. They are also able to estimate the programming effort for it.
Erschaffen:
Lernende entwickeln selbständig in einer Gruppe ein größeres Softwarepaket im Bereich Simulation und Optimierung.
Students develop together in a group a larger software project in the area of simulation and optimization on their own