Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
 

Advanced Programming in C++ (Wintersemester 2016/2017)

Lecturer: Prof. Dr. Jürgen Döllner (Computergrafische Systeme)
Tutors: Willy Scheibel Daniel Limberger Jan Ole Vollmer

General Information

  • Weekly Hours: 4
  • Credits: 6
  • Graded: yes
  • Enrolment Deadline: 28.10.2016
  • Teaching Form: VU
  • Enrolment Type: Compulsory Elective Module

Programs, Module Groups & Modules

IT-Systems Engineering BA
IT-Systems Engineering MA
  • IT-Systems Engineering A
  • IT-Systems Engineering B
  • IT-Systems Engineering C
  • IT-Systems Engineering D
  • IT-Systems Engineering Analyse

Description

The course "Advanced Programming in C++" provides a fast-paced introduction to the C++ programming language. You will learn the required background knowledge, including

  • built-in data types,
  • memory management,
  • pointers and references,
  • object-oriented programming,
  • generic programming,
  • functional programming, and
  • the C++ standard library.

In addition, various best practices for developing large-scale software projects are presented. Furthermore, we introduce tools and processes required to systematically and automatically build C++ software systems.

Requirements

This course addressess multiple programming styles and professional programming, including system build processes, multi-person code development, raw memory management, and performance optimization. As another general aspect of advanced programming, we aim at robust, performing, industrial-strength code. We assume basic knowledge in programming techniques and software engineering in general.

For the assigments and hands-on sessions, a C++14-enabled compiler (GCC, Clang, MSVC), git, and CMake are required. Additionally, we assume you solve the assignments on either Windows, Linux, or macOS.

Literature

For introduction and deeper understanding of C++ and advanced programming techniques, we propose the following literature:

  • 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

Learning

We provide lectures, the script, and assignments (approx. 6, started and reviewed every other week).

Assignments can be solved in groups of maximum two students and include both theoretical and practical tasks.

Examination

After the lectures, a written examination (approx. 120 minutes) is used for scoring.

Participants can complete assignments (approx. 6, started and reviewed every other week). Upon successful presentation of an assignment during the tutorial sessions, bonus points to the written examination can be gained.

Dates

Lecture and tutorials are held two times a week:

  • Monday 13:30 - 15:00 in HS3
  • Wednesday 09:15 - 10:45 in HS3

The first lecture is on Monday, October 17th 13:30.

Zurück