Prof. Dr. H.W. Lang
Was müssen Sie denn heute überhaupt noch tun, wo Ihnen die KI fertige Programme liefert?
Nun, die KI bezieht die Programme aus dem Internet, und Sie wissen selbst, wieviel Unsinn im Internet kursiert. Damit stellt sich die Frage, ob die gelieferten Programme auch korrekt sind.
Klar, die KI kann die Programme auch testen, aber: "Testing can prove the presence of errors, but not their absence" – so der Software-Pionier E.W. Dijkstra (1930-2002). Mithilfe von Tests verschaffen Sie sich ein gutes Gefühl, dass die Software funktioniert, aber Sie erhalten keine absolute Gewissheit.
Die Korrektheit von Software wird immer wichtiger – denken Sie etwa an die Unmengen von sicherheitsrelevanter Software in Autos.
In der Lehrveranstaltung lernen Sie verschiedene Methoden kennen, die Ihnen dabei helfen, korrekte Software zu schreiben. Es geht dabei immer um Systematik, in unterschiedlichen Ausprägungen. Die Systematik weist Ihnen den Weg, an dessen Ende automatisch ein korrektes Programm herauskommt – eine Vorgehensweise, die auch ein Computer, oft sogar ohne KI, ausführen könnte...
Aber indem Sie es einmal selber ausprobieren, entwickeln Sie ein Verständnis dafür, wie es funktioniert.
Entwurf
Programmverifikation
Transformationen
Software-Entwurfsmuster
Recursive-Descent-Übersetzung
Die 2-std. Vorlesung wird begleitet durch 2-std. Übungen, meist als Programmierübungen, aber gelegentlich auch als schriftliche Übungen. Die Programmiersprache ist Python.
Weiter: [up]