Bachelor Courses for the Summer Semester 2024

Central allocation for seminars and practical courses for the summer semester 2024 has ended. If you are interested in places that become available due to deregistrations, please contact the course organisers. They will then contact you if you can still be accepted onto the course.

Tuesdays, 10-13 Uhr c.t., 16.04.2024 - 16.07.2024
Akademiestr. 7, 1. Stock, Room 105
Please register over Central Allocation (Zentralanmeldung >Bachelor-Seminare)
3 SWS

Over the past year, there has been a surge in new AI-based image generation and editing tools that do not require special computer skills, but are usable by laypersons, artists, and designers. This has been largely influenced by the publicly available, open-source "Stable Diffusion" model (https://ommer-lab.com/research/latent-diffusion-models/). Now many researchers, start-ups, and artists are investigating downstream tasks without the need for a high-performance GPU cluster to train a base model. Moreover, a number of closed-source services such as Midjourney and Open AI's Dall-E 2 have also drawn a lot of attention.

The foundation of this technology is the task of generating a single image solely based on a textual description of what should be depicted in the image. Examples of this can be found on websites such as https://lexica.art/. This technology can be extended to include additional information, such as depth maps, and allows for flexible image editing by changing existing objects based on text or removing parts of the image and filling it while paying attention to the remaining image. The latest advances also allow for generation or modification of video as well as rendering 3D scenes.

These topics and more will be covered in our seminar, where we will investigate AI-based image and video editing and generation techniques. Each student will focus on a specific topic. The objective of this seminar is then to investigate the connection between these techniques and the students' respective fields of study and the greater societal and research implications. We will explore potential applications and issues in applying this technology. Each student will give a presentation of their ideas and write a report about the technique and its potential applications and implications.

Please consult with LSF and/or your examination office for crediting this course.


https://www.nm.informatik.uni-muenchen.de/teaching/Seminare/2024ss/ism/

Das Erlernen des Programmierens fällt vielen Menschen nicht leicht und benötigt viel Übung. Nicht immer sind Lehrpersonen in der Lage alle Studierende adäquat zu betreuen und ihnen detailliertes und schnelles Feedback zu geben. Ein Ansatz dieses Problem zu lösen, besteht darin Systeme zur (semi-)automatischen Bewertung und/oder Generierung von Feedback einzusetzen.

Im Seminar werden technische und didaktische Herausforderungen und Lösungsansätze diskutiert, die Lernende und Lehrende beim Lehren und Lernen unterstützen.

Die Prüfungsleistung besteht aus einem Vortrag und aktiver Teilnahme im Seminar sowie einer schriftlichen Ausarbeitung.

Das Seminar findet als Präsenzveranstaltung statt (Mi 14-16 Uhr, damit gute Diskussionen möglich sind.


Anmeldung

Die Anmeldung zu diesem Seminar erfolgt über die Zentralanmeldung für Bachelorseminare.

Voraussetzung für das Seminar ist die erfolgreiche Teilnahme an der Veranstaltung Algorithmen und Datenstrukturen!

Inhalt

Entwurf und Analyse von Algorithmen ist ein Kerngebiet der Informatik. In den ersten Semestern wurden bereits eine Reihe von Algorithmen, z.B. Graphalgorithmen und Sortieralgorithmen, und Paradigmen für Algorithmenentwurf vorgestellt und analysiert.

In diesem Seminar werden darauf aufbauend Algorithmen behandelt, die typischer Weise nicht in den Curricula behandelt werden, aber interessante Ideen aufweisen und von Interesse für die Anwendung sind. Wir behandeln Themen wie Mustererkennung in Texten, Boyer-Moore- und Knuth-Morris-Pratt-Algorithmen, Präfix-Bäume, Goldberg/Tarjans Netzwerkflussalgorithmus mit Anwendungen, Stable Marriage Problem, Weighted Popular Matchings, Student/Projekt-Zuweisungsproblem, Boston School Choice Problem, Top Trading Cycle Verfahren, Nierenvergabe für Transplantation mit TTCC, Cake Cutting and Lone Chooser Protokoll, Divide and conquer cake cutting Protokoll.

Hörerkreis

Bachelor Informatik oder Medieninformatik

Seminar-Leitung

Prof. Dr. Mila Majster-Cederbaum

Technische Fragen: Dr. Philipp Wendler

Termine

Das Seminar findet Mittwochs von 14-18 Uhr statt und ist an folgenden 6 Terminen geplant:

  • 17.04.2024: Vorbesprechung
  • 08.05.2024: Kurzvorträge und Sprechstunde
  • 05.06.2024, 12.06.2024, 19.06.2024: Vorträge
  • 26.06.2024 Gemeinsames Reviewing / Abschlussbesprechung

Alle Termine sind in der Oettingenstraße 67 im Raum 067.

Teilnahme an allen Terminen ist Voraussetzung für das Bestehen des Seminars! Überprüfen Sie daher vor der Anmeldung, ob Sie zu diesen Terminen Zeit haben.

Ablauf

  1. Zu Beginn des Semesters gibt es eine Einführungsveranstaltung, bei der die Themen verteilt werden.

  2. Nach der Zuteilung der Themen haben Sie Zeit sich Ihr Thema näher anzusehen und eine Literaturrecherche zum Beispiel zu historischen Hintergründen und insbesondere zu Anwendungen Ihrer Algorithmen in der Praxis oder Erweiterungen/Varianten der Problemstellung durchzuführen.

  3. Beim ersten Seminartermin hält jeder Studierende einen kurzen Vortrag, ca. 5-10 Minuten, in dem das Thema und eine provisorische Gliederung des geplanten Vortrags vorgestellt wird.

  4. Sie haben danach einige Wochen Zeit die Folien Ihres Vortrags zu erstellen, der 45 Minuten (+ ca. 5 Minuten Diskussion) dauern soll. Diese senden Sie mir 1 Woche vor Ihrem Vortrag zur Korrektur per Email zu.

  5. Die Vorträge finden statt.

  6. Es soll eine Ausarbeitung von 10 (±10%) Seiten (Deckblatt und Inhaltsverzeichnis zählen nicht) an mich gesandt werden. Im Gegensatz zu den Folien, die eher stichpunktartig organisiert sind, ist die Ausarbeitung eine ausführliche Behandlung Ihres Themas.

  7. Am Ende des Semesters findet eine Abschlussbesprechung statt.

Sprache

Vortrag und Ausarbeitung können auf deutsch oder englisch sein. Vortrag und Ausarbeitung sollen in der gleichen Sprache erfolgen und selbstständig formuliert werden.

Bewertungskriterien

Hier werden Hinweise zur Bearbeitung der Themen gegeben. Die Nichteinhaltung wird in der Note berücksichtigt.

  1. Alle vorkommenden Begriffe sollen gut erklärt werden, z.B. an einem eigenen Beispiel / Gegenbeispiel. Ebenso sollen die Algorithmen/Protokolle sowie komplexere Definitionen illustriert werden und an einem eigenen Beispiel erläutert werden. Die Aussagen zu den Algorithmen/Protokollen sollen präsentiert und erläutert werden. Beweise erfolgen in der Regel in der Ausarbeitung.

  2. Sie sollen Kosten von Algorithmen angeben und begründen.

  3. Beweise dürfen nicht einfach nur abgeschrieben oder übersetzt werden.

  4. Quellen müssen klar und umfassend genannt werden.

  5. Copy und Paste aus Texten oder Darstellungen im Internet oder deren wortwörtliche Übersetzung sind nicht zulässig (Ausnahme: Zitate). Insbesondere Erläuterungen und Beweise müssen mit eigenen Worten formuliert werden.
    Beachten Sie auch die Hinweise zum Umgang mit Plagiaten und Täuschungsversuchen.

  6. Es ist Vorsicht geboten, Veranschaulichungen aus dem Internet zu übernehmen. Diese sind nicht notwendig konform mit der von uns gewählten Literatur und auch nicht immer an Informatiker gerichtet und manchmal ziemlich salopp, insbesondere ohne Begründung der Korrektheit dessen, was da getan wird. In unseren Seminaren geht es aber um wissenschaftliches Arbeiten, z.B. auch um das Verstehen komplexerer formaler Konstrukte und Zusammenhänge. Veranschaulichen ist gut, ersetzt aber nicht das exakte Formale. Eine bloße Veranschaulichung, wie sie häufig im Internet zu finden ist, entspricht nicht dem, was in einem Seminarvortrag erwartet wird.

  7. Sie müssen eine Literaturrecherche durchführen und die Literatur korrekt zitieren.

  8. Auch bei der Verwendung zusätzlicher Literatur muss man darauf achten, das die verwendeten Begriffe übereinstimmen, selbst kleine Veränderungen in einer Definition/einem Algorithmus können weitreichende Konsequenzen haben.

Vortrag

Der Vortrag soll ca. 45 Minuten dauern (+ ca. 5 Minuten Diskussion).

  • Inhalt: Motivation und Einführung, Gliederung, Argumentationskette, Abstraktionsniveau, Vollständigkeit
  • Form: Form der Folien (Schriftgröße, Diagramme, Folien nicht überladen), freie Rede, sprachliche Verständlichkeit (deutliche Sprechweise, Wortwahl), Einhalten der Zeit
  • Bereiten Sie eine kleine Aufgabe für oder Frage an die Kommiliton:innen vor. Die Mitarbeit der jeweils Zuhörenden wird erwartet.

Ausarbeitung

Die Ausarbeitung soll ca. 10 (±10%) Seiten lang sein (Deckblatt und Inhaltsverzeichnis zählen nicht).

  • Darstellung: Klarheit des Textes, sprachliche Gewandtheit, äußere Form, Rechtschreibung, Quellenangaben, sinnvolle Darstellung von Abbildungen
  • Deckblatt: Titel des Vortrags, Name des Vortragenden, Titel des Seminars, Datum, Angabe des Instituts und des Betreuers
  • Hinführung: Abstract, Einleitung und Motivation
  • Hauptteil: Argumentationskette, Darstellung der Hauptresultate
  • Abschluss: Schlussbewertung und Zusammenfassung, Ausblick

Organization

Registration via  central registration process for Bachelor seminars.

The seminar will be held in presence on Tuesdays, 14-16 in Oettingenstraße 67.

This seminar will be in English.

Content

This seminar studies benchmarks for Java, Scala, Android, and JavaScript. The studied benchmarks used to experimentally compare runtime environments like different JVM implementations or different verification technologies. Next to the software itself, which should be (close to) real-world software and representative, the benchmarks may offer additional tool support for benchmarking as well as additional information about workload, expected bugs, or benchmark characteristics.

Under the guidance of your supervisor you will

  •     use the given literature and may search for additional literature to become acquainted with your topic,
  •     prepare and give a presentation about your topic and afterwards discuss the topic with the other participants,
  •     write a scientific report, which provides a summary of your topic.
At the end of the seminar, students are able to autonomously familiarize themselves with a scientific topic and are able to present this topic to a heterogeneous audience orally and in written form.

The planned topics are:

JVM Performance Benchmarks
  • DaCapo
  • JavaGrande
  • JemBench
  • Renaissance
  • ScalaBench
Java Verification Benchmarks
  • JaconTeBe
Android Benchmarks
  • AndroVul
  • AppLeak
  • Ghera
  • TaintBench
Java Script Benchmarks
  • BUGS.JS
  • SecBench

This seminar offers a variety of topics from High Performance Computing, Quantum Computing, Virtual Reality and Cryptography for students to work on.

Each participant will work on one topic throughout the semester (master students on their own, bachelor students in pairs). The goal is to write a paper, submit it to an imaginary conference committee, review each other's work and present their findings at an end-of-term "conference" in the seminar.

The task is supported by a lecture about scientific writing and presentations and by an individual supervisor for each topic.

The mandatory lectures will take place on Wednesday 17.04.24 and 08.05.24, 12-14 h c.t., room 061 in Oettingenstr. 67.
The exam date will be Saturday 06.07.24, 9-18 h, room B001 in Oettingenstr. 67.

Im wissenschaftlichen Kontext geht man oftmals davon aus, dass Zugang zu einer großen, gelabelten Datenmenge besteht, die für das Training von Modellen verwendet werden kann. Doch in der Praxis ist das schwierig, da das Annotieren von Daten zeitaufwendig, teuer und oft von Experten abhängig ist. Wir werden uns im Seminar mit Lösungsansätzen beschäftigen, wie man leistungsstarke Machine Learning Modelle mit minimalem oder keinem Annotationsaufwand trainieren kann. Dazu gehören Themen wie Deep Clustering, Active Learning und Semi-Supervised Learning. 

Zu Beginn wird es eine Einführung in das Thema geben und ihr wählt euer Thema aus einer Liste aus, in das ihr euch selbstständig einarbeiten werdet. Die Prüfungsleistung besteht aus der aktiven Teilnahme im Seminar, einem Vortrag sowie einer schriftlichen Ausarbeitung eures Themas. 

Die Bedeutung von Software Security nimmt in einer zu nehmend digitalisierten Welt stetig zu. Angesichts der zunehmenden Vernetzung von Systemen, der Speicherung sensibler Daten in der Cloud und der Verbreitung von IoT-Geräten ist es von entscheidender Bedeutung, die Sicherheit von Software zu gewährleisten.

In unserem Seminar werden wir uns deshalb mit verschiedenen Aspekten von Software Hardening auseinandersetzen, von der Identifizierung von Sicherheitslücken bis hin zur Implementierung von Schutzmechanismen. Dabei werden wir unter anderem die technischen Grundlagen von Sicherheitskonzepten wie Memory Safety und Fuzzing verstehen lernen.

Das Seminar richtet sich an Studierende, die ein Interesse an der Sicherheit von Software haben und sich für die Herausforderungen und Lösungsansätze in diesem Bereich interessieren.

Neben dem eigentlichem Inhalt sollen auch Grundlagen des wissenschaftlichen Arbeitens vermittelt werden.


Inhalt: Dieses Seminar beschäftigt sich der Frage, wie Software vor böswilligen Angriffen geschützt werden kann. Bei der Datenverarbeitung soll Vertraulichkeit gewährleistet sein, es soll keine Manipulationen von Daten oder Funktionen möglich sein und es soll einem Angreifer nicht möglich sein, die Verfügbarkeit des Systems einzuschränken. Das Seminar behandelt eine Reihe von Themengebieten, die mit diesen Zielen zusammenhängen, z.B.:

  • Sicherheit in der Softwareentwicklung
  • Methoden zur Bedrohungs- und Sicherheitsanalyse
  • Typische Schwachstellen in Software und dazugehörige Angriffsmethoden
  • Dynamische Überwachung von Sicherheitseigenschaften
  • Statische Analyse, z.B. zum Finden möglicher Schwachstellen oder zur Vermeidung von Fehlern bei der Benutzung kryptographischer APIs
  • Protokollsicherheit
Termine: Das Seminar wird als Blockveranstaltung an 2-3 Terminen durchgeführt. Die Themenvergabe und Terminplanung erfolgt in einer Vorbesprechung zu Beginn des Semesters.

Anforderunge:
  • Blitzvortrag 90 Sekunden: Inhaltsübersicht, eine Folie
  • Vortrag: 30 Minuten (plus Diskussion)
  • Anwesenheit während der Seminarsitzungen
  • Ausarbeitung zum Thema (7.000-14.000 Zeichen)

Im Rahmen dieses Seminars werden ausgewählte Themen aus dem Bereich der Mobilen und Verteilten Systeme behandelt, die insbesondere aus den Forschungsschwerpunkten des Lehrstuhls stammen. In den letzten Semestern führte das zu einem Fokus auf Themen aus dem Bereich des Maschinellen Lernens und Quantum Computing.