- Docente: Caroline Friedel
- Docente: Katharina Reinisch
- Docente: Elena Weiß
In this course, students write their Bachelor's thesis on the topic "Analysis of Real-World Software".
The course is organized in weekly meetings. In the first meeting, we present the potential BSc thesis topics and the requirements on the theses. In the second meeting, we do training in practical software verification and scientific work. With the third meeting, the theses are registered and we start to meet in smaller groups.
In these, the students present their progress each week, communicate
about issues and are mentored in their thesis
topics.
Students will have to submit drafts of their work for early review.
- Docente: Dirk Beyer
- Docente: Marek Jankola
- Docente: Thomas Lemberger
- Docente: Marian Lingsch Rosenfeld
Die Vorlesung "Betriebssysteme" ist als Fortführung der im Sommersemester stattfindenden Vorlesung Rechnerarchitektur anzusehen. Der Schwerpunkt der Vorlesung liegt auf der Darstellung der Konzepte der Systemprogrammierung. Typische Aufgaben der Systemprogrammierung sind die Programmierung des Betriebssystems sowie von Dienstleistungsprogrammen, wie beispielsweise Editoren, Compiler, Interpreter. Die Vorlesung gibt einen Überblick über die wesentlichen Aufgaben und Problembereiche eines Betriebssystems, wobei insbesondere auf die Bereiche Synchronisation, Prozess-Kommunikation, Verwaltung des Rechnerkerns sowie auf den Bereich der Speicherverwaltung eingegangen wird. Zur praktischen Umsetzung der in der Vorlesung eingeführten Konzepte wird als Programmiersprache in den Übungen Java (insbesondere die Thread-API) eingesetzt. Zum Abschluss der Vorlesung wird noch auf die Architektur von verteilten Systemen sowie auf Rechner-übergreifende Kommunikation und auf entfernte Prozeduraufrufe eingegangen.
Einschreibeschlüssel: Peterson23
- Docente: Julian Hager
- Docente: Michael Kölle
- Docente: Robert Müller
- Docente: Tobias Rohe
- Docente: Daniëlle Schuman
Einschreibeschlüssel: LMU
- Docente: Walid Durani
- Docente: Collin Leiber
- Docente: Thomas Seidl
Diese Lehrveranstaltung gibt eine Einführung in die Algorithmen- und Programmentwicklung. Diese Vorlesung richtet sich an Studierende verschiedener Fachbereiche mit Nebenfach Informatik.
Die Vorlesung richtet sich nicht an Studierende mit Hauptfach Informatik, Medieninformatik oder Bioinformatik. Auch nicht an Lehramt Realschule und Gymnasium, auch nicht an Master Industrial Design.
Die Vorlesung gibt es in zwei Varianten (6 ECTS und 9 ECTS):
6-ECTS Variante:
- Bachelorstudiengänge verschiedener Fachbereiche mit Nebenfach Informatik zu 30 ECTS-Punkten.
- Bachelorstudiengänge verschiedener Fachbereiche mit Nebenfach Medieninformatik zu 60 ECTS-Punkten. (Alternative zu Einführung in die Programmierung für Nebenfach Medieninformatik.)
- Bachelorstudiengänge verschiedener Fachbereiche mit Nebenfach Künstliche Intelligenz
- Bachelor Physik Wahlpflichtlehrveranstaltung des Moduls V
- Bachelor Statistik Wahlpflichtlehrveranstaltung (falls Informatik nicht als Nebenfach entsprechend (1) gewählt)
- Bachelor Chemie und Biochemie Wahlpflichtlehrveranstaltung
- Diplom- und Magisterstudiengänge mit Nebenfach Informatik (außer Diplom-Mathematik), z.B. VWL-Diplom 4 Leistungspunkte
- Bachelor Biologie, Wissenschaftliches Wahlmodul
- Bachelor BWL und Wirtschaftspädagogik Wahlpflichtlehrveranstaltung (nach PSTO 2015)
9-ECTS Variante:
- Bachelorstudiengänge verschiedener Fachbereiche mit Nebenfach Informatik zu 60 ECTS-Punkten.
- Bachelor BWL Wahlpflichtlehrveranstaltung (alte PSTO)
- Bachelor VWL Wahlpflichtlehrveranstaltung
- Master Chemie
- Master Biochemie
Im Fall (9) muss zusätzlich ein Programmierkurs für Anfänger für 3 ECTS belegt werden (dies ist eine zusätzliche, unabhängige Veranstaltung mit separater Anmeldung und Termin Mittwochs nach Zentralübung: 18-20 Uhr).
Achtung: Keine Garantie für korrekte Angaben.
In Zweifelsfällen wenden Sie sich bitte an das Prüfungsamt Ihres Studiengangs oder Hauptfachs.
- Docente: Marie-Christine Jakobs
- Docente: Philipp Wendler
Einschreibeschlüssel: KINW2023
- Docente: Eyke Hüllermeier
- Docente: Timo Löhr
Einschreibeschlüssel: Java
Thema der Vorlesung ist die Einführung in die imperative und objektorientierte Programmierung sowie die Behandlung grundlegender Datenstrukturen und Algorithmen. Vermittelt werden begriffliche Grundlagen, Konzepte, Methoden und Techniken zur Darstellung und Strukturierung von Daten und zur Entwicklung von Algorithmen. Programmiersprache ist Java.
Dieser Kurs richtet sich vornehmen an Studierende mit Hauptfach Informatik.
Weitere Informationen folgen...
- Docente: Sven Strickroth
- Docente: Balazs Toth
- Docente: Felix Weitkämper
Die Veranstaltung führt in grundlegende Methoden und Konzepte ein, die bei der Spezifikation und Verifikation von Systemen von Bedeutung sind. Es werden Spezifikationsformalismen, Konzepte der System-Modellierung und Grundtechniken für die Automatisierung der Verifikation behandelt. Neben der Vorlesung werden die besprochenen Inhalte im Übungsteil anhand von praktischen Anwendungen eingeübt.
Einschreibeschlüssel: FSV- Docente: Daniel Baier
- Docente: Gidon Ernst
- Docente: Marian Lingsch Rosenfeld
Das maschinelle Lernen hat in der jüngeren Vergangenheit stark an Bedeutung gewonnen, nicht nur als einer der Hauptpfeiler der modernen KI, sondern auch als Methodenlieferant und Innovationstreiber in vielen Anwendungsgebieten. Diese Bachelorvorlesung gibt eine Einführung in grundlegende Ideen und Konzepte des maschinellen Lernens als wissenschaftliche Disziplin im Schnittbereich von Informatik, Statistik und angewandter Mathematik. Der Schwerpunkt wird dabei auf der Problemklasse des überwachten Lernens liegen. Die Veranstaltung spannt einen Bogen von den theoretischen Grundlagen der Generalisierung bis hin zu wichtigen methodischen und algorithmischen Konzepten.
Zeitplan
Vorlesung | Dienstag 14-16 Uhr | Prof. Eyke Hüllermeier |
---|---|---|
Präsenzübung | Mittwoch 16-18 Uhr | Clemens Damke |
Online-Übung | Freitag 10-12 Uhr | Clemens Damke |
Den Einschreibeschlüssel finden Sie auf uni2work.
- Docente: Clemens Damke
- Docente: Eyke Hüllermeier
Komplexe IT-Projekte scheitern häufig an unklaren Vereinbarungen zwischen den Vertragspartnern. Selbst ein guter Projektvertrag mit klaren Regelungen hilft aber wenig, wenn bei der Durchführung des Projekts wesentliche vertragliche Vereinbarungen nicht entsprechend umgesetzt werden. Die Vorlesung „Juristisches IT-Projektmanagement” wendet sich an Informatiker im Hauptstudium (sowie an Studenten mit ähnlichen Studienrichtungen) und möchte nicht nur Software Engineering Techniken und Projektmanagementmethoden vertiefen, sondern hat auch das Ziel, das notwendige „juristische Handwerkszeug” zu vermitteln, damit Projektschieflagen in der Praxis vermieden werden – oder, wenn sie auftreten – korrigiert werden können. Dabei besteht der besondere Anspruch, den Bezug zwischen bekannten Informatikkonzepten und praktischen Erfahrungen aus komplexen IT-Projekten so darzustellen, dass sich konkrete Hinweise für die erfolgreiche Umsetzung von zukünftigen IT-Projekten ergeben.
Hörerkreis: Master- und Bachelor-Studenten/innen der Studienrichtungen Informatik und Medieninformatik. Andere Studierende sind nach Anmeldung auch herzlich willkommen.
- Docente: Daniel Baier
- Docente: Frank Sarre
- Docente: Philipp Wendler
- Docente: Evi Berchtold
- Docente: Caroline Friedel
- Docente: Volker Heun
- Docente: Samuel Klein
- Docente: Ralf Zimmer
- Docente: Evi Berchtold
- Docente: Thanh Truc Bui
- Docente: Simon Kayser
Einschreibeschlüssel: PfA_23_24
Der Kurs vermittelt kompakt und praktisch die Grundlagen der objektorientierten Programmierung mit Python und ist als Ergänzung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung (Nebenfach) gedacht.
Umfang: 2-stündige, wöchentliche Veranstaltung. Studierende mit Nebenfach Informatik zu 60 ECTS erhalten 3 ECTS Punkte bei erfolgreicher Teilnahme. Der Kurs steht auch anderen Studierenden offen.
Termin: Mittwoch 18-20 Uhr c.t. (ab 2. Vorlesungswoche, 1. Termin am 25. Oktober) im Raum B001 in der Oettingenstr. 67.
Für den Kurs gilt Anwesenheitspflicht. Sollten Sie diese nicht
erfüllen können, können Sie alternativ am Ende des Semesters eine
Hausaufgabe online abgeben.
Beides gilt natürlich nur, wenn Sie die Credits benötigen. Wir klären Näheres am ersten Termin.
- Docente: Tillmann Gaida
- Docente: Marie-Christine Jakobs
- Docente: Thomas Wölfl
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.
Seminar-Leitung
Prof. Dr. Mila Majster-Cederbaum
Technische Fragen: Dr. Philipp Wendler
Termine
Das Seminar findet als Blockveranstaltung an 5 Terminen statt:
- Freitag, 20.10.2023 14-16 Uhr: Vorbesprechung
- Freitag, 10.11.2023 14-18 Uhr: Kurzvorträge und Sprechstunde
- Freitag, 12.01.2023 14-18 Uhr: Seminarvorträge
- Samstag, 13.01.2024 9-18 Uhr: Seminarvorträge
- Freitag, 19.01.2024 14-17 Uhr: Gemeinsames Reviewing
Ablauf
Zu Beginn des Semesters gibt es eine Einführungsveranstaltung (20.10.2023), bei der die Themen verteilt werden.
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.
Beim ersten Seminartermin (10.11.2023) hält jeder Studierende einen kurzen Vortrag, ca. 5-10 Minuten, in dem das Thema und eine provisorische Gliederung des geplanten Vortrags vorgestellt wird.
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.
Die Vorträge finden am 12.01.2024 und 13.01.2024. statt.
Es soll eine Ausarbeitung von 10 (±10%) Seiten (Deckblatt und Inhaltsverzeichnis zählen nicht) an mich gesandt werden (Termin wird noch bekannt gegeben). Im Gegensatz zu den Folien, die eher stichpunktartig organisiert sind, ist die Ausarbeitung eine ausführliche Behandlung Ihres Themas.
Am 19.01.2024 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.
Für alle Themen gilt: alle vorkommenden Begriffe sollen gut erklärt werden, z.B. an einem eigenen Beispiel / Gegenbeispiel. Ebenso sollen die Algorithmen/Protokolle dargestellt 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.
Beweise dürfen nicht einfach nur abgeschrieben oder übersetzt werden.
Quellen müssen klar und umfassend genannt werden.
Copy und Paste aus Texten oder Darstellungen im Internet oder deren wortwörtliche Übersetzung sind nicht zulässig (Ausnahme: Zitate).
Beachten Sie auch die Hinweise zum Umgang mit Plagiaten und Täuschungsversuchen.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.
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
- 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
Der Vortrag soll ca. 45 Minuten dauern (+ ca. 5 Minuten Diskussion).
Ausarbeitung
- Darstellung: Klarheit des Textes, sprachliche Gewandtheit, äußere Form, Rechtschreibung, Quellenangaben, sinnvolle Darstellung von Abbildungen
- Hinführung: Abstract, Einleitung und Motivation
- Hauptteil: Argumentationskette, Darstellung der Hauptresultate
- Abschluss: Schlussbewertung und Zusammenfassung, Ausblick
Die Ausarbeitung soll ca. 10 (±10%) Seiten lang sein (Deckblatt und Inhaltsverzeichnis zählen nicht).
Hörerkreis
Bachelor Informatik oder Medieninformatik
- Docente: Philipp Wendler
- Docente: Eyke Hüllermeier
- Docente: Timo Löhr
- Docente: Walid Durani
- Docente: Collin Leiber
Machine Learning (ML) and Artificial Intelligence (AI) are transformational technologies that will have a significant impact on science and business. The aim of this seminar is to give the student an overview of the topics of data & compute infrastructures, machine learning and AI. The aim is to develop a technical understanding of large-scale systems and infrastructures for data infrastructures and advanced analytics. The students deepen their computer science knowledge in a practice-oriented way and with methods, techniques, procedures, tools and infrastructures for the processing and analysis of large data:
- Machine Learning (Methods & Tools: Tensorflow and Pytorch)
- Deep Learning: Convolutional Neural Networks (ResNet, Yolo, SSD)
- Natural Language Processing: Large Language Models, Knowledge Graphs
- Scalable Machine Learning: Distributed Training, AI Hardware
- Quantum Machine Learning: Variational Algorithms, Optimization
- Emerging Machine Learning Applications in Computer Systems, Cybersecurity and Fault Tolerance
- Responsible AI: AI Ethics, Robust AI
- Docente: Sergej-Alexander Breiter
- Docente: Minh Chung
- Docente: Daniel Diefenthaler
- Docente: Fabian Dreer
- Docente: Karl Fürlinger
- Docente: Sophia Grundner-Culemann
- Docente: Florian Kiwit
- Docente: Florian Krötz
- Docente: Andre Luckow
- Docente: Korbinian Staudacher
- Docente: Xiao-Ting To
Geoinformationssysteme umfassen Systeme zur Speicherung, Darstellung und Analyse räumlicher Informationen wie zum Beispiel Satellitenaufnahmen, Kartendaten, oder Umweltmessungen.Typische Anwendungsgebiete sind dabei Mobilitätsplanung, Analyse von Umweltbeeinträchtigungen, Planung von Infrastruktur, räumliche Simulationen zur Klimaveränderungen und Fernerkennung räumlicher Veränderungen. Ein Schwerpunkt wird dabei auf die Analyse von Ursachen und Folgen des Klimawandels und Methoden zur Unterstützung nachhaltiger Lösungen gelegt, wie zum Beispiel der Erkennung von Buschbränden, der Fernerkennung von extremen Methanemissionen oder der Verkehrsoptimierung mittels künstlicher Intelligenz.
Voraussetzung zum Bestehen des Seminars ist die regelmäßige, aktive Teilnahme an den Vortragsterminen, das Präsentieren eines vorbereiteten Themas sowie die Abgabe einer Seminararbeit, die das Thema nochmal in schriftlicher Form darstellt.
Platzvergabe erfolgt über die Zentralanmeldung.
- Docente: Matthias Schubert
Malware (d.h. Viren, Trojaner und Würmer) entwickelt sich stetig weiter. Waren die ersten Viren in den 1970er Jahren noch eher vereinzelte Experimente, schafften es in den 90er Jahren einige Schadprogramme in die Medien, bevor sich in den 2000ern vor allem E-Mail-Würmer explosionsartig ausbreiten konnten. Mittlerweile dominieren kriminelle Organisationen und Geheimdienste das Geschehen und entwickeln hochspezialisierte Malware, von Verschlüsselungs-Trojanern zur Erpressung von Lösegeldern bis zu unauffälligen Hintertüren für Spionage und Sabotage.
In diesem Seminar betrachten wir sowohl die historische Entwicklung von Malware als auch aktuelle Trends. Verfügbare Themen werden akademische Arbeiten zur Malware-Analyse und Erkennung sein, aber auch detaillierte Berichte zu einzelnen prominenten Malware Exemplaren.
Voraussetzung für das Seminar ist ein Interesse für Maschinencode und Details von Betriebssystemen.
Neben den eigentlichem Inhalt sollen auch Grundlagen des wissenschaftlichen Arbeitens vermittelt werden.
- Docente: Moritz Dannehl
- Docente: Johannes Kinder
- Docente: Philipp Altmann
- Docente: Thomas Gabor
- Docente: Steffen Illium
- Docente: Michael Kölle
- Docente: Maximilian Mansky
- Docente: Jonas Nüßlein
- Docente: Tobias Rohe
- Docente: Jonas Stein
- Docente: Leo Sünkel
- Docente: Sebastian Zielinski
- Docente: Maximilian Zorn
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.
It is recommended to have attended the lecture “Formale Spezifikation und Verifikation” before.
Content
This seminar studies topics about validation of verification results. The goal of validation is to increase the trust in the validity of the result. Validation allows one to check that the verification was actually done and that the verification tool worked properly. In this seminar, we look into (1) protocols for validation, (2) validation techniques for several analyses like dataflow analysis, abstract interpretation, or model checking.
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.
- Proof-Carrying Code
- Programs from Proofs
- Certifying Algorithms
- Amanat Protocol
- Violation Witnesses
- Correctness Witnesses
- Configurable Program Certification
- Temporal Safety Proofs
- Lightweight Bytecode Verification
- Validating Dataflow Annotations
- Abstraction-Carrying Code
- Hoare Proofs from Abstract Interpretation
- ...
- Docente: Marie-Christine Jakobs
- Docente: Matthias Kettl
In diesem Bachelorseminar sollen Themen vorgestellt werden, die sich mit dem Testen und der formalen Verifikation von Programmen beschäftigen. Ein Hauptschwerpunkt liegt dabei auf Programmen die Schleifen über Arrays beinhalten. Die Verifikation von solchen Programmen ist aus Sicht der Forschung immer noch eine große Herausforderung, insbesondere, weil die notwendigen Invarianten oft Quantoren benötigen. Ziel des Seminars ist also ein Überblick über aktuelle Techniken, Ansätze, und Tools.
Personen: Prof. Gidon Ernst, Marvin Brieger
Literatur und Themen werden noch bekanntgegeben.
Termin: Mi 10-12 065 (IFI) ab zweiter Woche des Semesters.
Anforderungen
- selbstständige Einarbeitung in das jeilige Thema
- Präsentation (ca 20min)
- Schriftliche Ausarbeitung (ca 8-10 Seiten Springer LNCS)
- regelmäßige Anwesenheit und Teilnahme im Seminar
- Docente: Marvin Brieger
- Docente: Gidon Ernst
In diesem Praktikum entwerfen, spezifizieren und implementieren die Studierenden unter Anleitung ein größeres Softwareprojekt.
Dabei werden die in
den Vorlesungen "Einführung in die Programmierung" und "Programmierung
und Modellierung" erlernten grundlegenden Konzepte und Techniken
praktisch eingesetzt und erweitert. Des Weiteren werden Kenntnisse über Softwareentwicklungs-Tools wie Versionsverwaltungsprogramme (Git) oder Integrated Development Environments (IDE) vermittelt.
In der ersten Phase des Praktikums (Vorprojekt) werden nochmals grundlegende Fähigkeiten in der
Programmentwicklung in Einzelarbeit geübt.
Nach Bestehen der ersten Phase, werden die Studierenden in Teams von 5-6 Personen aufgeteilt. In der Hauptphase des Praktikums wird dann eine größere Java-Applikation im Team entwickelt. Hierbei können die Studierenden dann auch wertvolle Erfahrungen über Team- und Projektarbeit sammeln.
- Docente: Philipp Jahn
- Docente: Simon Rauch
- Docente: Matthias Schubert
- Docente: Evi Berchtold
- Docente: Armin Hadziahmetovic
- Docente: Samuel Klein
- Docente: Ralf Zimmer
Time : Thursdays, 10 -12 a.m.
Place: Akademiestr. 7, 1st floor, room 105
11 SWS
- Docente: Ursula Fantauzzo
- Docente: Ming Gui
- Docente: Björn Ommer
- Docente: Ulrich Prestel
- Docente: Johannes Schusterbauer
Überblick
Das Softwareentwicklungspraktikum in Python bietet Studierenden die Möglichkeit, praktische Erfahrungen in der Entwicklung von Softwareanwendungen zu sammeln. Das Praktikum wird in Gruppen von jeweils 6 Teilnehmern durchgeführt und besteht aus zwei Hauptkomponenten: einem Vorprojekt und einem Hauptprojekt. Während des Vorprojekts werden grundlegende Fähigkeiten und Konzepte in Python (optional auch in Java) vermittelt, um die Teilnehmer auf das Hauptprojekt vorzubereiten. Das Hauptprojekt ermöglicht es den Teilnehmern, ihre Kenntnisse anzuwenden und eine voll funktionsfähige Softwarelösung zu entwickeln.
Einschreibeschlüssel: sepnf2324
- Docente: Moritz Dannehl
- Docente: Armin Egetenmeier
- Docente: Lydia Kondylidou
Anmeldeschlüssel: swtwise2324
In der Vorlesung werden Methoden und Techniken zur Entwicklung großer Software-Systeme besprochen.
Besonders wird auf objektorientierte Methoden und Techniken eingegangen. Zur System-Modellierung
wird die Sprache UML (Unified Modeling Language) verwendet. Schwerpunkte der Vorlesung sind:
- Modellierung der statischen Systemeigenschaften durch Klassendiagramme
- Modellierung des dynamischen Verhaltens durch Interaktions-, Zustands- und Aktivitätsdiagramme
- Anwendungsfall-gesteuerte Systemanalyse
- Objektorientierter Entwurf
- Realisierung von Zustandsdiagrammen
- Anbindung an Benutzerschnittstelle und Datenbank
- Entwurfsmuster
- Transformation von Modellen in Java-Code
- Docente: Henrik Wachowitz
- Docente: Stefan Winter
- Docente: Daniel Diefenthaler
- Docente: Fabian Dreer
- Docente: Karl Fürlinger