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.
Das Praktikum richtet sich an Master- und Bachelor-Studenten der Informatikstudiengänge.
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.
Der Veranstaltungszeitraum schließt das gesamte Sommersemester ein, also einschließlich vorlesungsfreier Zeit.
Abgesehen von den Vortragsterminen werden aber voraussichtlich keine Präsenztermine nach der Vorlesungszeit stattfinden und stattdessen individuelle Betreuungstermine vereinbart.
Wichtiger HinweisDie 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.
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.Die Präsenztermine finden wöchentlich Freitag, 13-16 Uhr im NGB 03 (Nebengebäude "Barraca Blanca") statt.
Außerdem zu empfehlen: