Praktikum Advanced Software Development with Modern C++

Praktikum im Sommersemester 2018
Prof. Dr. D. Kranzlmüller,
M.Sc. T. Fuchs

Aktuelles

Einordnung

shared_ptr<T> get(int id) {
  static map<int, weak_ptr<T>> cache;
  static mutex m;
  lock_guard<mutex> lg(m);
  auto sp = cache[id].lock();
  if (!sp) cache[id] = sp = load(id);
  return sp;
}

Im Rahmen des Praktikums wird die Programmiersprache C++ ausgehend von ihren größten Stärken untersucht:
Der maschinennahen Systemprogrammierung und Abstraktion durch formale Konzepte in einem Turing-vollständigen Typsystem.

Nach einem Werdegang von über 25 Jahren als dominierende Programmiersprache in Industrie und akademischer Forschung und der gleichzeitigen Verpflichtung zur Abwärtskompatibilität ist C++ derzeit mehr denn je ein Platz unter den Top 3 Programmiersprachen der Industrie sicher.

Durch seine geradezu berüchtigten historische Altlasten erfordert es aber viel Erfahrung, die Stärken von C++ zu nutzen ohne seinen Schwächen zum Opfer zu fallen.

Hierzu wurden mit dem C++11 - Standard entscheidende und lang erwartete Fortschritte erzielt: Ausdrucksmächtigkeit und Portierbarkeit wurden weiter verbessert, aber gleichzeitig kann jetzt durch nur wenige neue Spracherweiterungen die Komplexität der Syntax derart reduziert werden, dass sie sich in vielen Fällen von schwach getypten Sprachen wie Python kaum mehr unterscheidet.

Die Herausforderungen für Software-Entwickler verschieben sich jetzt zu formalen und konzeptionellen Problemstellungen, besonders im Zusammenhang mit vergleichsweise modernen Aspekten wie Multithreading und Shared Memory Locality.

"And remember, Beethoven wrote his first symphony in C."
-- A.P.L. Byteswap's Big Book of Tuning Tips and Rugby Songs

Inhalte

Die behandelten Themen im Praktikum sind unter anderem:

Teilnehmer

Das Praktikum richtet sich an Master- und Bachelor-Studenten der Informatikstudiengänge.

Voraussetzung für die Teilnahme

Wir empfehlen außerdem die vorherige erfolgreiche Teilnahme an den Vorlesungen:

Die Aufgabenstellungen im Praktikum verlangen hohes Engagement und Eigeninitiative von den Teilnehmern. Konsequenterweise wird dem in der Prüfungsleistung mit 12 ECTS (Bachelor und Master) Rechnung getragen.

Organisation

Ablauf

Der Veranstaltungszeitraum schließt das gesamte Sommersemester ein, also einschließlich vorlesungsfreier Zeit.

    • Die Themen werden im ersten Teil des Praktikums im Stil eines wöchentlichen Workshops gemeinsam formal untersucht und live in Code erprobt.
    • Aufgabenstellungen im ersten Teil des Praktikums werden in Einzelarbeit bearbeitet. Zur Teilnahme am zweiten Teil und somit Bestehen des Praktikums ist die erfolgreiche Bearbeitung der Testate Voraussetzung.
    • Abgaben werden in einer VM in einer Testapplikation geprüft. Das VM-Image mit der Testapplikation ist für die Bearbeitung verfügbar, Sie können Ihre Lösung also jederzeit selbst testen.
    • Im zweiten Teil, der sich über die Semesterferien erstreckt, werden freie Projektarbeiten in Einzelarbeit oder in Gruppen von zwei Studenten unter Betreuung umgesetzt und abschließend in einer Blockveranstaltung präsentiert.
    • Die Bewertung basiert auf der Implementierung der Projektarbeit und dem Präsentationsvortgrag, die jeweils zur Häfte in die Benotung eingehen.

Abgesehen von den Vortragsterminen werden aber voraussichtlich keine Präsenztermine nach der Vorlesungszeit stattfinden und stattdessen individuelle Betreuungstermine vereinbart.

Wichtiger Hinweis

Die zu erbringenden Leistungen in der Veranstaltung bestehen aus unbenoteten Testaten zur Prüfungszulassung und einer Prüfung über 12 ECTS bestehend aus einer schriftlichen Ausarbeitung, Vortrag und Diskussion des gewählten Praktikumsthemas.

Die üblicherweise wöchentlich gestellten Testate stellen das Verständnis der Grundlagen aus dem ersten Teil des Praktikums sicher, die eine fachliche Mindestvoraussetzung für die Umsetzung der anspruchsvollen Projektarbeiten sind.

Anmeldung

Bitte beachten Sie:

Aufgrund der intensiven persönlichen Betreuung der Teilnehmer ist die Anzahl der Plätze stark begrenzt.

Die Praktikumsplätze wurden über eine Zentralanmeldung in UniWorX vergeben.

Zeit und Ort

Die Präsenztermine finden wöchentlich Freitag, 13-16 Uhr im NGB 03 (Nebengebäude "Barraca Blanca") statt.

Literatur und Referenzen

Bücher sind zu Semesterbeginn in der Bibliothek verfügbar.

Außerdem zu empfehlen:


Last Change: Mon, 11 Dec 2023 07:33:52 +0100 - Viewed on: Fri, 01 Nov 2024 10:36:14 +0100
Copyright © MNM-Team http://www.mnm-team.org - Impressum / Legal Info  - Datenschutz / Privacy