IPK Tutorium 06

Corona-Regeln der Universität

  • Kontaktverfolgung über QR-Codes
  • 2G - Pflicht (mit Ausnahmen)
  • Kontrollen am Eingang von INF 205
  • Durchgängige Maskenpflicht
QR Code for Registration

https://check-in.uni-heidelberg.de/erfassung/6205.03.104/

Ablauf des TUtoriums heute

  1. Zeit für die Evaluation
  2. Blick auf Blatt 06
    1. Bennenung der Votierenden
    2. Fragen zu Blatt 06
    3. Häufige Fehler
    4. ?
  3. Hinweise zu Blatt 07
  4. Wiederholung zu Templates
  5. Arbeitsphase Blatt 07 & Votieren

Evaluation

  • Möglichkeit ...
    • für mich Feedback zu bekommen um in Zukunft Tutorien zu verbessern
    • für die Studienkommission einen Überblick über die aktuelle Qualität der Lehre und Potential für Verbesserungen zu bekommen
    • für uns Studis unsere Meinung zu einer Veranstaltung zu sagen
  • Wäre deswegen super, wenn möglichst alle die Umfrage ausfüllen!
  • Ende der Umfrage: 21.12.2021 08:00 Uhr
  • Dozent:innen sollen die Ergebnisse in der Veranstaltung besprechen

Häufige Fehler bei Blatt 06

Error:

  • Fehler in den CMake Files
  • Codestrukturierung ... herausfordernd
  • Headerguards bitte nur in Headern!
  • using namespace std;

-Wall:

  • Oft hat das mit der Constructor Initializer List nur für die "simplen" Fälle geklappt
  • Includes in Headern nicht aufgeräumt
  • Tests nicht benannt (Wieso macht man das so?)
  • In Zukunft "assert()" (oder ein richtiges Testframework) nehmen

-Weverything:

  • Hier und da ein bisschen Mimimi

Votieren - Gleich in der Arbeitsphase

  • Aufgabe 6.1 - Gruppe 28 (Olga etc.)
  • Aufgabe 6.2 - Gruppe 25 (Jakob etc.)

Gibts Fragen Zu Blatt 06?

Sonst gerne auch gleich in der Übungsphase!

Hinweise zu Blatt 07

  • Macht die Aufgabe 2 ("Templates 101") zuerst!
  • Meldet euch, falls ihr Probleme habt!

Exkurs: Templates - Motivation

int max(int a, int b) {
    return a > b ? a : b;
}
SOMETYPE max(SOMETYPE a, SOMETYPE b) {
    return a > b ? a : b;
}
double max(double a, double b) {
    return a > b ? a : b;
}
float max(float a, float b) {
    return a > b ? a : b;
}

WDH: Templates - Was passiert da?

cppinsights.io

Exkurs: Templates

Exkurs: Templates

WDH: Templates - Fun Fact

#include <iostream>

template <int N>
struct Factorial {
    enum { val = Factorial<N-1>::val * N };
};

template<>
struct Factorial<0> {
    enum { val = 1 };
};

int main() {
    // Note this value is generated at compile time.
    // Also note that most compilers have a limit on the depth of the recursion available.
    std::cout << Factorial<4>::val << "\n";
}

WDH: Templates - Errors

Note to Self: Siehe Files!

Evaluation, ÜbungsBlatt & Votieren

Übungsblatt 07 im Moodlekurs

Christian Heusel
c.heusel@stud.uni-heidelberg.de
https://discord.mathphys.info

IPK Tutorium 06

By Christian Heusel