Der Kurs "AI in Software Engineering I" fokussiert sich auf die Integration und Anwendung von Large Language Models (LLMs) sowie verwandten Techniken im Softwareentwicklungsprozess. Zusätzlich werden wesentliche Software Engineering Prinzipien, behandelt, um die Qualität und Wartbarkeit von Softwareprojekten zu gewährleisten. Studierende erwerben ein tiefgehendes Verständnis der Funktionsweise von LLMs und lernen, wie fortschrittliche KIMethoden eingesetzt werden können, um innovative Lösungen für komplexe Probleme im Kontext der Softwareentwicklung zu entwickeln. Der Kurs verbindet theoretische Grundlagen der Künstlichen Intelligenz mit praktischen Anwendungen und etablierten Software Engineering Praktiken, indem die Studierenden eigene AI-gestützte Tools und Features für Code-Editoren entwickeln. Durch praxisorientierte Projekte und Übungen wird die Fähigkeit gefördert, LLMs effektiv zu nutzen und in bestehende Softwareentwicklungsmethoden zu integrieren, während gleichzeitig hochwertige, saubere und wartbare Codebasen erstellt werden.
In diesem Kurs werden wir Programmierkonzepte kennenlernen, sowohl im funktionalen als auch im objektorientierten Paradigma. Darüber hinaus schauen wir auf das Prompt Engineering und wie wir es gezielt einsetzen können, um Programmieraufgaben zu lösen.

Die Vorlesung wird begleitet von einem Programmierprojekt, das die Studierenden in Gruppen (maximal 3) während der Vorlesungszeit designen und implementieren sollen und am Ende der Vorlesung kurz vorstellen und präsentieren sollen.
Herleitung der Formulierung von Physikalischen Problemstellungen (insbesondere Mechanik und Wärmeleitung) mittels der Methode der finiten Elemente (FEM). Überführung der FEM Beschreibung in ein numerisch lösbares System. Aufbau eines eigenen FEM Solvers in Python.
Verständnis der grundlegenden Strukturen und Dienstleistungen von Banken und Versicherungen
Kenntnisse in der Modellierung von Bank- und Versicherungsverträgen und deren Abbildung und Implementierung in der Informatik. Fähigkeit zur Implementierung sicherer und nachvollziehbarer Buchführungssysteme
Entwicklung und Aufbau eines einfachen Banksystems Prototypen
Anwendung von Data-Science-Methoden zur Betrugserkennung und Kreditanalyse