Modulhandbuch - FernUniversität in Hagen

Modulhandbuch
für den
Studiengang Master of Science
in Praktischer Informatik
Stand: 1. Dezember 2015
Im Modulhandbuch werden nur Module aufgeführt, deren Kurse angeboten
werden.
Über Module im Wahlpflichtbereich, deren Kurse aktuell nicht oder nicht
mehr angeboten werden, die aber bereits belegt wurden, können u. U. noch
Prüfungen abgelegt werden. Bitte beachten Sie die Angaben und ggf.
Prüfungsgrenzen in den Prüfungsinformationen Nr. 1.
Master of Science in Praktischer Informatik
01.12.2015
Katalog B, Bereich B1 Grundlagen der
Informatik
Einführung in die Computergrafik
mit dem Kurs
01277
Einführung in Computergrafik
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden
Einüben des Stoffes (insbesondere durch Einsendeaufgaben; 7 mal 15 Stunden):
105 Stunden
Wiederholung und Prüfungsvorbereitung (Studientag und Selbststudium): 55
Stunden
Inhalt:
Der Kurs gibt eine mathematisch fundierte Einführung in die Grundlagen der
Computergrafik. Er behandelt die folgenden Themen: Aufgaben der grafischen
Datenverarbeitung, Komponenten rasterorientierter Grafiksysteme,
Rasteralgorithmen zur Darstellung von Strecken und Polygonen; mathematische
Grundlagen zur Darstellung dreidimensionaler Objekte (affine und perspektivische
Abbildungen); Darstellung dreidimensionaler Kurven und Flächen unter besonderer
Berücksichtigung von Splines; Verfahren zur Bestimmung der Sichtbarkeit von
Objekten auf dem Bildschirm (Klippen, punkt-, linien-, flächenorientierte
Visibilitätsverfahren); Grafik- Bibliotheken, insbesondere Java3D und OpenGL;
Körpermodelle; lokale Beleuchtungsmodelle und -algorithmen; globale
Beleuchtungsmodelle (Raytracing und Radiosity-Verfahren). Der Kurs liegt
elektronisch mit einer Vielzahl eingebundener interaktiver Applets vor.
Lernergebnisse / Kompetenzen:
Nach erfolgreicher Teilnahme des Moduls sind die Studierenden in der Lage, die
Grundlagen der Computergrafik zu benennen und zu beschreiben. Sie können die
mathematischen Objekte wie geometrische Abbildungen, Kurven, Flächen und
deren Algorithmen erklären und interpretieren. Sie können die grundlegenden
Konzepte grafischer Datenstrukturen und Algorithmen beurteilen und analysieren
sowie die Grafikbibliotheken Java3D und OpenGL anwenden. Nach erfolgreicher
Teilnahme können die Teilnehmer die Beleuchtungsmodelle und Verfahren zur
Berechnung realitätsnaher Bilder erläutern und deren Rechenaufwand bewerten.
Literatur: Encarnação, Straßer, Klein: Graphische Datenverarbeitung I+II, Oldenbourg, 1996,
ISBN 3-486-23223-1
Foley, vanDam, Feiner, Hughes: Computer Graphics - Principles and Practice Addison Wesley, 1995, ISBN 0- 201-84840-6.
Inhaltliche Voraussetzungen:
Voraussetzung für den Kurs sind mathematische Grundlagen.
Programmierkenntnisse in objektorientierter Programmierung sind hilfreich.
Anmerkung:
Master of Science in Praktischer Informatik
01.12.2015
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Michael Felten
Lehrende:
Michael Felten
Master of Science in Praktischer Informatik
01.12.2015
Katalog B, Bereich B2 Computersysteme
Anwendungsorientierte Mikroprozessoren
mit dem Kurs
01706
Anwendungsorientierte Mikroprozessoren
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden
Einüben des Stoffes, insbesondere durch Einsendeaufgaben (7 mal 15 Stunden):
105 Stunden
Wiederholung und Prüfungsvorbereitung (Selbststudium): 55 Stunden
Inhalt:
Der Kurs beschäftigt sich mit der Architektur und der Funktionsweise von
anwendungsorientierten Mikroprozessoren. Das sind zum einen die
Mikrocontroller, die im Prinzip vollständige Rechner in einem einzigen Baustein
darstellen, zum anderen die auf die digitale Verarbeitung analoger Signale
spezialisierten Digitalen Signalprozessoren. Im Mittelpunkt des Kurses stehen
technisches Grundlagenwissen und praktischer Einsatz. Es wird gezeigt, aus
welchen Komponenten diese Mikroprozessoren aufgebaut sind und wie diese
zusammenwirken. Dabei wird insbesondere hervorgehoben, wie sie an ihre
spezifischen Anwendungen angepasst sind. Als Grundlage für die Programmierung
der Prozessoren wird ihre Schnittstelle zwischen der Hardware und Software
ausführlich behandelt. Für beide Prozessortypen werden Produktbeispiele
präsentiert und es wird auf aktuelle Entwicklungstrends eingegangen. Ein weiterer
Schwerpunkt wird auf die Beschreibung der Komponenten gelegt, die einen
Mikroprozessor zu einem Mikrorechner erweitern, also insbesondere die
verschiedenen Speicherbausteine, Bussysteme sowie Schnittstellen- und
Systemsteuerbausteine.
Lernergebnisse / Kompetenzen:
Nach dem Bearbeiten des Kurses verstehen die Studierenden den komplexen
Aufbau anwendungsorientierter Mikroprozessoren und das Zusammenwirken ihrer
Komponenten. Außerdem wissen sie, wie ein einfacher Mikroprozessor in seine
analoge oder digitale "Umwelt" eingebettet ist und mit ihr kommuniziert. Dadurch
werden Ausbildungslücken geschlossen, die in vielen Kursen über
Mikroprozessortechnik bleiben, die sich hauptsächlich mit den "High-End"Prozessoren und ihren komplexen Komponenten beschäftigen. Nach dem
Bearbeiten des Kurses sind die Studierenden in der Lage, den Einsatz z.T. sehr
einfacher Mikroprozessoren in den Hunderten von technischen Geräten
(Fernbedienungen, Handys, Haushaltsgeräte usw.) zu verstehen und zu würdigen,
die ihnen täglich das Leben erleichtern.
Literatur: H. Bähring: Mikrorechner-Technik, 2 Bände, Springer Verlag, 2002, ISBN: 3-54041648 X, 3-540-43693-6
W. Schiffmann: Technische Informatik 2, Springer Verlag, 2002, ISBN: 3-540-438548
U. Brinkschulte, T. Ungerer: Mikrocontroller und Mikroprozessoren, Springer
Master of Science in Praktischer Informatik
01.12.2015
Verlag, 2007, ISBN: 978-3- 540-46801-1
H. Bähring: Anwendungsorientierte Mikroprozessoren, Springer Verlag, 2010, ISBN:
978-3-642-12291-0
Inhaltliche Voraussetzungen:
Grundkenntnisse in Digitaltechnik und elektrotechnischen Grundlagen
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Helmut Bähring
Lehrende:
Helmut Bähring
Master of Science in Praktischer Informatik
01.12.2015
Parallel Programming
mit dem Kurs
01727
Parallele Programmierung und Grid-Computing
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten 150 Stunden,
Bearbeiten der Einsendearbeiten 75 Stunden,
Studientage und Prüfungsvorbereitung 75 Stunden
Inhalt:
Mit dem Aufkommen von Multicore-Prozessoren in Desktop-PCs verlässt die
parallele Programmierung die Nischenecke der Großrechner und wird für eine
Vielzahl von Anwendungen interessant. Gleichzeitig werden traditionelle
Arbeitsfelder von Parallelrechnern zunehmend durch das Grid-Computing erobert.
Der Kurs enthält Beiträge zu folgenden Themengebieten: Grundlagen und Modelle
der parallelen Programmierung, Parallele Programmiertechniken wie Shared
Memory Programmierung mit POSIX Threads, Message Passing Interface (MPI) und
OpenMP, parallele Matrizenrechnung, parallele Graphalgorithmen, Einführung in
das Cluster- und Grid-Computing, Einführung in die Middleware Condor,
Scheduling von Metatasks, Fallstudien realer Grid-Systeme und grundlegende
Scheduling-Techniken für Workflows in Grids sowie eine kurze Einführung in
Virtuelle Maschinen und Cloud-Computing. Für die Übungen werden verschiedene
parallele Computersysteme bereitgestellt und die Studierenden müssen selbst
parallele Software erstellen.
Lernergebnisse / Kompetenzen:
Nachdem die Studierenden das Modul bearbeitet haben, können sie bei der
Lösung komplexer Problemstellungen parallelisierbare Komponenten identifizieren,
auf homogene oder heterogene Prozessorarchitekturen verteilen,
Softwareimplementierungen für diese Rechnerarchitekturen konstruieren, Testfälle
generieren und damit die parallele Implementierung evaluieren, Fehler in einer
Implementierung identifizieren und beheben, Optimierungsmöglichkeiten
gegenüberstellen und beurteilen, die Implementierung rekonstruieren und somit
möglichst gut angepasste parallele Softwareimplementierungen für die einzelnen
Problemstellungen hervorbringen.
Literatur: Barry Wilkinson, Michael Allen: Parallel Programming, Second Edition, Pearson
Education International, 2005, ISBN 0-13-191865-6
Ananth Gramma, Anshul Gupta, George Karypis, Vipin Kumar: Introduction to
Parallel Computing, Second Edition, Addison Wesley, 2003, ISBN 0-201-64865-2
Bart Jacob et al.: Introduction to Grid Computing, IBM Redbook,
http://ibm.com/redbooks Barry Wilkinson: Grid Computing, Chapman & Hall, 2009
Inhaltliche Voraussetzungen:
Kenntnisse aus den Kursen Computersysteme, Einführung in die imperative
Programmierung, Datenstrukturen I, Betriebssysteme und Rechnernetze sowie
Datenbanken I
Anmerkung:
keine
Master of Science in Praktischer Informatik
01.12.2015
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN: finden Sie im Kursanschreiben
Modulverantwortliche/r: Wolfram Schiffmann
Lehrende:
Jörg Keller, Wolfram Schiffmann
Master of Science in Praktischer Informatik
01.12.2015
Verteilte Systeme
mit dem Kurs
01678
Verteilte Systeme
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden
Bearbeitung der Einsendeaufgaben inkl. Verarbeitung des Korrektur-Feedbacks (7
mal 10 Stunden): 70 Stunden
Mitwirkung an den Diskussionen in der Kurs-Newsgroup: 20 Stunden
Wiederholung und Prüfungsvorbereitung: 70 Stunden
Inhalt:
Das Modul behandelt die Funktionsweise und Designprinzipien von verteilten
Systemen, die zum Verständnis heutiger Anwendungssysteme im Internet
unentbehrlich sind. Ein verteiltes System besteht aus mehreren Komponenten, die
auf vernetzten Rechnern installiert sind und ihre Aktionen durch den Austausch von
Nachrichten über Kommunikationskanäle koordinieren. Im Vergleich zu autonomen
Rechensystemen treten bei verteilten Systemen ganz neue Probleme auf: Daten,
welche auf unterschiedlichen Rechensystemen auch unterschiedlich dargestellt
werden, sollen ausgetauscht werden, Prozesse müssen synchronisiert werden,
verteilte persistente Datenbestände sollen konsistent gehalten werden.
Schwerpunktmäßig behandelt werden die Grundlagen verteilter Systeme, Prozesse
und Kommunikation, Namen und Synchronisierung, Konsistenz und Replikation,
Fehlertoleranz, Sicherheit und verteilte Dateisysteme.
Lernergebnisse / Kompetenzen:
Die Teilnehmer entwickeln ein grundlegendes Verständnis für Design und
Implementierung von verteilten Systemen auf der Basis moderner Betriebssysteme
und Rechnernetze. Sie können gängige Probleme bei verteilten Systemen mittels
Designprinzipien lösen und die Einsatzmöglichkeiten und
Realisierungsmöglichkeiten verteilter Anwendungen beurteilen. Durch die
Teilnahme an der Kurs-Newsgroup wird das Einüben wissenschaftlicher
Kommunikation gefördert.
Literatur: Basistext ist das Buch: Andrew S. Tanenbaum, Maarten van Stehen, Verteilte
Systeme: Prinzipien und Paradigmen. Zweite Auflage, Pearson Studium, 2007, ISBN
3-8273-7293-3
oder als englische Version
Andrew S. Tanenbaum, Maarten van Stehen: Distributed Systems: Principles and
Paradigms. Second Edition, Prentice Hall, 2006, ISBN 0-13-239227-5
oder als Paperback, 2008, ISBN 0-13-613553-6
Inhaltliche Voraussetzungen:
Inhalte des Moduls Einführung in die imperative Programmierung und
Datenstrukturen und des Kurses 01801 Betriebssysteme und Rechnernetze aus dem
Modul Softwaresysteme des Bachelor Informatik sowie Erfahrungen im Umgang
mit einem verbreiteten Betriebssystem wie Unix, MacOSX oder Windows.
Wenn Ihnen Grundkenntnisse über Betriebssysteme oder Rechnernetze fehlen, so
sollte es für Sie möglich sein, ergänzend zur Bearbeitung des Kurses die Ihnen
Master of Science in Praktischer Informatik
01.12.2015
unbekannten Sachverhalte in einschlägigen Fachbüchern nachlesen.
Eine gewisse Erfahrung im Programmieren mit einer Programmiersprache wie Java
oder C sollten Sie auch mitbringen, um einige Beispiele zu verstehen.
Anmerkung:
Der Basistext muss vor Semesterbeginn beschafft werden.
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Jörg M. Haake
Lehrende:
Jörg M. Haake
Master of Science in Praktischer Informatik
01.12.2015
Sicherheit im Internet
mit den beiden Kursen
01866
Sicherheit im Internet I
Durchführung: in jedem Sommersemester, in der zweiten Hälfte des Semesters
01868
SWS: 2+1
Sicherheit im Internet I - Ergänzungen
Durchführung: in jedem Wintersemester, in der ersten Hälfte des Semesters
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
zwei Semester
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
Kurseinheiten 150 Stunden
Einsendearbeiten 75 Stunden
Prüfungsvorbereitung 75 Stunden
Inhalt:
Das Modul behandelt zunächst die grundlegenden Konzepte des Themas ITSicherheit. Vertraulichkeit, Integrität, Authentizität und Verfügbarkeit werden als
allgemeine Schutzziele vorgestellt. Konkrete Bedrohungen wie Viren und Würmer
und mögliche Probleme beim Surfen im Netz werden vorgestellt. Danach werden
symmetrische und asymmetrische Verschlüsselungsverfahren sowie HashFunktionen, digitale Unterschriften und die Grundlagen von Zertifikaten behandelt.
Es wird vorgestellt, wie man sicher durch das Internet surfen kann, wie man sicher
per Email kommuniziert, und wie man sicher an entfernten Rechnern arbeiten
kann. Anschließend wird vorgestellt, was man zum Schutz seines privaten Rechners
tun kann und soll, und worauf man bei der Konfiguration von Web-Servern achten
muss. Daneben wird in diesem Teil auch auf Firewalls, ihre Aufgaben, ihre
Architektur, ihre Konfiguration und ihr Betrieb eingegangen. Den Abschluss bildet
ein Abschnitt mit organisatorischen Hinweisen zum Thema Sicherheit. Schließlich
werden die Themen Anonymität im Internet, aktive Inhalte, Computer-Forensik,
Zugriffskontrollen, Benutzerauthentisierung und Kommunikationssicherheit in
Wireless LANs und in Mobiltelefonnetzen behandelt.
Lernergebnisse / Kompetenzen:
Nach erfolgreicher Bearbeitung können Studierende ihre fundierten Kenntnisse von
Sicherheitsmaßnahmen und -mechanismen erläutern. Sie können Wissen aus den
Bereichen Mathematik, Rechnernetze und IT Sicherheit kombinieren und mit der
entstehenden Komplexität umgehen. Sie kennen die Grundlagen der wichtigsten
Techniken im Bereich IT-Sicherheit und können diese darlegen, selbständig
erweitern und vertiefen. Die Studierenden können unvollständig definierte
Probleme aus dem Bereich IT-Sicherheit lösen und die Lösungen auch technisch
umsetzen. Die Studierenden erwerben in den Übungen die Fähigkeit zu
eigenverantwortlicher Tätigkeit (Einarbeitung, Analyse, Entwurf und Umsetzung).
Literatur: C. Eckert: IT-Sicherheit. 9. Auflage. Oldenbourg 2014
R. Oppliger: Security Technologies for the World Wide Web 2nd Edition, Artech
House 2003
B. Schneier: Applied Cryptography 2nd Edition, Wiley 1996
Inhaltliche Voraussetzungen:
Kurs 01801 Betriebssysteme und Rechnernetze aus Modul Softwaresysteme des BSc
Informatik bzw. Modul Einführung in die technischen und theoretischen
Master of Science in Praktischer Informatik
01.12.2015
Grundlagen der Informatik des BSc Wirtschaftsinformatik
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandene gemeinsame Kursabschlussklausur über beide
Kurse
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Jörg Keller
Lehrende:
Jörg Keller
Master of Science in Praktischer Informatik
01.12.2015
Katalog B, Bereich B3 Informationssysteme und
Künstliche Intelligenz
Vertiefende Konzepte von Datenbanksystemen
mit den beiden Kursen
01664
Implementierungskonzepte für Datenbanksysteme
Durchführung: in jedem Wintersemester, verteilt über das gesamte Semester
01672
SWS: 2+1
Datenbanken II
Durchführung: in jedem Sommersemester, in der zweiten Hälfte des Semesters
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
zwei Semester
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeiten der Kurseinheiten: 160 Stunden
Bearbeitung der Einsendeaufgaben inkl. Verarbeitung des Korrektur: 80 Stunden
Wiederholung und Prüfungsvorbereitung, Prüfung: 60 Stunden
Kurs 01664 führt zu Beginn eine relativ detaillierte Software-Architektur ein. Die
folgenden Kapitel stellen Implementierungsaspekte anhand dieser Schichten dar.
Dazu gehören Externspeicher- und Systempufferverwaltung, Indexstrukturen,
externes Sortieren und Anfrageverarbeitung. Bei den Indexstrukturen werden
neben klassischen B-Baum- und dynamischen Hashverfahren auch Strukturen für
die Verwaltung von Geodaten, wie etwa Grid-Files oder R-Bäume behandelt. Zur
Anfrageverarbeitung gehört vor allem die Optimierung, d.h. die Ermittlung eines
kostengünstigen Plans für die gegebene SQL-Anfrage, auf der Basis von
Kostenschätzungen für Planoperationen.
Kurs 01672 führt die Studierenden in die wichtigsten Konzepte ein, auf deren
Grundlage die Dienste moderner Datenbanksysteme realisiert werden. Ein zentrales
Thema ist dabei der Mehrbenutzerbetrieb (Transaktionsmanagement), da in vielen
Anwendungen eine große Zahl von Benutzern gleichzeitig auf die Datenbank
zugreift. In engem Zusammenhang damit stehen dann Fragen wie Ausfallsicherheit
und Wiederherstellung nach Fehlern von Soft- und Hardware (Recovery). Schließlich
wird ein Überblick gegeben über neuere Anwendungen und Tendenzen auf dem
Gebiet der Datenbanksysteme.
Lernergebnisse / Kompetenzen:
Nach erfolgreicher Teilnahme besitzen Studierende einen guten Überblick wie auch
Detailkenntnisse der Architektur und Implementierung von Datenbanksystemen. Sie
können die Schichtenarchitektur beschreiben und alle wesentlichen Komponenten
der Implementierung benennen. Sie können verschiedene Indexstrukturen für
Standard- und Geodaten im Detail erklären. Sie können die Schritte der
Verarbeitung einer SQL-Anfrage in der Optimierung und Planerzeugung
beschreiben. Sie können erklären, wann verzahnte Abläufe von Transaktionen als
korrekt anzusehen sind und wie der Transaktionsmanager des Datenbanksystems
sicherstellt, dass nur solche Abläufe zugelassen werden. Sie können erklären, wie
nach Systemabstürzen der korrekte Zustand der Datenbank wiederhergestellt wird.
Sie sind damit in der Lage, im Beruf etwa als Datenbankadministrator
Master of Science in Praktischer Informatik
01.12.2015
Effizienzproblemen auf den Grund zu gehen.
Literatur: A. Kemper und A. Eickler: Datenbanksysteme: Eine Einführung. 8. Auflage,
Oldenbourg-Verlag, 2011.
H. Garcia-Molina, J.D. Ullman, and J. Widom: Database Systems: The Complete
Book. 2. Auflage, Prentice-Hall, 2008.
M. Schneider: Implementierungskonzepte für Datenbanksysteme. Springer-Verlag,
2003.
C.J. Date: An Introduction to Database Systems. Pearson Addison Wesley, 2004.
R. Elmasri, S. Navathe: Grundlagen von Datenbanksystemen: Bachelorausgabe,
Pearson Verlag, 2009.
Inhaltliche Voraussetzungen:
Kenntnisse der Konzepte von Standard-Datenbanksystemen, z.B. aus Kurs 01671
Datenbanken I im Modul Softwaresysteme des Bachelor Informatik
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
in jedem Kurs Kursabschlussklausur oder
Klausurersatzgespräch bestanden
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Ralf Hartmut Güting
Lehrende:
Ralf Hartmut Güting, Wolfgang Wilkes
Master of Science in Praktischer Informatik
01.12.2015
Wissensbasierte Systeme
mit dem Kurs
01696
Wissensbasierte Systeme
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeiten der Kurseinheiten 130 - 150 Stunden,
bearbeiten der Übungsaufgaben 60 - 75 Stunden,
Studientage und Prüfungsvorbereitung 60 - 75 Stunden
Wissensbasierte Systeme unterscheiden sich von herkömmlichen Softwaresystemen
dadurch, dass in ihnen bereichsspezifisches Wissen in einer mehr oder weniger
direkten Form repräsentiert ist und zur Anwendung kommt. Typische Beispiele für
wissensbasierte Systeme sind Expertensysteme, die das Fachwissen und die
Schlussfolgerungsfähigkeit von Experten nachbilden. Für wissensbasierte Systeme
werden daher komplexe Instrumente zur maschinellen Repräsentation,
Verarbeitung und Nutzung von Wissen benötigt. Für die vielfältigen
Anwendungsmöglichkeiten steht ein reichhaltiges Repertoire an Methoden der
Wissensrepräsentation und der Inferenz zur Verfügung. Der Kurs soll grundlegende
Kenntnisse der wichtigsten Formalismen und Techniken vermitteln, darüber hinaus
aber auch ein Verständnis für deren sinnvollen Einsatz in realen Systemen. So
veranschaulicht eine Vielzahl praktischer Beispiele Möglichkeiten und Grenzen
wissensbasierter Systeme.
Die Themenbereiche des Kurses sind im einzelnen: Aufbau und Arbeitsweise
wissensbasierter Systeme, logikbasierte Wissensrepräsentation und Inferenz,
regelbasierte Systeme, maschinelles Lernen, Data Mining und Wissensfindung in
Daten, fallbasiertes Schließen, Problemstellungen bei der Verwendung
nichtmonotonen Schließens und quantitativer Methoden.
Lernergebnisse / Kompetenzen:
Die Studierenden können grundlegende Kenntnisse der wichtigsten Formalismen
und Techniken der Wissensrepräsentation und Inferenz sowie Verständnis für
deren sinnvollen Einsatz in realen Systemen demonstrieren. Sie können zentrale
Verfahren wissensbasierter Syteme auf entsprechende Problemstellungen
anwenden. Dazu zählen Repräsentation von einfachen Sachverhalten mit formaler
Logik, Inferenzen in regelbasierten Systemen, Lernen von Entscheidungsbäumen
und von Konzepten, Datamining mit dem Apriori-Verfahren.
Literatur: C. Beierle, G. Kern-Isberner. Methoden wissensbasierter Systeme - Grundlagen,
Algorithmen, Anwendungen. Vieweg+Teubner Verlag, 4., verbesserte Auflage,
2008.
S. Russell, P. Norvig, Künstliche Intelligenz: ein moderner Ansatz, Pearson Studium,
2004
Inhaltliche Voraussetzungen:
Die Module des Pflichtbereichs eines Bachelor-Studiengangs sollten im
wesentlichen abgeschlossen sein.
Anmerkung:
Master of Science in Praktischer Informatik
01.12.2015
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandenes Klausurersatzgespräch
Voraussetzung Anmeldung LN: wird im Kursanschreiben angegeben
Modulverantwortliche/r: Christoph Beierle
Lehrende:
Christoph Beierle
Master of Science in Praktischer Informatik
01.12.2015
Betriebliche Informationssysteme
mit dem Kurs
01770
Betriebliche Informationssysteme
Durchführung: in jedem Semester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeiten der Kurseinheiten 140 Stunden,
bearbeiten der Übungsaufgaben 70 Stunden,
Wiederholung des Stoffs, Studientage und Prüfungsvorbereitung 90 Stunden.
Dieser Kurs stellt Grundlagen, Konzepte und Techniken des Gebiets "Betriebliche
Informationssysteme" bereit und behandelt die Themen Integrierte
Informationsverarbeitung, Architekturen betrieblicher Informationssysteme,
Konstruktion betrieblicher Informationssysteme, Anwendungssysteme, Funktionen
und Prozesse im Produktions- und Vertriebssektor. Außerdem werden an
ausgewählten Beispielen für betriebliche Informationssysteme die genannten
Themen exemplarisch vertieft.
Betriebliche Anwendungssoftware hat sich in den letzten Jahren von
monolithischen Systemen hin zu komponentenbasierten, dienstorientierten
Softwaresystemen entwickelt. Moderne unternehmensweite Software besteht aus
Komponenten zur Lösung betrieblicher Problemstellungen und aus Komponenten,
die unabhängig von den betrieblichen Aufgaben sind und zum Beispiel
Vermittlungsfunktionalität, Datenhaltung, Ablauflogik sowie das Betriebssystem zur
Verfügung stellen. Es wird gezeigt, wie moderne Technologien wie Middleware,
XML und Webservices für die Implementierung von betrieblichen
Informationssystemen verwendet werden.
Lernergebnisse / Kompetenzen:
Die Studierenden kennen ein Gesamtkonzept der integrierten betrieblichen
Informationsverarbeitung. Die Studierenden werden mit dem Architekturbegriff für
betriebliche Informationssysteme vertraut gemacht und kennen ausgewählte
Architekturkonzepte. Die Studierenden werden mit der Konstruktion betrieblicher
Informationssysteme vertraut gemacht. Die Studierenden werden in die Lage
versetzt, eigenständig Auswahlentscheidungen für betriebswirtschaftliche
Standardsoftware treffen zu können. Die Studierenden werden mit grundlegenden
Funktionen und Prozessen im Produktionssektor und im Vertrieb eines
Industriebetriebs vertraut gemacht. Weiterhin werden den Studierenden Kenntnisse
über die Architektur und die Funktionsweise ausgewählter Informationssysteme für
den Produktions- und Vertriebssektor vermittelt.
Literatur: Mertens, P.: Integrierte Informationsverarbeitung 1, Operative Systeme in der
Industrie, 15. Auflage, Gabler, Wiesbaden 2005.
Mertens, P., Griese, J.: Integrierte Informationsverarbeitung 2, Planungs- und
Kontrollsysteme in der Industrie, 9. Auflage, Gabler, Wiesbaden, 2002.
Inhaltliche Voraussetzungen:
Einführung in die objektorientierte Programmierung und Datenbanken I
Grundkenntnisse in BWL, insbesondere über die Funktionsweise eines
Master of Science in Praktischer Informatik
01.12.2015
Unternehmens, sind für das Verständnis des Stoffes nützlich.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN: mind. 50 Prozent der möglichen Punkte bei den
Einsendeaufgaben der Kurseinheiten 2 und 3
Modulverantwortliche/r: Lars Mönch
Lehrende:
Lars Mönch
Master of Science in Praktischer Informatik
01.12.2015
Katalog B, Bereich B4 Software Engineering
und Programmiersprachen
Software Engineering I
mit dem Kurs
01793
Software Engineering I
Durchführung: in jedem Semester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeiten der Kurseinheiten (7mal 20 Stunden): 140 Stunden
Einüben des Stoffes, insbesondere durch Einsendeaufgaben (7 mal 15 Stunden):
105 Stunden
Wiederholung und Prüfungsvorbereitung (Studientag und Selbststudium): 55
Stunden
Gegenstand des Moduls ist die methodische Entwicklung objektorientierter
Softwaresysteme. Der Kurs beginnt mit einem knappen Überblick über das Gebiet
Software Engineering und konzentriert sich danach auf "Informatikaspekte" der
objektorientierten Softwareentwicklung. Aus Software Engineering-Sicht besteht
ein wichtiger Vorteil der Objektorientierung darin, dass ihre Konzepte eine große
Durchgängigkeit durch die Entwicklungsabschnitte besitzen. Dies spiegelt sich auch
in der Unified Modeling Language (UML) wider, die sich als de-facto-Standard
etabliert hat und deren Konstrukte in der Anforderungsermittlung und Realisierung
gleichermaßen verwendet werden. Nach dem Überblick werden daher zunächst die
für den Kurs relevanten UML-Elemente vorgestellt.
Anschließend werden typische Arbeitsschritte der Anforderungsermittlung, der
Erstellung der Softwarespezifikation und des Entwurfs besprochen, wobei die UML
als Modellierungssprache benutzt wird. Der Kurs ist inspiriert von den Ideen der
modellgetriebenen Softwareentwicklung, die die Entwicklung von
Softwaresystemen als Folge systematischer Transformationen von Modellen begreift.
Lernergebnisse / Kompetenzen:
Die Studierenden sind mit den vielschichtigen Problemen der Entwicklung großer
(objektorientierter) Softwaresysteme vertraut. Sie kennen die systematische
Ermittlung und UML-basierte Modellierung von Anforderungen sowie die
schrittweise Verfeinerung bzw. Transformation der Modelle in ein unmittelbar
ausprogrammierbares Entwurfsklassenmodell. Sie können die Lerninhalte auf der
Ebene von Übungsaufgaben anwenden und mit UML-Editoren umgehen.
Literatur: M. Winter: Methodische objektorientierte Softwareentwicklung, dpunkt.verlag 2005
Inhaltliche Voraussetzungen:
Vertiefte Kenntnisse in der objektorientierten Programmiersprache Java
Anmerkung:
keine
Master of Science in Praktischer Informatik
01.12.2015
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Jörg Desel
Lehrende:
Jörg Desel
Master of Science in Praktischer Informatik
01.12.2015
Übersetzerbau
mit dem Kurs
01810
Übersetzerbau
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeiten der Kurseinheiten: 150 Stunden
Bearbeitung der Einsendeaufgaben: 75 Stunden
Wiederholung und Prüfungsvorbereitung, Prüfung: 75 Stunden
Der Kurs behandelt Techniken und Werkzeuge zur Übersetzung einer (formalen)
Quellsprache in eine Zielsprache. Zumindest die Quellsprache ist durch eine
geeignete Grammatik definiert. Der klassische Anwendungsfall ist die Übersetzung
von einer höheren Programmiersprache in Maschinen- oder Assemblersprache.
Übersetzungstechniken haben aber viel weitergehende Anwendbarkeit: Andere
Quellsprachen können z.B. Dokumentbeschreibungssprachen sein (LaTeX, HTML),
Anfragesprachen in Datenbanksystemen, VLSI-Entwurfssprachen usw. oder auch
komplex strukturierte Eingabedateien für Anwendungsprogramme. Es gibt
mächtige Werkzeuge (Scanner- und Parsergeneratoren auf der Basis attributierter
Grammatiken), deren Kenntnis für jeden Informatiker nützlich ist, auch wenn nur
wenige klassische Übersetzer (Compiler) implementieren.
Inhalte: Lexikalische Analyse (Scanner), Syntaxanalyse (Parser), Syntaxgesteuerte
Übersetzung, Übersetzung einer Dokument-Beschreibungssprache, Übersetzung
imperativer Programmiersprachen, Übersetzung funktionaler Programmiersprachen,
Codeerzeugung und Optimierung.
In den Übungen wird u.a. ein größeres durchgängiges Projekt zum Compilerbau
bearbeitet.
Lernergebnisse / Kompetenzen:
Nach erfolgreicher Teilnahme besitzen Studierende einen guten Überblick über die
Techniken des Übersetzerbaus. Sie können erklären, mit welchen Schritten höhere
Programmiersprachen in Maschinensprache überführt werden. Sie sind in der Lage,
eigene kleine Programmiersprachen für spezielle Anwendungen, komplexe
Dateiformate oder Protokolle für die Client-Server-Kommunikation zu definieren
und dafür mit Hilfe von Werkzeugen wie Lex/Yacc (Flex/Bison) entsprechende
lexikalische Analysatoren und Parser zu konstruieren. Sie können Definitionen für
wesentliche Begriffe der zugrundeliegenden Theorie angeben, etwa für kontextfreie
Grammatiken, reguläre Sprachen/Ausdrücke, endliche Automaten, attributierte
Grammatiken. Sie können die Konstruktion und Arbeitsweise von Top-Down- oder
Bottom-Up-Parsern im Detail erklären.
Literatur: A.V. Aho, M.S. Lam, R. Sethi, J.D. Ullman: Compilers: Principles, Techniques, and
Tools. 2. Aufl. Addison-Wesley, 2006.
R. Wilhelm, D. Maurer, Übersetzerbau: Theorie, Konstruktion, Generierung. 2.
Aufl., Springer-Verlag, 2007.
R.H. Güting, M. Erwig: Übersetzerbau: Techniken, Werkzeuge, Anwendungen.
Master of Science in Praktischer Informatik
01.12.2015
Springer-Verlag, 1999.
Inhaltliche Voraussetzungen:
Grundbegriffe der Theorie der formalen Sprachen sind nützlich, werden aber auch
in diesem Kurs vermittelt.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Ralf Hartmut Güting
Lehrende:
Ralf Hartmut Güting
Master of Science in Praktischer Informatik
01.12.2015
Katalog B, Bereich B7 Computer und Mensch
Einführung in Mensch-Computer-Interaktion
mit dem Kurs
01697
Einführung in Mensch-Computer-Interaktion
Durchführung: in jedem Semester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
- Bearbeiten der Kurseinheiten 150 Stunden
- Bearbeiten der Selbsttest- und Einsendeaufgaben 75 Stunden
- Prüfungsvorbereitung 75 Stunden
Inhalt:
Der Kurs führt in die grundlegenden Konzepte und Techniken des Gebiets MenschComputer-Interaktion (MCI) ein. Er beginnt mit einer Übersicht über die bisherige
Entwicklung dieses Teilgebiets der Informatik sowie einer Klärung und Definition
seiner Grundbegriffe. Im Anschluss werden die möglichen technischen
Schnittstellen einer Interaktion zwischen Mensch und Computer (haptische,
auditive und visuelle) beschrieben und hinsichtlich ihrer charakteristischen
Eigenschaften untersucht. Dieser Betrachtung der technischen Seite der MCI folgt
eine Einführung in die neurobiologischen Grundlagen der menschlichen
Wahrnehmung am Beispiel der visuellen Informationsverarbeitung. Ausgewählte
wahrnehmungspsychologische Phänomene werden beschrieben, aus denen sich
schließlich grundlegende Prinzipien für die Gestaltung von Interaktion herleiten
lassen. Die letzten drei Kurseinheiten wenden sich dem Entwicklungsprozess
interaktiver Systeme zu. Dieser beginnt mit der empirischen Datenerhebung zur
Anforderungsanalyse, der Verfeinerung der Anforderungen etwa über Prototypen
und der textuellen sowie grafischen Formulierung der Konzepte. Anschließend folgt
die Implementierung auf Basis von Programmparadigmen, die unter Verwendung
grafischer SDKs, wie etwa QT, konkretisiert werden. Die abschließende Kurseinheit
befasst sich mit der Evaluation von Funktionalität und Bedienbarkeit von
Benutzungsschnittstellen mithilfe statistischer Methoden.
Lernergebnisse / Kompetenzen:
Durch die Teilnahme an diesem Kurs erhalten die Studierenden einen Überblick
über Entwicklungen, Begriffe und Zusammenhänge im Kontext der MenschComputer-Interaktion. Darüber hinaus sind sie mit den Grundlagen der
menschlichen Wahrnehmung vertraut. Die Studierenden können die wesentlichen
Entwicklungen und Zusammenhänge im Umfeld der Mensch-Computer-Interaktion
darstellen und in Bezug zueinander setzen. Sie besitzen das Wissen, wie man die
Eigenschaften der menschlichen Wahrnehmung gezielt bei der Gestaltung
interaktiver Systeme berücksichtigen kann und sie kennen verschiedene Methoden
und Verfahren, die es erlauben, die Entwicklung und Evaluation interaktiver
Systeme durchzuführen und in den regulären Softwareentwicklungsprozess zu
integrieren.
Literatur: Alan Dix, Janet Finlay, Gregory D. Abowd, Russell Beale, "Human-Computer
Interaction", 3rd Edition, Pearson Education Limited, 2004.
Helen Sharp, Yvonne Rogers, Jenny Preece, "Interaction design - beyond human
Master of Science in Praktischer Informatik
01.12.2015
computer interaction", 2nd Edition, Wiley, 2007.
E. Bruce Goldstein, "Wahrnehmungspsychologie - Der Grundkurs", Deutsche
Ausgabe herausgegeben von Hans Irtel, 7. Auflage, Spektrum Akademischer
Verlag, 2008.
William Lidwell, Kritina Holden, Jill Butler, "Universal Principles of Design",
Rockport Publishers, 2nd Edition, 2010.
Karl Bosch, "Basiswissen Statistik: Einführung in die Grundlagen der Statistik mit
zahlreichen Beispielen und Übungsaufgaben mit Lösungen", Oldenbourg, 2007.
Inhaltliche Voraussetzungen:
Mathematik-Kenntnisse, die durch die Erlangung der allgemeinen Hochschulreife
erworben wurden
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN: Für die Klausurzulassung ist eine erfolgreiche Bearbeitung
der Einsendeaufgaben Voraussetzung. Die genauen
Bedingungen werden im Kursbegleitschreiben
veröffentlicht.
Modulverantwortliche/r: Gabriele Peters
Lehrende:
Gabriele Peters
Master of Science in Praktischer Informatik
01.12.2015
Interaktive Systeme
mit den beiden Kursen
01698
Interaktive Systeme I: Konzepte und Methoden des Computersehens
Durchführung: in jedem Semester, verteilt über das gesamte Semester
01699
SWS: 2+1
Interaktive Systeme II: Konzepte und Methoden bildbasierter 3DRekonstruktion
Durchführung: in jedem Semester, verteilt über das gesamte Semester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
ein oder zwei Semester
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
- Bearbeiten der Kurseinheiten 150 Stunden
- Bearbeiten der Selbsttest- und Einsendeaufgaben 75 Stunden
- Prüfungsvorbereitung 75 Stunden
Inhalt:
Der Kurs 01698 führt zunächst in Konzepte und Methoden der allgemeinen
Signalverarbeitung und -interpretation ein. Darauf aufbauend werden wesentliche
Konzepte und Methoden des Computersehens und weiterführender
Signalverarbeitungskonzepte vermittelt. Es werden u.a. die Eigenschaften linearer
Systeme, die Fouriertransformation, Methoden des Computersehens, sowie
Clusteringverfahren und modellbasierte Methoden der Signalinterpretation im
Detail behandelt. Der Kurs 01699 behandelt Konzepte und Methoden, mit deren
Hilfe sich eine dreidimensionale, visuelle Darstellung eines realen Objektes aus einer
Reihe von zweidimensionalen Bildern errechnen lässt. Hierzu erfolgt zunächst eine
Einführung in die mathematischen Grundlagen wie etwa die projektive Geometrie.
Anschließend werden Methoden vorgestellt, die es ermöglichen eine 3DPunktwolke aus einer Reihe von 2D-Bildern zu errechnen und anschließend zu
triangulieren.
Lernergebnisse / Kompetenzen:
In beiden Kursen erlangen die Studierenden sowohl ein theoretisches Verständnis
der mathematischen Grundlagen als auch ein anwendungsorientiertes Verständnis
über die vorgestellten Konzepte und Methoden. Die Studierenden besitzen ein
solides Wissen über digitale Signalverarbeitungsmethoden, z.B. die
Fouriertransformation und die derzeit wichtigsten Verfahren der Bildverarbeitung.
Darüber hinaus kennen die Studierenden weiterführende
Datenverarbeitungsmethoden wie z.B. Clusteringverfahren oder die Verwendung
probabilistischer Modelle. Desweiteren besitzen die Studierenden Kenntnisse über
Methoden der dreidimensionalen Bildrekonstruktion sowie Verfahren der linearen
und nicht-linearen Optimierung.
Literatur: Steven Smith, "Digital Signal Processing: A Practical Guide for Engineers and
Scientists", Book and CD ROM, Newnes, 2002. ISBN 075067444X
Richard Szeliski, "Computer Vision: Algorithms and Applications (Texts in Computer
Science)", 1st Edition, Springer, 2010. ISBN 1848829345
Richard Hartley, Andrew Zisserman, "Multiple View Geometry in Computer
Vision",2nd Edition, Cambridge University Press, 2003. ISBN 0521540518
Inhaltliche Voraussetzungen:
Mathematik-Kenntnisse, die den im Kurs "01141 - Mathematische Grundlagen"
vermittelten Kenntnissen entsprechen
Master of Science in Praktischer Informatik
01.12.2015
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN: Für die Klausurzulassung ist eine erfolgreiche Bearbeitung
der Einsendeaufgaben Voraussetzung. Die genauen
Bedingungen werden im Kursbegleitschreiben
veröffentlicht.
Modulverantwortliche/r: Gabriele Peters
Lehrende:
Gabriele Peters
Master of Science in Praktischer Informatik
01.12.2015
Katalog M, Bereich M1 Grundlagen der
Informatik
Mathematische Grundlagen der Kryptografie
mit dem Kurs
01321
Mathematische Grundlagen der Kryptografie
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 25 Stunden): 175 Stunden
Einüben des Stoffes (z.B. u.a. durch Einsendeaufgaben): 75 Stunden
Wiederholung und Prüfungsvorbereitung (z.B. u.a. Studientag): 50 Stunden
Inhalt:
Die Kryptografie ist die Lehre von den Geheimschriften. Während diese bis vor
wenigen Jahre eine Domäne des Militärs und der Diplomatie war, hält sie nun im
Zuge der elektronischen Datenverarbeitung und Kommunikation mehr und mehr
Einzug ins tägliche Leben. Neben der Aufgabe, Inhalte von Nachrichten vor der
Nutzung von Unbefugten zu schützen, sind noch andere Aufgaben
hinzugekommen, wie etwa sicherzustellen, dass eine Nachricht im Zuge der
Übermittlung nicht geändert wurde, oder dass sie wirklich von dem angegebenen
Absender stammt. In dem Kurs werden zunächst klassische symmetrische Verfahren
der Kryptografie vorgestellt. Im Zentrum stehen jedoch public key Verfahren, die
hauptsächlich auf algebraischen und zahlentheoretischen Grundlagen basieren. Zu
nennen sind elementare Gruppen- und Ringtheorie, Theorie endlicher Körper,
Theorie ganzzahliger Gitter sowie modulare Arithmetik, Theorie elliptischer Kurven
und Primzahltests. Diese Grundlagen werden bereitgestellt, und es wird gezeigt,
wie sie in moderne Kryptosysteme einfließen und in der Kryptoanalyse eingesetzt
werden.
Lernergebnisse / Kompetenzen:
Die Studierenden lernen klassische und aktuelle Verfahren der Kryptografie kennen
und verstehen die mathematischen Hintergründe dieser Verfahren. Sie kennen die
für den Bereich IT-Sicherheit wichtigsten Inhalte der Algebra und Elementaren
Zahlentheorie und wissen, wie diese mathematischen Grundlagen in das Design
von Kryptosystemen und in die Kryptoanalyse einfließen.
Literatur: Johannes Buchmann: Einführung in die Kryptographie, Springer 1999.
Neal Koblitz: A Course in Number Theory and Cryptography, Springer 2001
Christina Romero: Number Theory with Computer Applications, Prentice Hall 1998.
Rainer Schulze-Pillot: Elementare Algebra und Zahlentheorie, Springer 2007.
Annette Werner: Elliptische Kurven in der Kryptographie, Springer 2002.
Inhaltliche Voraussetzungen:
Gute Kenntnisse der Linearen Algebra, Grundkenntnisse der Analysis
Anmerkung:
keine
Master of Science in Praktischer Informatik
01.12.2015
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Luise Unger
Lehrende:
Luise Unger
Master of Science in Praktischer Informatik
01.12.2015
Grundlegende Algorithmen der Bio-Informatik
mit dem Kurs
01738
Grundlegende Algorithmen der Bio-Informatik
Durchführung: in jedem Wintersemester
SWS: 4+2
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
Detaillierter studentischer Arbeitsaufwand:
Kurstexte 150 Stunden
Einsendearbeiten 75 Stunden
Studientag u. Prüfungsvorbereitung 75 Stunden
Inhalt:
Dieses Modul bietet eine Einführung in die wichtigsten Modelle und Algorithmen
der Bioinformatik. Schwerpunkte setzen Methoden des Sequenzvergleichs
(dynamisches Programmieren) und Verfahren zur Charakterisierung von
Proteinfamilien (Hidden-Markov-Modelle). Daneben werden Algorithmen zur
Vorhersage der Proteinsekundär- und RNA-Sekundärstruktur vorgestellt und es wird
das Berechnen von Stammbäumen erläutert. Eingegangen wird auch auf die
Analyse von Datensätzen aus Genomics-,Transkriptomics- und ProteomicsExperimenten sowie auf die wichtigsten bioinformatischen Datenbanken. Der Kurs
ist in sich geschlossen; er vermittelt die für das Verständnis erforderlichen
statistischen und biologischen Grundlagen und bietet eine Einführung in neuronale
Netze und Support-Vektor Maschinen.
Basistext ist das Buch R. Merkl: Bioinformatik, 3. Auflage. 2015, WILEY-VCH
Lernergebnisse / Kompetenzen:
Nach der Bearbeitung des Kurses können Studierende die wichtigsten Konzepte
sequenzbasierter Bioinformatik beschreiben, die vorgestellten Werkzeuge
anwenden und deren Vor- und Nachteile beurteilen, hierbei erzielte Ergebnisse auf
ihre statistische Bedeutung hin bewerten, ableiten, ob bioinformatische Ansätze auf
andere Probleme anwendbar sind, wichtige Verfahren maschinellen Lernens
beschreiben, Ansätze zur Bewertung von Lernverfahren selbst entwickeln.
Literatur: Basistext ist das Buch R. Merkl: Bioinformatik, 3. Auflage. WILEY-VCH, 2015
Inhaltliche Voraussetzungen:
Grundkenntnisse Mathematik und Datenstrukturen z.B. aus den Kursen
Datenstrukturen I, Mathematische Grundlagen, Algorithmische Mathematik
Anmerkung:
Der Basistext muss vor Semesterbeginn beschafft werden.
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN:
Master of Science in Praktischer Informatik
01.12.2015
Modulverantwortliche/r: Jörg Keller
Lehrende:
Rainer Merkl
Master of Science in Praktischer Informatik
01.12.2015
Komplexitätstheorie
mit dem Kurs
01686
Komplexitätstheorie
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semster
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeiten von Basistext und Leittext 200 Stunden
Bearbeiten von Übungs- und Einsendeaufgaben 50 Stunden
Studientag u. Prüfungsvorbereitung 50 Stunden
In der Komplexitätstheorie beschäftigt man sich damit, welche Probleme mit
eingeschränkten Ressourcen (z.B. Zeit oder Speicherplatz) berechnet werden
können. Man fasst Probleme dabei zu Komplexitätsklassen zusammen und
untersucht deren Beziehung untereinander.
Im Kurs werden die Grundlagen der Komplexitätstheorie aus einer algorithmischen
Perspektive vermittelt. Als Basistext wird das Buch von Ingo Wegener
"Komplexitätstheorie: Grenzen der Effizienz von Algorithmen" verwendet. Der
Leittext wird ergänzt mit Übungsaufgaben und Anmerkungen.
U.a. werden folgende Themen werden:
- grundlegende Komplexitätsklassen
- NP-Vollständigkeit
- Interaktive Beweissysteme
- probabilistische Komplexitätsklassen
- Approximation
Lernergebnisse / Kompetenzen:
Die Studierenden können sicher mit den wichtigsten Komplexitätsklassen
umgehen, sie kennen zudem die zu Grunde liegenden Berechnungsmodelle.
Die Studierenden haben ein Verständnis für die Grenzen der effizienten
Berechenbarkeit erworben, und sind in der Lage, Probleme hinsichtlich ihrer
algorithmischen Komplexität einzuschätzen und in Komplexitätsklassen richtig
einzuordnen.
Literatur: Basistext ist das Buch Ingo Wegener: Komplexitätstheorie: Grenzen der Effizienz
von Algorithmen, Springer, 2003
Inhaltliche Voraussetzungen:
Grundlagen der theoretischen Informatik, wie sie z.B. im Modul "Grundlagen der
Theoretischen Informatik" des Bachelorstudiengangs Informatik vermittelt werden.
Anmerkung:
Der Basistext muss vor Semesterbeginn beschafft werden. Nicht zusammen mit
dem nicht mehr angebotenen Modul "Grundzüge der Komplexitätstheorie"
nutzbar.
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Master of Science in Praktischer Informatik
01.12.2015
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: André Schulz
Lehrende:
André Schulz
Master of Science in Praktischer Informatik
01.12.2015
Algorithmische Geometrie
mit dem Kurs
01840
Algorithmische Geometrie
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeiten der Kurseinheiten: 120 Stunden
Bearbeiten von Übungs- und Einsendeaufgaben: 100 Stunden
Wiederholung und Prüfungsvorbereitung (Selbststudium, freiwilliger Studientag):
80 Stunden
Die Algorithmische Geometrie beschäftigt sich mit effizienten Lösungsverfahren für
geometrische Probleme. Ihre Anwendungen liegen unter anderem in den Bereichen
Logistik, Robotik, Bilderzeugung und Geoinformationssysteme. In diesem Kurs
werden die Grundlagen hierfür bereitgestellt und zum Beispiel folgende Fragen
beantwortet: Wie bestimmt man schnell den minimalen Abstand zwischen Punkten
in der Ebene? Wie berechnet man effizient Schnitte von geometrischen Objekten?
Wie bestimmt man den sichbaren Bereich in einem Raum bzw. wo platziert man
dort Überwachungssysteme? Wie trianguliert man eine ebene Punktmenge? Wie
verwaltet man mehrdimensionale Punktmengen effizient? Was sind die
Einzugsbereiche von Versorgungsstationen oder Läden in einem einfachen
ökonomischen Modell? Wie bewegt man sich in unbekannter Umgebung, um
systematisch ein Ziel zu finden? Wie findet man Approximationslösungen für
schwierige geometrische Optimierungsprobleme?
Zusätzlich zum Kurstext (350 Seiten mit 250 Abbildungen) gibt es eine Sammlung
von Webseiten und Java-Applets, die dynamisches Anschauungsmaterial zum Kurs
bereitstellen.
Lernergebnisse / Kompetenzen:
Durch diesen Kurs lernen die Studierenden einerseits die Anwendung von
Algorithmen und Datenstrukturen für die Lösung von meist anschaulichen, gut
motivierten und anspruchsvollen Problemen sowie andererseits auch die
konsequente, mathematisch exakte Analyse von solchen Verfahren und Strukturen.
Literatur: Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars: Computational
Geometry: Algorithms and Applications. Springer-Verlag, third edition, 2008.
Joseph O'Rourke: Computational Geometry in C. Cambridge University Press,
second edition, 1998.
Franco P. Preparata, Michael Ian Shamos: Computational Geometry. SpringerVerlag, corrected fifth printing, 1993.
Herbert Edelsbrunner: Algorithms in Combinatorial Geometry. EATCS Monographs
on Theoretical Computer Science, Vol. 10 Springer-Verlag, 1987.
Inhaltliche Voraussetzungen:
Kenntnisse in Datenstrukturen und Grundkenntnisse der Mathematik (z.B. aus den
Kursen 01661, 01141 und 01142 des Bachelor Informatik)
Anmerkung:
keine
Master of Science in Praktischer Informatik
01.12.2015
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Christian Icking
Lehrende:
Christian Icking
Master of Science in Praktischer Informatik
01.12.2015
Computergrafik II
mit dem Kurs
01279
Computergrafik II
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden
Einüben des Stoffes, insbesondere durch Einsendeaufgaben (7 mal 15 Stunden):
105 Stunden
Wiederholung und Prüfungsvorbereitung (Selbststudium): 55 Stunden
Inhalt:
Dieser Kurs konzentriert sich auf Gebiete der Computergrafik, die im Kurs 01277
nicht oder nicht ausführlich diskutiert werden. Er behandelt:
Festkörpermodellierung (Boundary Representation, Constructive Solid Geometry,
Zellmodelle, Hybridmodelle); lokale Beleuchtungsmodelle, die die
Oberflächenbeschaffenheit von Körpern und die Einflüsse von Lichtquellen auf die
wirklichkeitsnahe Darstellung von Objekten beschreiben; globale
Beleuchtungsverfahren zur fotorealistischen Wiedergabe ganzer Szenen sich
wechselseitig beeinflussender Objekte, das Verfahren der Strahlverfolgung
(Raytracing) und das Radiosity-Verfahren werden eingehend behandelt; kurze
Einführung in die von Mandelbrot begründete Fraktale Geometrie, wobei neben
den theoretischen Grundlagen zu diskreten dynamischen Systemen, stochastischen
Fraktalen, iterierten Funktionensystemen und Lindenmayersystemen eine Reihe
einfacher Algorithmen besprochen wird; systemtheoretische Grundlagen der
Bildverarbeitung; Halbtonverfahren, Grundlagen der Fourier- und verwandter
Transformationen sowie Verfahren der Bildverbesserung; Grundlagen der
Mustererkennung, Filter zum Erkennen von Kanten, Bildskeletten und zur
Bildsegmentierung; Verwendung von Texturen. Der Kurs liegt elektronisch mit einer
Vielzahl eingebundener interaktiver Applets vor.
Lernergebnisse / Kompetenzen:
Nach erfolgreicher Teilnahme des Moduls sind die Studierenden in der Lage,
fortgeschrittene Konzepte auf den Gebieten Festkörpermodellierung, lokale und
globale Beleuchtungsmodelle, fraktale Geometrie und Verfahren der digitalen
Bildverarbeitung zu benennen und zu beschreiben. Sie können den Themenkreis
der Fraktale Geometrie darstellen und erklären, wie man natürliche Objekte wie
Wolken, Küstenlinien, Pflanzen etc. modellieren und auf dem Bildschirm darstellen
kann. Sie können die grundlegenden mathematischen Verfahren der
Bildverarbeitung erläutern und anwenden, insbesondere Halbtonverfahren,
Fouriertransformation, Abtastung und Rekonstruktion von Signalen, Faltung und
Bildfilterung sowie Kantendetektion. Nach erfolgreicher Teilnahme können die
Teilnehmer die Konzepte zur Erzeugung von 2D- und 3D-Texturen beurteilen und
analysieren.
Literatur: Encarnação, Straßer, Klein: Graphische Datenverarbeitung I+II, Oldenbourg, ISBN 3486-23223-1.
Foley, vanDam, Feiner, Hughes: Computer Graphics - Principles and Practice Addison Wesley, ISBN 0- 201-84840-6.
Master of Science in Praktischer Informatik
01.12.2015
Inhaltliche Voraussetzungen:
Sinnvoll, aber nicht zwingend erforderlich ist eine Bearbeitung von Kurs 01277
Einführung in Computergrafik.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Michael Felten
Lehrende:
Michael Felten
Master of Science in Praktischer Informatik
01.12.2015
Effiziente Graphenalgorithmen
mit dem Kurs
01216
Kombinatorische Optimierung - Effiziente Graphenalgorithmen
Durchführung: in jedem Wintersemester
SWS: 4+2
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden
Einüben des Stoffes (insbesondere durch Einsendeaufgaben; 7 mal 15 Stunden):
105 Stunden
Wiederholung und Prüfungsvorbereitung (Studientag und Selbststudium): 55
Stunden
Inhalt:
Graphen und algorithmische Graphenprobleme
Durchsuchen von Graphen
Minimale aufspannende Bäume und Matroide
kürzeste Wege
maximale Flüsse
Matchings
Lineare Optimierungsdualität
kostenminimale Flüsse und gewichtete Matchings
Lernergebnisse / Kompetenzen:
Die Studierenden kennen die Grundlagen der Graphentheorie und wesentliche
Datenstrukturen zur Implementierung von Graphenalgorithen. Sie können die
Laufzeit von Algorithmen abschätzen und sind sich der Problematik P vs. NP
bewusst. Sie beherrschen wesentliche Algorithmen zur Baumsuche, minimalen
aufspannenden Bäumen, kürzesten Wegen, maximalen Flüssen und Matchings
inklusive Laufzeitanalyse und Korrektheitsbeweisen.
Literatur: Basistext ist das Buch: Hochstättler/Schliep: CATBox - An Interactive Course in
Combinatorial Optimization, Springer 2010
Schrijver: Combinatorial Optimization - Polyhedra and Efficiency, Springer 2003
Cook, Cunningham, Pulleyblank, Schrijver: Combinatorial Optimization, Barnes &
Noble, Wiley, 1997
Korte,Vygen: Kombinatorische Optimierung, Springer, 2012
Inhaltliche Voraussetzungen:
Mathematische Grundlagen; Algorithmische Mathematik
Anmerkung:
Der Basistext muss vor Semesterbeginn beschafft werden.
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
Master of Science in Praktischer Informatik
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
01.12.2015
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Winfried Hochstättler
Lehrende:
Winfried Hochstättler, Dominique Andres
Master of Science in Praktischer Informatik
01.12.2015
Lineare Optimierung
mit dem Kurs
01212
Lineare Optimierung
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semster
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 18 Stunden): 126 Stunden
Einüben des Stoffes (insbesondere durch Einsendeaufgaben (7 mal 15 Stunden):
105 Stunden
Wiederholung und Prüfungsvorbereitung (Studientag und Selbststudium): 69
Stunden
Inhalt:
Zunächst stellen wir die Aufgabenstellung vor, modellieren verschiedene Probleme
als Lineares Programm und lösen diese mit Standardsoftware. Dann stellen wir die
Dualitätstheorie mitsamt der zugehörigen Linearen Algebra vor. Im Folgenden
analysieren wir die Seitenflächenstruktur von Polyedern und diskutieren das
Simplexverfahren, seine Varianten und zugehörige Komplexitätsuntersuchungen.
Weiter diskutieren wir die Ellipsoidmethode und ihre Bedeutung für die
kombinatorische Optimierung sowie das Karmarkar-Verfahen und Innere-PunktMethoden.
Lernergebnisse / Kompetenzen:
Die Studierenden können lineare Optimierungsaufgaben modellieren, in
Normalformen bringen und dualisieren. Sie kennen Polyedertheorie als Geometrie
der linearen Optimierung. Sie kennen die Algebra und die Geometrie des
Simplexverfahrens und zugehörige komplexitätstheoretische Überlegungen zur
Linearen Optimierung. Sie kennen Bedeutung und Vorgehensweise der
Ellipsoidmethode und von Innere-Punkt-Verfahren.
Literatur: B. Gärtner, J. Matousek: Understanding and Using Linear Programming, SpringerVerlag, 2006
Günter M. Ziegler: Polyhedral Theory
Alexander Schrijver: Theory of Linear and Integer Programming, WILEY, 1998
C. Roos, T. Terlaky, J.-P. Vial: Interior Point Methods for Linear Optimization,
Springer-Verlag, 2005
Inhaltliche Voraussetzungen:
Der Kurs setzt die „Mathematische Grundlagen“ und insbesondere sehr gute
Kenntnisse der „Linearen Algebra“ voraus.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Master of Science in Praktischer Informatik
01.12.2015
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN: finden Sie im Kursanschreiben
Modulverantwortliche/r: Winfried Hochstättler
Lehrende:
Winfried Hochstättler
Master of Science in Praktischer Informatik
01.12.2015
Logik für Informatiker
mit dem Kurs
01825
Logik für Informatiker
Durchführung: letztmals SS 2016
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
letztmals SS 2016
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten 168 Stunden
Bearbeiten der Einsendeaufgaben 56 Stunden
Studientage, Prüfungsvorbereitung 76 Stunden
Inhalt:
Im Kurs werden Begriffe, Resultate und Methoden der mathematischen Logik
vorgestellt, die in verschiedenen Gebieten der Informatik wie z.B. "abstrakte
Semantik", "Programmverifikation", "logische Programmierung" oder "künstliche
Intelligenz" Anwendung finden. Im ersten Kapitel werden zunächst im Rahmen der
Aussagenlogik grundlegende Konzepte der mathematischen Logik behandelt. Den
größten Teil des Kurses nimmt die Prädikatenlogik erster Stufe ein. Es werden die
Syntax und die Semantik der prädikatenlogischen Sprache exakt eingeführt. Darauf
aufbauend wird eine Formalisierung des Folgerungsbegriffs vorgenommen. Hier
kommen logische Kalküle ins Spiel. Über Normalformen gewinnt man dann mit
Hilfe des Satzes von Herbrand die rekursive Aufzählbarkeit der allgemein gültigen
prädikatenlogischen Formeln. Dieses Resultat bildet das Zentrum des Kurses und
leitet über zur Theorie der logischen Programmierung. Nach einer Erörterung der
Logik mit Identität beschließt eine Diskussion der Ausdrucksstärke den Abschnitt
über die Prädikatenlogik. Den Abschluss des Kurses bildet eine Einführung in die
modale Logik und ihre Anwendungen in der Informatik. Von den zahlreichen
Ausprägungen der Modallogik wird die epistemische Logik - einschließlich des
Begriffs des Common Knowledge - etwas eingehender betrachtet.
Lernergebnisse / Kompetenzen:
Absolvierende des Moduls sind in der Lage
- Einsatzbereiche logischer Sprachen zu identifizieren
- logische Sprachen zur formalen Modellierung zu nutzen
- logische Begriffe zu definieren, einander gegenüberzustellen und hinsichtlich
praktischer Bedeutung zu interpretieren
- die algorithmische Quintessenz grundlegender Logik-Systeme herauszustellen
- Lösungsstrategien für Problemstellungen mit Logik-Bezug zu entwickeln
Literatur: Dassow, J., Logik für Informatiker, Teubner, 2005
Schöning, U., Logik für Informatiker, Spektrum, 2000
Heinemann, B., Weihrauch, K., Logik für Informatiker, Teubner, 1992
Inhaltliche Voraussetzungen:
Inhalt eines Grundkurses in theoretischer Informatik
Anmerkung:
Wird im SS 2016 letztmals angeboten, Prüfungen sind bis einschließlich SS 2017
möglich.
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Master of Science in Praktischer Informatik
01.12.2015
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Bernhard Heinemann
Lehrende:
Bernhard Heinemann
Master of Science in Praktischer Informatik
01.12.2015
Katalog M, Bereich M2 Computersysteme
Virtuelle Maschinen
mit dem Kurs
01728
Virtuelle Maschinen
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten 150 Stunden,
Bearbeiten der Einsendearbeiten 75 Stunden,
Studientage und Prüfungsvorbereitung 75 Stunden
Inhalt:
Eine virtuelle Maschine emuliert ein komplettes Computersystem durch
Softwarekomponenten, die einen einheitlichen Zugang zur Hardware eines realen
Computersystems bereitstellen. Durch die Virtualisierung wird es möglich, auf ein
und demselben Computersystem nacheinander oder auch gleichzeitig mehrere
verschiedene Betriebssysteme laufen zu lassen. Die Virtualisierung von
Computersystemen bietet eine Fülle von Vorteilen, wie z. B. die gleichzeitige
Nutzung von mehreren Betriebssystemen, den einfachen und kostengünstigen
Aufbau von Testumgebungen und die verbesserte Auslastung von MehrkernProzessoren. Im Rahmen dieses Kurses werden die Grundlagen heutiger
Virtualisierungstechniken herausgearbeitet. Der Kurs basiert auf dem Buch "Virtual
Machines" von Smith und Nair, erschienen bei Elsevier 2005. Zu diesem
englischsprachigen Basistext erhalten die Studierenden einen deutschsprachigen
Leittext.
Lernergebnisse / Kompetenzen:
Nachdem die Studierenden das Modul bearbeitet haben, können sie die
Funktionsweise virtueller Machinen erklären, die Beschränkungen der
Virtualisierung identifizieren, unterschiedliche Arten der Emulation von
Befehlssatzarchitekturen beurteilen, die verschiedenen Varianten virtueller
Maschinen klassifizieren und gegenüberstellen, selbst virtuelle Maschinen
konfigurieren, geeignete Anwendungen kategorisieren und auf einer passenden
virtuellen Maschine integrieren, Schwachstellen der Virtualisierung identifizieren,
Optimierungsmöglichkeiten entdecken, die Virtualisierung in geeigneter Form
reorganisieren und schließlich für die jeweilige Anwendung eine bestmöglich
angepasste virtuelle Plattform produzieren.
Literatur: Basistext ist das Buch: J. E. Smith and R. Nair, Virtual Machines, Elsevier, 2005
I. D. Craig, Virtual Machines, Springer-Verlag, New York, 2005
Inhaltliche Voraussetzungen:
Kenntnisse aus den Kursen Computersysteme sowie Betriebssysteme und
Rechnernetze
Anmerkung:
Der Basistext muss vor Semesterbeginn beschafft werden.
Vergabe von Leistungspunkten (Modulabschluss):
Master of Science in Praktischer Informatik
01.12.2015
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN: finden Sie im Kursanschreiben
Modulverantwortliche/r: Wolfram Schiffmann
Lehrende:
Wolfram Schiffmann
Master of Science in Praktischer Informatik
01.12.2015
Advanced Parallel Computing
mit dem Kurs
01729
Advanced Parallel Computing
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten 150 Stunden,
Bearbeiten der Einsendearbeiten 75 Stunden,
Studientage und Prüfungsvorbereitung 75 Stunden
Inhalt:
Im Kurs werden zunächst Modellierungswerkzeuge für parallele Programme
eingeführt. Darauf aufbauend werden statische und dynamische SchedulingVerfahren vorgestellt, die bei hochperformanten Parallelrechnern eine
automatisierte Zuordnung der Tasks zu den einzelnen Prozessoren ermöglichen.
Weiterhin werden Programmiertechniken für innovative parallele Architekturen
eingeführt. Hierbei wird auch ausführlich auf die Programmierung von Graphical
Processing Units (GPUs) eingegangen. In der Praxis werden parallele
Implementierungen vor allem zur Lösung komplexer Optimierungsprobleme
benötigt. Daher werden sowohl Approximationsverfahren als auch Heuristiken für
numerische und kombinatorische Problemstellungen ausführlicher behandelt und
analysiert. Schließlich wird anhand von Beispielen deren Einsatz im Umfeld von
Forschung und Industrie vorgestellt.
Lernergebnisse / Kompetenzen:
Nachdem die Studierenden das Modul bearbeitet haben, können sie
Modellierungswerkzeuge für parallele Programme erklären, SchedulingAlgorithmen für homogene und heterogene Zielsysteme im Umfeld statischer und
dynamischer Anwendungsszenarien klassifizieren, die Auslastung von
Mehrkernprozessoren analysieren und optimieren, Programmiertechniken für
hybride Zielarchitekuren anwenden, die Beschränkungen der Virtualisierung
identifizieren, unterschiedliche Arten der Emulation von Befehlssatzarchitekturen
beurteilen, die verschiedenen Varianten virtueller Maschinen klassifizieren und
gegenüberstellen, selbst virtuelle Maschinen konfigurieren, geeignete
Anwendungen kategorisieren und auf einer passenden virtuellen Maschine
integrieren, Schwachstellen der Virtualisierung identifizieren,
Optimierungsmöglichkeiten entdecken, die Virtualisierung in geeigneter Form
reorganisieren und schließlich für die jeweilige Anwendung eine bestmöglich
angepasste virtuelle Plattform produzieren.
Literatur: Enrique Alba, Parallel Metheuristics, Wiley, 2005
Christian Bishof et al., Parallel Computing, Architectures, Algorithms, and
Applications, IOS Press, 2008
Christian Blum and Andrea Roli. Metaheuristics in combinatorial optimization:
Overview and conceptual comparison. ACM Comput. Surv. , 35(3):268–308,
September 2003.T. G.
David Kirk and Wen-mei Hwu, Programming Massively Parallel Processors – A
Hands-on Approach, Morgan Kaufman, 2010
Maciej Drozdowski, Scheduling for Parallel Processing, Springer-Verlag, 2009
Master of Science in Praktischer Informatik
01.12.2015
Yu-Kwong Kwok and Ishfaq Ahmad. Static scheduling algorithms for allocating
directed task graphs to multiprocessors. ACM Comput. Surv. , 31(4):406–471,
December 1999.
Inhaltliche Voraussetzungen:
Kenntnisse der Inhalte des Kurses Parallele Programmierung und Grid Computing
Kurs 01727
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN: finden Sie im Kursanschreiben
Modulverantwortliche/r: Wolfram Schiffmann
Lehrende:
Jörg Keller, Wolfram Schiffmann
Master of Science in Praktischer Informatik
01.12.2015
PC-Technologie
mit dem Kurs
01744
PC-Technologie
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden
Einüben des Stoffes (insbesondere durch Einsendeaufgaben (7 mal 15 Stunden):
105 Stunden
Wiederholung und Prüfungsvorbereitung (Selbststudium): 55 Stunden
Inhalt:
Im Kurs werden der Aufbau und die Funktionsweise eines PCs vorgestellt. Neben
Prozessoren von AMD und Intel werden Mainboards, Chipsätze, Ein-/AusgabeBusse, Speicher- und Prozessverwaltung, Speichermedien, Audio- und
Graphikschnittstellen sowie die wichtigsten Peripheriegeräte im Detail vorgestellt.
Einen weiteren Schwerpunkt bildet die Behandlung von Netzwerkschnittstellen, da
sie in Zukunft immer mehr an Bedeutung gewinnen werden. Neben Kabel und
Lichtwellenleitern kommen dabei verstärkt Techniken zur drahtlosen
Kommunikation zum Einsatz. Damit können auch mobile Geräte wie Notebooks
und PDAs leicht in die Netzwerke integriert werden. Wegen ihrer wachsenden
Bedeutung wird ebenfalls in die Technik mobiler Computer eingeführt. Der Kurs
vermittelt neben der Hardwaretechnologie auch Einblicke in die benötigte
Systemsoftware. So wird beispielsweise in die Grundlagen von Dateisystemen und
Gerätetreibern eingeführt.
Lernergebnisse / Kompetenzen:
Die Studierenden erwerben die Fähigkeiten, das komplexe Zusammenwirken der
Komponenten in einem PC zu verstehen und aufgrund dieser Kenntnisse PCSysteme zu konfigurieren, die für die geplanten Anwendungen optimiert sind. Sie
lernen viele Begriffe und Abkürzungen kennen, die im Alltags- und Berufsleben
häufig benutzt werden, ohne dass ihre Bedeutung hinterfragt wird. Die
Beschreibung der wichtigsten Peripheriegeräte, wie Monitore und Tastatur,
Soundsysteme, Drucker und Projektoren, zeigt ihnen, wie die täglich benutzten
Geräte funktionieren und wo ihre Stärken und Schwächen liegen. Weiterhin
verstehen sie nach der Bearbeitung des Kurses die heute übliche Einbindung eines
Personal Computers in ein Netz, insbesondere das Internet, sowie die dafür
benötigten Koppeleinheiten und Protokolle. Ein eigenes Kapitel macht sie mit den
Besonderheiten der sich rasant verbreitenden mobilen Varianten eines PCs vertraut,
also z.B. den Laptops, Notebooks, Tablets und Smartphones.
Literatur: H. Messmer, K. Dembrowski: PC Hardwarebuch. Aufbau, Funktionsweise,
Programmierung, Addison-Wesley, 2003
J. Ortmann: Einführung in die PC-Grundlagen. Addison-Wesley, 2006, ISBN: 978-38273-2339-2
S. Mueller: PC-Hardware Superbibel. Markt und Technik-Verlag, 2005, ISBN: 9783827268174
Inhaltliche Voraussetzungen:
Grundkenntnisse in Mikrocomputer-Technik, insbesondere in Architektur und
Master of Science in Praktischer Informatik
01.12.2015
Programmierung von Mikroprozessoren, wie sie z.B. in Kurs 1706
"Anwendungsorientierte Mikroprozessoren" gelehrt werden.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Helmut Bähring
Lehrende:
Helmut Bähring, Wolfram Schiffmann
Master of Science in Praktischer Informatik
01.12.2015
Kommunikations- und Rechnernetze
mit dem Kurs
01690
Kommunikations- und Rechnernetze
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden
Einüben des Stoffes (insbesondere durch Einsendeaufgaben (7 mal 15 Stunden):
105 Stunden
Wiederholung und Prüfungsvorbereitung (Onlineveranstaltungen und
Selbststudium): 55 Stunden
Inhalt:
Das Modul bietet einen umfassenden Überblick über die Aufgaben,
Problemstellungen und Lösungen, die bei der Netzwerkkommunikation auftreten.
Es werden die signaltheoretischen Grundlagen vorgestellt und die wesentlichen
Protokolle und Anwendungen in heutigen Weitverkehrsnetzen detailliert
beschrieben. Weiterhin bietet das Modul eine fundierte Einführung in Modelle zur
Beschreibung und Analyse verschiedenster Netzwerkstrukturen. Dazu gehören
unter anderem Small Worlds, Zufallsnetze und skalenfreie Netze. Schließlich werden
beispielhaft einige in der Praxis auftretende Netzwerksysteme vorgestellt. Dazu
gehören Bezahlsysteme, RFID und Peer-to-Peer-Systeme.
Lernergebnisse / Kompetenzen:
Die Studierenden entwickeln Vertrautheit mit grundlegenden Fragen zu Struktur
und Eigenschaften unterschiedlicher Netzwerksysteme. Sie erwerben die Fähigkeit,
solche Systeme nach verschiedenen Gesichtspunkten zu klassifizieren und deren
Einsatzgebiete und Grenzen zu benennen. Sie erwerben weiterhin die Fähigkeit,
Signale anhand grundlegender Eigenschaften zu analysieren und zu klassifizieren.
Weiterhin werden sie in die Lage versetzt, bestehende Systeme in der Praxis auf
wesentliche Eigenschaften wie bspw. Sicherheit und Robustheit hin zu untersuchen.
Literatur: Andrew S. Tanenbaum: Computernetzwerke, 4. überarbeitete Auflage, Pearson
2003
Peter Mahlmann, Christian Schindelhauer: P2P Netzwerke: Algorithmen und
Methoden, Springer 2007
Frey, Bossert, Fliege: Signal- und Systemtheorie, 2. korrigierte Auflage, Vieweg
+Teubner 2009
Inhaltliche Voraussetzungen:
Grundkenntnisse; z.B. aus Kurs 01801 Betriebssysteme und Rechnernetze
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Master of Science in Praktischer Informatik
01.12.2015
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Herwig Unger
Lehrende:
Herwig Unger
Master of Science in Praktischer Informatik
01.12.2015
Betriebssysteme
mit dem Kurs
01802
Betriebssysteme
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden
Bearbeitung der Einsendeaufgaben inkl. Verarbeitung des Korrektur-Feedbacks (7
mal 10 Stunden): 70 Stunden
Bearbeitung der praktischen Übungen: 10 Stunden
Mitwirkung an den Diskussionen in der Kurs-Newsgroup: 20 Stunden
Wiederholung und Prüfungsvorbereitung: 60 Stunden
Inhalt:
Das Modul behandelt die Funktionsweise von modernen Betriebssystemen aus einer
benutzungsorientierten Sicht. Schwerpunktmäßig werden die Dienste vorgestellt,
die ein Betriebssystem einem Anwendungsprogramm oder einem Benutzer
anbietet. Um diese Dienste verstehen und einschätzen zu können, werden die
wichtigsten Prinzipien und Techniken ihrer Realisierung vorgestellt.
Themenschwerpunkte sind: Aufgaben und Architektur von Betriebssystemen,
Geräteverwaltung und Dateisysteme, Arbeitsspeicherverwaltung, Prozessverwaltung
und parallele Prozesse sowie Prozesskommunikation, Sicherheit und
Kommandointerpreter. Die Arbeitsweise mit einem Betriebssystem wird in
praktischen Übungen vermittelt.
Lernergebnisse / Kompetenzen:
Die Teilnehmer entwickeln ein vertieftes Verständnis über Aufgaben, Aufbau und
die Funktionsweise eines Betriebssystems. Sie können Designentscheidungen für die
Anpassung eines Betriebssystems an Anforderungsprofile begründet treffen. Durch
die Teilnahme an der Kurs-Newsgroup wird das Einüben wissenschaftlicher
Kommunikation gefördert.
Literatur: A. S. Tanenbaum. Modern Operating Systems, Third Edition. Prentice Hall, 2008.
W. Stallings. Operating Systems: Internals and Design Principles - Sixth Edition.
Pearson Education, 2009.
Inhaltliche Voraussetzungen:
Teilnehmer sollen: bereits mit der algorithmischen Denkweise vertraut sein und
wenigstens eine höhere Programmiersprache (wie Ada, Modula-2, oder Pascal)
kennen; dabei wenigstens ein Betriebssystem (z.B. MS-DOS oder eine UNIXVariante) zumindest oberflächlich kennengelernt haben; gängige Datenstrukturen
wie Listen oder Bäume (z.B. aus dem Kurs Datenstrukturen) kennen und möglichst
(aber nicht notwendigerweise) schon Programmieren in Assembler oder auf andere
Weise Kenntnisse über Architektur und Funktionsweise digitaler Rechner sowie
über den Instruktionssatz einer CPU haben.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Master of Science in Praktischer Informatik
01.12.2015
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Jörg M. Haake
Lehrende:
Jörg M. Haake
Master of Science in Praktischer Informatik
01.12.2015
Sicherheit - Safety & Security
mit den beiden Kursen
01867
Sicherheit im Internet II
Durchführung: in jedem Wintersemester, verteilt über das gesamte Semester
21811
SWS: 2+1
Fehlertoleranz in Computersystemen und Netzwerken
Durchführung: in jedem Sommersemester, in der ersten Hälfte des Semesters
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
zwei Semester
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
- Bearbeiten der Kurseinheiten: 140 Stunden
- Bearbeiten der Übungsaufgaben: 70 Stunden
- Onlineveranstaltungen und Prüfungsvorbereitung: 90 Stunden
01867 vertieft das Thema Sicherheit im Internet und baut dazu auf dem Kurs
01866 Sicherheit im Internet I auf. Er besteht aus vier Teilen. Im ersten Teil werde
typische Angriffe auf Systeme genauer vorgestellt. Hierzu gehören die Angriffe auf
Schwächen in Protokollen ebenso wie Angriffe auf die Konfiguration von Systemen.
Spezielle Überwachungs-, bzw. Angriffsprogramme werden vorgestellt. Den
Abschluss des ersten Teils bildet ein Abschnitt zu Angriffen auf
Verschlüsselungsalgorithmen. Der zweite Teil beschäftigt sich mit der
Benutzersicherheit. Ausgehend von typischen E-Commerce Transaktionen werden
verschiedene Möglichkeiten zur Bezahlung im Internet mit ihren Eigenschaften
vorgestellt. Insbesondere anonyme Bezahlverfahren, also elektronisches Bargeld
wird mit den dahinter stehenden Prinzipien diskutiert. Außerdem werden in dieser
Kurseinheit einige eher mathematische Aspekte des Thema Sicherheit betrachtet:
Advanced Hashing, Primzahltest und Zufallszahlen. Der dritte Teil beschäftigt sich
mit der Anbietersicherheit. Konkret geht es um den Aufbau eines privaten Netzes
über öffentliche Netzwerke. Dies wird durch Virtual Private Networks (VPN)
realisiert. Ihre Basistechnologien und ihr Aufbau werden vorgestellt. Außerdem
werden Intrusion Detection Systeme (IDS) zur Unterstützung bei der Erkennung von
Angriffen besprochen. Es werden wieder die zugrunde liegenden Techniken und
die Eigenschaften von IDS besprochen. Im letzten Teil des Kurses geht es um die
Erstellung von sicheren Systemen. Zunächst werden die Rahmenbedingungen (wie
beispielsweise gesetzliche Vorschriften) vorgestellt, die Einfluss auf die
Eigenschaften sicherer Systeme haben. Anschließend werden Hinweise zu Software
Engineering Prozessen gegeben. Die Beachtung dieser Hinweise vereinfacht die
Erstellung sicherer Systeme.
21811 untersucht nach einer Klärung wichtiger Begriffe sowie der Unterschiede
zwischen Fehlertoleranz und Risikominimierung die grundlegenden Arten von
Fehlern und Prinzipien der Fehlertoleranz. Dies umfasst zunächst die Behandlung
der theoretischen Grundlagen, die im Wesentlichen ein Basiswissen der
Wahrscheinlichkeitsrechnung und der Statistik umfassen. Darauf aufbauend
werden Ansätze vorgestellt, die zu einer fehlertolerierenden Datenspeicherung und
Datenübertragung beitragen. Ein letzter Kursschwerpunkt fokussiert auf die
Entwicklung fehlertoleranter Kommunikationssysteme und verteilter
Rechnersysteme mittels protokollbasierten Ansätzen.
Master of Science in Praktischer Informatik
01.12.2015
Lernergebnisse / Kompetenzen:
Die Studierenden erwerben ein vertieftes Verständnis konkreter Angriffe und
Gefahren im Internet. Sie sind in der Lage, Schutzmaßnahmen für einzelne Rechner
sowie für Netzwerke zu beurteilen, auch im rechtlichen Kontext, sowie bei der
Implementierung solcher Schutzmassnahmen mitzuwirken.
Die Studierenden erwerben grundlegende theoretische Grundlagen auf dem Gebiet
der Fehlertoleranz. Sie haben gelernt, dieses Kenntnisse in komplexen Methoden
auf praktische Fragestellungen anzuwenden, wobei insbesondere Beispiele aus dem
Bereich der Rechnerarchitektur und Kommunikationsnetze im Zielpunkt der
Wissensvermittlung stehen.
Literatur: C. Eckert: IT-Sicherheit. 2. Auflage. Oldenbourg 2003
R. Oppliger: Security Technologies for the World Wide Web 2nd Edition, Artech
House 2003
B. Schneier: Applied Cryptography 2nd Edition, Wiley 1996
Bacon, J. and Harris, T. (2003). Operating Systems Concurrent and Distributed
Software Design. NY: Addison-Wesley.
Bertsekas, D. P. and Gallager, R. (1987). Data Networks (2nd Ed.). NJ: Pearson
Prentice Hall.
Devore, J. L. (2007). Probability and Statistics for Engineering and the Sciences. CA:
Brooks/Cole Publishing Company
Koren, I. and Mani Krishna , C. (2007). Fault-Tolerant Systems. CA: Elsevier.
Tanenbaum, A. S.(2008). Modern Operating Systems (3rd Ed.). NJ: Pearson Prentice
Hall.
Inhaltliche Voraussetzungen:
Kurs 01867: Kurs 01866 Sicherheit im Internet I sowie dessen Voraussetzungen,
oder äquivalente Kenntnisse
Kurs 21811: Grundkenntnisse; z.B. aus Kurs 01801 Betriebssysteme und
Rechnernetze
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene gemeinsame Kursabschlussklausur über beide
Kurse
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Herwig Unger
Lehrende:
Herwig Unger
Master of Science in Praktischer Informatik
01.12.2015
Katalog M, Bereich M3 Informationssysteme
und Künstliche Intelligenz
Datenbanken in Rechnernetzen
mit dem Kurs
01666
Datenbanken in Rechnernetzen
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten 150 Stunden
Bearbeiten der Einsendearbeiten 75 Stunden
Studientage u. Prüfungsvorbereitung 75 Stunden
Inhalt:
Dieses Modul führt in das breite Gebiet der Implementierung und Anwendung von
verteilten Datenbanken ein. Verteilte Datenbanken sind Datenbanken, die physisch
zwar auf mehrere, unabhängige Rechner verteilt sind, für den Benutzer jedoch wie
eine (zentrale) Datenbank in Erscheinung treten. Es werden verschiedene Formen
von Rechnernetzen und Architekturen einbezogen, bis hin zu Client/ServerArchitekturen. Der Kurs vermittelt einen Überblick über die Probleme, die mit der
Verteilung auftreten, und über die verschiedenen Lösungsansätze. Im einzelnen
wird auf System- und Schemaarchitektur, auf Daten- und
Verteilungsunabhängigkeit, auf Fragen der optimalen Datenverteilung sowie auf
Synchronisations- und Recovery-Aspekte eingegangen.
Der Kurs vermittelt das notwendige Basiswissen für Anwendungs- und
Systementwickler sowie für Datenbankadministratoren, die es mit verteilten, aber
integriert zu behandelnden Datenbeständen zu tun haben.
Lernergebnisse / Kompetenzen:
Die Studierenden erhalten ein umfassendes Verständnis für die Möglichkeiten und
Vorteile der Verteilung von Datenbeständen auf ein Netz von Rechnern, für die
Probleme, die dabei auftreten, sowie für die unterschiedlichen Parameter und
Lösungsmöglichkeiten für die praktische Anwendung. Sie werden in die Lage
versetzt, verteilte Datenbankanwendungen zu planen und mit deren Komplexität
umzugehen.
Literatur: Dadam, P.: Verteilte Datenbanken und Client/Server-Systeme, Springer Verlag 1996.
Gray, J., Reuter, A.: Transaction Processing - Concepts and Techniques, Morgan
Kaufmann Publ., 1993
Rahm, E.: Mehrrechner-Datenbanksysteme - Grundlagen der verteilten und
parallelen Datenbankverarbeitung, Addison-Wesley, 1994
Inhaltliche Voraussetzungen:
Kenntnisse der grundlegenden Konzepte von (zentralen) Datenbanken
(beispielsweise Kurse Datenbanken I / II an der FernUniversität)
Anmerkung:
keine
Master of Science in Praktischer Informatik
01.12.2015
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Wolfgang Wilkes
Lehrende:
Wolfgang Wilkes
Master of Science in Praktischer Informatik
01.12.2015
Dokumenten- und Wissensmanagement im Internet
mit den beiden Kursen
01873
Daten und Dokumentenmanagement im Internet
Durchführung: in jedem Semester, in der ersten Hälfte des Semesters
01874
SWS: 2+1
Informations- und Wissensmanagement im Internet
Durchführung: in jedem Semester, in der zweiten Hälfte des Semesters
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
ein oder zwei Semester
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeitung der Kurseinheiten: 7 mal 20 Stunden = 140 Stunden
Einüben der Inhalte: 7 mal 15 Stunden = 105 Stunden
Wiederholung und Prüfungsvorbereitung = 55 Stunden
Die adäquate Repräsentation von Daten und Dokumenten bildet eine wichtige
Grundlage für deren effektive Erfassung, Verwaltung, Austausch, Vermittlung und
Nutzung. Die Verwendung geeigneter Standards erleichtert dabei den Austausch
von Daten und Dokumenten zwischen Menschen, zwischen Menschen und
Maschinen sowie zwischen Maschinen. In diesem Kurs werden allgemeine Formate
für Dokumente sowie für strukturierte Dokumente, die im Internet verfügbar sind,
vorgestellt. Dazu wird zunächst der Dokumentenbegriff präzisiert und das Modell
der strukturierten Dokumente eingeführt. Als übergreifendes Format, das die
Definition konkreter Websprachen wie XHTML erlaubt, wird danach die Extensible
Markup Language (XML) zusammen mit Dokumententypdefinitionen (DTD) und
deren konzeptuellen und theoretischen Grundlagen eingeführt. Die daraufhin
folgende Darstellung von Namensräumen, XML-Schema, XSLT und XQuery bildet
einen weiteren Kern des Kurses. Danach werden abschliessend das historisch am
weitesten verbreitete Format, die Hypertext Markup Language (HTML), und die
Cascading Style Sheets (CSS) vorgestellt.
Die adäquate Repräsentation von Information und Wissen bildet eine wichtige
Grundlage für deren effektive Erfassung, Verwaltung, Vermittlung und Nutzung. In
diesem Kurs werden allgemeine Formate für wichtige aktuelle Standards zur
Darstellung und Repräsentation von Information und Wissen über Ressourcen im
Web (aber auch über physikalische Ressourcen) vorgestellt. Im Kurs wird deshalb als
erstes das Konzept der Semantischen Integration sowie des ontologiebasierten
Informationsmanagements eingeführt und Ausdrucksfähigkeit von RDF, dem im
entstehenden Semantic Web eine besondere Bedeutung zukommt, grundlegend
erarbeitet und zu bereits existieren-den Wissensrepräsentationsinstrumenten wie
etwa Topic Maps in Beziehung gesetzt. Ziel ist hier neben der Vermittlung der
Grundprinzipien auch das Aufzeigen von Alternativen beim Entwurf eines
Standards zur Wissensdarstellung. Danach werden mit RDF und OWL
Wissensrepräsentations- und Ontologiesprachen für das Internet eingeführt und die
Erzeugung von Ontologien und Metadaten diskutiert. Im Anschluss daran wird die
Informationssuche auf den Wissensräumen und Repräsentationen mittels
Information Retrieval vorgestellt. Abschließend befasst sich der Kurs mit der
systemorientierten Evaluierung von IR Modellen und Systemen.
Lernergebnisse / Kompetenzen:
Master of Science in Praktischer Informatik
01.12.2015
Die Studierenden beherrschen die wichtigsten allgemeinen Begriffe, Modelle und
Methoden der Anwendung und aktuellen Entwicklung von verteilten Datenbanken
und strukturierten Dokumentenkollektionen für das Internet unter Nutzung des
World Wide Web und können diese innerhalb exemplarischer Technologie- und
Anwendungsentwicklungen von verteilten Datenbanken und strukturierten
Dokumentenkollektionen zuordnen sowie innerhalb eigener Entwürfe,
Modellierungen und Entwicklungen von verteilten Datenbanken und strukturierten
Dokumentenkollektionen für das Internet unter Nutzung des World Wide Web
anwenden.
Die Studierenden beherrschen weiterhin die wichtigsten allgemeinen Begriffe,
Modelle und Methoden der Anwendung und der aktuellen Entwicklung von
verteilten wissensbasierten Informationssystemanwendungen für das Internet unter
Nutzung des World Wide Web und des Semantic Web und können diese innerhalb
von Anwendungen und aktuellen Entwicklungen von verteilten wissensbasierten
Informationssystemanwendungen für das Internet unter Nutzung des World Wide
Web und des Semantic Web zuordnen sowie innerhalb eigener Entwürfe,
Modellierungen und Entwicklungen von Anwendungen und aktuellen
Entwicklungen von verteilten wissensbasierten Informationssystemanwendungen
für das Internet unter Nutzung des World Wide Web und des Semantic Web
anwenden.
Literatur: Peter Aiken, M. David Allen, "XML in Data Management: Understanding and
Applying Them Together", Morgan Kaufmann, June 7, 2004, ISBN-13: 9780120455997
Serge Abiteboul, Peter Bunemann, Dan Suciu: "Data on the Web: From Relations to
Semistructured Data and XML" Morgan Kaufmann, October 12, 1999, ISBN-13:
978-1558606227
Grigori Antoniou, Frank van Harmelen: "A Semantic Web Primer", The MIT Press,
April 1, 2004, ISBN-13: 978-0262012102
John Davies, Rudi Studer, Paul Warren (eds): "Semantic Web Technologies: Trends
and Research in Ontology-based Systems", Wiley, July 11, 2006, ISBN-13: 9780470025963
Amith Sheth, Miltiadis Lytras: "Semantic Web-Based Information Systems: State-ofthe-Art, Applications" Cybertech Publishing, December 11, 2006, ISBN-13: 9781599044279
Inhaltliche Voraussetzungen:
Programmierkenntnisse
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
in jedem Kurs Kursabschlussklausur bestanden
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Matthias Hemmje
Lehrende:
Matthias Hemmje
Master of Science in Praktischer Informatik
01.12.2015
Moving Objects Databases
mit dem Kurs
01675
Moving Objects Databases
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten: 150 Stunden
Bearbeitung der Einsendeaufgaben: 75 Stunden
Wiederholung und Prüfungsvorbereitung, Prüfung: 75 Stunden
Inhalt:
The course offers an introduction to a new research area in databases termed
"moving objects databases". The goal is to extend database technology to be able
to represent any kind of moving entity in a database and to ask queries about
them. For some entities only the position in space is relevant, hence they can be
viewed as moving points, for others also the time dependent extent is of interest,
hence we can speak of moving regions. Examples of moving points are people,
animals, or vehicles such as cars, trucks, air planes, ships, or satellites; examples of
moving regions are hurricanes, forest fires, oil spills in the sea, forests, cancer, or
the settlement areas of the Celtic tribes. For querying, one would like to ask about
the current or anticipated near future movement as well as analyze movement
histories in the past. Some motivation for research in this area stems from mobile
computing where it will be relevant to manage the locations of millions of users
equipped with location-aware wireless online devices. The course describes data
models and query languages for moving objects as well as implementation
techniques such as geometric algorithms and novel indexing methods. It provides a
good basis for students to start research in this area.
Lernergebnisse / Kompetenzen:
After successful study of the module students can explain the MOST data model for
representing and querying current and near future expected movement, explain the
model of spatio-temporal data types addressing complete motion histories for
points and other spatial shapes, describe the distinction between abstract and
discrete modeling, explain criteria for designing a system of data types and
operations, provide formal definitions for the semantics of types and operations,
explain the principles of the constraint database approach and give formal
definitions for the main concepts, describe in detail data structures and algorithms
for spatio-temporal data types, explain classes and several important instances of
spatio-temporal index structures. They are able to judge approaches and
commercial products for data management in these areas, and to develop
customized solutions.
Literatur: R.H. Güting and M. Schneider, Moving Objects Databases. Morgan Kaufmann
Publishers / Elsevier, Amsterdam, 2005.
P. Rigaux, M. Scholl, and A. Voisard, Spatial Databases: With Application to GIS.
Morgan-Kaufmann Publishers, San Francisco, 2002.
Inhaltliche Voraussetzungen:
Kenntnisse der Konzepte von Standard-Datenbanksystemen. Vertiefte Kenntnisse
zur Implementierung von Datenbanksystemen, etwa anhand des Kurses 01664.
Master of Science in Praktischer Informatik
01.12.2015
Anmerkung:
Nicht zusammen mit dem aktuellen Modul Vertiefung Datenstrukturen und
Datenbanken nutzbar
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Ralf Hartmut Güting
Lehrende:
Ralf Hartmut Güting
Master of Science in Praktischer Informatik
01.12.2015
Deduktions- und Inferenzsysteme
mit dem Kurs
01695
Deduktions- und Inferenzsysteme
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten 130 - 150 Stunden,
bearbeiten der Übungsaufgaben 60 - 75 Stunden,
Studientage und Prüfungsvorbereitung 60 - 75 Stunden
Inhalt:
Intelligentes Verhalten basiert wesentlich auf der Fähigkeit, logische Schlüsse zu
ziehen, und in nahezu allen Systemen der künstlichen Intelligenz spielen
automatische Inferenz- oder Deduktionskomponenten eine zentrale Rolle.
Anwendungsfelder sind etwa das automatische Beweisen mathematischer Sätze,
logische Programmiersprachen (z. B. PROLOG), Programmverifikation, deduktive
Planverfahren oder die Entwicklung von Inferenzkomponenten für spezifische
Wissensrepräsentationssprachen. In diesem Kurs werden grundlegende Begriffe,
Methoden und Verfahren der Deduktions- und Inferenzsysteme behandelt: Kalküle
für die Prädikatenlogik 1. Stufe, Resolutionsverfahren, Repräsentation von Kalkülen,
Gleichheit und Unifikation, Termersetzungssysteme, Deduktion und logisches
Programmieren, nicht- klassische Formen der Inferenz.
Lernergebnisse / Kompetenzen:
Die Studierenden können grundlegenden Begriffe, Methoden und Verfahren der
Deduktions- und Inferenzsysteme präsentieren, die entsprechenden formalen
Grundlagen beschreiben und zentrale Verfahren wie z.B. das Resolutionsverfahren
anwenden.
Literatur: K. H. Bläsius, H.J. Bürckert (Hrsg.): Deduktionssysteme. Automatisierung des
logischen Denkens. Oldenbourg-Verlag, 1992.
W. Bibel, S. Hölldobler, T. Schaub: Wissensrepräsentation und Inferenz. ViewegVerlag, 1993.
Inhaltliche Voraussetzungen:
keine
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN: wird im Kursanschreiben angegeben
Modulverantwortliche/r: Christoph Beierle
Master of Science in Praktischer Informatik
01.12.2015
Lehrende:
Christoph Beierle
Master of Science in Praktischer Informatik
01.12.2015
Entscheidungsmethoden in unternehmensweiten Softwaresystemen
mit dem Kurs
01771
Entscheidungsmethoden in unternehmensweiten Softwaresystemen
Durchführung: in jedem Sommersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten 140 Stunden,
bearbeiten der Übungsaufgaben 70 Stunden,
Wiederholung des Stoffs und Prüfungsvorbereitung 90 Stunden.
Inhalt:
Dieser Kurs behandelt ausgewählte Entscheidungsmodelle und -methoden, die in
unternehmensweiten Softwaresystemen Anwendung finden. Im Vordergrund
stehen dabei die diskrete ereignisorientierte Simulation und Entscheidungsmodelle
und -methoden in APS- und SCM-Systemen. Typische Betrachtungsgegenstände
der Modellierung und Simulation mit dem Fokus auf diskreter Simulation für
Produktionssysteme werden behandelt. Die einzelnen Schritte einer
Simulationsstudie werden beschrieben. Der Kurs behandelt die Funktionsweise
moderner diskreter Simulationssoftware. Typische Betrachtungsgegenstände der
Modellierung und Simulation von Produktionssystemen werden eingeführt.
Weiterer Gegenstand des Kurses sind Planungs- und -steuerungsprobleme für die
Produktionsdomäne.
Lernergebnisse / Kompetenzen:
Die Studierenden kennen die Anwendungsmöglichkeiten und -grenzen von
diskreter Simulation zur Entscheidungsunterstützung in PPS- und SCM-Systemen.
Die Studierenden werden insbesondere mit der grundsätzlichen Wirkungsweise
diskreter Simulationssoftware vertraut gemacht. Die Studierenden werden vertieft
mit den Modellierungsmethoden für Produktionssysteme vertraut gemacht.
Insbesondere werden die Studierenden in die Lage versetzt, Modellierungs- und
Simulationstätigkeiten für Produktionssysteme eigenständig auszuführen. Die
Studierenden erwerben Kenntnisse bezüglich der Verifikation und der Validierung
von Simulationsmodellen. Die Studierenden werden mit ausgewählten
Planungsproblemen sowie Entscheidungsmodellen und - methoden in den
Bereichen Ablaufplanung sowie Lieferkettenmanagement vertraut gemacht und
können wichtige Techniken der Modellierung derartiger Probleme in APS-Systemen
anwenden.
Literatur: Joereßen, A., Sebastian, H.-J.: Problemlösung mit Modellen und Algorithmen,
Teubner, 1998.
Law, A. M. Simulation Modeling and Analysis, 4. Auflage, McGraw Hill, 2007.
Pinedo, M. L.: Scheduling: Theory, Algorithms, and Systems, 3. Auflage, Springer,
2008
Inhaltliche Voraussetzungen:
Kenntnisse der Inhalte der Kurse Algorithmische Mathematik und Betriebliche
Informationssysteme
Anmerkung:
keine
Master of Science in Praktischer Informatik
01.12.2015
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN: mind. 50 Prozent der möglichen Punkte bei den
Einsendeaufgaben zu zwei vom Lehrgebiet festgelegten
Kurseinheiten
Modulverantwortliche/r: Lars Mönch
Lehrende:
Lars Mönch
Master of Science in Praktischer Informatik
01.12.2015
Methoden der Wissensrepräsentation und -verarbeitung
mit dem Kurs
01845
Methoden der Wissensrepräsentation und -verarbeitung
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten 130 - 150 Stunden,
bearbeiten der Übungsaufgaben 60 - 75 Stunden,
Studientage und Prüfungsvorbereitung 60 - 75 Stunden
Inhalt:
Für die Realisierung maschineller Intelligenz ist die Frage der Wissensrepräsentation
und -verarbeitung von zentraler Bedeutung. Jedes wissensbasierte System
kombiniert das in seiner Wissensbasis gespeicherte Wissen mit aktuellen
Informationen und kommt so zu "Erkenntnissen", die es beispielsweise dem
Benutzer in Form von Diagnosen präsentiert, oder die es selbst - als autonom
agierendes System - als Grundlage seiner Handlungen nutzt. Häufig ist dabei das zu
verarbeitende Wissen unsicherer oder unvollständiger Natur, so dass Methoden
zum Einsatz kommen müssen, die auch unter diesen Umständen vernünftige
Resultate liefern. Dies macht die Behandlung von Inkonsistenzen erforderlich und
führt auf die Problematik des nichtmonotonen oder revidierbaren Schließens. Einen
anderen Ansatz zur Modellierung von Unsicherheit bieten die quantitativen
Methoden. Ferner gehen wir auf den Bereich Aktionen und Planen ein, in dem sich
die Veränderung von Wissen durch aktive Eingriffe (Handlungen) als eine
Kernproblematik erweist. Der Kurs behandelt schwerpunktmäßig die folgenden
Themen: Nichtmonotones Schließen, Truth Maintenance-Systeme, Default-Logiken,
Aktionen und Planen, Situationskalkül, Wahrscheinlichkeit und Information,
probabilistische Netzwerke, insbesondere Markov- und Bayes-Netze, Fuzzy- und
Dempster-Shafer-Theorie, zahlreiche Anwendungsbeispiele, u.a. aus Technik,
Medizin und Genetik.
Lernergebnisse / Kompetenzen:
Die Studierenden können fortgeschrittene Methoden zur Repräsentation und
Verarbeitung unsicheren und vagen Wissens, insbesondere aus dem Bereich des
revidierbaren Schließens und der quantitativen Methoden wiedergeben und die
Grundlagen des Bereichs Aktionen und Planen beschreiben. Sie können Vor- und
Nachteile der unterschiedlichen Ansätze erklären und diese Ansätze in
entsprechenden Problemstellungen anwenden.
Literatur:
Inhaltliche Voraussetzungen:
Kenntnisse formaler Grundlagen der Informatik; hilfreich sind auch
Grundkenntnisse im Bereich der Logik und aus dem Gebiet der wissensbasierten
Systeme, z.B. aus dem Kurs 01696.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Master of Science in Praktischer Informatik
01.12.2015
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN: wird im Kursanschreiben angegeben
Modulverantwortliche/r: Christoph Beierle
Lehrende:
Christoph Beierle
Master of Science in Praktischer Informatik
01.12.2015
Multimediainformationssysteme
mit den beiden Kursen
01875
Multimediainformationssysteme I
Durchführung: in jedem Sommersemester, in der ersten Hälfte des Semesters
01876
SWS: 2+1
Multimediainformationssysteme II
Durchführung: in jedem Wintersemester, verteilt über das gesamte Semester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
zwei Semester
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeitung der Kurseinheiten: 7 mal 20 Stunden = 140 Stunden
Einüben der Inhalte: 7 mal 15 Stunden = 105 Stunden
Wiederholung und Prüfungsvorbereitung = 55 Stunden
Kurs 01875: Die Repräsentation, Speicherung, Verwaltung und Verarbeitung
großer Mengen von Multimedia-Dokumenten, die nicht nur aus Texten bestehen,
sondern Graphiken, Fotos sowie Video- und Tonsequenzen beinhalten, spielt in
multimedialen Informationssystemen eine zentrale Rolle. Die Anwendbarkeit dieser
Systeme hängt sehr stark davon ab, inwieweit der Zugriff auf diese Daten sowie
deren effiziente Erschließung und Indexierung unterstützt wird. Ein Thema der
Vorlesung sind daher neue Ansätze aus dem Bereich des Information Retrieval, die
einen inhaltsorientierten, struktur- orientierten oder Kontext/Meta-Datenorientierten Zugriff auf Multimedia-Dokumente ermöglichen. Ein weiteres
Themengebiet sind neue Konzeptionen für Multimedia-Informationen-RetrievalProgrammier- und Benutzungsschnittstellen. Diese haben insbesondere im Bereich
der Multimedia-Informationssysteme eine hohe Relevanz, da konventionelle
Anfragesprachen und die darauf basierenden Interfaces auf die Erfordernisse und
Möglichkeiten des bislang vorherrschenden textorientierten Information Retrieval
zugeschnitten sind. Ziel der Vorlesung ist es, einen einführenden Überblick über
aktuelle Technologien sowie zum gegenwärtigen Stand der Forschung und
Entwicklung in den relevanten Themengebieten Multimediatechnologien sowie
Hypermedia- und Multimedia-Information-Retrieval- Methoden und -Technologien
zu geben.
Kurs 01876: Die Archivierung von Multimediadaten soll deren
Langzeitverfügbarkeit gewährleisten, d. h. die volle Originalität und Funktionalität
eines digitalen Objekts auch für eine zukünftige Nutzung garantieren. Die
Vorlesung befasst sich neben der Vorstellung einschlägig relevanter MultimediaStorage, -Server, - Content Management-Lösungen aus der produktiven Praxis auch
mit teilweise bereits im Einsatz oder gerade in der Entstehung befindlichen
Technologien und Systemen sowie notwendigen technischen Formaten und
Normen zur Berücksichtigung des technologischen Wandels innerhalb der
Archivierungsdauer. Welche Strategien sollten eingeschlagen werden, um
multimediale Datenbestände mit vertretbarem Aufwand langfristig zugänglich und
nutzbar halten zu können? Hierbei wird zwischen verschiedenen Anwendungen
aus dem klassischen Bibliothekswesen, aber insbesondere auch auf die speziellen
Anforderungen von Broadcast-, Produktions-und Re-Use-Szenarien eingegangen.
Die in der Vorlesung behandelten Aspekte umfassen Technologien für Digitale
Master of Science in Praktischer Informatik
01.12.2015
Bibliotheken, Aufbau und Struktur multimedialer Datenobjekte und
korrespondierender Metadatenschemata. Weiterhin werden Techniken für die
Segmentierung, Verfahren für die Sicherung von Authenzitität und Integrität,
Methoden für die Extraktion von semantischen Informationen sowie der
Repräsentation komplexer Verknüpfungen diskutiert. Weiterhin werden die aus
informatischer Sicht relevanten rechtlichen Regelungen und urheberrechtlichen
Beschränkungen skizziert.
Lernergebnisse / Kompetenzen:
Die Studierenden beherrschen die wichtigsten allgemeinen Begriffe, Modelle und
Methoden der aktuellen Technologien sowie den gegenwärtigen Stand der
Forschung und Entwicklung in den relevanten Themengebieten
Multimediatechnologien sowie Hypermedia- und Multimedia-Information-RetrievalMethoden und den dazu korrespondierenden Technologien und können diese
zuordnen und innerhalb exemplarischer Technologie- und
Anwendungensentwicklungen in den relevanten Themengebieten
Multimediatechnologien sowie zu Hypermedia- und Multimedia-InformationRetrieval-Methoden anwenden.
Die Studierenden beherrschen die wichtigsten Beispiele, Problemschilderungen,
Erfahrungsberichte und Best-Practice-Lösungsansätze zur Sicherung der
langfristigen Verfügbarkeit digitaler nicht-textueller Medien.
Literatur: Inhaltliche Voraussetzungen:
Kenntnisse aus dem Kurs 01873 "Daten- und Dokumentenmanagement im
Internet"
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
in jedem Kurs Kursabschlussklausur oder
Klausurersatzgespräch bestanden
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Matthias Hemmje
Lehrende:
Matthias Hemmje
Master of Science in Praktischer Informatik
01.12.2015
Vertiefung Datenstrukturen und Datenbanken
mit den beiden Kursen
01662
Datenstrukturen II
Durchführung: in jedem Sommersemester, in der zweiten Hälfte des Semesters
01676
SWS: 2+1
Moving Objects Databases I
Durchführung: in jedem Sommersemester, in der ersten Hälfte des Semesters
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein oder drei Semester
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeiten der Kurseinheiten: 160 Stunden
Bearbeitung der Einsendeaufgaben inkl. Verarbeitung des Korrektur: 80 Stunden
Wiederholung und Prüfungsvorbereitung, Prüfung: 60 Stunden
01662: Dieser Kurs vermittelt Kenntnisse zu Graph-Algorithmen, geometrischen
Algorithmen und Datenstrukturen, sowie zum externen Suchen und Sortieren. Zu
den Graph-Algorithmen gehören etwa der Algorithmus von Dijkstra zur
Bestimmung kürzester Wege, die Berechnung der transitiven Hülle eines Graphen
oder eines minimalen Spannbaumes. Einen Schwerpunkt dieses Kurses bilden
Algorithmen zur Behandlung geometrischer Probleme mittels Plane-Sweep und
Divide- and Conquer-Techniken. Dabei werden auch Datenstrukturen für
Intervallmengen wie Segment-Bäume und Intervallbäume eingeführt. Schließlich
werden B-Bäume und externe Sortierverfahren behandelt.
01676: The course offers an introduction to a new research area in databases
termed "moving objects databases". The goal is to extend database technology to
be able to represent any kind of moving entity in a database and to ask queries
about them. Moving objects can be classified as moving points or moving regions.
Examples of moving points are people, animals, or vehicles; examples of moving
regions are hurricanes, forest fires, or oil spills in the sea. For querying, one would
like to ask about the current or anticipated near future movement as well as
analyze movement histories in the past. The course describes data models and
query languages for moving objects.
Lernergebnisse / Kompetenzen:
01662: Erfolgreiche Studierende beherrschen die wesentlichen Konzepte von
Graphen und geometrischen Algorithmen und Datenstrukturen. Sie sind in der
Lage, Plane-Sweep oder Divide-and-Conquer-Techniken für die Lösung
geometrischer Probleme einzusetzen und entsprechende Programme zu entwickeln.
Sie können die Laufzeit und den Platzbedarf solcher Programme bestimmen und
somit effiziente Lösungen entwickeln.
01676: Students have a deep understanding of modeling approaches for nonstandard database applications. They can explain data models such as the MOST
model, or the model of spatio-temporal data types, dealing with current and near
future movement, or history of movement, respectively. They can describe the
integration of such approaches into the relational model and formulate queries.
They can also describe the needed extensions of DBMS implementation.
Literatur: R.H. Güting und S. Dieker, Datenstrukturen und Algorithmen. 3. Aufl., Teubner-
Master of Science in Praktischer Informatik
01.12.2015
Verlag Stuttgart, 2004.
T. Ottmann und P. Widmayer, Algorithmen und Datenstrukturen. 5. Aufl.,
Spektrum Akademischer Verlag, Heidelberg, 2012.
R.H. Güting and M. Schneider, Moving Objects Databases. Morgan Kaufmann
Publishers / Elsevier, Amsterdam, 2005.
P. Rigaux, M. Scholl, and A. Voisard, Spatial Databases: With Application to GIS.
Morgan-Kaufmann Publishers, San Francisco, 2002.
Inhaltliche Voraussetzungen:
01662: Kenntnisse aus dem Kurs Datenstrukturen I des Bachelor-Studiengangs
01676: Kenntnisse der Konzepte von Standard-Datenbanksystemen. Vertiefte
Kenntnisse zur Implementierung von Datenbanksystemen, etwa anhand des Kurses
01664.
Anmerkung:
Nicht zusammen mit dem Modul Moving Objects Databases nutzbar
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
in jedem Kurs Kursabschlussklausur oder
Klausurersatzgespräch bestanden
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Ralf Hartmut Güting
Lehrende:
Ralf Hartmut Güting
Master of Science in Praktischer Informatik
01.12.2015
Katalog M, Bereich M4 Software Engineering
und Programmiersprachen
Logisches und funktionales Programmieren
mit dem Kurs
01816
Logisches und funktionales Programmieren
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten 130 - 150 Stunden,
bearbeiten der Übungsaufgaben 60 - 75 Stunden,
Prüfungsvorbereitung 60 - 75 Stunden
Inhalt:
Der Kurs enthält eine Einführung in die wichtigsten Programmiertechniken für
nicht- imperative Programmiersprachen. Im ersten Teil werden Techniken der
logischen Programmierung am Beispiel von Prolog gezeigt. Außerdem werden die
in Prolog verwendete Beweisstrategie sowie nicht-logische Anteile zur praktischen
Programmierung behandelt. Im zweiten Teil werden Techniken aus funktionalen
Programmiersprachen am Beispiel des Lisp-Dialekts Scheme demonstriert. Neben
klassischen Methoden (Funktionen höherer Ordnung) werden auch
Datenabstraktion, strom- und objektorientierte Programmiertechniken vorgestellt.
Zusätzlich werden am Beispiel der Sprache Haskell Konzepte aus modernen
funktionalen Sprachen erläutert. Im dritten Teil werden Ansätze zur Integration der
logischen und funktionalen Programmierung vorgestellt. Darüberhinaus werden
verschiedene neuere Entwicklungen im Bereich dieser beiden
Programmierparadigmen behandelt. So wird auch auf das logische Programmieren
mit Constraints eingegangen, das sich als besonders vielversprechender Ansatz zur
deklarativen Programmierung herausgestellt hat und bereits in vielen
Anwendungen erfolgreich eingesetzt wurde.
Lernergebnisse / Kompetenzen:
Die Studierenden können grundlegende Aspekte nichtimperativer
Programmiersprachen und deren wichtigste Programmiertechniken beschreiben. Sie
sind in der Lage, diese Techniken in logischen und funktionalen Programmen
anzuwenden. Sie können die spezielle Ausdruckskraft und Flexibilität des logischen
und funktionalen Programmierens erklären und diese bei der Erstellung logischer
und funktionaler Programme demonstrieren.
Literatur: W. F. Clocksin, C. S. Mellish: Programming in Prolog. Springer, Berlin, 5. Auflage,
2003
L. Sterling, E. Shapiro: The Art of Prolog. MIT Press, 2. Auflage, 1994.
H. Abelson, G. J. Sussman: Structure and Interpretation of Computer Programs,
MIT Press, 2. Auflage, 1996.
Inhaltliche Voraussetzungen:
keine
Anmerkung:
Master of Science in Praktischer Informatik
01.12.2015
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN: wird im Kursanschreiben angegeben
Modulverantwortliche/r: Christoph Beierle
Lehrende:
Christoph Beierle
Master of Science in Praktischer Informatik
01.12.2015
Vertiefung Software Engineering und Programmiersprachen A (SA, FP)
mit den beiden Kursen
01798
Software-Architektur
Durchführung: in jedem Wintersemester, in der ersten Hälfte des Semesters
01852
SWS: 2+1
Fortgeschrittene Konzepte funktionaler Programmierung
Durchführung: in jedem Sommersemester, verteilt über das gesamte Semester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
zwei Semester
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
01798:
75 Stunden Bearbeitung des Kurstextes,
40 Stunden Bearbeitung der Übungs- und Einsendeaufgaben
35 Stunden Nachbearbeitung und Klausur- bzw. Prüfungsvorbereitung
01852:
Bearbeiten der Kurseinheiten 65 - 70 Stunden,
bearbeiten der Übungsaufgaben 30 - 40 Stunden,
Prüfungsvorbereitung 30 - 40 Std
01798: Wegen der stetig zunehmenden Komplexität und Größe von Software
treten verstärkt Fragestellungen in den Vordergrund, die sich mit der
Strukturierung, der Organisation und dem Aufbau von Softwaresystemen
beschäftigen. Von besonderem Interesse sind dabei die Kommunikation zwischen
Systemteilen und die Konstruktion von Systemen aus Komponenten.
Die Architektur eines Software-Systems beschreibt die verschiedenen Strukturen des
Systems und legt das Zusammenwirken der Systemkomponenten fest. Der Kurs
erläutert zunächst allgemein, welche Strukturen in diesem Zusammenhang von
Interesse sind und wie sie beschrieben werden können. Insbesondere unterscheidet
er zwischen den Strukturen, die dem dynamischen Verhalten von Systemen
zugrunde liegen, und den statischen Strukturen der Software des Systems. Er gibt
eine Einführung in den Entwurf und die Bewertung von Architekturen und in
wichtige Architekturmuster. Zur Vertiefung werden Programmgerüste und
Komponentenarchitekturen behandelt. Darüber hinaus geht der Kurs auf relevante
informelle und formale Beschreibungstechniken ein.
01852: Der Kurs widmet sich weiterführenden Themen funktionaler
Programmierung, die über die grundlegenden Aspekte des Kurses "Logisches und
funktionales Programmieren" (01816) hinausgehen, sowie einigen wichtigen
theoretischen Grundlagen funktionaler Programmiersprachen. Zu Beginn werden
die besonderen Konzepte moderner funktionaler Sprachen wie z.B. strenge
Typisierung, parametrischer Polymorphismus, Datentypen und Pattern Matching am
Beispiel der Sprache ML vorgestellt. Die mathematische Fundierung funktionaler
Sprachen ermöglicht die formale Behandlung von Programmen. Dies wird anhand
verschiedener Methoden zum Beweis von Programmeigenschaften oder aber auch
zur Programmtransformation demonstriert. Als formale Grundlagen werden der
Lambda-Kalkül sowie das Typsystem von Hindley/Milner erläutert. Schließlich wird
das Verständnis funktionaler Programmiersprachen durch die Beschreibung
verschiedener Implementierungsaspekte vertieft.
Master of Science in Praktischer Informatik
01.12.2015
Lernergebnisse / Kompetenzen:
01798: Die Studierenden kennen Fragestellungen und Lösungsansätze des Faches
Softwarearchitektur. Sie sind in der Lage, Strukturfragen bei der Konstruktion von
Software besser zu verstehen und Techniken der Softwarearchitektur in eigenen
Softwareprojekten angemessen einzusetzen.
01852: Die Studierenden sind in der Lage, fortgeschrittene Konzepte funktionaler
Programmierung zu präsentieren. Sie können die Typisierung und die formale
Behandlung funktionaler Programme erklären und Beispielprogramme in einer
typisierten, funktionalen Sprache konstruieren.
Literatur: R Reussner, W Hasselbring Handbuch der Software-Architektur (dpunkt Verlag
2006).
L Bass, P Clements, R Kazman Software Architecture in Practice 2. Ausgabe
(Addison Wesley, 2003)
M. Erwig: Grundlagen funktionaler Programmierung. Oldenbourg Verlag, 1999
Inhaltliche Voraussetzungen:
01798: Es werden Programmierkenntnisse vorausgesetzt, möglichst in Java, wie sie
z. B. durch den Kurs 01618 Einführung in die objektorientierte Programmierung
vermittelt werden.
Achtung: Kurstitel ist zwar deutsch, Kurs ist aber in englischer Sprache.
01852: Kenntnisse in funktionaler Programmierung, z.B. aus dem Kurs 01816
Logisches und funktionales Programmieren.
Anmerkung:
Nicht zusammen mit den Modulen Vertiefung Software Engineering und
Programmiersprachen B (WP, FP) oder C (WP, SA) nutzbar
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
in jedem Kurs Kursabschlussklausur oder
Klausurersatzgespräch bestanden
Voraussetzung Anmeldung LN: 01798: keine, 01852: wird im Kursanschreiben angegeben
Modulverantwortliche/r: Christoph Beierle, Friedrich Steimann
Lehrende:
Christoph Beierle, Friedrich Steimann
Master of Science in Praktischer Informatik
01.12.2015
Vertiefung Software Engineering und Programmiersprachen B (WP, FP)
mit den beiden Kursen
01796
Web-Programmierung
Durchführung: in jedem Semester, verteilt über das gesamte Semester
01852
SWS: 3
Fortgeschrittene Konzepte funktionaler Programmierung
Durchführung: in jedem Sommersemester, verteilt über das gesamte Semester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
ein bis drei Semster
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
01796:
Bearbeitung der Kurseinheiten: 90 Stunden
Bearbeitung des Übungsaufgaben: 30 Stunden
Nachbereitung und Prüfungsvorbereitung, sowie Prüfung: 30 Stunden
01852:
Bearbeiten der Kurseinheiten 65 - 70 Stunden,
bearbeiten der Übungsaufgaben 30 - 40 Stunden,
Prüfungsvorbereitung 30 - 40 Stunden
01796: Gegenstand des Kurses ist die methodische Entwicklung von Internetbasierten Anwendungsprogrammen. Der Kurs beginnt mit Basistechnologien des
World Wide Web: IP, TCP, UDP, HTTP, (X)HTML, XML und Sessions. Anschließend
wird ein Überblick über weitere Technologien, Programmiersprachen, Medien und
Anwendungen gegeben, die im Internet-Umfeld einen hohen Verbreitungsgrad
haben. Für die Entwicklung von Anwendungsprogrammen wird mit der Java EESpezifikation eine Standardarchitektur vorgestellt, die zur Implementierung der
Benutzungsschnittstelle auf dem Server Servlets und JavaServer Pages (JSPs)
vorsieht, sowie für den Anwendungskern Enterprise JavaBeans (EJBs) und Entities.
Mit JavaServer Faces (JSF) wird ein Framework hinzugezogen, das auf der JSPTechnik und Servlets basiert und für die Entwicklung von grafischen
Benutzungsoberflächen verwendet wird. Darüber hinaus werden
Softwarearchitekturmuster und Softwarearchitekturen für Internet-basierte
Anwendungsprogramme vorgestellt und ausgewählte Entwurfsmuster näher
betrachtet.
01852: Der Kurs widmet sich weiterführenden Themen funktionaler
Programmierung, die über die grundlegenden Aspekte des Kurses "Logisches und
funktionales Programmieren" (01816) hinausgehen, sowie einigen wichtigen
theoretischen Grundlagen funktionaler Programmiersprachen. Zu Beginn werden
die besonderen Konzepte moderner funktionaler Sprachen wie z.B. strenge
Typisierung, parametrischer Polymorphismus, Datentypen und Pattern Matching am
Beispiel der Sprache ML vorgestellt. Die mathematische Fundierung funktionaler
Sprachen ermöglicht die formale Behandlung von Programmen. Dies wird anhand
verschiedener Methoden zum Beweis von Programmeigenschaften oder aber auch
zur Programmtransformation demonstriert. Als formale Grundlagen werden der
Lambda-Kalkül sowie das Typsystem von Hindley/Milner erläutert. Schließlich wird
das Verständnis funktionaler Programmiersprachen durch die Beschreibung
verschiedener Implementierungsaspekte vertieft.
Master of Science in Praktischer Informatik
01.12.2015
Lernergebnisse / Kompetenzen:
01796: Die Studierenden beherrschen die Grundlagen der Web-Programmierung.
Sie sind in der Lage, kleinere Java-Web-Anwendungen eigenständig zu
implementieren.
01852: Die Studierenden sind in der Lage, fortgeschrittene Konzepte funktionaler
Programmierung zu präsentieren. Sie können die Typisierung und die formale
Behandlung funktionaler Programme erklären und Beispielprogramme in einer
typisierten, funktionalen Sprache konstruieren.
Literatur: H.-W. Six, M. Winter: Kurs 01793 „Software Engineering I – Methodische
Entwicklung objektorientierter Desktop-Applikationen“ Fernuniversität in Hagen,
2006
Oracle: The Java EE 7 Tutorial: http://docs.oracle.com/javaee/7/tutorial/doc
M. Erwig: Grundlagen funktionaler Programmierung. Oldenbourg Verlag, 1999.
Inhaltliche Voraussetzungen:
01796: Vertiefte Kenntnisse in Software Engineering z.B. aus Kurs 01793,
Erfahrung in der Softwareentwicklung mit der Programmiersprache Java
01852: Kenntnisse in funktionaler Programmierung, z.B. aus dem Kurs 01816
Logisches und funktionales Programmieren
Anmerkung:
Nicht zusammen mit den Modulen Vertiefung Software Engineering und
Programmiersprachen A (SA, FP) oder C (WP, SA) nutzbar, nicht zusammen mit
dem nicht mehr angebotenen Modul Software Engineering II nutzbar
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
in jedem Kurs Kursabschlussklausur oder
Klausurersatzgespräch bestanden
Voraussetzung Anmeldung LN: 01852: wird im Kursanschreiben angegeben
Modulverantwortliche/r: Christoph Beierle, Jörg Desel
Lehrende:
Christoph Beierle, Jörg Desel
Master of Science in Praktischer Informatik
01.12.2015
Vertiefung Software Engineering und Programmiersprachen C (WP, SA)
mit den beiden Kursen
01796
Web-Programmierung
Durchführung: in jedem Semester, verteilt über das gesamte Semester
01798
SWS: 3
Software-Architektur
Durchführung: in jedem Wintersemester, in der ersten Hälfte des Semesters
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
ein bis drei Semster
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
01796:
Bearbeitung der Kurseinheiten: 90 Stunden
Bearbeitung des Übungsaufgaben: 30 Stunden
Nachbereitung und Prüfungsvorbereitung, sowie Prüfung: 30 Stunden
01798:
75 Stunden Bearbeitung des Kurstextes,
40 Stunden Bearbeitung der Übungs- und Einsendeaufgaben
35 Stunden Nachbearbeitung und Klausur- bzw. Prüfungsvorbereitung
01796: Gegenstand des Kurses ist die methodische Entwicklung von Internetbasierten Anwendungsprogrammen. Der Kurs beginnt mit Basistechnologien des
World Wide Web: IP, TCP, UDP, HTTP, (X)HTML, XML und Sessions. Anschließend
wird ein Überblick über weitere Technologien, Programmiersprachen, Medien und
Anwendungen gegeben, die im Internet-Umfeld einen hohen Verbreitungsgrad
haben. Für die Entwicklung von Anwendungsprogrammen wird mit der Java EESpezifikation eine Standardarchitektur vorgestellt, die zur Implementierung der
Benutzungsschnittstelle auf dem Server Servlets und JavaServer Pages (JSPs)
vorsieht, sowie für den Anwendungskern Enterprise JavaBeans (EJBs) und Entities.
Mit JavaServer Faces (JSF) wird ein Framework hinzugezogen, das auf der JSPTechnik und Servlets basiert und für die Entwicklung von grafischen
Benutzungsoberflächen verwendet wird. Darüber hinaus werden
Softwarearchitekturmuster und Softwarearchitekturen für Internet-basierte
Anwendungsprogramme vorgestellt und ausgewählte Entwurfsmuster näher
betrachtet.
01798: Wegen der stetig zunehmenden Komplexität und Größe von Software
treten verstärkt Fragestellungen in den Vordergrund, die sich mit der
Strukturierung, der Organisation und dem Aufbau von Softwaresystemen
beschäftigen. Von besonderem Interesse sind dabei die Kommunikation zwischen
Systemteilen und die Konstruktion von Systemen aus Komponenten. Die
Architektur eines Software-Systems beschreibt die verschiedenen Strukturen des
Systems und legt das Zusammenwirken der Systemkomponenten fest. Der Kurs
erläutert zunächst allgemein, welche Strukturen in diesem Zusammenhang von
Interesse sind und wie sie beschrieben werden können. Insbesondere unterscheidet
er zwischen den Strukturen, die dem dynamischen Verhalten von Systemen
zugrunde liegen, und den statischen Strukturen der Software des Systems. Er gibt
eine Einführung in den Entwurf und die Bewertung von Architekturen und in
wichtige Architekturmuster. Zur Vertiefung werden Programmgerüste und
Master of Science in Praktischer Informatik
01.12.2015
Komponentenarchitekturen behandelt. Darüber hinaus geht der Kurs auf relevante
informelle und formale Beschreibungstechniken ein.
Lernergebnisse / Kompetenzen:
01796: Die Studierenden beherrschen die Grundlagen der Web-Programmierung.
Sie sind in der Lage, kleinere Java-Web-Anwendungen eigenständig zu
implementieren.
01798: Die Studierenden kennen Fragestellungen und Lösungsansätze des Faches
Softwarearchitektur. Sie sind in der Lage, Strukturfragen bei der Konstruktion von
Software besser zu verstehen und Techniken der Softwarearchitektur in eigenen
Softwareprojekten angemessen einzusetzen.
Literatur: H.-W. Six, M. Winter: Kurs 01793 „Software Engineering I – Methodische
Entwicklung objektorientierter Desktop-Applikationen“ Fernuniversität in Hagen,
2006
Oracle: The Java EE 7 Tutorial: http://docs.oracle.com/javaee/7/tutorial/doc
R Reussner, W Hasselbring Handbuch der Software-Architektur (dpunkt Verlag
2006).
L Bass, P Clements, R Kazman Software Architecture in Practice 2. Ausgabe
(Addison Wesley, 2003)
Inhaltliche Voraussetzungen:
01796: Vertiefte Kenntnisse in Software Engineering z.B. aus Kurs 01793,
Erfahrung in der Softwareentwicklung mit der Programmiersprache Java
01798: Es werden Programmierkenntnisse vorausgesetzt, möglichst in Java, wie sie
z. B. durch den Kurs 01618 Einführung in die objektorientierte Programmierung
vermittelt werden.
Achtung: Kurstitel ist zwar deutsch, Kurs ist aber in englischer Sprache.
Anmerkung:
Nicht zusammen mit den Modulen Vertiefung Software Engineering und
Programmiersprachen A (SA, FP) oder B (WP, FP) nutzbar, nicht zusammen mit dem
nicht mehr angebotenen Modul Software Engineering II nutzbar
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
in jedem Kurs Kursabschlussklausur oder
Klausurersatzgespräch bestanden
Voraussetzung Anmeldung LN: 01798: keine
Modulverantwortliche/r: Jörg Desel, Friedrich Steimann
Lehrende:
Jörg Desel, Friedrich Steimann
Master of Science in Praktischer Informatik
01.12.2015
DSL Engineering
mit dem Kurs
01888
Domänenspezifische Sprachen
Durchführung: in jedem Wintersemester, auch SS 2016
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semster
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeitung der Kurseinheiten: 150 Stunden
Bearbeitung der Übungsaufgaben: 80 Stunden
Nachbereitung und Prüfungsvorbereitung, sowie Prüfung: 70 Stunden
Domänenspezifische Sprachen sind formale Sprachen, die speziell für ein
bestimmtes Anwendungsgebiet, die „Domäne“, entworfen wurden. Sie
übernehmen häufig in der Domäne gebräuchliche Notationen und grenzen sich so
von Allzwecksprachen wie beispielsweise Java oder UML ab. Damit soll es
Domänenexpertinnen leichter gemacht werden, sich in einer für ihre Zwecke
nützlichen Sprache auszutauschen.
Damit domänenspezifische Sprachen wirklich nützlich sind, bedürfen sie
umfassender Werkzeugunterstützung, wie man sie von allgemeinen Programmierund Modellierungssprachen her gewohnt ist. Da der Nutzerkreis
domänenspezifischer Sprachen im allgemeinen aber kleiner ist, ist es für deren
Erfolg wichtig, dass sich diese Werkzeuge mit wenig Aufwand herstellen lassen.
Sog. Language workbenches, mit denen integrierte Entwicklungsumgebungen für
formale Sprachen relativ leicht entwickelt werden können, gehören daher zur
Entwicklung domänenspezifischer Sprachen fest dazu.
Dieser leittextgestützte Kurs befasst sich mit dem relativ jungen Thema des
Entwurfs und der Werkzeugunterstützung domänenspezifischer Sprachen. Er
basiert auf dem Buch DSL Engineering von Markus Voelter. Das Buch ist in
verschiedenen Formen über http://dslbook.squarespace.com/ erhältlich und kann
vor Belegung des Kurses zur Ansicht heruntergeladen werden (zu empfehlen!).
Lernergebnisse / Kompetenzen:
Die Studierenden sollen eine Vorstellung von Zweck und Nutzen
domänenspezifischer Sprachen entwickeln. Sie sollen sich Kenntnisse vom
technischen Aufwand der Implementierung solcher Sprachen und ihrer Werkzeuge
erarbeiten und sollen abzuschätzen lernen, wann sich die Entwicklung einer
domänenspezifischen Sprache lohnt.
Literatur: Basistext: M. Voelter: DSL Engineering - Designing, Implementing and Using
Domain-Specific Languages, dslbook.org, 2013
oder http://dslbook.squarespace.com
ergänzend: Martin Fowler, Domain Specific Languages, Addison-Wesley 2010
Inhaltliche Voraussetzungen:
Fundierte Programmierkenntnisse, beispielsweise erworben durch Bearbeitung der
Kurse 01618 oder 01814, sind unabdingbar. Außerdem sind gute
Engischkenntnisse unverzichtbar, da der Basistext in englischer Sprache verfasst ist.
Anmerkung:
Master of Science in Praktischer Informatik
01.12.2015
Der Basistext muss vor Semesterbeginn beschafft werden.
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN: keine
Modulverantwortliche/r: Friedrich Steimann
Lehrende:
Friedrich Steimann
Master of Science in Praktischer Informatik
01.12.2015
Katalog M, Bereich M7 Computer und Mensch
Informationsvisualisierung im Internet
mit dem Kurs
01870
Informationsvisualisierung im Internet
Durchführung: grundlegend überarbeitet wieder ab WS 2017/18
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
s. Kurse
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeitung der Kurseinheiten: 7 mal 20 Stunden = 140 Stunden
Einüben der Inhalte: 7 mal 15 Stunden = 105 Stunden
Wiederholung und Prüfungsvorbereitung = 55 Stunden
Inhalt:
Informationsvisualisierung kann Menschen wesentlich darin unterstützen, den
Umfang von Informationskollektionen zu erfassen, deren Beschaffenheit zu
verstehen und darin enthaltene relevante Informationen zu erkennen.
Angemessene Visualisierungsmethoden für den Einsatz in Benutzungsschnittstellen
von Informationssystemen zu finden, gewinnt daher zunehmend an Bedeutung.
Der Kurs führt zunächst in grundlegende Begrifflichkeiten und Modelle der
Informationsvisualisierung ein und gibt einen kurzen Überblick über die
Zusammenhänge zwischen Informationsvisualisierung, visueller Wahrnehmung und
Kognition. Anschliessend werden die wichtigsten
Informationsvisualisierungstechniken kategorisiert sowie deren grundlegende
Methoden und Eigenschaften ausführlich vorgestellt. Es folgt eine Darstellung von
Methoden zur Evaluation von Informationsvisualisierungstechniken, die Definition
eines Evaluationsmodells sowie die beispielhafte Evaluation ausgewählter
Informationsvisualisierungstechniken. Der Kurs wendet sich daraufhin der
Diskussion von Technologien und Informationsvisualisierungsarchitekturen zu. Hier
kommen insbesondere die "Virtual Reality Modeling Language" (VRML), eine
Beschreibungssprache für dreidimensionale Objekte und Szenen sowie das External
Authoring Interface (EAI) zur Realisierung von integrierten
Informationsvisualisierungsarchitekturen im Zusammenwirken mit anderen
Anwendungen und Diensten zur Sprache. Die Übung bearbeitet und vertieft dabei
gezielt den Entwurf von Informationsvisualisierungsanwendungen.
Lernergebnisse / Kompetenzen:
Die Studierenden beherrschen die wichtigsten allgemeinen Begriffe, Modelle und
Methoden der Informationsvisualisierung und können diese innerhalb
exemplarischer Technologien und Anwendungen der Informationsvisualisierung
zuordnen sowie innerhalb eigener Entwürfe und Modellierungen von
Informationsvisualisierungen in Benutzungsschnittstellen zu Informationssystemen
anwenden.
Literatur: Colin Ware: Information Visualization. Morgan Kaufmann, 2004
Rikk Carey, Gavin Bell: The Annotated Vrml 2.0 Reference Manual, Addison
Wesley, 1997
Don Brutzman, Leonard Daly: X3D. Extensible 3D Graphics for Web Authors,
Morgan Kaufmann, 2007
Inhaltliche Voraussetzungen:
Master of Science in Praktischer Informatik
01.12.2015
Anmerkung:
der Kurs wurde im WS 2015/16 letztmals angeboten, danach nach grundlegender
Überarbeitung voraussichtlich wieder im WS 2017/18
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Matthias Hemmje
Lehrende:
Matthias Hemmje
Master of Science in Praktischer Informatik
01.12.2015
Computerunterstütztes kooperatives Arbeiten und Lernen
mit den beiden Kursen
01880
Computerunterstütztes kooperatives Arbeiten (CSCW)
Durchführung: in jedem Sommersemester, verteilt über das gesamte Semester
01883
SWS: 2+1
Computerunterstütztes kooperatives Lernen (CSCL)
Durchführung: in jedem Sommersemester, verteilt über das gesamte Semester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein oder drei Semester
SWS: 2+1
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (8 mal 20 Stunden): 160 Stunden
Bearbeitung der Einsendeaufgaben (8 mal 5 Stunden): 40 Stunden
Mitwirkung an den Diskussionen in der Kurs-Newsgroup: 30 Stunden
Wiederholung und Prüfungsvorbereitung: 70 Stunden
Inhalt:
Der Kurs 01880 behandelt verschiedene Aspekte der Rechnerunterstützung für
Gruppen von Personen, die gemeinsam an einem Problem arbeiten. Nach den
Grundlagen des kooperativen Arbeitens werden die im 3K-Modell definierten
Systemklassen, Kommunikation, gemeinsame Informationsräume, Workflow
Management und Workgroup Computing betrachtet und an Beispielen illustriert.
Abschließend widmet sich der Kurs der Realisierung von synchroner Groupware.
Der Kurs 01883 behandelt das Thema des computerunterstützten kooperativen
Lernens (CSCL) aus interdisziplinärer Sicht. Er bietet eine anwendungsorientierte
Einführung in das Forschungsgebiet CSCL und soll Erfahrung in der selbstständigen
Einarbeitung in ein interdisziplinäres Forschungsgebiet vermitteln. Dazu werden die
Themenbereiche Grundlagen, Werkzeuge, Didaktische Konzepte sowie
Umsetzungen und Perspektiven von CSCL behandelt.
Lernergebnisse / Kompetenzen:
Die Teilnehmer entwickeln ein vertieftes Verständnis über die interdisziplinären
Grundlagen und Forschungsmethoden im Forschungsgebiet CSCW/CSCL. Sie
können begründete Entwurfsentscheidungen bei der Entwicklung von CSCW/CSCLSystemen treffen und bestehende CSCW/CSCL-Systeme bzgl. ihrer Verwendbarkeit
in verschiedenen Anforderungssituationen auswählen und bewerten. Sie können
sich selbstständig interdisziplinäre Arbeiten erschließen und ein übergreifendes
Begriffsverständnis erarbeiten. Darüber hinaus können sie die Ergebnisse von
Evaluationsstudien bezüglich ihrer Aussagekraft beurteilen. Durch die Teilnahme an
Internet-Diskussionsgruppen wird das Einüben wissenschaftlicher Kommunikation
gefördert.
Literatur: Basistext zu 01883 ist das Buch: Haake, G. Schwabe, M. Wessner (Hrsg.): CSCLKompendium 2.0 - Lehr- und Handbuch zum computerunterstützten kooperativen
Lernen. Oldenbourg Verlag, München, 2012.
Teufel, S., C. Sauter, T. Mühlherr und K. Bauknecht: Computerunterstützung für
die Gruppenarbeit . Addison-Wesley, 1995.
Borghoff, U. M. und J. H. Schlichter: Computer-Supported Cooperative Work.
Springer-Verlag Berlin Heidelberg New York, 2000.
Schwabe, G., N. Streitz und R. Unland (Hrsg.): CSCW-Kompendium. SpringerVerlag Berlin Heidelberg New York, 2001.
Schümmer, Till und Stephan Lukosch: Patterns for Computer-Mediated Interaction.
Master of Science in Praktischer Informatik
01.12.2015
John Wiley & Sons, Ltd., 2007.
Inhaltliche Voraussetzungen:
Grundkenntnisse in Programmierung. Grundkenntnisse Betriebssysteme (Prozesse)
und Rechnernetze (Protokolle), z.B. aus Kurs 01801. Kenntnisse in Verteilten
Systemen (Kurs 01678) sind hilfreich.
Anmerkung:
Der Basistext muss vor Semesterbeginn beschafft werden.
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
in jedem Kurs Kursabschlussklausur oder
Klausurersatzgespräch bestanden
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Jörg M. Haake
Lehrende:
Jörg M. Haake
Master of Science in Praktischer Informatik
01.12.2015
Gestaltung Kooperativer Systeme
mit dem Kurs
01884
Gestaltung Kooperativer Systeme
Durchführung: in jedem Wintersemester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4+2
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden
Bearbeitung der Einsendeaufgaben: 50 Stunden
Mitwirkung an den Diskussionen in der Kurs-Newsgroup: 40 Stunden
Wiederholung und Prüfungsvorbereitung: 70 Stunden
Inhalt:
In diesem Kurs werden Gestaltungskonzepte kooperativer Systeme anhand von
Entwurfsmustern vermittelt. Diese werden in den Übungen am Entwurf eines
konkreten kooperativen Systems praktisch eingeübt. Neben dem gestalterischen
Aspekt betrachten die Teilnehmenden des Moduls philosophische und ethische
Grundlagen kooperativer Systeme. So wird diskutiert, wie Identität in virtuellen
Gemeinschaften herausgebildet, wie Gruppenprozesse unterstützt, Kommunikation
gestaltet und gegenseitige Wahrnehmung in kooperativen Systemen hergestellt
und in den Arbeitsalltag der Nutzenden eingebettet werden kann. Hierauf
aufbauend werden die Teilnehmenden in die Lage versetzt, in einem partizipativen
Entwurfsprozess ein kooperatives System sowohl aus Benutzungssicht als auch aus
technischer Sicht zu gestalten. Hierzu werden Entwurfsmuster als zentrales
Werkzeug eingesetzt. Diese sind auf verschiedenen Abstraktionsebenen angesiedelt
(Virtuelle Gemeinschaft, Arbeitsgruppe, Gruppenbewusstsein und Technologie) und
erlauben einen holistischen Blick auf computerunterstützte virtuelle
Gemeinschaften und Kleingruppen. Ergänzt werden die Muster durch konkrete
Beispiele kooperativer Systeme und neuere Trends (z.B. bei der Unterstützung
mobiler Kooperation). Basistext ist das Buch "Patterns for Computer- Mediated
Interaction" (s. Literatur).
Lernergebnisse / Kompetenzen:
Die Teilnehmenden entwickeln ein vertieftes Verständnis für das Design von
kooperativen Systemen, sowohl Kenntnisse auf technischer Gestaltungsebene als
auch auf sozio-technischer Ebene. Studierende können nach Abschluss des Moduls
Kooperationsprozesse analysieren und auf kooperative Systeme abbilden. Neben
diesen fachspezifischen Zielen verbessern die Studierenden wichtige
Schlüsselqualifikationen: Verteilte Kooperation über das Internet, Verständnis von
Gruppenprozessen und Gruppeninteraktion, Erschließung englischer Fachliteratur
und Bewertung der Folgen des Einsatzes von soziotechnischen Systemen.
Literatur: Basistext ist das Buch: Schümmer, Till und Stephan Lukosch: Patterns for ComputerMediated Interaction. John Wiley & Sons, Ltd., 2007
Crumlish, C. und Malone, E.: Designing Social Interfaces. O’Reilly, 2009.
Greenberg, S., Carpendale, S., Marquardt, N. und Buxton, B.: Sketching User
Experiences: The Workbook. Elsevier, 2011.
Gross, T. und Koch, M.: Computer-Supported Cooperative Work, Odenbourg,
2007.
Master of Science in Praktischer Informatik
01.12.2015
Neil, T.: Mobile Design Pattern Gallery. O’Reilly, 2014.
Preece, J., Rogers, Y. und Sharp, H.: Interaction Design. John Wiley & Sons, Ltd.,
2015.
Inhaltliche Voraussetzungen:
Englische Sprachkenntnisse; da der Kurs auf englischer Literatur basiert.
Anmerkung:
Der Basistext muss vor Semesterbeginn beschafft werden.
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene benotete mündliche Modulprüfung
Stellenwert Note:
1/6
Voraussetzung Anmeldung Prüfung: keine
oder
Leistungsnachweis (LN):
bestandene Kursabschlussklausur oder bestandenes
Klausurersatzgespräch
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Jörg M. Haake
Lehrende:
Till Schümmer
Master of Science in Praktischer Informatik
01.12.2015
Praktika
Programmierpraktikum
mit dem Kurs
01580
Programmierpraktikum
Durchführung: in jedem Semester
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Semester
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Programmieraufgaben: 250 Stunden
Überarbeitung der Teillösungen gemäß Rückmeldung (sofern notwendig): 40
Stunden
Teilnahme an Präsenzphase (sofern angekündigt): 10 Stunden
Inhalt:
Im Programmierpraktikum wird den Teilnehmenden eine Programmieraufgabe
vorgegeben, anhand derer die Teilnehmenden die Bedeutung der Modularisierung
schätzen lernen. Die Teilnehmenden bearbeiten die Programmieraufgabe zu Hause.
Während der Bearbeitungszeit werden die Fragen der Teilnehmenden mit Hilfe der
Praktikumsnewsgroup und per E-Mail von den Betreuenden beantwortet. Auf Basis
der eingereichten Teillösungen erhalten die Teilnehmenden detailliertes Feedback
und ggf. eine Aufforderung, innerhalb einer Nachfrist Änderungen durchzuführen.
Bei der Ankündigung des Praktikums wird darüber informiert, ob eine Präsenzphase
in Hagen stattfindet.Sofern eine Präsenzphase angekündigt wird, stellen die
Teilnehmenden ihre Lösung am Semesterende in Hagen vor.
Lernergebnisse / Kompetenzen:
Die Teilnehmenden können eine größere Programmieraufgabe selbstständig lösen
und hierzu ein objektorientiertes Programm entwerfen und realisieren, welches die
vorgegebene Anforderungsspezifikation erfüllt. Sie können dazu in einer modernen
objektorientierten Programmierumgebung (Java, Eclipse) ein Programm
implementieren, testen und dokumentieren. Die dabei anfallenden Dateien und
Versionen können sie mittels eines Versionenverwaltungssystems (z.B. CVS)
verwalten. Sie können zudem Kommentare und Änderungsspezifikationen
verstehen und umsetzen sowie fachbezogene Diskussionen mit den Betreuenden
führen.
Literatur: Inhaltliche Voraussetzungen:
Für die Teilnahme am Programmierpraktikum sind fundierte Java-Kenntnisse
erforderlich. Diese können im Kurs 01618 Einführung in die objektorientierte
Programmierung erworben werden.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Master of Science in Praktischer Informatik
01.12.2015
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Jörg M. Haake
Lehrende:
Hochschullehrende der Informatik
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum Eingebettete Systeme
mit dem Kurs
01514
Fachpraktikum Eingebettete Systeme
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Sommersemester
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Bearbeiten der Heim-Versuche (7 mal 30 Stunden): 210 Stunden
Vor- und Nachbereitung der Präsenzphase: 50 Stunden
Präsenzphase und Studientag: 40 Stunden
In diesem Fachpraktikum sollen die Studierenden in die Lage versetzt werden, ihr in
der Theorie (z. B. in den Kursen 1608, 1609 und 1706) erarbeitetes Wissen in der
Praxis anzuwenden. Dafür wird zum einen ein Mikrocontroller-System, zum
anderen ein frei programmierbares Logik-System (FPGA - Field Programmable Gate
Array) inklusive der benötigten Software-Entwicklungsumgebungen zur Verfügung
gestellt. Jeder Teilnehmer bzw. jede Teilnehmerin wird sich im Rahmen des
Praktikums intensiv mit einem der beiden Systeme auseinandersetzen.
- Die Entwicklung von Programmen für das Mikrocontroller-System erfolgt in
Assembler. Der Teilnehmer/die Teilnehmerin führt die Programmierung
verschiedener Steuer- und Regel-Anwendungen durch, die auf den Signalen
unterschiedlichster Sensoren basieren und die umfangreichen PeripherieKomponenten des Mikrocontrollers verwenden.
- Die Funktionalität des FPGA-Systems wird mittels einer HardwareBeschreibungssprache (VHDL - Very High Speed Integrated Circuit Hardware
Description Language) realisiert. Dazu wird ein erster Einstieg in VHDL geboten, in
dem die Grundstrukturen der Sprache vermittelt werden. Es werden einfache
Hardware-Komponenten, wie Schieberegister, Addierer usw., aber auch
komplexere Komponenten, wie z.B. Speichercontroller (SRAM, DRAM), realisiert.
Lernergebnisse / Kompetenzen:
Die Praktikumsteilnehmer sammeln praktische Erfahrungen mit den oben
genannten komplexen Hardware-Systemen und ihrer Programmierung. Dadurch
wiederholen und vertiefen sie den Stoff, der ihnen bereits aus grundlegenden
Kursen der Technischen Informatik (z.B. den FernUni-Kursen 1609
"Computersysteme II" und 1706 "Anwendungsorientierte Mikroprozessoren")
bekannt ist. Während der Präsenzphase lernen sie, komplexe Problemstellungen
zunächst in Kleingruppen zu bearbeiten und die erstellten Lösungen allen
Teilnehmer zu präsentieren und zu diskutieren. Nach Abschluss der Präsenzphase
müssen sie ihre Ergebnisse in einer ausführlichen Versuchsbeschreibung darstellen
und einsenden.
Literatur: Pong P. Chu: "Embedded SoPC design with Nios II processor and VHDL examples",
Wiley, 2011 (Dieses Buch wird den TeilnehmerInnen im Rahmen des Praktikums
geliehen.)
Kurs 01608 "Computersysteme I" und Kurs 01609 "Computersysteme II"
Kurs 01706 "Anwendungsorientierte Mikroprozessoren"
Master of Science in Praktischer Informatik
01.12.2015
optional: Helmut Bähring: "Anwendungsorientierte Mikroprozessoren:
Mikrocontroller und Digitale Signalprozessoren", Springer-Verlag, 2010
Inhaltliche Voraussetzungen:
Grundlagenwissen zu Mikroprozessoren, wie z.B. aus dem Kurs 1609
"Computersysteme II" und dem Kurs 1706 "Anwendungsorientierte
Mikroprozessoren", sowie grundlegende Programmier-Kenntnisse
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Helmut Bähring
Lehrende:
Helmut Bähring, Jörg Lenhardt, Andreas Kleimann
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum CSCW
mit dem Kurs
01592
Fachpraktikum CSCW
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
alle drei bis vier Semester
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten des Gruppenprojekts: 260 Stunden
Teilnahme an beiden Präsenzphasen: 40 Stunden
Inhalt:
Dieses Fachpraktikum behandelt Design und Implementierung von CSCW-Systemen
(Groupware). Die Teilnehmenden entwickeln in einer Projektgruppe ein konkretes
CSCW-System. Insbesondere werden Methoden für die Anforderungsermittlung,
den Entwurf, die Realisierung, den Test und die Dokumentation von GroupwareAnwendungen (d.h. von Anwendungen für die Unterstützung von Gruppenarbeit,
CSCW) erlernt und in der Gruppe eingeübt. Neben diesen technischen Aspekten
der Softwareentwicklung werden Methoden für die Organisation der Projektarbeit
("Software Engineering in the large") in einem verteilten Team behandelt. Im
Fachpraktikum nutzen die Projektgruppen moderne Entwicklungsumgebungen,
Groupware-Werkzeuge und Versionierungssysteme. Das Projektmanagement zur
Bearbeitung der Entwicklungsaufgabe wird vom Team durchgeführt. Die
Teilnehmenden des Praktikums erhalten die Möglichkeit, während des Praktikums
verschiedene Rollen aus der Projektarbeit einzuüben. Jedes Team stellt seine
Ergebnisse in einer Abschlusspräsentation vor.
Lernergebnisse / Kompetenzen:
Die Teilnehmenden entwickeln ein tiefergehendes Verständnis für die Probleme und
Lösungsalternativen bei der Realisierung von Groupware-Anwendungen und/oder
den zugrundeliegenden Frameworks/Toolkits. Sie können eine GroupwareAnwendung spezifizieren, entwerfen und in einer objektorientierten
Programmierumgebung realisieren, testen und dokumentieren. Sie besitzen die
Kompetenz zu verteilter Teamarbeit, insbesondere zur Wahrnehmung von Rollen
im Projektmanagement, bei der Nutzung verteilter Entwicklungsumgebungen sowie
in gemeinsamen Arbeitsumgebungen. Sie beherrschen den Einsatz von
Versionierungssystemen und Groupware-Werkzeugen zur Unterstützung der Arbeit
eines verteilten Projektteams.
Literatur: Literatur zu den genutzten Programmiersprachen und ggf. Frameworks wird zum
Beginn des Praktikums bekannt gegeben.
Inhaltliche Voraussetzungen:
Für die Teilnahme am Fachpraktikum sind fundierte Kenntnisse der
objektorientierten Software-Entwicklung (vor allem Design und Implementierung)
erforderlich. Hilfreich sind fundierte Kenntnisse in Verteilten Systemen und
Kooperativen Systemen, wie sie in den Kursen 01678 Verteilte Systeme, 1880
CSCW oder 1884 Gestaltung kooperativer Systeme erworben werden können.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Master of Science in Praktischer Informatik
01.12.2015
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Jörg M. Haake
Lehrende:
Jörg M. Haake
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum Erweiterbare Datenbanksysteme
mit dem Kurs
01590
Fachpraktikum Erweiterbare Datenbanksysteme
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in 2 von 3 WS
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Zum Praktikum gehören 3 kurze Präsenzphasen in Hagen zu Anfang, zwischen den
beiden Abschnitten, und am Ende des Semesters. Zwischen den Präsenzphasen
arbeiten die Teilnehmer miteinander und mit den Betreuern über das Internet
zusammen.
Inhalt:
Einarbeitung vor Beginn des Praktikums: 12 Stunden
Erste Präsenzphase: 20 Stunden
Bearbeiten von Programmieraufgaben des ersten Abschnitts: 120 Stunden
Zweite Präsenzphase: 24 Stunden
Teamarbeit des zweiten Praktikumsabschnitts: 120 Stunden
Abschlusspräsentation: 4 Stunden
Am Lehrgebiet "Datenbanksysteme für neue Anwendungen" wird seit einigen
Jahren ein Prototyp eines erweiterbaren Datenbanksystems, genannt SECONDO,
entwickelt. SECONDO implementiert kein festes DBMS-Datenmodell, sondern bietet
eine Architektur, einen Systemrahmen und wohldefinierte Schnittstellen für die
Realisierung verschiedener Datenmodelle. Als Erweiterungen kann man z.B.
Implementierungen von Nicht-Standard-Datentypen (Polygone, Bilder, chemische
Formeln, ...), neue Indexstrukturen oder Join-Methoden, Optimierungsregeln oder
Kostenfunktionen ins System einbringen.
Im Praktikum sollen kleine Gruppen von jeweils etwa 6 Personen
zusammenarbeiten. In einem ersten Praktikumsabschnitt ist eine Reihe von
Aufgaben zu bearbeiten, um Erweiterungstechniken für SECONDO
kennenzulernen. Im zweiten Abschnitt ist eine größere Erweiterungsaufgabe von
der Gruppe mit mehr Selbständigkeit und Kreativität zu lösen. In diesem Abschnitt
werden auch Erfahrungen des Projektmanagements vermittelt. Die gemeinsam
entwickelte Software wird in einem Versionierungssystem verwaltet, so dass schon
während der Entwicklung laufend Integrationstests möglich sind.
Lernergebnisse / Kompetenzen:
Nach erfolgreicher Teilnahme besitzen Studierende ein eingehendes Verständnis der
Architektur und Implementierung von Datenbanksystemen anhand eines konkreten
Systems, das über die in einem klassischen Kurs vermittelbaren Kenntnisse weit
hinausgeht. Sie sind in der Lage, Erweiterungen des Datenbanksystems für spezielle
Anwendungen auf der Ebene des Kernsystems und der graphischen
Benutzerschnittstelle einzubringen, ggf. auch des Optimierers. Sie können neue
Attributdatentypen für Relationen und Operationen für die Anfrageauswertung
implementieren. Sie können ein größeres Problem in Teilaufgaben zerlegen und die
verteilte Arbeit im Team über das Internet organisieren. Sie besitzen hervorragende
Voraussetzungen für eine Abschlussarbeit am Lehrgebiet "Datenbanksysteme für
neue Anwendungen" im Bereich erweiterbarer Datenbanksysteme und des
Master of Science in Praktischer Informatik
01.12.2015
Secondo-Prototypen.
Literatur: R.H. Güting, T. Behr, C. Düntgen: SECONDO: A Platform for Moving Objects
Database Research and for Publishing and Integrating Research Implementations.
IEEE Data Engineering Bulletin 33:2 (2010), 56-63.
R.H. Güting, V. Almeida, D. Ansorge, T. Behr, Z. Ding, T. Höse, F. Hoffmann, M.
Spiekermann: SECONDO: An Extensible DBMS Platform for Research Prototyping
and Teaching. 21st Intl. Conf. on Data Engineering (ICDE, Tokyo, Japan), 2005,
1115-1116.
R.H. Güting, T. Behr, C. Düntgen: Trajectory Databases. In: C. Renso, S.
Spaccapietra, E. Zimanyi (Eds.), Mobility Data: Modeling, Management and
Understanding. Cambridge University Press (2013), 42-61.
J. Lu, R.H. Güting: Parallel SECONDO: Practical and Efficient Mobility Data
Processing in the Cloud. SCDM, IEEE International Conference on Big Data, 2013.
F. Valdés, M.L. Damiani, R.H. Güting: Symbolic Trajectories in SECONDO: Pattern
Matching and Rewriting. 18th Intl. Conf. on Database Systems for Advanced
Applications, Wuhan, China, April 2013, 450-453.
Inhaltliche Voraussetzungen:
Gute Kenntnisse von Datenbanksystemen. Gute Programmierkenntnisse und fähigkeiten in C++ und Java. Wir gehen davon aus, dass gute Java-Programmierer
bereit und in der Lage sind, sich in die Programmierung in C++ einzuarbeiten; dies
sollte vor Beginn des Praktikums erfolgen. Wer PROLOG-Kenntnisse besitzt, hat die
Chance, Erweiterungen am Optimierer vorzunehmen (optional).
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Ralf Hartmut Güting
Lehrende:
Ralf Hartmut Güting
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum Prozessmodellierungswerkzeuge
mit dem Kurs
01593
Fachpraktikum Prozessmodellierungswerkzeuge
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
alle 2 bis 3 Jahre
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Praktikum mit zwei Präsenzphasen, eine zu Beginn und eine am Ende der
Veranstaltung
Präsenzphasen: 50 Stunden
Präsentationsvorbereitung: 10 Stunden
Entwurf und Implementierung von Algorithmen im Team: 240 Stunden
Inhalt:
Am Lehrgebiet "Softwaretechnik und Theorie der Programmierung" wird seit
einigen Jahren das Werkzeug "VIPtool" zur Synthese von Petrinetzen und anderen
Modellen verschiedener Prozessbeschreibungssprachen entwickelt. Es handelt sich
dabei um eine Java-basierte Plattform. Die Funktionalität des Werkzeugs wird durch
Plug-Ins bzw. durch das Zusammenspiel von Plug-Ins realisiert. Im Praktikum geht es
darum, neue Algorithmen im Bereich der Prozesssynthese zu entwickeln und durch
Plug-Ins zu realisieren. Dabei soll das Praktikum neben Erfahrungen in der
Implementierung komplexer Systeme Kompetenz für aktuelle relevante
Fragestellungen bei der Prozesssynthese vermitteln. Erfolgreiche Absolventen haben
eine sehr gute Grundlage für eine Abschlussarbeit in diesem Gebiet.
Lernergebnisse / Kompetenzen:
Erfolgreiche Absolventen verfügen über Erfahrungen in der projektorientierten
Softwareentwicklung, insbesondere in den Bereichen Planung, Umsetzung und
Integration verschiedener Softwaremodule in kleineren Gruppen. Da sich die
Funktionalitäten der zu entwickelnden Softwaremodule an die Forschungsthemen
des Lehrgebietes anlehnen, haben die Absolventen Kenntnisse im Bereich der
Prozessmodellierungssprachen und sind in der Lage, auf Grundlage
wissenschaftlicher Literatur effiziente Algorithmen zu implementieren.
Literatur: Inhaltliche Voraussetzungen:
Vertiefte Fertigkeiten in der Programmierung mit Java. Erfolgreiche Bearbeitung des
Kurses 1793. Sicherer Umgang mit mathematischer Notation. Wünschenswert sind
zudem Erfahrungen mit Prozessbeschreibungssprachen wie z.B. Petrinetze, BPMN,
EPK, UML activity diagrams, auch aus der beruflichen Praxis. Hilfreich ist auch der
erfolgreiche Besuch des Programmierpraktikums mit einem Thema aus diesem
Bereich.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
Master of Science in Praktischer Informatik
01.12.2015
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Jörg Desel
Lehrende:
Jörg Desel
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum Multimedia- und Internetanwendungen
mit dem Kurs
01594
Fachpraktikum Multimedia- und Internetanwendungen
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
1 x jährlich
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Präsenzphasen: 50 Stunden
Präsentationsvorbereitung: 10 Stunden
Entwurf und Implementierung von Algorithmen im Team: 240 Stunden
Inhalt:
Im Fachpraktikum Internet- und Multimediaanwendungen bieten wir den
Studierenden die Möglichkeit im Team ein webbasiertes Informationssystem mittels
aktueller Internettechnologien prototypisch zu erstellen. Mittels aktueller
Internettechnologien und offene Standards im Umfeld von serviceorientierten
Architekturen, Semantic Web, Datenmanagement und Information Retrieval
entstehen so Komponenten, Rahmenwerke und Anwendungen für die semantische
Datenanreicherung und Wiederverwendung von Daten. Die entsprechenden
Anforderungen ergeben sich aus diversen Forschungs- und Entwicklungsprojekten
die am Lehrgebiet durchgeführt werden. Die Bearbeitung der gestellten Aufgaben
erfolgt dabei modular in kooperierenden Kleingruppen. Die Natur der gestellten
Aufgaben setzt einen für die Softwareentwicklung entsprechend ausgestatteten
Rechner mit Internetzugang voraus. Die Kommunikation mit den Teilnehmern über
Skype oder Adobe Connect, mindestens aber per E-Mail, ist dabei unabdingbar.
Lernergebnisse / Kompetenzen:
Nach erfolgreicher Teilnahme am Fachpraktikum beherrschen Studierende den
praktischen Umgang mit neuesten Internettechnologien und sind in der Lage, die
Erfahrungen und Kompetenzen direkt im Berufsleben einzusetzen. Zudem
erwerben die Teilnehmer Erfahrungen und Kompetenzen in Teamarbeit und
Aufgabenorganisation im Team. Sie wissen, wie man Ziele eigenständig definiert
und wie diese durch Projekthandbücher durchgesetzt werden. Sie können
ausgeführte Arbeiten in einer Abschlusspräsentation vorstellen und vertreten. Sie
können schriftliche Dokumentationen und implementierte Module in einem
Versionierungssystem (Subversion) ablegen.
Literatur: Inhaltliche Voraussetzungen:
Kenntnisse in JAVA und objektorientierter Softwareentwicklung werden
vorausgesetzt, Erfahrungen im Umgang mit Eclipse, Maven und SVN sind
wünschenswert.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
Master of Science in Praktischer Informatik
01.12.2015
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Matthias Hemmje
Lehrende:
Matthias Hemmje
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum Programmiersysteme
mit dem Kurs
01595
Fachpraktikum Programmiersysteme
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
alle 2 bis 3 Jahre
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Gemeinsame Präsenzphase in Hagen und Abschlusspräsentation: 50 Stunden
Einarbeitung in die theoretischen Grundlagen: 25 Stunden
Entwicklung eines Softwaredesigns im Team: 25 Stunden
Planung und Durchführung der Implementierung: 150 Stunden
Entwurf und Implementierung von Testfällen: 50 Stunden
Domain Specific Languages (DSLs) sind das Mittel der Wahl, um ein Problem in
einem spezifischen Kontext, der Domäne, zu lösen. Sie werden so entworfen, dass
sie optimal auf die Darstellung der Probleme innerhalb der Domäne zugeschnitten
sind. Unterstützt wird die Entwicklung mit DSLs durch passende
Entwicklungsumgebungen.
Im Rahmen des Fachpraktikums soll für eine vorgegebene DSL von Grund auf eine
Entwicklungsumgebung geschaffen werden, welche das Arbeiten mit der DSL
erlaubt. Die Entwicklungsumgebung soll dabei unter anderem einen Parser, einen
Compiler und einen Texteditor mit Syntaxhervorhebung und
Werkzeugunterstützung für das Schreiben von Code umfassen.
Zwar existieren zahlreiche Werkzeuge, welche bei der Implementierung von DSLs
unterstützen, jedoch soll im Rahmen dieses Praktikums bewusst auf die
Verwendung solcher Systeme verzichtet werden, um die Konzeption und
Implementierung eines komplexen Programms an einem überschaubaren Beispiel
zu üben.
Das Praktikum wird in Gruppen zu 4-5 Studierenden durchgeführt. Die Teams
sollen sich und insbesondere ihren Entwicklungsprozess selbst organisieren. Für die
Entwicklung der Software ist ein Versionskontrollsystem einzusetzen, welches vom
Lehrgebiet zur Verfügung gestellt wird. Die Ergebnisse werden in einem
Abschlussgespräch per Webkonferenz präsentiert.
Lernergebnisse / Kompetenzen:
Nach Abschluss des Moduls
- sind Studierende in der Lage, in Gruppenarbeit ein größeres Programm zu
erstellen.
- können sie zu einer gegebenen Grammatik einen Scanner und Parser entwerfen.
- sind sie in der Lage, für eine gegebene Sprache Semantikprüfung und
Codegenerierung zu implementieren.
- wissen sie, wozu Regressionstests wichtig sind, und können sie in Programme
einbinden.
Literatur: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Monica S. Lam. Compilers: Principles,
Techniques, and Tools, Second Edition (Pearson Education, Inc, 2006)
Inhaltliche Voraussetzungen:
Master of Science in Praktischer Informatik
01.12.2015
Das Fachpraktikum richtet sich an Studierende mit Interesse an
anwendungsorientierter, objektorientierter Programmierung. Die Aufgabe ist
dergestalt aufgebaut, dass unterschiedlichste Problemfelder berührt werden, wie
etwa Parser, Semantikprüfer, Codegeneratoren, Tests – Interesse in Richtung eines
dieser Felder wird also benötigt.
Weiterhin wird der sichere Umgang mit wenigstens einer bekannten,
objektorientierten Programmiersprache, wie zum Beispiel Java (der über eine
Belegung des Kurses 01618 hinausgeht und beispielsweise in einem
Programmierpraktikum erworben wurde), vorausgesetzt.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Friedrich Steimann
Lehrende:
Friedrich Steimann
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum Simulation von diskreten Produktionssystemen
mit dem Kurs
01596
Fachpraktikum Simulation von diskreten Produktionssystemen
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
alle 2 bis 3 Jahre
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Bearbeiten der Aufgaben des Fachpraktikums 210 Stunden, Vorbereitung und
Durchführung der Präsenztage in Hagen 90 Stunden
Inhalt:
Im Fachpraktikum werden anhand von vorgegebenen Problemstellungen aus der
Produktionsdomäne Simulationsstudien unter Verwendung eines gegebenen
kommerziellen Simulators in kleinen Gruppen durchgeführt. Die zu bearbeitenden
Problemstellungen sind typischerweise an praxisrelevante Fragestellungen, zumeist
aus der Hochtechnologiebranche, angelehnt. Nach einer Analyse der zu lösenden
Probleme werden geeignete Simulationsmodelle entwickelt. Diese werden in einem
ersten Schritt verifiziert und validiert. Anschließend werden mit Hilfe dieser
Simulationsmodelle die in der jeweiligen Simulationsstudie zu beantwortenden
Fragen untersucht. Falls die Standard-funktionalität des Simulators nicht ausreicht,
sind geeignete Erweiterungen der Funktionalität unter Verwendung der
Programmiersprache C++ vorzunehmen. Die Ergebnisse sind unter Verwendung
von einfachen statistischen Methoden auszuwerten und zu interpretieren.
Vorschläge zur Lösung der Problemstellungen sind zu entwickeln und im Rahmen
eines Vortrags vorzustellen und zu begründen.
Lernergebnisse / Kompetenzen:
Die Studierenden lernen, eigenständig Simulationsstudien durchzuführen. Es
werden weiterhin Kenntnisse in der problemspezifischen Anpassung kommerzieller
Simulationssoftware erworben. Die Studierenden sind dazu befähigt, eigenständig
eine Problemanalyse durch zuführen und darauf aufbauend Simulationsmodelle zu
entwickeln. Sie sind in der Lage, Simulationsmodelle eigenständig zu verifizieren
und zu validieren. Die Studierenden sind dazu befähigt, die Ergebnisse der
Simulationsstudie unter Verwendung einfacher statistischer Methoden auszuwerten
und zu interpretieren. Die Studierenden sind in der Lage, die Ergebnisse einer
Simulationsstudie überzeugend zu präsentieren. Sie erkennen die Möglichkeiten
und die Grenzen der stochastischen diskreten Simulation.
Literatur: Law, A. M. Simulation Modeling and Analysis, 4. Auflage, McGraw Hill, 2007.
B. L. Nelson. Foundations and Methods of Stoachastic Simulation: A First Course.
Springer, 2013.
Inhaltliche Voraussetzungen:
Erfolgreicher Abschluss des Moduls "Entscheidungsmethoden in
unternehmensweiten Softwaresystemen"
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Master of Science in Praktischer Informatik
01.12.2015
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Lars Mönch
Lehrende:
Lars Mönch
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum Parallel Programming
mit dem Kurs
01597
Fachpraktikum Parallel Programming
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
alle 2 bis 3 Jahre
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Erstellung eines Pflichtenhefts für die Praktikumsaufgabe 50 Stunden,
Erarbeitung eines Softwarekonzepts im Team 50 Stunden,
Implementierung und Test der Software 150 Stunden
Studientage und Präsentation der Software 50 Stunden
Inhalt:
Heutige Parallelrechner bestehen häufig aus Standard-PCs, die über ein schnelles
Verbindungsnetzwerk miteinander verbunden sind. Im Fachpraktikum soll eine
größere Programmieraufgabe auf einem derartigen Cluster-Computer in Gruppen
von drei bis fünf Teilnehmern gelöst werden. Die Aufgabenstellung wird am
Anfang des Semesters während eines Präsenztermins in Hagen bekanntgegeben
und ausführlich erläutert. Außerdem wird in die Benutzung des Cluster-Computers
eingeführt, es werden die Teams gebildet und Strategien zum Projektmanagement
festgelegt. Bei der kooperativen Softwareentwicklung werden
Versionierungssysteme verwendet. Die erarbeiteten Lösungen werden am Ende des
Semesters bei einer zweiten Präsenzphase in Hagen durch eine
Abschlusspräsentation vorgestellt und mit den Betreuern diskutiert. Die
Programmierung erfolgt in der Programmiersprache C/C++. Mit Hilfe der
standardisierten Programmierschnittstellen PVM und MPI wird der
nachrichtenbasierte Datenaustausch der parallel auf dem Cluster-Computer
ablaufenden Tasks programmiert.
Lernergebnisse / Kompetenzen:
Nachdem die Studierenden das Modul bearbeitet haben, können sie komplexe
Problemstellungen in Teamarbeit lösen, parallelisierbare Komponenten
identifizieren, auf die Ziel-Prozessorarchitektur verteilen, eine
Softwareimplementierung für diese Rechnerarchitektur konstruieren, Testfälle
generieren und damit die parallele Implementierung evaluieren, Fehler in der
Implementierung identifizieren und beheben, Optimierungsmöglichkeiten
gegenüberstellen und beurteilen, die Implementierung rekonstruieren und somit
eine möglichst gut angepasste parallele Softwareimplementierungen für die
gegebene Problemstellungen entwickeln.
Literatur: Wird je nach Aufgabenstellung bekanntgegeben
Inhaltliche Voraussetzungen:
Erfolgreicher Abschluss des Moduls "Parallel Programming", Kurs 01727 (Parallele
Programmierung und Grid Computing) oder der Nachweis einer gleichwertigen
Qualifikation. Gute Programmierkenntnisse in C.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Master of Science in Praktischer Informatik
01.12.2015
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Wolfram Schiffmann
Lehrende:
Jörg Keller, Wolfram Schiffmann
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum für verteilte Kooperative und Mobile Anwendungen
mit dem Kurs
01598
Fachpraktikum für verteilte Kooperative und Mobile Anwendungen
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
in jedem Wintersemester
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Präsenzphase 70 Stunden, Heimarbeit 230 Stunden
Inhalt:
Im Fachpraktikum für verteilte Kooperative und Mobile Anwendungen bieten wir
den Studierenden die Möglichkeit, im Team ein komplexes Softwareprodukt
aufgrund aktueller Internettechnologien zu erstellen. In diesem Praktikum werden
Dienste ähnlich der bekannten sozialen Netze (Facebook, hi5, Xing, linkedin, …)
erstellt und erweitert, oder mobile Systeme unter Google Android auf der
Grundlage von Service-basierten Architekturen erstellt. Als Basistechnologien
innerhalb dieses Fachpraktikums setzen wir die offenen Standards (z.B. die des
W3C), Service-orientierte Architekturen, Subversion und Java/JavaScript/J2EE ein.
Die Bearbeitung der gestellten Aufgaben erfolgt in Kleingruppen. Die Natur der
gestellten Aufgaben setzt einen entsprechend ausgestatteten Rechner mit
Internetzugang voraus. Die Kommunikation mit den Teilnehmern über Skype oder
Jabber und mit Email, ist dabei unabdingbar.
Lernergebnisse / Kompetenzen:
Nach erfolgreicher Teilnahme am Fachpraktikum können Studierende die neuesten
Internettechnologien praktisch anwenden. Sie haben Erfahrungen in Teamarbeit
und Aufgabenorganisation erworben. Sie wissen außerdem, wie man Ziele
eigenständig definiert und wie diese durch Projekthandbücher durchgesetzt
werden. Sie haben Erfahrungen mit dem Einsatz von
Projektmanagementprogrammen und sie können mit einem Versionskontrollsystem
umgehen.
Literatur: Inhaltliche Voraussetzungen:
Kenntnisse in JAVA und objektorientierter Softwareentwicklung werden
vorausgesetzt, Erfahrungen im Umgang mit Eclipse, Maven und SVN sind
wünschenswert.
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung;
Bestehen eines Eingangstests, der während der
Master of Science in Praktischer Informatik
01.12.2015
vorlesungsfreien Zeit verschickt wird
Modulverantwortliche/r: Dominic Heutelbeck
Lehrende:
Dominic Heutelbeck
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum IT-Sicherheit
mit dem Kurs
01599
Fachpraktikum IT-Sicherheit
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
alle 2 bis 3 Jahre
Dauer Modul:
ein Semester
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Bearbeitung Aufgaben Phase 1: 150 Stunden
Bearbeitung Aufgaben Phase 2: 100 Stunden
Dokumentation u. Präsentation: 50 Stunden
Inhalt:
In diesem Fachpraktikum sollen die in den Kursen Sicherheit im Internet I+II
vermittelten Kenntnisse anhand praktischer Aufgabenstellungen angewendet
werden. Jeder Praktikumsteilnehmer erhält Zugang zu einem zentralen
Übungsrechner, auf dem er einen eigenen virtuellen Linux-Rechner schützen soll.
Hierzu sind ein gesicherter Zugang (VPN), eine Firewall, ein Application-Level
Gateway, ein Intrusion Detection System und weitere Werkzeuge zur Sicherung zu
installieren, zu konfigurieren und zu testen. Anschließend wird in Gruppen eine
größere Aufgabenstellung wie die Installation und Konfigurationen eines VPN
zwischen mehreren Gruppen kollaborativ gelöst. Neben diesen Arbeiten obliegt
auch die Organisation des Managements dieses Projekts den Studierenden. Die
erarbeiteten Lösungen werden versioniert (z.B. cvs, subversion) und am Ende des
Semesters in einer Präsenzphase in Hagen vorgestellt und mit den Betreuern
diskutiert.
Lernergebnisse / Kompetenzen:
Nach erfolgreicher Bearbeitung können Studierende die üblichen Werkzeuge der IT
Sicherheit bedienen und konfigurieren. Sie sind in der Lage, die Funktionsfähigkeit
von Firewalls nach Änderungen der Konfiguration zu überprüfen. Sie kennen die
relevanten Log-Dateien und können die Bedeutung von Einträgen interpretieren.
Die Teilnehmer sind in der Lage, sich in einem Team zu organisieren, effizient an
der Lösung einer Aufgabe zu arbeiten, und die dabei auftretenden Differenzen
einer Lösung zuzuführen. Die Teilnehmer können ihre Entscheidungen und
Maßnahmen bei Administration und Installation von Werkzeugen der IT-Sicherheit
begründen und präsentieren.
Literatur: Inhaltliche Voraussetzungen:
Erfolgreiche Bearbeitung eines der Kurse 01866 oder 01867 Sicherheit im Internet
I/II bzw. äquivalente Kenntnisse
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Master of Science in Praktischer Informatik
01.12.2015
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Jörg Keller
Lehrende:
Jörg Keller
Master of Science in Praktischer Informatik
01.12.2015
Fachpraktikum Mensch-Computer-Interaktion
mit dem Kurs
01513
Fachpraktikum Mensch-Computer-Interaktion
Durchführung: s. http://www.fernuni-hagen.de/mathinf/studium/lehre/praktika/informatik_vorschau
Arbeitsaufwand:
300 Stunden
ECTS-Punkte:
10
Häufigkeit:
alle 2 bis 3 Jahre
Dauer Modul:
ein Semster
SWS: 4
Detaillierter studentischer Arbeitsaufwand:
Bearbeitung des Projektes: 250 Stunden
Präsentation der Ergebnisse: 50 Stunden
Inhalt:
Im Fachpraktikum des Lehrgebiets Mensch-Computer-Interaktion werden aktuelle
Probleme aus dem Bereich der Entwicklung interaktiver und intelligenter Systeme
bearbeitet. Dazu gehören insbesondere die Verarbeitung komplexer Sensorsignale
wie etwa Video-, Audio- oder 3DDaten sowie die Anwendung von Methoden des
maschinellen Lernens (z.B. Reinforcement Learning). Auch Verfahren des
maschinellen Sehens wie z.B. bild- oder videobasierte Merkmalerkennung oder
Segmentierung können zum Aufgabenspektrum des Fachpraktikums gehören.
Darüber hinaus können je nach Aufgabenstellung auch Roboter des
Interaktionslabors in Hagen verwendet werden, für deren Steuerung die
Studierenden Ihre Lösungsansätze zunächst in Simulationen testen, bevor sie in der
Abschlussphase des Fachpraktikums auf den realen Robotern zum Einsatz kommen.
Das entwickelte Softwaresystem wird in einer Abschlussveranstaltung präsentiert.
Lernergebnisse / Kompetenzen:
Erfolgreiche Absolventinnen und Absolventen verfügen nach dem Praktikum über
Kenntnisse des aktuellen Forschungsstands eines Gebietes der Entwicklung
interaktiver und intelligenter Systeme. Sie haben die Fähigkeit erworben, auf der
Grundlage von wissenschaftlicher Originalliteratur eigene Lösungskonzepte für
aktuelle Forschungsfragen der Mensch-Computer-Interaktion zu entwickeln. Im
Rahmen der Softwareentwicklung in Teamarbeit haben die Absolventen und
Absolventinnen eine koordinierte Arbeitsteilung zur gemeinsamen Lösung eines
komplexen Problems erlernt. Dies umfasst die Ausbildung bestimmter Rollen im
Projektmanagement (z.B. Projektleitung), die Verwendung von kollaborativen
Entwicklungswerkzeugen (z.B. git) und eine fachgerechte Dokumentation der
Komponenten des implementierten Systems. Darüber hinaus sind sie in der Lage,
ihre Arbeiten in einer Abschlussveranstaltung zu präsentieren und zu vertreten.
Literatur: wird je nach Aufgabenstellung bekanntgegeben
Inhaltliche Voraussetzungen:
Die in den Kursen „Interaktive Systeme I + II“ erworbenen oder äquivalente
Kenntnisse sind wünschenswert. Des Weiteren sollen die Teilnehmer und
Teilnehmerinnen über praktische Programmiererfahrung in den Sprachen C/C++
oder Java verfügen.
Anmerkung:
Keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Master of Science in Praktischer Informatik
01.12.2015
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
erfolgreich bearbeitete Praktikumsaufgabe
Voraussetzung Anmeldung LN: Teilnahmevoraussetzung: eine bestandene mdl. Prüfung
Modulverantwortliche/r: Gabriele Peters
Lehrende:
Gabriele Peters
Master of Science in Praktischer Informatik
01.12.2015
Betriebspraktikum
mit einem
Betriebspraktikum
Durchführung: ständig
SWS: -
Arbeitsaufwand:
900 Stunden
ECTS-Punkte:
30
Häufigkeit:
ständig
Dauer Modul:
mehrere Monate
Detaillierter studentischer Arbeitsaufwand:
Das Betriebspraktikum wird in einem Unternehmen oder einer Organisation durch
Durchführung konkreter Aufgaben und Tätigkeiten aus der Praktischen Informatik
geleistet. Der Studierende verfasst einen Praktikumsbericht (Mustervorlage im
Studiengangsportal rechts auf der Seite "Anrechnungen"), in dem er die
durchgeführten Aufgaben und Tätigkeiten mit dem jeweiligen Stundenumfang
auflistet und kurz inhaltlich skizziert. Der Arbeitgeber bestätigt die Richtigkeit der
im Bericht gemachten Angaben (insbesondere durchgeführte Aufgaben und
Tätigkeiten mit dem jeweiligen Stundenumfang). Der Studierende reicht den
Praktikumsbericht mit der Bestätigung des Arbeitgebers ein. Der
Modulverantwortliche prüft die Unterlagen, führt bei Unklarheiten Gespräche mit
dem Arbeitgeber oder dem Studierenden, und stellt bei Erfüllung der
Anforderungen den Leistungsnachweis aus. Bei Problemen während der
Durchführung des Betriebspraktikums steht der Modulverantwortliche als
Ansprechpartner zur Verfügung.
Inhalt:
Studierende mit weniger als 210 ECTS-Punkten im Studiengang, der
Zugangsvoraussetzung ist, können im Betriebspraktikum durch den Nachweis
berufspraktischer Erfahrungen und Kompetenzen in der Praktischen Informatik 30
ECTS-Punkte erwerben.
Lernergebnisse / Kompetenzen:
Das Betriebspraktikum vermittelt den Studierenden durch Durchführung konkreter
Aufgaben und Tätigkeiten aus der Praktischen Informatik in einem Unternehmen
oder einer Organisation berufspraktische Erfahrungen und Kompetenzen in der
Praktischen Informatik. Sie lernen typische Aufgaben und Tätigkeiten aus der
Praktischen Informatik kennen, die für die spätere Berufspraxis relevant sind.
Weiterhin unterstützen diese Erfahrungen die Einordnung der Studieninhalte vor
dem Hintergrund konkreter Berufspraxis. Da die Spannbreite relevanter
Erfahrungen und Kompetenzen groß und auch abhängig vom gewählten
Unternehmen bzw. der gewählten Organisation ist, verfasst der Studierende einen
Praktikumsbericht, in dem er die durchgeführten Aufgaben und Tätigkeiten mit
dem jeweiligen Stundenumfang auflistet und kurz inhaltlich skizziert.
Literatur:
Inhaltliche Voraussetzungen:
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Master of Science in Praktischer Informatik
01.12.2015
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
posisitv begutachteter Praktikumsbericht
Voraussetzung Anmeldung LN: bei Abgabe des Praktikumsberichts: eine bestandene mdl.
Prüfung
Modulverantwortliche/r: Jörg M. Haake
Lehrende:
Betreuende im Unternehmen
Master of Science in Praktischer Informatik
01.12.2015
Seminare
Seminar
mit einem von
ca. 10 Seminaren
Durchführung: in jedem Semester
Arbeitsaufwand:
150 Stunden
ECTS-Punkte:
5
Häufigkeit:
in jedem Semester
Dauer Modul:
ein Semester
SWS: 2
Detaillierter studentischer Arbeitsaufwand:
Inhalt:
Themenauswahl: 8 Stunden
Erarbeiten der vorgegebenen Literatur und weitere Literaturrecherche, Lesen
weiterer Artikel: 40 Stunden
Erstellen der schriftlichen Ausarbeitung: 40 Stunden
Erstellen der Präsentation, Üben des Vortrags: 40 Stunden
Präsenzphase: 12 - 24 Stunden
Seminare sind einem bestimmten Thema gewidmet und haben eine begrenzte
Teilnehmerzahl. Wegen der Berufstätigkeit der Studierenden werden die
Präsenzphasen an der Fernuniversität gewöhnlich in Kompaktform an einem
Wochenende in Hagen durchgeführt. Studierende bekommen von den
Betreuenden ein Thema und Literaturhinweise. Sie lesen die angegebene Literatur
und suchen selbständig weitere Literatur zum Thema. Sie erstellen eine schriftliche
Ausarbeitung. Oft ist vorher eine Gliederung mit der Betreuerin oder dem Betreuer
abzusprechen. Sie erstellen eine Präsentation, die mit einem Laptop vorführbar ist.
Die Betreuenden geben auch dafür Hinweise.
Zur Präsenzphase des Seminars treffen sich alle Teilnehmerinnen und Teilnehmer
und die Betreuenden in Hagen. Die Studierenden halten ihre Vorträge; die
entsprechenden Inhalte werden - auch vortragsübergreifend - diskutiert. Die
Studierenden erhalten Rückmeldung von den Betreuenden zur Qualität ihrer
Präsentation und der schriftlichen Ausarbeitung.
Ein Teil der Seminare wird als virtuelles Seminar - also komplett über das Internet durchgeführt. Seminarbeiträge werden in netzbasierten Kleingruppen erstellt und
zum Abschluss des Seminars in einem Vortrag präsentiert. Daher sind eine schnelle
Internetverbindung (>= ISDN) und ein multimediafähiger PC (Mikrofon, Kopfhörer
und Soundkarte) unabdingbar.
Seminare werden mit jeweils neuen, aktuellen Inhalten angeboten. Deshalb gibt es
hier im Modulhandbuch nur eine allgemeine Beschreibung.
Lernergebnisse / Kompetenzen:
Nach erfolgreicher Teilnahme können Studierende
- ein wissenschaftliches Thema anhand vorgegebener Literaturhinweise erarbeiten,
- selbständig weitere Literatur zum Thema suchen,
- englische Informatik-Artikel lesen und verstehen,
- Inhalte strukturieren und mit eigenen Beispielen darstellen,
- eine schriftliche Ausarbeitung erstellen,
Master of Science in Praktischer Informatik
01.12.2015
- eine Bildschirmpräsentation erstellen,
- technische Inhalte vor einem Publikum erklären,
- auf Fragen aus dem Publikum angemessen eingehen.
Literatur: Je nach Thema
Inhaltliche Voraussetzungen:
je nach Thema
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
in diesem Studiengang nicht möglich
Stellenwert Note:
Voraussetzung Anmeldung Prüfung:
oder
Leistungsnachweis (LN):
erfolgreiche Seminarteilnahme (Ausarbeitung und Vortrag)
Voraussetzung Anmeldung LN: keine
Modulverantwortliche/r: Ralf Hartmut Güting
Lehrende:
Hochschullehrende des Fachs Informatik in der Fakultät für Mathematik und
Informatik
Master of Science in Praktischer Informatik
01.12.2015
Abschlussmodul
Abschlussmodul
mit einer
Abschlussarbeit
mit Abschlusskolloquium
Durchführung: ständig
SWS: -
Arbeitsaufwand:
450 Stunden
ECTS-Punkte:
15
Häufigkeit:
ständig
Dauer Modul:
3 Monate im Vollzeitstudium, 6 Monate im Teilzeitstudium
Detaillierter studentischer Arbeitsaufwand:
Die Verteilung des Aufwands kann je nach Thema, Vorkenntnissen, Art der Arbeit
und Stil der Betreuung stark variieren, hier nur ein Beispiel:
Inhalt:
- Einarbeitung in die Thematik der Abschlussarbeit, Literaturrecherche und studium, Vertrautmachen mit existierender Softwareumgebung: 80 Stunden
- Gesprächstermine mit der Betreuerin / dem Betreuer und Mitarbeitern des
betreuenden Lehrgebiets (mit Anreise), Abschlusspräsentation (u.a. abhängig von
Entfernung, Art der Kommunikation): 4-6 mal 4-8 Stunden, also etwa 20 - 50
Stunden
- Eigene Entwicklung, Analyse des Problems, Entwurf, Implementierung, Tests und
Experimente: 230 Stunden
- Erstellen der schriftlichen Ausarbeitung und der Abschlusspräsentation: 100
Stunden
Das Abschlussmodul besteht aus einer Abschlussarbeit und einem zugehörigen
Kolloquiumsvortrag vor dem/der betreuenden Prüfenden. Die Abschlussarbeit ist
eine Prüfungsarbeit in Informatik. Abschlussarbeiten in anderen Fächern sind nicht
möglich. Die Abschlussarbeit soll ohne Anlagen einen Umfang von 70 Seiten nicht
überschreiten. Die Bearbeitungszeit beträgt im Vollzeitstudium 3 und im
Teilzeitstudium 6 Monate.
Die Lehrenden bieten Themen an, entweder von sich aus (auch z.B. über die
Webseiten des Lehrgebiets) oder auf Anfrage von Studierenden. In einer
Vorbereitungsphase finden relativ viele Diskussionen zwischen Betreuenden und
Studierenden statt, während der/die Studierende sich in das Thema einarbeitet. In
dieser Phase sind normalerweise Treffen in Hagen erforderlich, zu denen die/der
Studierende also anreisen muss. Auch später sind gewöhnlich direkte Gespräche
zwischen Studierenden und Betreuenden in Hagen nötig. Daneben erfolgt die
Kommunikation zwischen dem/der Studierenden und der Betreuerin oder dem
Betreuer natürlich auch über E-Mail oder Telefon, teilweise auch über
computergestützte Videokonferenztechniken.
Die technische Umgebung für die Durchführung von Abschlussarbeiten wird von
der Fernuniversität bei Bedarf bereitgestellt. So gibt es einen Pool von Laptops, die
für Abschlussarbeiten an Studierende verliehen werden. Das betreuende Lehrgebiet
stellt die für die Durchführung der Aufgabe benötigte spezielle SoftwareUmgebung bereit. Die/der Studierende erarbeitet die Literatur, entwickelt eigene
kreative Beiträge (Algorithmen, Modelle, Beweise, Software-Prototypen). Sie/er
Master of Science in Praktischer Informatik
01.12.2015
beschreibt den Literatur-Hintergrund und ihre/seine eigenen Beiträge in einer
schriftlichen Ausarbeitung. Die Arbeit wird nach Abgabe vom Betreuenden und
einer weiteren Professorin oder einem weiteren Professor begutachtet und
bewertet.
Die abschließende Präsentation im Kolloquium wird ähnlich wie ein Seminarvortrag
erarbeitet, wobei die Inhalte und das Umfeld der Arbeit dargestellt werden. Eine
gesonderte schriftliche Ausarbeitung ist nicht mehr erforderlich, da ja die
Abschlussarbeit vorliegt. Die Präsentation wird analog zu einem Seminar,
gewöhnlich per Laptop und Projektor durchgeführt. Dabei kann auch vom
Studierenden erstellte Software vorgeführt werden.
Lernergebnisse / Kompetenzen:
Die Abschlussarbeit zeigt, dass die Kandidatin oder der Kandidat gründliche
Fachkenntnisse erworben hat und in der Lage ist, innerhalb einer vorgegebenen
Frist ein Problem aus dem Fach selbständig mit wissenschaftlichen Methoden zu
bearbeiten. Dazu gehört das Erfassen und Auswerten der relevanten Literatur. In
Einzelfällen kann das Thema einer solchen Arbeit darin bestehen, die existierende
Literatur zu sichten und strukturiert darzustellen. Normalerweise wird aber auch
eine eigenständige kreative Leistung dazugehören, also z.B. das Entwickeln neuer
Algorithmen, die (Weiter-) Entwicklung theoretischer Modelle, die Entwicklung und
prototypische Implementierung neuartiger Software-Komponenten. Die MasterAbsolventin oder der Master-Absolvent hat mit bestandener Abschlussarbeit
demonstriert, dass sie/er in der Lage ist, die erlernten Kenntnisse und Methoden der
Informatik selbständig auf neue Problemstellungen anzuwenden.
Literatur: themenabhängig
Inhaltliche Voraussetzungen:
Inhalte und Fähigkeiten des vorausgehenden Masterstudiums
Anmerkung:
keine
Vergabe von Leistungspunkten (Modulabschluss):
Prüfung:
bestandene Abschlussarbeit mit Kolloquium
Stellenwert Note:
1/3
Voraussetzung Anmeldung Prüfung: bei Anmeldung der Arbeit: drei bestandene mdl.
Prüfungen
oder
Leistungsnachweis (LN):
wird nicht angeboten oder ist nicht im Studiengang
nutzbar
Voraussetzung Anmeldung LN:
Modulverantwortliche/r: Ralf Hartmut Güting
Lehrende:
Hochschullehrende der Fakultät für Mathematik und Informatik
Master of Science in Praktischer Informatik
01.12.2015