Lehramt für Informatik
Kernfach Informatik (90 LP / Lehramt, SPO2015)
0087d_k90-
Aktuelle Forschungsthemen der Technischen Informatik
0089cA3.10-
19325301
Vorlesung
Cluster Computing (Barry Linnert)
Zeit: Di 10:00-12:00 (Erster Termin: 16.04.2024)
Ort: T9/051 Seminarraum (Takustr. 9)
Zusätzl. Angaben / Voraussetzungen
Zielgruppe
- MSc
Anforderungen
- Erfahrung mit Computern und Software sowie Programierkenntnisse
Sprache
- Die Kurssprache ist Deutsch (oder Englisch wenn benötigt).
- The exam will be formulated in German, but answers may be given in English, too.
Credits & Klausur
- aktive Teilnahme an den Übungen: regelmäßige Vorbereitung von Übungsaufgaben & Präsentation der Ergebnisse in den Übungen
- Bestehen der Klausur
Webseite
https://www.mi.fu-berlin.de/w/SE/VorlesungClusterComputing
Kommentar
Cluster-Computer bilden die zur Zeit vorherrschende Klasse paralleler Hochleistungsrechner. Sie bestehen aus konventionellen Prozessorknoten, die über ein Hochgeschwindigkeitsnetzwerk miteinander verbunden sind. Obwohl meistens räumlich integriert, handelt es sich um verteilte Systeme mit jeweils lokalen Betriebssystemen. Das enorme Leistungspotential dieser Rechnerklasse kann nur ausgeschöpft werden, wenn Programmcode und Daten optimal über die Knoten verteilt werden. Die eingesetzten Verfahren müssen insbesondere skalierbar sein, also auch bei Tausenden von Rechnerknoten noch effizient arbeiten. Gleichzeitig soll aber die Programmiererin bzw. der Programmierer von diesen Aufgaben entlastet werden. Die Vorlesung gibt einen Überblick über die auftretenden Probleme und stellt Algorithmen zu ihrer Lösung vor.
Literaturhinweise
- Heiss, H.-U.: Prozessorzuteilung in Parallelrechnern, BI-Verlag, Mannheim, 1996
- Andrews, G. A.: Foundations of Multithreaded, Parallel and Distributed Programming, Addison-Wesley, 2000
- Pfister, G.: In Search of Clusters 2nd ed., Prentice Hall, 1998
- Zomaya, A.: Parallel and distributed computing handbook, McGraw Gill, 1995
- Buyya, R.: High Performance Cluster Computing, Vol. 1+2, Prentice Hall, 1999
-
19327401
Vorlesung
Bild- und Videocodierung (Heiko Schwarz)
Zeit: Mo 14:00-16:00 (Erster Termin: 15.04.2024)
Ort: T9/051 Seminarraum (Takustr. 9)
Kommentar
Die Vorlesung behandelt die wichtigsten Konzepte und Algorithmen, die in modernen Bild- und Videocodierverfahren verwendet werden. Wir werden uns insbesondere auf Techniken konzentrieren, die in aktuellen internationalen Videocodierstandards Anwendung finden.
In einem kurzen ersten Teil werden zunächst die sogenannten Rohdatenformate eingeführt, welche als Eingangs- und Ausgangsformate von Bild- und Videocodecs verwendet werden. Dieser Teil beinhaltet folgenden Themen:
- Farbräume und deren Beziehung zur menschlichen Farbwahrnehmung
- Transfer-Funktionen (Gamma-Codierung)
- Warum verwenden wir das YCbCr-Format?
Der zweite Teil der Vorlesung behandelt zunächst die Bildcodierung und umfasst folgende Themen:
- Der Anfang: Wie funktioniert JPEG?
- Warum verwenden wir die Diskrete Cosinus-Transformation?
- Effiziente Codierung von Transformationskoeffizienten
- Prädiktion von Bildblöcken
- Adaptive Blockpartitionierung
- Wie treffen wir Entscheidungen im Encoder?
- Optimierungen der Quantisierung
Im dritten und letzten Teil der Vorlesungen behandeln wir Konzept die letztendlich die Videocodierung deutlich effizienter machen als eine separate Codierung der Einzelbilder. Dieser Teil umfasst folgende Themen:
- Bewegungskompensierte Prädiktion
- Codierung von Bewegungsvektoren
- Algorithmen zur Bewegungssuche
- Subpixel-genaue Bewegungsvektoren und Interpolationsfilter
- Verwendung mehrere Referenzbilder
- Was sind B-Bilder und warum verwenden wir diese?
- Deblocking- und Deringing-Filter
- Effiziente zeitliche Codierstrukturen
In den Übungen werden wir schrittweise einen eigenen Codec für Bilder implementieren. Bei entsprechenden Interesse kann dieser zu einem einfachen Videocodec erweitert werden.
Literaturhinweise
- Bull, D. R., “Communicating Pictures: A Course in Image and Video Coding,” Elsevier, 2014.
- Ohm, J.-R., “Multimedia Signal Coding and Transmission,” Springer, 2015.
- Wien, M., “High Efficiency Video Coding — Coding Tools and Specifications,” Springer 2014.
- Sze, V., Budagavi, M., and Sullivan, G. J. (eds.), “High Efficiency Video Coding (HEVC): Algorithm and Architectures,” Springer, 2014.
- Wiegand, T. and Schwarz, H., "Source Coding: Part I of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 4, no. 1–2, 2011.
- Schwarz, H. and Wiegand, T., “Video Coding: Part II of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 10, no. 1–3, 2016.
-
19335301
Vorlesung
Cybersecurity and AI IV: Angriffe (Gerhard Wunder)
Zeit: Di 12:00-13:30 (Erster Termin: 16.04.2024)
Ort: T9/SR 005 Übungsraum (Takustr. 9)
Kommentar
Cybersecurity and AI ist ein viersemestriger Vorlesungszyklus, der alle wesentlichen Aspekte von Cybersecurity und KI abdeckt. Dieser Kurs vermittelt die Grundlagen für Angriffe auf- und mit KI. Grundsätzlich ist es möglich, den Vorlesungszyklus zu jedem Semester zu beginnen.
Der Lehrplan ist:
- Einführung: KI & Cybersicherheit, Bedrohungsmodell, Bewertungsmetriken, Beispiele für Angriffe
- Robuste KI: Definition und Grenzen des Deep Learning, Stärkung von Robustheit, robuste Optimierungsmethoden
- Adversarial ML: Verteidigungsmechanismen, Adversarial-Training, Übertragbarkeit, Real-World Implikationen
- Generative KI: Generative Modelle, Deepfakes
- Federated ML: Sicherheitsherausforderungen, sichere Aggregationsprotokolle
-
19325302
Übung
Übung zu Cluster Computing (Barry Linnert)
Zeit: Do 10:00-12:00 (Erster Termin: 18.04.2024)
Ort: T9/K 048 Rechnerpoolraum (Takustr. 9)
-
19327402
Übung
Übung zu Bild- und Videocodierung (Heiko Schwarz)
Zeit: Mo 12:00-14:00 (Erster Termin: 15.04.2024)
Ort: T9/055 Seminarraum (Takustr. 9)
-
19335302
Übung
Übung zu Cybersecurity und AI IV (Gerhard Wunder)
Zeit: Mo 14:00-16:00 (Erster Termin: 15.04.2024)
Ort: T9/053 Seminarraum (Takustr. 9)
-
19325301
Vorlesung
-
Spezielle Aspekte der Technischen Informatik
0089cA3.11-
19325301
Vorlesung
Cluster Computing (Barry Linnert)
Zeit: Di 10:00-12:00 (Erster Termin: 16.04.2024)
Ort: T9/051 Seminarraum (Takustr. 9)
Zusätzl. Angaben / Voraussetzungen
Zielgruppe
- MSc
Anforderungen
- Erfahrung mit Computern und Software sowie Programierkenntnisse
Sprache
- Die Kurssprache ist Deutsch (oder Englisch wenn benötigt).
- The exam will be formulated in German, but answers may be given in English, too.
Credits & Klausur
- aktive Teilnahme an den Übungen: regelmäßige Vorbereitung von Übungsaufgaben & Präsentation der Ergebnisse in den Übungen
- Bestehen der Klausur
Webseite
https://www.mi.fu-berlin.de/w/SE/VorlesungClusterComputing
Kommentar
Cluster-Computer bilden die zur Zeit vorherrschende Klasse paralleler Hochleistungsrechner. Sie bestehen aus konventionellen Prozessorknoten, die über ein Hochgeschwindigkeitsnetzwerk miteinander verbunden sind. Obwohl meistens räumlich integriert, handelt es sich um verteilte Systeme mit jeweils lokalen Betriebssystemen. Das enorme Leistungspotential dieser Rechnerklasse kann nur ausgeschöpft werden, wenn Programmcode und Daten optimal über die Knoten verteilt werden. Die eingesetzten Verfahren müssen insbesondere skalierbar sein, also auch bei Tausenden von Rechnerknoten noch effizient arbeiten. Gleichzeitig soll aber die Programmiererin bzw. der Programmierer von diesen Aufgaben entlastet werden. Die Vorlesung gibt einen Überblick über die auftretenden Probleme und stellt Algorithmen zu ihrer Lösung vor.
Literaturhinweise
- Heiss, H.-U.: Prozessorzuteilung in Parallelrechnern, BI-Verlag, Mannheim, 1996
- Andrews, G. A.: Foundations of Multithreaded, Parallel and Distributed Programming, Addison-Wesley, 2000
- Pfister, G.: In Search of Clusters 2nd ed., Prentice Hall, 1998
- Zomaya, A.: Parallel and distributed computing handbook, McGraw Gill, 1995
- Buyya, R.: High Performance Cluster Computing, Vol. 1+2, Prentice Hall, 1999
-
19327401
Vorlesung
Bild- und Videocodierung (Heiko Schwarz)
Zeit: Mo 14:00-16:00 (Erster Termin: 15.04.2024)
Ort: T9/051 Seminarraum (Takustr. 9)
Kommentar
Die Vorlesung behandelt die wichtigsten Konzepte und Algorithmen, die in modernen Bild- und Videocodierverfahren verwendet werden. Wir werden uns insbesondere auf Techniken konzentrieren, die in aktuellen internationalen Videocodierstandards Anwendung finden.
In einem kurzen ersten Teil werden zunächst die sogenannten Rohdatenformate eingeführt, welche als Eingangs- und Ausgangsformate von Bild- und Videocodecs verwendet werden. Dieser Teil beinhaltet folgenden Themen:
- Farbräume und deren Beziehung zur menschlichen Farbwahrnehmung
- Transfer-Funktionen (Gamma-Codierung)
- Warum verwenden wir das YCbCr-Format?
Der zweite Teil der Vorlesung behandelt zunächst die Bildcodierung und umfasst folgende Themen:
- Der Anfang: Wie funktioniert JPEG?
- Warum verwenden wir die Diskrete Cosinus-Transformation?
- Effiziente Codierung von Transformationskoeffizienten
- Prädiktion von Bildblöcken
- Adaptive Blockpartitionierung
- Wie treffen wir Entscheidungen im Encoder?
- Optimierungen der Quantisierung
Im dritten und letzten Teil der Vorlesungen behandeln wir Konzept die letztendlich die Videocodierung deutlich effizienter machen als eine separate Codierung der Einzelbilder. Dieser Teil umfasst folgende Themen:
- Bewegungskompensierte Prädiktion
- Codierung von Bewegungsvektoren
- Algorithmen zur Bewegungssuche
- Subpixel-genaue Bewegungsvektoren und Interpolationsfilter
- Verwendung mehrere Referenzbilder
- Was sind B-Bilder und warum verwenden wir diese?
- Deblocking- und Deringing-Filter
- Effiziente zeitliche Codierstrukturen
In den Übungen werden wir schrittweise einen eigenen Codec für Bilder implementieren. Bei entsprechenden Interesse kann dieser zu einem einfachen Videocodec erweitert werden.
Literaturhinweise
- Bull, D. R., “Communicating Pictures: A Course in Image and Video Coding,” Elsevier, 2014.
- Ohm, J.-R., “Multimedia Signal Coding and Transmission,” Springer, 2015.
- Wien, M., “High Efficiency Video Coding — Coding Tools and Specifications,” Springer 2014.
- Sze, V., Budagavi, M., and Sullivan, G. J. (eds.), “High Efficiency Video Coding (HEVC): Algorithm and Architectures,” Springer, 2014.
- Wiegand, T. and Schwarz, H., "Source Coding: Part I of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 4, no. 1–2, 2011.
- Schwarz, H. and Wiegand, T., “Video Coding: Part II of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 10, no. 1–3, 2016.
-
19335301
Vorlesung
Cybersecurity and AI IV: Angriffe (Gerhard Wunder)
Zeit: Di 12:00-13:30 (Erster Termin: 16.04.2024)
Ort: T9/SR 005 Übungsraum (Takustr. 9)
Kommentar
Cybersecurity and AI ist ein viersemestriger Vorlesungszyklus, der alle wesentlichen Aspekte von Cybersecurity und KI abdeckt. Dieser Kurs vermittelt die Grundlagen für Angriffe auf- und mit KI. Grundsätzlich ist es möglich, den Vorlesungszyklus zu jedem Semester zu beginnen.
Der Lehrplan ist:
- Einführung: KI & Cybersicherheit, Bedrohungsmodell, Bewertungsmetriken, Beispiele für Angriffe
- Robuste KI: Definition und Grenzen des Deep Learning, Stärkung von Robustheit, robuste Optimierungsmethoden
- Adversarial ML: Verteidigungsmechanismen, Adversarial-Training, Übertragbarkeit, Real-World Implikationen
- Generative KI: Generative Modelle, Deepfakes
- Federated ML: Sicherheitsherausforderungen, sichere Aggregationsprotokolle
-
19325302
Übung
Übung zu Cluster Computing (Barry Linnert)
Zeit: Do 10:00-12:00 (Erster Termin: 18.04.2024)
Ort: T9/K 048 Rechnerpoolraum (Takustr. 9)
-
19327402
Übung
Übung zu Bild- und Videocodierung (Heiko Schwarz)
Zeit: Mo 12:00-14:00 (Erster Termin: 15.04.2024)
Ort: T9/055 Seminarraum (Takustr. 9)
-
19335302
Übung
Übung zu Cybersecurity und AI IV (Gerhard Wunder)
Zeit: Mo 14:00-16:00 (Erster Termin: 15.04.2024)
Ort: T9/053 Seminarraum (Takustr. 9)
-
19325301
Vorlesung
-
Mobilkommunikation
0089cA3.3-
19303901
Vorlesung
Mobilkommunikation (Jochen Schiller)
Zeit: Mi 10:00-12:00, zusätzliche Termine siehe LV-Details (Erster Termin: 17.04.2024)
Ort: T9/SR 005 Übungsraum (Takustr. 9)
Kommentar
Inhalt:
Das Modul Mobilkommunikation stellt exemplarisch alle Aspekte mobiler und drahtloser Kommunikation dar, welche derzeit den stärksten Wachstumsmarkt überhaupt darstellt und in immer mehr Bereiche der Gesellschaft vordringt.
Während der gesamten Vorlesung wird ein starker Wert auf die Systemsicht gelegt und es werden zahlreiche Querverweise auf reale Systeme, internationale Standardisierungen und aktuellste Forschungsergebnisse gegeben.
Die zu behandelnden Themen sind:
- Technische Grundlagen der drahtlosen Übertragung: Frequenzen, Signale, Antennen, Signalausbreitung, Multiplex, Modulation, Spreizspektrum, zellenbasierte Systeme;
- Medienzugriff: SDMA, FDMA, TDMA, CDMA;
- Drahtlose Telekommunikationssysteme: GSM, TETRA, UMTS, IMT-2000, LTE;
- Drahtlose lokale Netze: Infrastruktur/ad-hoc, IEEE 802.11/15, Bluetooth;
- Mobile Netzwerkschicht: Mobile IP, DHCP, ad-hoc Netze;
- Mobile Transportschicht: traditionelles TCP, angepasste TCP-Varianten, weitere Mechanismen;
- Mobilitätsunterstützung;
- Ausblick: 4. Generation Mobilnetze
Literaturhinweise
Jochen Schiller, Mobilkommunikation, Addison-Wesley, 2.Auflage 2003
Alle Unterlagen verfügbar unter http://www.mi.fu-berlin.de/inf/groups/ag-tech/teaching/resources/Mobile_Communications/course_Material/index.html
-
19303901
Vorlesung
-
Softwareprojekt - Technische Informatik A
0089cA3.6-
19315312
Projektseminar
Softwareprojekt: Verteilte Systeme (Justus Purat)
Zeit: Di 12:00-14:00 (Erster Termin: 16.04.2024)
Ort: T9/046 Seminarraum (Takustr. 9)
Kommentar
Das Softwareprojekt: Verteilte Systeme behandelt Themen aus verschiedenen Projekten der AG Zuverlässige Systeme. Dabei ist eine Aufgabenstellung selbstständig durch Entwurf, Implementierung und Testen zu bearbeiten.
Das Softwareprojekt ist verschiedenen Modulen zugeordnet. Bitte informieren Sie sich vorher, ob sie die Veranstaltung in einem Modul aus ihrem Studiengang belegen können.
Themen in diesem Semester sind:
- (Weiter-)Entwicklung einer Anwendung in Kooperation mit der Charité Berlin
- Intelligente Clustersteuerung
- SmartContract - Entwicklung
- Tangle - Technologien als Alternative zur Blockchain für IoTDetails werden in der ersten Sitzung besprochen.
Das Softwareprojekt: Verteilte Systeme wird je nach Bedarf der Studierenden in deutscher oder englischer Sprache durchgeführt. -
19322512
Projektseminar
Softwareprojekt: GPU Offloading and Compiler Optimization (Barry Linnert)
Zeit: Mi 12:00-14:00 (Erster Termin: 24.04.2024)
Ort: T9/046 Seminarraum (Takustr. 9)
Zusätzl. Angaben / Voraussetzungen
Zielgruppe
BA und MA Informatik
Webseite
https://www.mi.fu-berlin.de/w/SE/SoftwareprojektCompilerOptimization2024
Dozent & Ansprechpartner
Barry Linnert führt die Veranstaltung durch.
Kommentar
Pony [1] ist eine Programmiersprache, die dafür designed wird, hoch
performant zu sein.
Sie basiert auf dem Akteur-Modell [2]: Akteure beinhalten
sequentielle Code-Abschnitte, verschiedene Akteure werden
nebenläufig und unabhängig voneinander ausgeführt.
Die Nebenläufigkeit auf der Ebene von Akteuren [3] siedelt
Beschleunigung direkt im Design der Sprache an.
Es gibt jedoch auch andere Formen von Parallelismus auf anderen Ebenen,
welche dazu genutzt werden könnten, Pony noch performanter zu machen.
Auf Ebene der Daten gibt es sogenannten Datenparallelismus [4].
Er kann beispielsweise in Schleifennestern gefunden werden,
die viele Male ausgeführt werden und auf unabhängigen aber
gleich strukturierten Daten arbeiten.Grafische Prozessoren (GPUs) spezialisieren sich darauf
datenparallele Probleme zu berechnen. [5]
In einem System, in dem sowohl eine GPU als auch eine CPU vorhanden
sind, kann die GPU die Berechnungen der CPU unterstützen,
indem datenparallele Probleme von ihr übernommen werden.
Der Fachbegriff dazu heißt GPU Offloading.
Die GPU berechnet aufgrund ihrer internen Struktur und Ressourcen
datenparallele Probleme effizienter und schneller als die CPU und
beschleunigt dadurch die Gesamtausführung eines Programms.In diesem Softwareprojekt wollen wir gemeinsam herausfinden,
ob sich GPU Offloading in Pony integrieren lässt.
Dazu experimentieren wir mit Ponys Compiler und schreiben Teile
dieses Compilers um.Das SWP bietet die Möglichkeit, einmal genauer in den internen
Aufbau eines Compilers zu blicken und sich anzusehen, wie genau
GPUs dazu verwendet werden können, ein Programm zu beschleunigen.
Darüber hinaus werden wir die Compiler Infrastruktur LLVM [6]
kennenlernen, denn der Pony Compiler ist ein Compiler Frontend
zu LLVM.
Falls Ihnen der Name LLVM nichts sagt, ist es vielleicht interessant
für Sie zu wissen, dass sowohl der Rust, als auch der Clang Compiler
Frontends zu LLVM sind.Das Softwareprojekt zielt darauf ab im Bereich GPU Offloading zu forschen,
möglicherweise mit der Option später die Ergebnisse der Experimente
zu veröffentlichen und zu den beiden genannten Open-Source-Projekten
Pony und LLVM beizutragen.Ablauf
Während der Vorlesungszeit wird die Aufgabenstellung mit reduziertem Anwesenheits- und Arbeitsaufwand spezifiziert. Die eigentliche Bearbeitung der Aufgabenstellung erfolgt dann in der vorlesungsfreien Zeit.
Links:
[1]: [Pony](https://www.ponylang.io/discover/#what-is-pony)
[2]: [Actor Model](https://en.wikipedia.org/wiki/Actor_model)
[3]: [Task-level parallelism](https://en.wikipedia.org/wiki/Task_parallelism)
[4]: David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware Software Interface [RISC-V Edition]. 2nd. The Morgan Kaufmann Series in Computer Architecture and Design. Morgan Kaufmann, 2021. ISBN: 9780128203316. Page 528.
[5]: David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware Software Interface [RISC-V Edition]. 2nd. The Morgan Kaufmann Series in Computer Architecture and Design. Morgan Kaufmann, 2021. ISBN: 9780128203316. Appendix B.
[6]: [LLVM](https://llvm.org/) -
19334412
Projektseminar
SWP: Szenario-Management im Future Security Lab (Larissa Groth)
Zeit: Di 12:00-14:00 (Erster Termin: 16.04.2024)
Ort: T9/K 040 Multimediaraum (Takustr. 9)
Kommentar
Das Projekt BeLIFE, Teil der AG Technische Informatik, konzentriert sich auf die Verbesserung des Wissenstransfers und des kommunikativen Austausches in der zivilen Sicherheitsforschung. Zentraler Bestandteil des Projekts ist das Future Security Lab, das in den Räumlichkeiten des Einstein Center Digital Future in Mitte beheimatet ist. Hier werden Politiker:innen von Bundes- und Landesebenen, aber auch Vertreter:innen aus Behörden und Organisationen mit Sicherheitsaufgaben willkommen geheißen.
Im Rahmen des Softwareprojekts entwickeln die Studierenden Konzepte, um die bestehende technische Infrastruktur des Raumes zu optimieren und kreativ weiterzuentwickeln. Ziel ist es insbesondere die Usability des Raumes auf Seiten der Wissenschaftler:innen zu erhöhen, aber auch die User Experience der Besuchenden zu verbessern. Um das zu erreichen, besteht das Softwareprojekt aus mehreren Teilbereichen, die sich entweder aus einem konkreten Problem ergeben, das es zu lösen gilt, oder kreative Herangehensweisen und Ideenreichtum erfordern. Die zu bearbeitenden Aufgaben generieren sich aus den Bereichen Systemadministration, Interfaceentwicklung sowie Licht-/Ton-Installation und -Orchestrierung und umfassen Problemstellungen wie paralleler Startup aller Rechner in einem Netzwerk über WakeOn LAN aus einer Web-App heraus oder die Optimierung der vorhandenen WebApp zur Szenariopräsentation.
Die Bearbeitung der Aufgabenstellung erfolgt ausschließlich in Kleingruppen (3-5 Studierende). Die Zusammenarbeit und Sicherung des entwickelten Codes erfolgt über das Fachbereichs-eigene Gitlab oder ein öffentliches Github. Die Ergebnisse sind geeignet zu dokumentieren, z.B. über die Readme-Dateien des Gits und ein gut strukturiertes Wiki. Modularität und Erweiterbarkeit des entwickelten Codes und eine top Dokumentation sind entscheidend für den Erfolg dieses Softwareprojekts!
Zum Ablauf: Dieses Softwareprojekt findet Semesterbegleitend statt. Es gibt wenige Meetings in großer Runde mit allen Teilnehmenden, diese sind aber verpflichtend. Darüber hinaus gibt es kurze wöchentliche Treffen, in denen mind. 1 Gruppenmitglied über den aktuellen Stand berichtet, wobei wir hier im Verlauf eines Monats mit allen Mitgliedern gesprochen haben wollen. Der erste Termin (16.04.2024) wird in Berlin Mitte im Future Security Lab, Wilhelmstr. 67, 10117 Berlin, stattfinden. Im Rahmen dieses Termins werden die bereits implementierten Lösungen präsentiert und die Problemstellungen besprochen. Danach gibt es insgesamt 3 Präsentationstermine: die Präsentation eines ersten Ansatzes zur Problemlösung (07.05.2024), eine kurze Zwischenpräsentation (04.06.2024) und die Abschlusspräsentation (16.07.2024).
Die Studierenden erhalten zusätzlich regelmäßig die Möglichkeit, in den Räumlichkeiten des Future Security Labs zu arbeiten und sich so mit der Ausstattung vertraut zu machen.
-
19315312
Projektseminar
-
Softwareprojekt - Technische Informatik B
0089cA3.7-
19315312
Projektseminar
Softwareprojekt: Verteilte Systeme (Justus Purat)
Zeit: Di 12:00-14:00 (Erster Termin: 16.04.2024)
Ort: T9/046 Seminarraum (Takustr. 9)
Kommentar
Das Softwareprojekt: Verteilte Systeme behandelt Themen aus verschiedenen Projekten der AG Zuverlässige Systeme. Dabei ist eine Aufgabenstellung selbstständig durch Entwurf, Implementierung und Testen zu bearbeiten.
Das Softwareprojekt ist verschiedenen Modulen zugeordnet. Bitte informieren Sie sich vorher, ob sie die Veranstaltung in einem Modul aus ihrem Studiengang belegen können.
Themen in diesem Semester sind:
- (Weiter-)Entwicklung einer Anwendung in Kooperation mit der Charité Berlin
- Intelligente Clustersteuerung
- SmartContract - Entwicklung
- Tangle - Technologien als Alternative zur Blockchain für IoTDetails werden in der ersten Sitzung besprochen.
Das Softwareprojekt: Verteilte Systeme wird je nach Bedarf der Studierenden in deutscher oder englischer Sprache durchgeführt. -
19322512
Projektseminar
Softwareprojekt: GPU Offloading and Compiler Optimization (Barry Linnert)
Zeit: Mi 12:00-14:00 (Erster Termin: 24.04.2024)
Ort: T9/046 Seminarraum (Takustr. 9)
Zusätzl. Angaben / Voraussetzungen
Zielgruppe
BA und MA Informatik
Webseite
https://www.mi.fu-berlin.de/w/SE/SoftwareprojektCompilerOptimization2024
Dozent & Ansprechpartner
Barry Linnert führt die Veranstaltung durch.
Kommentar
Pony [1] ist eine Programmiersprache, die dafür designed wird, hoch
performant zu sein.
Sie basiert auf dem Akteur-Modell [2]: Akteure beinhalten
sequentielle Code-Abschnitte, verschiedene Akteure werden
nebenläufig und unabhängig voneinander ausgeführt.
Die Nebenläufigkeit auf der Ebene von Akteuren [3] siedelt
Beschleunigung direkt im Design der Sprache an.
Es gibt jedoch auch andere Formen von Parallelismus auf anderen Ebenen,
welche dazu genutzt werden könnten, Pony noch performanter zu machen.
Auf Ebene der Daten gibt es sogenannten Datenparallelismus [4].
Er kann beispielsweise in Schleifennestern gefunden werden,
die viele Male ausgeführt werden und auf unabhängigen aber
gleich strukturierten Daten arbeiten.Grafische Prozessoren (GPUs) spezialisieren sich darauf
datenparallele Probleme zu berechnen. [5]
In einem System, in dem sowohl eine GPU als auch eine CPU vorhanden
sind, kann die GPU die Berechnungen der CPU unterstützen,
indem datenparallele Probleme von ihr übernommen werden.
Der Fachbegriff dazu heißt GPU Offloading.
Die GPU berechnet aufgrund ihrer internen Struktur und Ressourcen
datenparallele Probleme effizienter und schneller als die CPU und
beschleunigt dadurch die Gesamtausführung eines Programms.In diesem Softwareprojekt wollen wir gemeinsam herausfinden,
ob sich GPU Offloading in Pony integrieren lässt.
Dazu experimentieren wir mit Ponys Compiler und schreiben Teile
dieses Compilers um.Das SWP bietet die Möglichkeit, einmal genauer in den internen
Aufbau eines Compilers zu blicken und sich anzusehen, wie genau
GPUs dazu verwendet werden können, ein Programm zu beschleunigen.
Darüber hinaus werden wir die Compiler Infrastruktur LLVM [6]
kennenlernen, denn der Pony Compiler ist ein Compiler Frontend
zu LLVM.
Falls Ihnen der Name LLVM nichts sagt, ist es vielleicht interessant
für Sie zu wissen, dass sowohl der Rust, als auch der Clang Compiler
Frontends zu LLVM sind.Das Softwareprojekt zielt darauf ab im Bereich GPU Offloading zu forschen,
möglicherweise mit der Option später die Ergebnisse der Experimente
zu veröffentlichen und zu den beiden genannten Open-Source-Projekten
Pony und LLVM beizutragen.Ablauf
Während der Vorlesungszeit wird die Aufgabenstellung mit reduziertem Anwesenheits- und Arbeitsaufwand spezifiziert. Die eigentliche Bearbeitung der Aufgabenstellung erfolgt dann in der vorlesungsfreien Zeit.
Links:
[1]: [Pony](https://www.ponylang.io/discover/#what-is-pony)
[2]: [Actor Model](https://en.wikipedia.org/wiki/Actor_model)
[3]: [Task-level parallelism](https://en.wikipedia.org/wiki/Task_parallelism)
[4]: David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware Software Interface [RISC-V Edition]. 2nd. The Morgan Kaufmann Series in Computer Architecture and Design. Morgan Kaufmann, 2021. ISBN: 9780128203316. Page 528.
[5]: David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware Software Interface [RISC-V Edition]. 2nd. The Morgan Kaufmann Series in Computer Architecture and Design. Morgan Kaufmann, 2021. ISBN: 9780128203316. Appendix B.
[6]: [LLVM](https://llvm.org/) -
19334412
Projektseminar
SWP: Szenario-Management im Future Security Lab (Larissa Groth)
Zeit: Di 12:00-14:00 (Erster Termin: 16.04.2024)
Ort: T9/K 040 Multimediaraum (Takustr. 9)
Kommentar
Das Projekt BeLIFE, Teil der AG Technische Informatik, konzentriert sich auf die Verbesserung des Wissenstransfers und des kommunikativen Austausches in der zivilen Sicherheitsforschung. Zentraler Bestandteil des Projekts ist das Future Security Lab, das in den Räumlichkeiten des Einstein Center Digital Future in Mitte beheimatet ist. Hier werden Politiker:innen von Bundes- und Landesebenen, aber auch Vertreter:innen aus Behörden und Organisationen mit Sicherheitsaufgaben willkommen geheißen.
Im Rahmen des Softwareprojekts entwickeln die Studierenden Konzepte, um die bestehende technische Infrastruktur des Raumes zu optimieren und kreativ weiterzuentwickeln. Ziel ist es insbesondere die Usability des Raumes auf Seiten der Wissenschaftler:innen zu erhöhen, aber auch die User Experience der Besuchenden zu verbessern. Um das zu erreichen, besteht das Softwareprojekt aus mehreren Teilbereichen, die sich entweder aus einem konkreten Problem ergeben, das es zu lösen gilt, oder kreative Herangehensweisen und Ideenreichtum erfordern. Die zu bearbeitenden Aufgaben generieren sich aus den Bereichen Systemadministration, Interfaceentwicklung sowie Licht-/Ton-Installation und -Orchestrierung und umfassen Problemstellungen wie paralleler Startup aller Rechner in einem Netzwerk über WakeOn LAN aus einer Web-App heraus oder die Optimierung der vorhandenen WebApp zur Szenariopräsentation.
Die Bearbeitung der Aufgabenstellung erfolgt ausschließlich in Kleingruppen (3-5 Studierende). Die Zusammenarbeit und Sicherung des entwickelten Codes erfolgt über das Fachbereichs-eigene Gitlab oder ein öffentliches Github. Die Ergebnisse sind geeignet zu dokumentieren, z.B. über die Readme-Dateien des Gits und ein gut strukturiertes Wiki. Modularität und Erweiterbarkeit des entwickelten Codes und eine top Dokumentation sind entscheidend für den Erfolg dieses Softwareprojekts!
Zum Ablauf: Dieses Softwareprojekt findet Semesterbegleitend statt. Es gibt wenige Meetings in großer Runde mit allen Teilnehmenden, diese sind aber verpflichtend. Darüber hinaus gibt es kurze wöchentliche Treffen, in denen mind. 1 Gruppenmitglied über den aktuellen Stand berichtet, wobei wir hier im Verlauf eines Monats mit allen Mitgliedern gesprochen haben wollen. Der erste Termin (16.04.2024) wird in Berlin Mitte im Future Security Lab, Wilhelmstr. 67, 10117 Berlin, stattfinden. Im Rahmen dieses Termins werden die bereits implementierten Lösungen präsentiert und die Problemstellungen besprochen. Danach gibt es insgesamt 3 Präsentationstermine: die Präsentation eines ersten Ansatzes zur Problemlösung (07.05.2024), eine kurze Zwischenpräsentation (04.06.2024) und die Abschlusspräsentation (16.07.2024).
Die Studierenden erhalten zusätzlich regelmäßig die Möglichkeit, in den Räumlichkeiten des Future Security Labs zu arbeiten und sich so mit der Ausstattung vertraut zu machen.
-
19315312
Projektseminar
-
Wissenschaftliches Arbeiten Technische Informatik A
0089cA3.8-
19307111
Seminar
Seminar: Zuverlässige Systeme (Justus Purat)
Zeit: Di 14:00-16:00 (Erster Termin: 16.04.2024)
Ort: T9/049 Seminarraum (Takustr. 9)
Kommentar
Das "Seminar: Verteilte Systeme" behandelt sowohl theoretische als auch praktische Themen aus verschiedenen Projekten der Arbeitsgruppe "Zuverlässige verteilte Systeme". Dabei ist eine Aufgabenstellung selbstständig alleine oder in einer Gruppe von maximal 2-3 Studierenden durch Literaturrecherche, Evaluation und Schreiben eines wissenschaftlichen Reports zu bearbeiten.
Das Seminar ist verschiedenen Modulen zugeordnet. Bitte informieren Sie sich vorher, ob sie die Veranstaltung in einem Modul aus ihrem Studiengang belegen können.
Themen in diesem Semester sind:
- Blockchain - Technologien im Alltag (PoW, PoS, Offlinenutzung)
- Tangle - Technologien als Alternative zur Blockchain für IoT
- Could - Computing
- Consensus algorithmsDetails werden in der ersten Sitzung besprochen.
Das Seminar: Verteilte Systeme wird je nach Bedarf der Studierenden in deutscher oder englischer Sprache durchgeführt. -
19329617
Seminar/Proseminar
Seminar/Proseminar: IoT im Smart Home (Larissa Groth)
Zeit: Di 14:00-16:00 (Erster Termin: 16.04.2024)
Ort: K 063 Hardwarepraktikum (Takustr. 9)
Kommentar
Dieses Seminar konzentriert sich auf verschiedene Aspekte der Technischen Informatik. Zu Beginn des Seminars werden Themenvorschläge ausgegeben, die sich vor allem mit Teilaspekten des Internets der Dinge und Sicherheitsaspekten in Smart Homes befassen. Auch eigene Themenvorschläge sind möglich und erwünscht, der Bezug zur Technischen Informatik muss aber gegeben sein. Die Bearbeitung der Themen kann alleine oder in Kleingruppen (2 Studierende) erfolgen. Dann muss aber deutlich werden, wer welchen Teil zur Seminararbeit beigetragen hat.
Zum Ablauf: Dieses Seminar findet Semester-begleitend statt. Es gibt wenige Meetings, diese sind aber verpflichtend. Am ersten Termin (16.04.2024) wird die Themenliste ausgegeben und besprochen. Bitte bereiten Sie einen kurzen (2-3 Minuten) Abriss Ihres eigenen Themenvorschlages vor, wenn Sie diesen in das Seminar einbringen möchten. Zur nächsten Woche (23.04.2024, kein Präsenztermin!) erfolgt dann die Themenvergabe per Whiteboard Assignment. Danach gibt es insgesamt 3 Präsentationstermine: die Themenvorstellung (07.05.2024), eine kurze Zwischenpräsentation (04.06.2024 und 11.06.2024) und die Abschlusspräsentation (09.07.2024, 16.07.2024 und ggfs. 23.07.2024).
-
19307111
Seminar
-
Wissenschaftliches Arbeiten Technische Informatik B
0089cA3.9-
19307111
Seminar
Seminar: Zuverlässige Systeme (Justus Purat)
Zeit: Di 14:00-16:00 (Erster Termin: 16.04.2024)
Ort: T9/049 Seminarraum (Takustr. 9)
Kommentar
Das "Seminar: Verteilte Systeme" behandelt sowohl theoretische als auch praktische Themen aus verschiedenen Projekten der Arbeitsgruppe "Zuverlässige verteilte Systeme". Dabei ist eine Aufgabenstellung selbstständig alleine oder in einer Gruppe von maximal 2-3 Studierenden durch Literaturrecherche, Evaluation und Schreiben eines wissenschaftlichen Reports zu bearbeiten.
Das Seminar ist verschiedenen Modulen zugeordnet. Bitte informieren Sie sich vorher, ob sie die Veranstaltung in einem Modul aus ihrem Studiengang belegen können.
Themen in diesem Semester sind:
- Blockchain - Technologien im Alltag (PoW, PoS, Offlinenutzung)
- Tangle - Technologien als Alternative zur Blockchain für IoT
- Could - Computing
- Consensus algorithmsDetails werden in der ersten Sitzung besprochen.
Das Seminar: Verteilte Systeme wird je nach Bedarf der Studierenden in deutscher oder englischer Sprache durchgeführt. -
19329617
Seminar/Proseminar
Seminar/Proseminar: IoT im Smart Home (Larissa Groth)
Zeit: Di 14:00-16:00 (Erster Termin: 16.04.2024)
Ort: K 063 Hardwarepraktikum (Takustr. 9)
Kommentar
Dieses Seminar konzentriert sich auf verschiedene Aspekte der Technischen Informatik. Zu Beginn des Seminars werden Themenvorschläge ausgegeben, die sich vor allem mit Teilaspekten des Internets der Dinge und Sicherheitsaspekten in Smart Homes befassen. Auch eigene Themenvorschläge sind möglich und erwünscht, der Bezug zur Technischen Informatik muss aber gegeben sein. Die Bearbeitung der Themen kann alleine oder in Kleingruppen (2 Studierende) erfolgen. Dann muss aber deutlich werden, wer welchen Teil zur Seminararbeit beigetragen hat.
Zum Ablauf: Dieses Seminar findet Semester-begleitend statt. Es gibt wenige Meetings, diese sind aber verpflichtend. Am ersten Termin (16.04.2024) wird die Themenliste ausgegeben und besprochen. Bitte bereiten Sie einen kurzen (2-3 Minuten) Abriss Ihres eigenen Themenvorschlages vor, wenn Sie diesen in das Seminar einbringen möchten. Zur nächsten Woche (23.04.2024, kein Präsenztermin!) erfolgt dann die Themenvergabe per Whiteboard Assignment. Danach gibt es insgesamt 3 Präsentationstermine: die Themenvorstellung (07.05.2024), eine kurze Zwischenpräsentation (04.06.2024 und 11.06.2024) und die Abschlusspräsentation (09.07.2024, 16.07.2024 und ggfs. 23.07.2024).
-
19307111
Seminar
-
-
Betriebssysteme 0089cA3.1
-
Ausgewählte Themen der Technischen Informatik 0089cA3.12
-
Mikroprozessor-Praktikum 0089cA3.2
-
Robotik 0089cA3.4
-
Telematik 0089cA3.5
-