Masterpraktikum Scientific Computing - Advanced C++ Programming
Jump to navigation
Jump to search
- Term
- Winter 10/11
- Lecturer
- Univ.-Prof. Dr. Hans-Joachim Bungartz, Bernhard Gatzhammer, Michael Lieb
- Time and Place
- Wed., 14:00-16:00, Room: MI 02.07.023
- Audience
- Students of Computer Science (Master/Diplom), voluntary course, Module IN2106
- Tutorials
- -
- Exam
- no final exam
- Semesterwochenstunden / ECTS Credits
- 6 SWS (6P) / 10 credits
- TUMonline
- {{{tumonline}}}
News
05.08.2010 | Extended registration possible via TUMonline. |
---|---|
01.07.2010 | A preliminary discussion will take place in room 02.07.023 on 14.07.2010, 16:00-17:00. The attendance is compulsory. |
Requirements
Basic knowledge in object oriented programming and C/C++. Interest in generic template programming techniques.
Timeline
The timeline is not fixed yet.
Contents
The lab course gives an application oriented introduction to some of the following topics in advanced C++ programming (lecturers may select certain deepening aspects):
- Smart pointers for automated memory management in C++:
- Basic principles and application scenarios of smart pointers
- Smart pointer types
- Reference counting techniques
- Performance comparison with plain pointers
- Using type traits to build a static size linear algebra library:
- Basic principles and application scenarios of type traits
- Externalizing matrix/vector operations via type traits
- Selective function overloads with the SFINAE (substitution-failure-is-not-an-error) technique
- View proxies to vector/matrix classes with zero-runtime overhead
- Runtime comparison
- Using expression templates to speedup vector/matrix computations
- Basic principles and application scenarios of expression templates
- Eliminating temporary creation by delayed expression evaluation
- Runtime comparison
- Curiosly recurring template pattern (CRTP)
Literature
- Effective C++, Scott Meyers, Addison Wesley
- C++ Templates: The Complete Guide, Nicolai M. Josuttis and David Vandevoorde, Addison Wesley Longman
Material
t.b.a.