Advanced Development in C++ (Wintersemester 2017/2018)
Lecturer: Prof. Dr. Jürgen Döllner
Jan Ole Vollmer
- Weekly Hours: 4
- Credits: 6
- Enrolment Deadline: 27.10.2017
- Teaching Form: Project / Seminar
- Enrolment Type: Compulsory Elective Module
- Maximum number of participants: 24
Programs & Modules
- HCGT-Konzepte und Methoden
- HCGT-Techniken und Werkzeuge
- SAMT-Konzepte und Methoden
- SAMT-Techniken und Werkzeuge
The project seminar "Advanced Development in C++" is an advanced C++ seminar with supplementary lectures.
The learning targets include
- deepening knowledge in C++ and the STL,
- software development using C++,
- upcoming features of C++17 and C++20, and
- using C++ libraries and frameworks.
The core of the seminar is the development of and in C++ software projects with strong focus on advanced C++ challenges in teams. We target for a full development cycle including release management. The projects are affiliated with one or more of the topics from the lecture syllabus:
- Development Guidelines
- Best Practices, Common Pitfalls, Upcoming Features
- Cross-Platform Development
- Language and Compiler Internals (Exceptions, Attributes, Optimization, Vectorization)
- Foreign Language Integration
- Multithreading / Parallelization
- Heterogeneous Computing
- Software Project Setup
To follow the topics and perform the development tasks, students should have basic knowledge in C++ and application programming (as provided by the lecture "Advanced Programming in C++" or similar course).
Course literature are online websites, references, standards, and C++ programming books, including:
- Bjarne Stroustrup: “The C++ Programming Language”, Addison-Wesley Professional, ISBN 978-0321563842
- Bjarne Stroustrup: “A Tour of C++”, Addison-Wesley Professional, ISBN 978-0321958310
- Scott Meyers: “Effective Modern C++”, O’Reilly Media, ISBN 978-1491903995
- John Lakos: “Large-Scale C++ Software Design”, Addison-Wesley Professional, ISBN 978-0201633627
- ISO International Standard ISO/IEC – Programming Language C++, https://isocpp.org/std/the-standard
Students develop in teams using C++ and libraries, tools, and techniques from the C++ eco system. The development tasks are accompanied by tailored lectures for the required topics.
The course materials are provided in english, the lectures are held in german and the presentations can be held in either german or english.
The assessment for this course includes practical work, involving software development, release management, and oral presentations:
- 50% software project development
- 40% oral presentations (split in three presentations with 10%, 10% and 20% individual weight)
- 10% software project publication, integration or submission
The seminar has one regular slot:
The slots are mainly used for lectures but the presentations are also timed for the seminar slots.
The first meeting is on Oct 16.