Advanced Development in C++ (Wintersemester 2017/2018)
Lecturer:
Prof. Dr. Jürgen Döllner
(Computergrafische Systeme)
,
Willy Scheibel
(Computergrafische Systeme)
,
Jan Ole Vollmer
(Computergrafische Systeme)
General Information
- Weekly Hours: 4
- Credits: 6
- Graded:
yes
- Enrolment Deadline: 27.10.2017
- Teaching Form: Project / Seminar
- Enrolment Type: Compulsory Elective Module
- Maximum number of participants: 24
Programs, Module Groups & Modules
- IT-Systems Engineering
- IT-Systems Engineering
- IT-Systems Engineering
- IT-Systems Engineering
- HCGT: Human Computer Interaction & Computer Graphics Technology
- HPI-HCGT-K Konzepte und Methoden
- HCGT: Human Computer Interaction & Computer Graphics Technology
- HPI-HCGT-S Spezialisierung
- HCGT: Human Computer Interaction & Computer Graphics Technology
- HPI-HCGT-T Techniken und Werkzeuge
- SAMT: Software Architecture & Modeling Technology
- HPI-SAMT-K Konzepte und Methoden
- SAMT: Software Architecture & Modeling Technology
- HPI-SAMT-S Spezialisierung
- SAMT: Software Architecture & Modeling Technology
- HPI-SAMT-T Techniken und Werkzeuge
Description
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
Requirements
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).
Literature
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
Learning
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.
Examination
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
Dates
The seminar has one regular slot:
-
Monday 13:30 in HS 3 (lecture hall)
The slots are mainly used for lectures but the presentations are also timed for the seminar slots.
The first meeting is on Oct 16.
Zurück