0240979466 20W 2SWS VO Advanced Programming (IN1503)   Hilfe Logo

LV - Detailansicht

Wichtigste Meldungen anzeigenMeldungsfenster schließen
Allgemeine Angaben
Advanced Programming (IN1503) 
Winter semester 2020/21
... alle LV-Personen
Informatics 5 - Chair of Scientific Computing (Prof. Bungartz)
(Contact information)
Allocations: 1 
Angaben zur Abhaltung
The lecture introduces the student to basic object oriented programming. "Thinking in classes" when designing an application has a strong focus. Advanced concepts such as encapsulation, inheritance or polymorphism are also covered.

The programming language is C++. Topics specific to the language, such as basic syntax, collections or unit testing, are also addressed.
Basic programming skills are required and some C/C++ knowledge is strongly suggested.
see Module description IN1503

The weekly lecture discusses selected programming topics, C++ concepts, and programming language techniques. Although we will have a short start-up phase on C/C++ programming, this course relies on many fundamental C++ aspects and programming skills. If the participants are not familiar with those concepts, they have to aquire them themselves prior to the lecture (self-study).

In the weekly tutorials, tutors participating in the Supervised Teaching programme first give a brief presentation on selected topics. These talks comprise outlooks and studies on topics not covered by the lecture and the exam that are however mandatory to program successfully today. Examples for topics are systematic testing and debugging, runtime measurements, build environments and so forth. Afterwards, the tutors present and discuss solutions on selected worksheet problems. The worksheets are published online roughly a week before the corresponding tutorials. This way, all participants have the opportunity to study the problems at home before they are presented solutions and additional information on the challenges. There is no mandatory homework however.

Our tutors are mentored by a senior Ph.D. candidates due to the Supervised Teaching program and constantly get didactic feedback and evaluation.
Für die Anmeldung zur Teilnahme müssen Sie sich in TUMonline als Studierende*r identifizieren.
Literature for Intro to C++:

  • Bjarne Stroustrup. Principles and Practice Using C++

  • Bjarne Stroustrup. A Tour of C++

  • Bjarne Stroustrup. The C++ Programming Language

  • Scott Meyers. Effective C++

  • Scott Meyers. More Effective C++

  • Scott Meyers. Effective Modern C++

  • Walter Savitch, Kenrick Mock: Absolute C++

  • Randall Hyde. Write Great Code I: Understanding the machine

  • Randall Hyde. Write Great Code II: Thinking Low-level, Writing High-level

  • Georg Hager, Gerhard Wellein: Introduction to High Performance Computing for Scientists and Engineers

Online resources:
C++ Core Guidelines
Standard C++ FAQ
C++ Quiz
What Every Computer Scientist Should Know About Floating-Point Arithmetic
Online information
course documents
e-learning course (moodle)
Slides, information on lecture rooms, schedules, exam registrations, and so forth are available at Moodle.