Modulhandbuch
für den
Bachelor-Studiengang Informatik nach Prüfungsordnung 2021
Institut für Informatik
der Mathematisch-Naturwissenschaftliche Fakultät der Heinrich-Heine-Universität
Herausgegeben vom
Ausschuss für die Bachelor- und Master-Prüfung
im Fach Informatik
Vorwort
Das Modulhandbuch soll eine Orientierung über den grundständigen Bachelor-Studiengang Informatik und den konsekutiven Master-Studiengang Informatik liefern. Insbesondere soll es die Wahl der Lehrveranstal- tungen erleichtern und die Organisation des Studiums unterstützen.
Das Modulhandbuch führt die gängigen Lehrveranstaltungen auf. Es ist jedoch keine vollständige, abschlie- ßende oder endgültige Auflistung. Vielmehr wird das Modulhandbuch kontinuierlich aktualisiert und gibt so die Entwicklung in Forschung und Lehre am Institut für Informatik wieder.
Im Abschnitt Teilnahmevoraussetzungen unterscheiden wir zwischen formalen und inhaltlichen Vorausset- zungen. Wenn Sie formale Voraussetzungen nicht erfüllen, dürfen Sie sich zu diesem Modul nicht anmelden.
Module mit inhaltlichen Voraussetzungen, setzen bestimmte Kenntnisse voraus. Wenn Sie diese Kenntnisse nicht mitbringen, müssen Sie diese selbstständig erwerben. In der Regel empfehlen wir dazu, die entspre- chenden Module zu absolvieren.
Beachten Sie jedoch, dass in allen Fragen zum Studium sowie zum Prüfungswesen die jeweiligen Bachelor- oder Master-Prüfungsordnungen des Fachs Informatik maßgeblich sind.
Düsseldorf, im September 2021
Der Ausschuss für die Bachelor-Prüfung im Fach Informatik
Inhaltsverzeichnis
0. Studienverlaufspläne...5
1 Pflichtmodule der Informatik...6
1.1 Programmierung...6
1.2 Rechnerarchitektur...8
1.3 Wissenschaftliches Arbeiten...10
1.4 Programmierpraktikum 1...12
1.5 Datenbanken: Eine Einführung...13
1.6 Grundlagen der Computernetzwerke...14
1.7 Programmierpraktikum 2...16
1.8 Algorithmen und Datenstrukturen...17
1.9 C-Programmierung für Algorithmen und Datenstrukturen...18
1.10 Data Science...19
1.11 Theoretische Informatik...21
2 Pflichtmodule der Mathematik (1.–3. Fachsemester)...23
2.1 Mathematik für Informatik 1...23
2.2 Mathematik für Informatik 2...24
2.3 Mathematik für Informatik 3...25
3 Lehreinheiten für den Wahlbereich (B.Sc.)...26
3.1 Algorithmen in der Bioinformatik...27
3.2 Algorithmen zur Visualisierung von Graphen...28
3.3 Algorithmische Geometrie...29
3.4 Algorithmische Komplexitätstheorie...30
3.5 Angewandte Algorithmik...31
3.6 Approximative Algorithmen...33
3.7 Betriebssysteme und Systemprogrammierung...34
3.8 Compilerbau...35
3.9 Datenbanken: Weiterführende Konzepte...36
3.10 Einführung in die Funktionale Programmierung...37
3.11 Einführung in die naturwissenschaftliche Informatik...38
3.12 Graphenalgorithmen I...39
3.13 Introduction to Logic Programming...40
3.14 Knapsack Problems...42
3.15 Kryptokomplexität I...43
3.16 Machine Learning...45
3.17 Matching...47
3.18 Networks, Crowds, and Markets...48
3.19 Präferenzaggregation durch Wählen: Algorithmik und Komplexität...49
3.20 Statistische Datenanalyse...51
3.21 Verfahren zur kollektiven Entscheidungsfindung...52
3.22 Von NAND zu Tetris...53
4 Seminar...54
4.1 Bachelor-Seminar: Einführung in die Blockchaintechnologie...54
4.2 Überblick Künstliche Intelligenz...55
5 Bachelorarbeit...56
5.1 Abschlussarbeit...56
5.1 Abschlussseminar...57
6 Lehreinheiten für Wahlpflichtbereiche (M.Sc.)...58
0. Studienverlaufspläne
Auf den Webseiten des Instituts für Informatik finden Sie Studienverlaufspläne. Diese dienen der Orientierung und helfen Ihnen bei der Planung Ihres Studiums. Es gibt verschiedene Varianten der Studienverlaufspläne:
Vollzeit, mit Mathematik für Informatik
Vollzeit, mit Mathematik der Mathematik
Teilzeit, mit Mathematik für Informatik
Sollten Sie Hilfe bei Ihrer Studienplanung benötigen, wenden Sie sich bitte an die Studienberatung unter studieninteressierte@cs.uni-duesseldorf.de.
1 Pflichtmodule der Informatik
Compulsory Modules in Computer Science
1.1 Programmierung Programming
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
10 LP 300h 90h 210h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (4 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Dieses Modul vermittelt grundlegende Programmierkenntnisse in einer objektorientierten Programmierspra- che. Darüber hinaus werden einführend Aspekte von Algorithmen und Datenstrukturen behandelt. Es wird keine Programmiererfahrung vorausgesetzt.
Grundlegende Begriffe der Informatik
Primitive Datentypen und Variablen
Kontrollstrukturen
Eigene Datentypen (Klassen) und Arrays
Programmstrukturen im Speicher (Heap, Stack)
Konzepte der Objektorientierung (Polymorphie, Schnittstellen)
Rekursion
Fehlerbehandlung
Dynamische Datenstrukturen (Listen, Binärbäume, Hashing)
Suchen und Sortieren (ausgewählte Algorithmen, u.a. binäre Suche, BubbleSort, QuickSort)
Datenströme (Standard-Eingabe und -Ausgabe, einfache 2D-Grafik, Dateien) Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein,
Begriffe der Informatik und der Programmierung zu nennen und zu erläutern
einfache Algorithmen (iterativ und rekursiv) zu verstehen, deren Ablauf zu beschreiben, sowie selbst zu erstellen
eigene Datentypen zu konzipieren und anzuwenden
einfache objektorientierte Programme mit Polymorphie, Vererbung und Schnittstellen zu entwickeln
die behandelten dynamischen Datenstrukturen anzuwenden Literatur
R. Schiedermeier, „Programmieren mit Java“, Pearson Studium, 2010.
C. Ullenboom, „Java ist auch eine Insel“, 11. Aufl., 2014
R. Sedgewick & K. Wayne, „Introduction to Programming in Java“, Addison-Wesley, 2007.
Verwendbarkeit des Moduls
Pflichtbereich
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik
Teilnahmevoraussetzungen keine
Voraussetzungen für die Vergabe von Leistungspunkten
aktive und erfolgreiche Mitwirkung in den theoretischen und praktischen Übungen
schriftliche Prüfung (Klausur, i. d. R. 90 Minuten) Häufigkeit des Angebots, modulare Schiene Jedes Wintersemester
Modulbeauftragte und hauptamtliche Lehrende Prof. Dr. Stefan Harmeling, Prof. Dr. Michael Schöttner
1.2 Rechnerarchitektur Computer Architecture
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
7 LP 210h 75h 135h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (3 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
In diesem Modul wird ein grundlegendes Verständnis des Aufbaus und der Funktionsweise moderner Com- puter vermittelt. Dabei wird insbesondere auf folgende Themengebiete eingegangen:
Datendarstellung
Boolesche Algebra und digitale Logik
Fehlererkennung und -korrektur
Mikroarchitektur
Grundlagen der Assembler Programmierung
Virtueller Speicher Lernergebnisse/Kompetenzen
Nach erfolgreicher Teilnahme an den Veranstaltungen dieses Moduls können die Studierenden
die verschiedenen Schichten einer Rechnerarchitektur unter Berücksichtigung ihrer Verbindungen untereinander beschreiben
boolesche Funktionen in verschiedenen Formen angeben, auswerten und die Äquivalenz von Funktionen zeigen
digitale Schaltungen entwerfen und optimieren
mögliche Hazardfehler in digitalen Schaltungen finden und beheben
erklären, wie eine CPU/ALU aus elementaren digitalen Schaltungen konstruiert wird und wie sie funktioniert
zentrale Funktionen eines Betriebssystems identifizieren
die Arbeitsweise zentraler Funktionen eines Betriebssystems an einfachen Beispielen darstellen,
einfache Assemblerprogramme in x86-Assembler entwickeln Literatur
Die primären Lehrbücher zu den verschiedenen Bestandteilen dieses Moduls sind:
• Andrew S. Tanenbaum and Todd Austin: Structured Computer Organization; 6th Edition; Pearson;
2013. Prentice Hall; 5th Edition; 2006
• Paul A. Carter: PC Assembly Language; Online; 2003 Weitere Empfehlungen werden in der Lehrveranstaltung genannt.
Verwendbarkeit des Moduls
Pflichtbereich
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik
Modul CL6 im Bachelor-Studiengang Computerlinguistik Teilnahmevoraussetzungen
Inhaltlich: Es wird davon ausgegangen, dass die Studierenden parallel die Veranstaltung Program- mierung hören oder über grundlegende Programmierkenntnisse verfügen.
Voraussetzungen für die Vergabe von Leistungspunkten
• aktive und erfolgreiche Mitwirkung in den Übungen
• schriftliche Prüfung (Klausur, i. d. R. 90 Minuten)
Häufigkeit des Angebots, modulare Schiene
• Jedes Wintersemester
Modulbeauftragte und hauptamtliche Lehrende
Prof. Dr. Stefan Conrad, Prof. Dr. Martin Mauve, Janine Golov
1.3 Wissenschaftliches Arbeiten Scientific Methods
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
3 LP 90h 30h 60h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Inhalte
Teil I: Praktische Methoden
Literaturrecherche und effizientes Lesen der wissenschaftlichen Literatur
Zitierung wissenschaftlicher Veröffentlichungen
Struktur wissenschaftlicher Manuskripte und Protokolle
Strukturelle Formatierung von Dokumenten
Effektive Graphiken und Tabellen
Effektive textliche und graphische Zusammenfassungen
Der wissenschaftliche Publikationsprozess
Präsentation wissenschaftlicher Ergebnisse
Mündliche Präsentationen in Seminaren und auf Konferenzen
Wissenschaftliche Poster
Wissenschaftliche Kommunikation an ein nicht-wissenschaftliches Publikum (Outreach)
Gute wissenschaftliche Praxis
Vermeidung von Plagiaten
„Best practice“ in der Wissenschaft
Datenmanagement und Reproduzierbarkeit Teil II: Die wissenschaftliche Methode
Falsifizierung und Beweis von Hypothesen
Die Rolle von Hilfsannahmen in der Wissenschaft
Paradigmen in der Wissenschaft
Die „eiserne Regel“ der Wissenschaft: nur formale Beweise und Daten zählen
Wissenschaftliche Veröffentlichungen als Erzählungen
Der Unterschied zwischen Day Science (Ausführung) und Night Science (Kreativität)
Die unterschiedlichen Sprachen von Day Science und Night Science
Publikationsbias, p-hacking und Reproduzierbarkeit Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein
die grundsätzlichen Methoden der Wissenschaft zu beschreiben, sowohl auf praktischer als auch auf abstrakter Ebene
den Prozess des wissenschaftlichen Publizierens und die zentrale Rolle von Zitierungen in der wissenschaftlichen Kommunikation zu beschreiben
den Peer-Review Prozess sowie die angemessene Struktur von Reviews zu beschreiben;
wissenschaftliche Literatur zu identifizieren und zu lesen
angemessen strukturierte wissenschaftliche Texte und Grafiken zu entwerfen, zu gestalten, und zusammenzufassen
die Stellung von formalen Beweisen in der Informatik zu begründen
die zentrale Rolle von Hypothesen und ihrer Testung in der Wissenschaft zu verstehen
die Rolle von Kreativität in der Wissenschaft zu würdigen und den Prozess des wissenschaftlichen Arbeitens von wissenschaftlicher Kommunikation zu unterscheiden
Literatur
Alan Chalmers. What is this thing called science? University of Queensland Press, Open University press, 4th edition, 2013
Michael Strevens. The Knowledge Machine: How Irrationality Created Modern Science. Liveright Pub- lishing Corporation, 2021
Itai Yanai & Martin Lercher. Night Science Collection. https://www.biomedcentral.com/collections/
night-science
Weitere Literatur wird in der Veranstaltung bekanntgegeben
Verwendbarkeit des Moduls
Pflichtbereich
Praxis- und Berufsorientierung für die Bachelor PO 2013 und PO 2016 Teilnahmevoraussetzungen
keine
Voraussetzungen für die Vergabe von Leistungspunkten
aktive und erfolgreiche Mitwirkung in den Übungen
schriftliche Prüfung (Klausur, i. d. R. 90 Minuten)
Modulbeauftragte und hauptamtliche Lehrende
Prof. Dr. Martin Lercher, Jun.-Prof. Dr. Dorothea Baumeister
1.4 Programmierpraktikum 1 Programming Project 1
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
10 LP 300h 76h 234h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Übung (20h) jedes Sommersemester Bachelor-Studiengang
Informatik Praktische Übung (28h)
Tutorium (28h)
Inhalte
Qualitätsziele nach ISO 25010
Prinzipien der Software Entwicklung (Information Hiding, SOLID, Low Coupling, High Cohesion)
Prinzipien der objektorientierten Programmierung
Softwaretests und testgetriebene Entwicklung
Werkzeuge in der Softwareentwicklung (Entwicklungsumgebungen, Buildwerkzeuge, statische Analy- se, Versionsverwaltung)
Fehlersuche und Debugging
Fortgeschrittene Programmierung in Java Lernergebnisse / Kompetenzen
Studierende sollen nach erfolgreichem Abschluss des Moduls
selbständig Problemstellungen analysieren können
aus Problemstellungen ein System zur Lösung modellieren und entwickeln können
eine Lösung hinsichtlich der Wartbarkeit analysieren und verbessern können
mit den gängigen Werkzeugen (z. B. IDE) umgehen können Literatur
• Eigenes Script
Verwendbarkeit des Moduls
Pflichtbereich
Teilnahmevoraussetzungen
Formal: Erfolgreicher Abschluss des Moduls Programmierung.
Voraussetzungen für die Vergabe von Leistungspunkten
Aktive und erfolgreiche Mitwirkung in praktische Übungen
Schriftliche Prüfung (Klausur, i. d. R. 90 Minuten) Modulbeauftragte und hauptamtliche Lehrende Dr. Jens Bendisposto
1.5 Datenbanken: Eine Einführung Databases: An Introduction
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes Sommersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Architektur von Datenbanksystemen
Aufgaben eines Datenbanksystems
Daten(bank)modelle; insb. Relationales Modell
konzeptioneller und logischer Datenbankentwurf; Normalisierung
Anfragesprachen für relationale Datenbanken und ihre Grundlagen; relationale Algebra, Tupel und Be- reichskalkül, SQL
Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein,
die Aufgaben und Funktionen eines Datenbanksystems zu nennen und zu erläutern
selbstständig Datenbanken zu entwerfen,
Datenbankanfragen in verschiedenen Formalismen (relationale Algebra, Tupel- und Bereichskalkül, SQL) zu formulieren und zwischen den Formalismen zu übersetzen.
Literatur
G. Saake, K.-U. Sattler, A. Heuer: Datenbanken – Konzepte und Sprachen. 6. Auflagen, mitp Verlag, 2018.
Kemper, A. Eickler: Datenbanksysteme – Eine Einführung. 10. Auflage, Oldenbourg Verlag, 2015
G. Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme. Oldenbourg Verlag, 2008
R. Elmasri, S.B. Navathe: Fundamentals of Database Systems. 7th edition, Pearson, 2016.
H. Garcia-Molina, J.D. Ullman, J. Widom: Datbase Systems: The Complete Book. 2nd edition, Pear- son, 2009.
Verwendbarkeit des Moduls
Pflichtbereich
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik
Teilnahmevoraussetzungen keine
Voraussetzungen für die Vergabe von Leistungspunkten
Aktive und erfolgreiche Teilnahme an den Übungen (in der Regel mit Hausaufgaben)
schriftliche Prüfung (Klausur, i. d. R. 60 Minuten) Modulbeauftragte und hauptamtliche Lehrende Prof. Dr. Stefan Conrad
1.6 Grundlagen der Computernetzwerke Foundations of Computer Networks
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 45 105h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes Sommersemester Bachelor-Studiengang Informatik
Übung (1 SWS)
Inhalte
Das Modul „Grundlagen der Computernetzwerke” richtet sich an Studierende, die verstehen wollen, wie Rechnernetze aus technischer Sicht funktionieren und welche Entwicklungen in der Zukunft zu erwarten sind.
Es werden einerseits die grundlegenden Fragestellungen des Gebietes untersucht und andererseits bespro- chen, wie diese Fragestellungen im Internet gelöst sind. Ziel des Moduls ist es, sowohl ein solides allgemei- nes Basiswissen im Bereich der Rechnernetze als auch praktisch einsetzbare Kenntnisse zu vermitteln.
Themen der Vorlesung und Übung
Einleitung und Übersicht
Anwendungsschicht
- World Wide Web / HTTP - File Transfer / FTP - E-Mail / SMTP
- Domain Name System /DNS
- Socketprogrammierung mit UDP und TCP
Transportschicht - Adressierung
- UDP
- Zuverlässige Datenübertragung - Überlastkontrolle
- TCP
Netzwerkschicht
- Virtuelle Leitungen und Datagrammnetzwerke - Funktionsweise und Aufbau von Routern - Adressierung / DHCP
- Das Internetprotokoll / IP, ICMP
- Link State Routing, Distance Vector Routing - RIP, OSPF, BGP
Sicherungsschicht - Rahmenbildung
- Fehlererkennung und -korrektur - Medienzugriff in Lokalen Netzen - Adressierung / ARP
- Ethernet, Hubs, Switches
- PPP
- IP over ATM und MPLS - Anwendungen
Lernergebnisse/Kompetenzen
Studierende verstehen nach erfolgreichem Abschluss dieses Moduls die grundlegende Funktionsweise mo- derner Computernetzwerke und können diese Kenntnisse praktisch einsetzen.
Literatur
James F. Kurose und Keith W. Ross: Computer Networking – A Top-Down Approach Featuring the In- ternet; 8th Edition; Pearson, 2020.
Verwendbarkeit des Moduls
Pflichtbereich
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
Inhaltlich: Grundlegende Programmierkenntnisse in einer imperativen Programmiersprache werden vorausgesetzt
Voraussetzungen für die Vergabe von Leistungspunkten
schriftliche Prüfung (Klausur, i. d. R. 90 Minuten)
Modulbeauftragte und hauptamtliche Lehrende Dr. Rudolf Fleischer, Prof. Dr. Martin Mauve
1.7 Programmierpraktikum 2 Programming Project 2
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
10 LP 300h 126 174h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Übung (20h) jedes Wintersemester Bachelor-Studiengang
Informatik Praktische Übung (18h)
Tutorium (28h) Blockpraktikum (60h)
Inhalte
Domain Driven Design
Entwicklung von datenbankgestützten Webanwendungen
Entwurf, Dokumentation und Überprüfung von Softwarearchitekturen
Projektbezogene Gruppenarbeit
Vorgehensmodelle in der Softwareentwicklung
Fortgeschrittene Programmierung in Java Lernergebnisse / Kompetenzen
Studierende sollen nach erfolgreichem Abschluss des Moduls in der Lage sein
grundlegende Entwicklungsprozesse zu beschreiben
die wesentlichen Softwarearchitekturen beschreiben und umsetzen
ein webbasiertes Informationssystem in Zusammenarbeit mit anderen Studierenden
• in Softwarekomponenten zu zerlegen
• dessen Komponenten zu implementieren
• diese Komponenten sowie das Gesamtsystem mit geeigneten Verfahren zu testen
• das System zu dokumentieren Literatur
• Eigenes Script
Verwendbarkeit des Moduls
Pflichtbereich
Teilnahmevoraussetzungen
Formal: Erfolgreicher Abschluss des Moduls Programmierpraktikum 1.
Voraussetzungen für die Vergabe von Leistungspunkten
Aktive und erfolgreiche Mitwirkung in praktische Übungen
Erfolgreiche Mitwirkung im Blockpraktikum
Schriftliche Prüfung (Klausur, i. d. R. 90 Minuten) Modulbeauftragte und hauptamtliche Lehrende Dr. Jens Bendisposto
1.8 Algorithmen und Datenstrukturen Algorithms and Data Structures
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
10 LP 300h 90h 210h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (4 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Dieses Modul vermittelt grundlegende Kenntnisse aus folgenden Bereichen.
Algorithmen und ihre formalen Grundlagen
Rechenmodelle, Effizienzmaße
Sortierverfahren (Quicksort, Heapsort, Mergesort, ...)
Aufwandsabschätzung im Mittel
Suchstrategien (Binärsuche, …)
Dictionaries (offene Hashverfahren, dynamische Hashverfahren)
Suchbäume (AVL-Bäume, B-Bäume, ...)
Vorrangswarteschlangen (Binäre Heaps, ...)
Amortisierte Laufzeitanalysen
Einführung in Graphenalgorithmen (Tiefensuche, Breitensuche, Zusammenhangsprobleme, ...)
Entwurfsmuster (Greedyalgorithmen, Divide-and-Conquer, Dynamische Programmierung, ...) Lernergebnisse/Kompetenzen
Studierende, die das Modul erfolgreich absolviert haben, besitzen anschließend ein Basisverständnis der wichtigsten Grundlagen über Algorithmen. Sie haben die Fähigkeit zur Problemspezifikation und algorithmi- schen Problembearbeitung erworben.
Literatur
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Algorithmen – Eine Einfüh- rung, De Gruyter Oldenbourg, 4. Auflage, 2017
Robert Sedgewick, Kevin Wayne: Algorithmen, Pearson Studium, 4. Auflage, 2014
Thomas Ottmann, Peter Widmayer: Algorithmen und Datenstrukturen, Spektrum Akademischer Ver- lag, 5. Auflage, 2012
Richard Johnsonbaugh, Marcus Schäfer: Algorithms, Pearson Education, 2004
Jon Kleinberg, Eva Tardos: Algorithm Design, Addison Wesley, 2006 Verwendbarkeit des Moduls
Pflichtbereich
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
Inhaltlich: Erfolgreicher Abschluss des Moduls Mathematik für Informatik 1.
Voraussetzungen für die Vergabe von Leistungspunkten
aktive Mitarbeit in den Übungen
Abgabe der Hausaufgaben
schriftliche Klausur (i. d. R. 90 Minuten) oder mündliche Prüfung am Ende des Semesters Modulbeauftragte und hauptamtliche Lehrende
Dr. Daniel Schmidt, Prof. Dr. Gunnar W. Klau, Prof. Dr. Egon Wanke, N.N.
1.9 C-Programmierung für Algorithmen und Datenstrukturen C Programming for Algorithms and Data Structures
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes Sommersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Dieses Modul baut auf das Modul „Algorithmen und Datenstrukturen“ auf und ist der Implementierung der dort vermittelten Konzepte in der Programmiersprache C gewidmet. Konkret werden folgende Themen behandelt:
Einführung in C
Grundlegende Datenstrukturen: Stacks, doppelt verkettete Listen, Bäume
Suchbäume
Heaps
Quicksort
Hashing
Dynamische Graphdatenstruktur und Dijkstras Algorithmus Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein
zentrale Algorithmen und Datenstrukturen in der Programmiersprache C unter Berücksichtigung dynamischer Speicherverwaltung zu implementieren;
Werkzeuge für typische Aufgaben bei der Programmierung (Speicherverwaltung, Build-Prozesse) zu verwenden.
Literatur
R. Sedgewick: Algorithmen in C; Pearson, 2005
Robert Seacord: Effective C; No Starch Press, 2020
German Gonzalez-Morris und Ivor Horton: Beginning C: From Beginner to Pro; Apress, 2020 Verwendbarkeit des Moduls
Pflichtbereich
Teilnahmevoraussetzungen
Inhaltlich: Inhalte der Module Programmierung, Algorithmen und Datenstrukturen Voraussetzungen für die Vergabe von Leistungspunkten
aktive und erfolgreiche Mitwirkung in den Übungen
schriftliche Prüfung (Klausur, i. d. R. 90 Minuten) Modulbeauftragte und hauptamtliche Lehrende
Dr. Daniel Schmidt, Prof. Dr. Gunnar W. Klau, Prof. Dr. Egon Wanke; N.N.
1.10 Data Science Data Science
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
10 LP 300h 90h 210h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (4 SWS) jedes Sommersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte Beschreibung
1 Wahrscheinlichkeitstheorie:
Konstruktion von Wahrscheinlichkeitsräumen
Diskrete und kontinuierliche Wahrscheinlichkeitsverteilungen
Summenregel, Produktregel und Bayes' Theorem
Stochastische Unabhängigkeit
Gaußsche Normalverteilung
Multivariate Verteilung
Transformationen von Zufallsvariablen 2 Machine Learning Grundlagen:
Daten, Modelle und Lernen
Bayes’sches Lernen
Schätztheorie
Klassifikationsverfahren
Regression
Dimensionalitätsreduktion
Clusteranalyse Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen,
grundlegende Konzepte aus der Wahrscheinlichkeitsrechnung kompetent anwenden können
Kompetenzen in den Grundlagen der Wahrscheinlichkeitsrechnung für Machine Learning erlangen
ein Machine-Learning-Problem detailliert ausarbeiten können
grundlegende Machine-Learning-Algorithmen anwenden können Literatur
Deisenroth et al, Mathematics for Machine Learning, CUP 2020
Murphy, Machine Learning, A Probabilistic Perspective, MIT 2012
Georgii, Stochastics, Introduction to Probability and Statistics, De Gruyter 2007
Verwendbarkeit des Moduls
Pflichtbereich
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
Inhaltlich: Inhalte des Bereichs Mathematik (für PO 2013 und PO2016 ohne angewandte Mathema- tik)
Voraussetzungen für die Vergabe von Leistungspunkten
aktive und erfolgreiche Mitwirkung in den theoretischen und praktischen Übungen
Bestehen der schriftlichen Prüfung (Klausur, i. d. R. 90 Minuten) Modulbeauftragte und hauptamtliche Lehrende
Dr. Konrad Völkl, Prof. Dr. Milica Gasic, N.N.
1.11 Theoretische Informatik Theoretical Computer Science
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
10 LP 300h 90h 210h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (4 SWS) jedes Sommersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Formale Sprachen und Automaten - Grundbegriffe
o Wörter, Sprachen und Grammatiken o Die Chomsky-Hierarchie
- Reguläre Sprachen o Endliche Automaten o Reguläre Ausdrücke o Gleichungssysteme o Das Pumping-Lemma
o Satz von Myhill und Nerode und Minimalautomaten o Abschlusseigenschaften regulärer Sprachen o Charakterisierungen regulärer Sprachen - Kontextfreie Sprachen
o Normalformen o Das Pumping-Lemma o Der Satz von Parikh
o Abschlusseigenschaften kontextfreier Sprachen o Der Algorithmus von Cocke, Younger und Kasami o Kellerautomaten
- Deterministisch kontextfreie Sprachen o Deterministische Kellerautomaten o LR(k)- und LL(k)-Grammatiken
o Anwendung: Syntaxanalyse durch LL(k)-Parser - Kontextsensitive und L0-Sprachen
o Turingmaschinen
o Linear beschränkte Automaten o Zusammenfassung
Berechenbarkeit
- Intuitiver Berechenbarkeitsbegriff und die These von Church - Turing-Berechenbarkeit
- LOOP-, WHILE- und GOTO-Berechenbarkeit o LOOP-Berechenbarkeit
o WHILE-Berechenbarkeit o GOTO-Berechenbarkeit
- Primitiv rekursive und partiell rekursive Funktionen o Primitiv rekursive Funktionen
o Die Ackermann-Funktion
o Allgemein und partiell rekursive Funktionen o Der Hauptsatz der Berechenbarkeitstheorie - Entscheidbarkeit und Aufzählbarkeit
o Einige grundlegende Sätze o Entscheidbarkeit
o Rekursiv aufzählbare Mengen - Unentscheidbarkeit
o Der Satz von Rice
o Reduzierbarkeit
o Das Postsche Korrespondenzproblem
o Unentscheidbarkeit in der Chomsky-Hierarchie o Zusammenfassung
Lernergebnisse/Kompetenzen
Ziel dieser Veranstaltung ist die Vermittlung von Grundlagenwissen aus den Bereichen Formale Sprachen und Automaten sowie Berechenbarkeitstheorie. Am Ende der Veranstaltung sollten Studierende in der Lage sein, formale Sprachen in die Chomsky-Hierarchie einzuordnen, verschiedene äquivalente Automatenmodel- le ineinander bzw. in Grammatiken des entsprechenden Typs umzuformen, Argumente für die In-Äquivalenz von bestimmten Automatenmodellen bzw. Grammatiktypen zu geben, die algorithmische Entscheidbarkeit von Problemen einzuschätzen und Argumente für die Nichtentscheidbarkeit von Problemen zu geben. Auch sollten sie die Erkenntnis gewonnen haben, dass es nicht berechenbare Funktionen gibt, und eine Vorstel- lung vom Aufbau eines Compilers und von lexikalischer und Syntaxanalyse erworben haben. Neben diesen Kenntnissen sollten sie sich auch Fertigkeiten im Umgang mit formalen Begriffs- und Modellbildungen sowie mit formalen Argumentationsweisen sowie bestimmte Beweistechniken (wie etwa Diagonalisierung) angeeig- net haben.
Literatur
Uwe Schöning: Theoretische Informatik - kurz gefasst, Spektrum Akademischer Verlag, 2. Auflage, 1995.
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie, Pearson Studium, 2. Auflage, 2002.
Klaus W. Wagner: Theoretische Informatik. Eine kompakte Einführung, Springer-Verlag, 2. Auflage, Berlin, Heidelberg, 2003.
Norbert Blum: Theoretische Informatik. Eine anwendungsorientierte Einführung, Oldenbourg, 2001.
Alexander Asteroth, Christel Baier: Theoretische Informatik. Eine Einführung in Berechenbarkeit, Kom- plexität und formale Sprachen mit 101 Beispielen, Pearson Studium, 2002.
Verwendbarkeit des Moduls
Pflichtbereich
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
Inhaltlich: Inhalte des Moduls Mathematik für Informatik 1 Voraussetzungen für die Vergabe von Leistungspunkten
erfolgreiche Bearbeitung der Übungsaufgaben
Bestehen der schriftlichen Prüfung (Klausur) Modulbeauftragte und hauptamtliche Lehrende
Prof. Dr. Michael Leuschel, Prof. Dr. Jörg Rothe, Jun.-Prof. Dr. Dorothea Baumeister
2 Pflichtmodule der Mathematik (1.–3. Fachsemester) Compulsory Modules in Mathematics
2.1 Mathematik für Informatik 1
Mathematics for Computer Science 1
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
10 LP 300h 90h 210h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (4 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Mathematische Grundlagen: Mengen, Funktionen, Relationen, Aussagenlogik, Induktionsbeweis
Der euklidische Raum: Lineare Gleichungen, Geraden und Ebenen, Skalarprodukt, Lineare Abbildun- gen
Analysis: Reelle Zahlen, Folgen, Reihen, dyadische Darstellung reeller Zahlen, Landau-Symbole, ele- mentare Funktionen, Stetigkeit, Differentialrechnung
Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein
die grundlegenden mathematischen Begriffe anzuwenden;
mithilfe erlernter Methoden einfache und kurze Beweise zu schreiben;
Lineare Gleichungssysteme zu lösen;
anhand des zentralen Grenzwertbegriffs der Analysis in den verschiedenen Ausprägungen zu argu- mentieren;
Übungsaufgaben selbstständig zu lösen und diese Lösungen in den Übungsgruppen zu präsentieren sowie kritisch zu diskutieren;
Methoden der systematischen und effizienten Wissensaneignung anzuwenden.
Literatur
B. Kreußler, G. Pfister: Mathematik für Informatiker.
G. Teschl, S. Teschl: Mathematik für Informatiker. Band I, II.
Verwendbarkeit des Moduls
Pflichtbereich
Teilnahmevoraussetzungen keine
Voraussetzungen für die Vergabe von Leistungspunkten
aktive und erfolgreiche Mitwirkung in den Übungsgruppen
Bestehen der schriftlichen Prüfung (Klausur, 120 Minuten)
Modulbeauftragte und hauptamtliche Lehrende Dr. Nadja Hempel (Valentin), Dr. Andreas Rätz
2.2 Mathematik für Informatik 2
Mathematics for Computer Science 2
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
10 LP 300h 90h 210h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (4 SWS) jedes Sommersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Analysis: Integralrechnung, Taylorentwicklung, Landau-Symbole, Potenzreihen
Lineare Algebra: Abstrakte Vektorräume, lineare Abbildungen, Determinante, Eigenwerte und Eigen- vektoren, Jordansche Normalform
Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein
weitere ausgewählte Konzepte und Techniken der Analysis zu verstehen und anzuwenden;
die grundlegenden Begriffe der linearen Algebra anzuwenden;
mithilfe von linearen Gleichungssystemen Problemstellungen der Linearen Algebra zu lösen;
Übungsaufgaben selbstständig zu lösen und diese Lösungen in den Übungsgruppen zu präsentieren sowie kritisch zu diskutieren;
Methoden der systematischen und effizienten Wissensaneignung anzuwenden.
Literatur
B. Kreußler, G. Pfister: Mathematik für Informatiker.
G. Teschl, S. Teschl: Mathematik für Informatiker. Band I, II.
Verwendbarkeit des Moduls
Pflichtbereich
Teilnahmevoraussetzungen
Inhaltllich: Inhalte des Moduls Mathematik für Informatik 1 Voraussetzungen für die Vergabe von Leistungspunkten
aktive und erfolgreiche Mitwirkung in den Übungsgruppen
Bestehen der schriftlichen Prüfung (Klausur, 120 Minuten)
Modulbeauftragte und hauptamtliche Lehrende Dr. Nadja Hempel (Valentin), Dr. Andreas Rätz
2.3 Mathematik für Informatik 3
Mathematics for Computer Science 3
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
10 LP 300h 90h 210h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (4 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Algebra
Codierungstheorie
Kombinatorik und Graphentheorie
Stochastik
Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein
Übungsaufgaben selbstständig zu lösen und diese Lösungen in den Übungsgruppen zu präsentieren sowie kritisch zu diskutieren,
Methoden der systematischen und effizienten Wissensaneignung anzuwenden.
Literatur
B. Kreußler, G. Pfister: Mathematik für Informatiker.
G. Teschl, S. Teschl: Mathematik für Informatiker. Band I, II..
Verwendbarkeit des Moduls
Pflichtbereich
Teilnahmevoraussetzungen
Inhaltllich: Inhalte der Module Mathematik für Informatik 1 und 2 Voraussetzungen für die Vergabe von Leistungspunkten
aktive und erfolgreiche Mitwirkung in den Übungsgruppen
Bestehen der schriftlichen Prüfung (Klausur, i. d. R. 120 Minuten)
Häufigkeit des Angebots, modulare Schiene Jedes Wintersemester
Modulbeauftragte und hauptamtliche Lehrende Dr. Nadja Hempel (Valentin), Dr. Andreas Rätz
3 Lehreinheiten für den Wahlbereich (B.Sc.) Courses for elective areas (B.Sc.)
Der Wahlbereich umfasst 45 Leistungspunkte. Für die Zusammensetzung der Module gilt:
Zwecks verbesserter Studierbarkeit des Studiengangs und zur Erhöhung der Wahlmöglichkeiten der Studierenden werden im Bachelor-Studiengang Informatik Module in unterschiedlichen Größen an- geboten. Module müssen so kombiniert werden, dass die Gesamtsumme der LP den Erfordernissen der Prüfungsordnung entspricht. Für den Wahlpflichtbereich können Module frei kombiniert werden.
20 LP dürfen aus dem Lehrangebot anderer Fächer stammen. Auf den Webseiten des Studiengangs wird eine Liste gepflegt, welcher entnommen werden kann, welche Fächer anerkannt werden. Ande- re Fächer können beim Prüfungsausschuss formlos beantragt werden.
Schreiben Sie hierzu, bevor Sie ein entsprechendes Modul belegen, eine E-Mail an den Prüfungs- auschussvorsitzenden (BSc-Informatik@hhu.de).
5 LP dürfen über Angebote außerhalb der Fakultäten abgedeckt werden. Diese gehen nicht in die Gesamtnote des Bachelorabschlusses ein. Zu den entsprechenden Angeboten zählen insbesondere die Angebote der Studierendenakademie (Career, Soft & Study Skills, Sprachen).
Ein Modul für den Bachelor-Studiengang kann nur dann für die Individuelle Ergänzung im Master-Studien- gang Informatik verwendet werden, wenn es nicht bereits für ein vorangegangenes Bachelor-Studium ver- wendet wurde.
3.1 Algorithmen in der Bioinformatik Algorithms in Bioinformatics
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes Sommersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Biologische und algorithmische Grundlagen
Exhaustive Suche: DNA-Motive
Gierige Algorithmen: Genom-Umordnungen
Dynamische Programmierung: Sequenz-Alignment
Graphen-Algorithmen: Assembly
Kombinatorische Mustersuche, BLAST
Cluster & Cliquen
Phylogenetische Bäume und molekulare Evolution
Hidden Markov Modelle Lernergebnisse/Kompetenzen
Nach der Veranstaltung werden die Studierende in der Lage sein
verschiedene Klassen von Algorithmen zu differenzieren;
klassische Algorithmen und spezielle bioinformatische Algorithmen auf biologische Probleme anzu- wenden;
gelernte Algorithmen exemplarisch in der Programmiersprache Python umzusetzen;
bioinformatische Probleme mit den vorgestellten Algorithmen selbständig lösen zu können.
Literatur
Neil C. Jones, Pavel A. Pevzner: An Introduction to Bioinformatics Algorithms. The MIT Press, 2004.
Phillip Compeau, Pavel A. Pevzner : Bioinformatics Algorithms, An Active Learning Approach, Vol. I and II, Active Learning Publishers, 2015
Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik
Teil eines Master-Moduls im Master-Studiengang Biologie Teilnahmevoraussetzungen
Inhaltlich: Inhalte der Module Programmierung; Algorithmen und Datenstrukturen; Mathematik für Infor- matik 1 (oder Lineare Algebra I oder Analysis I)
Voraussetzungen für die Vergabe von Leistungspunkten
aktive Teilnahme an den Übungen
erfolgreiches Bearbeiten der Übungsaufgaben (50%)
abschließende Prüfung (i. d. R. schriftlich) Modulbeauftragte und hauptamtliche Lehrende Prof. Dr. Gunnar W. Klau
3.2 Algorithmen zur Visualisierung von Graphen Algorithms for the Visualization of Graphs
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) unregelmäßig Bachelor-Studiengang
Informatik Übung (2 SWS)
Inhalte
Dieses Modul befasst sich mit verschiedenen Arten zur Visualisierung von Graphen und Algorithmen, welche diese konstruieren.
Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein, die besprochenen Visuali- sierungen für Graphen zu erläutern, die behandelten Algorithmen zu verstehen und auf konkrete Eingaben anzuwenden.
Empfohlene Literatur
G. Di Battista, P. Eades, I.G. Tollis, R. Tamassia: Graph Drawing: Algorithms for the Visualization of Graphs, Prentice Hall, 1999.
M. Jünger, P. Mutzel: Graph Drawing Software, Springer Verlag, 2004.
M. Kaufmann, D. Wagner: Drawing Graphs: Methods and Models, Springer Verlag, 2001.
T. Nishizeki, MD S. Rahman: Planar Graph Drawing, World Scientific Pub Co, 2004.
Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
Inhaltlich: Inhalte des Moduls Mathematik für Informatik 1 (oder Analysis I oder Lineare Algebra I)
Voraussetzungen für die Vergabe von Leistungspunkten
Aktive Mitarbeit in den Übungen, Bestehen der Klausur zum Ende des Semesters Modulbeauftragte und hauptamtliche Lehrende
Priv.-Doz. Dr. Frank Gurski
3.3 Algorithmische Geometrie Computational Geometry
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes zweite Sommersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Dieses Modul vermittelt grundlegende Kenntnisse zur Berechnung und Anwendung der folgenden Probleme und Methoden.
Konvexe Hülle
Distanzprobleme
Schnittprobleme
Voronoi Diagramme
Polygon Triangulierung
Delaunay Triangulierung
Plane-Sweep Algorithmen
Randomisierte inkrementelle Algorithmen Lernergebnisse/Kompetenzen
Studierende, die das Modul erfolgreich absolviert haben, besitzen anschließend ein erweitertes Verständnis der theoretischen Grundlagen über den Entwurf von Algorithmen für Fragestellungen aus der algorithmi- schen Geometrie.
Literatur
de Berg et al: Computational Geometry, Algorithms and Applications. Springer-Verlag, Berlin, 2. rev.
ed., 2000.
Preparata, Shamos: Computational Geometry, an Introduction. Springer-Verlag, New York, 1985.
Edelsbrunner: Algorithms in Combinatorial Geometry, EATCS Monographs in Computer Science 10.
Springer-Verlag, 1987.
Matousek: Lectures on Discrete Geometry, Graduate Texts in Mathematics, 212. Springer-Verlag, New York, 2002.
Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
Inhaltlich: Inhalte der Module Programmierung, Algorithmen und Datenstrukturen, Mathematik für Infor- matik I (oder Lineare Algebra I oder Analysis I)
Voraussetzungen für die Vergabe von Leistungspunkten
aktive Mitarbeit in den Übungen
Abgabe der Hausaufgaben
schriftliche Klausur (i. d. R. 90 Minuten) oder mündliche Prüfung am Ende des Semesters Modulbeauftragte und hauptamtlich Lehrende
Prof. Dr. Egon Wanke
3.4 Algorithmische Komplexitätstheorie Algorithmic Complexity Theory
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) Jedes zweite Sommersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Dieses Modul vermittelt grundlegende Kenntnisse aus folgenden Bereichen.
Methoden des Algorithmenentwurfs (Teile und Beherrsche, Dynamische Programmierung, ...),
Einführung in die algorithmische Komplexität (Nichtdeterminismus, NP-Vollständigkeit, ...),
Schaltkreiskomplexität
Approximationsalgorithmen
Parameterisierte Algorithmen
Randomisierte Algorithmen
Einführung in Online-Algorithmen Lernergebnisse/Kompetenzen
Studierende, die das Modul erfolgreich absolviert haben, besitzen anschließend ein erweitertes Verständnis der theoretischen Grundlagen über den Entwurf von Algorithmen. Sie können algorithmische Probleme spe- zifizieren und sie bzgl. ihrer algorithmischen Komplexität analysieren.
Literatur
Christos H. Papadimitriou, Computational, Addison-Wesley, 1993
Richard Johnsonbaugh, Marcus Schäfer: Algorithms, Pearson Education, 2004
Jon Kleinberg, Eva Tardos: Algorithm Design, Addison Wesley, 2006 Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
Inhaltlich: Inhalte der Module Programmierung, Algorithmen und Datenstrukturen, Mathematik für Infor- matik I (oder Lineare Algebra I oder Analysis I)
Voraussetzungen für die Vergabe von Leistungspunkten
aktive Mitarbeit in den Übungen
Abgabe der Hausaufgaben
schriftliche Klausur (i. d. R. 90 Minuten) oder mündliche Prüfung am Ende des Semesters
Modulbeauftragte und hauptamtlich Lehrende Prof. Dr. Egon Wanke
3.5 Angewandte Algorithmik Applied Algorithmics
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
"In theory, there is no difference between theory and practice. In practice, there is."
Algorithmen bilden die Grundlage jedes Computerprogramms. Traditionell liegt der Fokus des Algorithmen- designs auf der Theorie effizienter Algorithmen und deren worst case-Analyse. In dieser Veranstaltung geht es jedoch um praktisch effiziente Algorithmen,für beweisbar schwere Probleme. Das Ziel ist dabei, die Prin- zipien der Optimalität nicht (vollständig) aufzugeben. Themengebiete sind:
Wesentliche Aspekte der Algorithmik und Komplexität
Vollständige Enumeration und Dynamische Programmierung
Branch-and-Bound
Approximationsalgorithmen
Heuristiken und Metaheuristiken
(Ganzzahlige) Lineare Programmierung
Festparameter-Algorithmik
Modellierungen mit Satisfiability (SAT)
Viele der Themengebiete werden nur einführend behandelt. Diese können dann in Spezialmodulen oder im Masterstudium vertieft werden.
Lernergebnisse/Kompetenzen
Nach der Veranstaltung werden die Studierenden in der Lage sein
verschiedene Techniken der Angewandten Algorithmen zu beherrschen und diese auf neue Probleme anzuwenden
Probleme praktisch effizient zu lösen und diese Lösungen zu implementieren, zu testen und zu evalu- ieren
Literatur
Steven Skiena, “The Algorithm Design Manual”, Second Edition, Springer, 2008 Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik
Teil eines Master-Moduls im Master-Studiengang Biologie Teilnahmevoraussetzungen
Inhaltlich: Inhalte der Module Programmierung, Algorithmen und Datenstrukturen, Theoretische Informa- tik, Mathematik für Informatik I (oder Lineare Algebra I oder Analysis I)
Voraussetzungen für die Vergabe von Leistungspunkten
aktive Teilnahme an den Übungen
erfolgreiches Bearbeiten der Übungsaufgaben (50%)
abschließende Prüfung (i. d. R. schriftlich) Modulbeauftragte und hauptamtliche Lehrende Prof. Dr. Gunnar W. Klau
3.6 Approximative Algorithmen Approximate Algorithms
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) unregelmäßig Bachelor-Studiengang
Informatik Übung (2 SWS)
Inhalte
Dieses Modul befasst sich mit den folgenden schweren Optimierungsproblemen, für die es vermutlich keine effizienten Algorithmen gibt, und stellt verschiedene Näherungslösungen für diese Probleme vor.
Metric Traveling Salesman
Job Scheduling
Knapsack
Bin Packing
Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein,
die besprochenen schweren Optimierungsprobleme zu erläutern und
die behandelten Approximationsalgorithmen auf konkrete Eingaben anzuwenden
Literatur
K. Jansen, M. Margraf: Approximative Algorithmen und Nichtapproximierbarkeit, de Gruyter Verlag, 2008.
R. Wanka: Approximationsalgorithmen, Teubner Verlag, 2006.
Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
Inhaltlich: Inhalte des Moduls Mathematik für Informatik 1 (oder Analysis I oder Lineare Algebra I) Voraussetzungen für die Vergabe von Leistungspunkten
Aktive Mitarbeit in den Übungen, Bestehen der Klausur zum Ende des Semesters Modulbeauftragte und hauptamtliche Lehrende
Priv.-Doz. Dr. Frank Gurski
3.7 Betriebssysteme und Systemprogrammierung Operating Systems and System Programming
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
10 LP 300h 90h 210h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (4 SWS) i. d. R. jährlich Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Grundlagen: C- und UNIX Shell-Programmierung
Grundlegende Betriebssystemkonzepte, u.a. Speicher (Heap, Stack), Adressräume, Prozesse und Threads, Scheduling, Synchronisierung, Interrupts, Dateisysteme, Interprozess-Kommunikation, Schutzmechanismen
Programmierung von Systemsoftware
Praktische Übungen, direkt am Rechner
Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein,
Betriebssystemkonzepte zu erläutern
Zusammenhänge zwischen der Ausführung von Programmen und den Betriebssystemen zu verste- hen und zu erklären
Synchronisierungsprobleme in parallelen Threads zu erkennen und eigene Synchronisierungslösun- gen zu konzipieren
einfache Systemprogramme auf Basis der Systemaufrufschnittstelle UNIX-ähnlicher Betriebssysteme in der Programmiersprache C zu entwickeln
Literatur
Andrew S. Tanenbaum: „Modern Operating Systems”, 4. Auflage, Prentice Hall, 2014.
Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
Inhaltlich: Inhalte der Module Programmierung, Rechnerarchitektur Voraussetzungen für die Vergabe von Kreditpunkten
Erfolgreiche Bearbeitung der Übungsaufgaben. Erfolgreiche Teilnahme an der Prüfung am Ende der Veran- staltung.
Modulbeauftragte und hauptamtliche Lehrende Prof. Dr. Michael Schöttner
3.8 Compilerbau
Compiler Construction
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 75h 75h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) unregelmäßig Bachelor-Studiengang
Informatik Übung (2 SWS)
Praktische Übung (2 SWS)
Inhalte
Die Inhalte dieses Moduls sind wie folgt:
Grundlagen des Compilerbaus
Lexikale Analyse (reguläre Ausdrücke und endliche Automaten)
Syntaxanalyse (kontextfreie Grammatiken und deterministisches Parsing)
Semantische Analyse
Code-Generierung
Benutzen von Werkzeugen zur automatischen Erzeugung von Compilern Lernergebnisse/Kompetenzen
Nach erfolgreichem Abschluss des Moduls sollten die Studierenden:
verstehen wie Programmiersprachen übersetzt und implementiert werden
Syntaxbeschreibungen einer Programmiersprache verstehen und anpassen können. Insbesondere sollen die Studierenden ermitteln können ob die Beschreibung für eine automatisierte Bearbeitung in einem Compiler geeignet ist
in der Lage sein für eine neue Programmiersprache einen Parser, bzw. Compiler selbst zu entwickeln Literatur
Andrew W. Appel, Modern Compiler Implementation in Java, 2nd Edition, Cambridge University Press, (ISBN-13: 9780521820608 — ISBN-10: 052182060X).
Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools (2nd Edition), Addison Wesley, ISBN-13: 978-0321486813.
Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
keine
Voraussetzungen für die Vergabe von Leistungspunkten
Erfolgreiche Bearbeitung der Pflichtübungen; Erfolgreiche Entwicklung eines eigenen Compilers; Bestehen der Klausur;
Modulbeauftragte und hauptamtliche Lehrende Prof. Dr. Michael Leuschel
3.9 Datenbanken: Weiterführende Konzepte Databases: Further Concepts
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Datenbankdefinition
Datenbankanwendungsprogramming; Datenbankanbindung im Web
Transaktionen und Grundlagen der Transaktionsverwaltung
Sichten und Rechte
Trigger
Implementierungsaspekte (physische Speicherung; Indexstrukturen)
Anfrageverarbeitung und -optimierung Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein,
selbstständig Datenbankanwendungen zu entwickeln (einschl. Datenbankentwurf, Datenbankdefinition und Anwendungsprogrammierung)
zentrale Implementierungskonzepte zur Speicherung von Daten und elementare Datenstrukturen und Algorithmen zur Anfragebearbeitung erklären und bewerten zu können.
Literatur
G. Saake, K.-U. Sattler, A. Heuer: Datenbanken – Konzepte und Sprachen. 6. Auflagen, mitp Verlag, 2018.
G. Saake, K.-U. Sattler, A. Heuer: Datenbanken – Implementierungstechniken. 3. Auflage, mitp Ver- lag, 2011.
Kemper, A. Eickler: Datenbanksysteme – Eine Einführung. 10. Auflage, Oldenbourg Verlag, 2015
R. Elmasri, S.B. Navathe: Fundamentals of Database Systems. 7th edition, Pearson, 2016.
H. Garcia-Molina, J.D. Ullman, J. Widom: Datbase Systems: The Complete Book. 2nd edition, Pear- son, 2009.
Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik
Teilnahmevoraussetzungen
Inhaltlich: Inhalte der Module Programmierung, Datenbanken: Eine Einführung Voraussetzungen für die Vergabe von Leistungspunkten
Aktive und erfolgreiche Teilnahme an den Übungen (praktische, aufeinander aufbauende Aufgaben, die je- weils bestanden werden müssen; die finale Ausarbeitung einschließlich der Programmtexte (schriftlicher Be- richt gemäß §10, Abs. 12 der PO) wird benotet und bildet die Modulnote).
Modulbeauftragte und hauptamtliche Lehrende Prof. Dr. Stefan Conrad
3.10 Einführung in die Funktionale Programmierung Introduction to Functional Programming
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 75h 75h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) unregelmäßig Bachelor-Studiengang
Informatik Übung (2 SWS)
Praktische Übung (2 SWS)
Inhalte
Clojure Syntax und Programmierung
immutable Datenstrukturen und Laziness
das epochale Zeit-Modell
Simplicity und die Clojure Philosophie
Polymorphismus a la carte
Homoikonizität und Macros.
Lernergebnisse/Kompetenzen
Studierende sollen nach Absolvierung der Lehrveranstaltungen in der Lage sein,
die Prinzipien der funktionalen Programmierung zu bezeichnen und klassischen, imperativen Pro- grammiersprachen gegenüberzustellen
zu bewerten, für welche Einsatzbereiche die funktionale Programmierung vorteilhaft ist
eigenständig funktionale Programme zu erstellen und zu testen Literatur
Abelson, Sussman: Structure and Interpretation of Computer Programs
Moseley, Marks: Out of the tarpit
Fogus, Houser: The Joy of Clojure
Emerick, Carper, Grand: Programming Clojure
Rathore: Clojure in Action
Higginbotham: Clojure for the Brave and True Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung Teilnahmevoraussetzungen keine
Voraussetzungen für die Vergabe von Leistungspunkten
aktive Teilnahme an den Übungen
erfolgreiches Bearbeiten der Übungsaufgaben
abschließende Prüfung (i. d. R. schriftlich) Modulbeauftragte und hauptamtliche Lehrende Prof. Dr. Michael Leuschel, Jens Bendisposto
3.11 Einführung in die naturwissenschaftliche Informatik Introduction to Scientific Computer Science
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Implementierung verschiedener Algorithmen in der Programmiersprache Python: z.B.
• Rekursion am Beispiel des Problems der unabhängigen phylogenetischen Kontraste
• Lateraler Gentransfer oder phylogenetische Artefakte? Statistischer Test der Übereinstimmung von Bäumen mit nicht-identischen Blattmengen ohne einen verlässlichen Referenzbaum
• MAD: Wurzeln phylogenetischer Stammbäume mit Hilfe des Mean-Ancestor-Deviation-Verfahrens
• Gruppierungsverfahren: Neighbor-Joining, Markov-Clustering-Algorithmus, k-Means, Expectation Max- imization
• Pebble-Game-Algorithmus und die Steifigkeitsanalyse von Biomolekülen
• Gibbs-Sampling zur Motivsuche in DNA-Sequenzen
Der Kurs beschreibt mit Hilfe ausgewählter Beispiele die Anwendung der Informatik und Statistik zur Lösung verschiedener Probleme aus Biologie, Physik und Chemie.
Lernergebnisse/Kompetenzen
Die Studierenden verstehen die zugrundeliegenden naturwissenschaftlichen Hintergründe und die damit ver- bundenen Problemstellungen. Sie beherrschen die zur Problemlösung angewendeten Algorithmen und sta- tistischen Verfahren. Sie können diese eigenständig in der Programmiersprache Python implementieren und sind in der Lage, verschiedene Lösungswege kritisch miteinander zu vergleichen und zu diskutieren.
Literatur
Wird im Rahmen der Vorlesung vorgestellt Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete Teilnahmevoraussetzungen
keine
Voraussetzungen für die Vergabe von Leistungspunkten
• Mindestens 50 Prozent der Punkte aus den Übungsaufgaben
• Bestehen der Abschlussprüfung
Modulbeauftragte und hauptamtliche Lehrende Prof. Dr. Martin Lercher, Dr. Mayo Röttger
3.12 Graphenalgorithmen I Algorithms for Graphs I
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 60h 90h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Inhalte
Dieses Modul vermittelt grundlegende Kenntnisse aus folgenden Bereichen.
Suchmethoden auf Graphen
Topologische Anordnungen
Zusammenhangsprobleme
Kürzeste Wege
Minimale Spannbäume
Netzwerkfluss-Probleme
Matching-Probleme Lernergebnisse/Kompetenzen
Studierende, die das Modul erfolgreich absolviert haben, besitzen anschließend ein erweitertes Verständnis der theoretischen Grundlagen über den Entwurf von Graphalgorithmen.
Literatur
Verschiedene aktuelle Lehrbücher über Graphenalgorithmen Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik Teilnahmevoraussetzungen
Inhaltlich: Inhalte der Module Programmierung, Algorithmen und Datenstrukturen, Mathematik für In- formatik 1 (oder Lineare Algebra I oder Analysis I)
Voraussetzungen für die Vergabe von Leistungspunkten
aktive Mitarbeit in den Übungen
Abgabe der Hausaufgaben
schriftliche Klausur (i. d. R. 90 Minuten) oder mündliche Prüfung am Ende des Semesters Modulbeauftragte und hauptamtliche Lehrende
Prof. Dr. Egon Wanke
3.13 Introduction to Logic Programming Introduction to Logic Programming
Leistungspunkte Arbeitsaufwand Kontaktzeit Selbststudium
5 LP 150h 75h 75h
Lehrveranstaltungen Häufigkeit des Angebots Studiengang
Vorlesung (2 SWS) jedes Wintersemester Bachelor-Studiengang Informatik
Übung (2 SWS)
Praktische Übung (2 SWS)
Inhalte
In der imperativen Programmierung werden Programme durch Sequenzen von Instruktionen dargestellt. In der logischen Programmierung beschreibt man statt einer Lösung für ein Problem in Form eines Algorithmus das Problem durch Fakten und Regeln und der Computer findet selbständig eine Lösung. Das eröffnet einen völlig neuen und radikal unterschiedlichen Blickwinkel auf das Programmieren der auch bei der alltäglichen Entwicklung mit C oder Java sehr nützlich ist.
Die Vorlesung behandelt die Themen:
Aussagenlogik, Prädikatenlogik
Resolution
Programmieren mit Horn Klauseln
Praktische Grundlagen von Prolog
Suchalgorithmen und Künstliche Intelligenz mit Prolog
Grundzüge der Constraint-Programmierung Lernergebnisse/Kompetenzen
Nach erfolgreichem Abschluss des Moduls sollten die Studierenden
die logischen Grundlagen von Prolog verstehen und logische Berechnungen in Aussagenlogik und Prädikatenlogik durchführen können
die praktischen Datenstrukturen von Prolog benutzen können
in der Lage sein kleinere Prolog Programme eigenständig entwickeln zu können
wichtige Suchalgorithmen vergleichen können und praktisch in Prolog umsetzen
kleinere Aufgaben der künstlichen Intelligenz in Prolog lösen können Literatur
Nilsson, Maluszynski - Logic, Programming and Prolog (eBook)
Blackburn, Bos, Striegnitz, Learn Prolog Now!, College Publications Verwendbarkeit des Moduls
Wahlbereich Bachelor-Studiengang PO 2021
Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
Individuelle Ergänzung im Master-Studiengang Informatik
Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
Nebenfach im Bachelor-Studiengang Physik
Nebenfach im Bachelor-Studiengang Medizinische Physik
Wahlbereich im Master-Studiengang Artificial Intelligence and Data Science Teilnahmevoraussetzungen
keine
Voraussetzungen für die Vergabe von Leistungspunkten
Aktive und erfolgreiche Mitwirkung in den Übungen
Erfolgreiche Teilnahme an der Abschlussprüfung