• Keine Ergebnisse gefunden

Modulhandbuch. für den. Bachelor-Studiengang Informatik nach Prüfungsordnung 2021

N/A
N/A
Protected

Academic year: 2022

Aktie "Modulhandbuch. für den. Bachelor-Studiengang Informatik nach Prüfungsordnung 2021"

Copied!
58
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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.

(6)

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

(7)

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

(8)

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)

(9)

Häufigkeit des Angebots, modulare Schiene

• Jedes Wintersemester

Modulbeauftragte und hauptamtliche Lehrende

Prof. Dr. Stefan Conrad, Prof. Dr. Martin Mauve, Janine Golov

(10)

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

(11)

 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

(12)

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

(13)

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

(14)

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

(15)

 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

(16)

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

(17)

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.

(18)

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.

(19)

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)

(20)

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.

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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.

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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)

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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

Referenzen

ÄHNLICHE DOKUMENTE

Empfohlene Literatur - Übungsaufgaben auf der Lehrplattform Ilias Prüfungsleistungen Übung 1 Semester (nicht benotet) Anmerkungen... Modul Verteilte Systeme 1 und

Empfohlene Literatur - Übungsaufgaben auf der Lehrplattform Ilias Prüfungsleistungen Übung 1 Semester (nicht benotet) Anmerkungen... Modul Verteilte Systeme 1

Qualifizierungsziel dieses Moduls ist es daher, den Studierenden diese Kenntnisse im Bereich der Geostatistik – aufbauend auf den Grundlagen der Statistik – und

Fach-Bachelor Wirtschaftsinformatik (Bachelor) > Akzentsetzungsbereich Wirtschaftswissenschaften Fach-Bachelor Wirtschaftsinformatik (Bachelor) > Wahlbereich Informatik,

Modulprüfung (Voraussetzung für die Vergabe von Leistungspunkten) LV-Nr Art und Dauer.. des Leistungs-

Verwendbarkeit: Studiengang Informatik (B.Sc.) Angebot und Dauer: Wintersemester, ein Semester Lehrformen: 3 SWS Seminaristischer Unterricht.. 1

Verwendbarkeit: Studiengang Gesundheits- und Pflegeinformatik (B.Sc.), Studiengang Wirtschaftsinformatik (B.Sc.) Angebot und Dauer: Wintersemester, ein Semester.. Lehrformen: 2

Die Studierenden verstehen, dass Beschaffungsentscheidungen unter Zusammenwirken mehrerer unternehmensinterner Interessengruppen (Einkauf, Controlling & Finanzen, Entwicklung)