modul 2

Werbung
Spezialisierungs- und Wahlmodule
für die Bachelorstudiengänge
„Allgemeine Informatik“ und
„Computer Networking“
– Beispiele –
Die Fakultät Informatik bietet im Hauptstudium Spezialisierungs- und Wahlmodule von jeweils 6
Leistungspunkten an.
Da die Spezialisierungs- und insbesondere die Wahlmodule den aktuellen Anforderungen der Technik und der Praxis entsprechen sollen, werden diese Module vor dem Semesterbeginn anhand einer
detaillierte Beschreibung per Aushang bekannt gegeben.
Dieser Abschnitt des Katalogs enthält einige Beispiele solcher Module.
Stand: 03.02.06
43
Human Computer Interface
Veranstaltungen (SWS), Leistungspunkte, Zyklus:
Vorlesung (2 SWS) + Praktikum (2 SWS), 6 ECTS, siehe Aushang
Dozent:
Prof. Dr. Gerd Unruh, Prof. Dr. Gläser
Stellung im Studiengang lt. SPO:
Bachelor AI: Spezialisierungsmodul
Bachelor CN: Spezialisierungsmodul
Lehrziele:
Grundlegende Konzepte der Schnittstellen zwischen Mensch und Maschine sollen verstanden sein.
Einige beispielhafte Verfahren sollen praktisch beherrscht werden. Das schließ Kenntnisse in Programmierrahmenwerken (z.B. OpenGL, Java3D, C#, .Net...) ein.
Lehrinhalte:
Visualisierung komplexer Sachverhalte spielt eine immer größere Rolle in der Mediengesellschaft.
Es sollen die Paradigmen der Erzeugung von virtuellen drei – dimensionalen Welten aufgezeigt
werden.
Außerdem wird eine Einführung in die Gestaltung und Programmierung von graphischen Bedienoberflächen gegeben. Besondere Beachtung wird hierbei den Softwareengineering Aspekten geschenkt (Model View Control - Architektur).
Im Praktikum sollen die in der Vorlesung erarbeiteten Konzepte ausprobiert werden.
Literatur-Empfehlung:
http://java.sun.com/products/java-media/3D/collateral/
Lutz, Emmel, Java3d - Der Grundkurs, Verlag Harri Deutsch
J. Encarnação et. al., Graphische Datenverarbeitung 1, R. Oldenbourg Verlag
Naheliegende Kombination mit Wahl- und Spezialisierungsmodulen:
Eine Kombination mit dem Spezialisierungsmodul künstliche Intelligenz ist für Interessierte an der
Entwicklung von Computerspielen interessant.
Stellenwert in der Praxis:
Praktisch jedes kommerzielle Programm besitzt ein graphische Bedienoberfläche. Jeder Informatiker muss sich daher mit ihren Techniken vertraut machen.
Aufwendigere Visualisierungstechniken kommen in technischen Anwendungen und ganz allgemein
bei der Darstellung von Daten (Geologie, Wirtschaft, ...) immer mehr zum Einsatz. Im Spiele-Bereich
sind sie ganz unverzichtbar. In einer multi-medialen Zukunft haben 3D Techniken einen essentiellen
Stellenwert.
Sonstige Hinweise (z. B. Voraussetzungen):
Vorraussetzungen für dieses Modul sind Programmierkenntnisse.
Stand: 03.02.06
44
Künstliche Intelligenz
Veranstaltungen (SWS), Leistungspunkte, Zyklus:
Vorlesung (2 SWS) + Praktikum (2SWS), 6 ECTS, siehe Aushang
Dozent:
Prof. Dr. Gläser
N. N.
Stellung im Studiengang lt. SPO:
Bachelor AI: Spezialisierungsmodul
Bachelor CN: Spezialisierungsmodul
Lehrziele:
Die grundlegenden Konzepte der künstlichen Intelligenz sollten verstanden sein.
Einige beispielhafte Verfahren (z.B. Problemlösen) der künstlichen Intelligenz sollten praktisch beherrscht werden.
Lehrinhalte:
Vorlesung: grundlegende Konzepte der künstlichen Intelligenz wie z.B.
Einführung: Womit beschäftigt sich die Künstliche Intelligenz ?
Problemlösen: Entsprechende Verfahren sind grundlegend für die Künstliche Intelligenz und tauchen überall wieder auf.
Neuronale Netze: Die Funktionsweise des Gehirns wird simuliert. Erkennung von Mustern (fast) beliebiger Art z.B. Gesichtserkennung, Spracherkennung,
Maschinelles Lernen: Mit maschinellem Lernen können in großen Datenmengen verborgene Zusammenhänge entdeckt werden, wie man es z.B. im sog. „Data mining“ betreibt.
Semantische Netze – Verarbeitung natürlicher Sprache: Bei der Verarbeitung natürlicher Sprache
geht es darum, maschinell zu verstehen was in einem natürlichsprachlichen Text drinsteht. Dabei
können semantische Netze helfen.
Praktikum:
Im Praktikum werden beispielhaft Algorithmen zu den Themen der Vorlesung praktisch angewendet
Literatur-Empfehlung:
Elaine Rich: KI: Einführung und Anwendungen, McGraw Hill
S. Russel, P. Norvig: Artificial Intelligence, Pearson Education
H. Helbig: Künstliche Intelligenz und automatische Wissensverarbeitung, Verlag Technik
Naheliegende Kombination mit Wahl- und Spezialisierungsmodulen:
–
Stellenwert in der Praxis:
Methoden der Künstlichen Intelligenz finden bei der fortgeschrittenen Datenverarbeitung (Information Extraction, Data mining, Intelligent Web, ...) immer mehr Einsatz. Ihre Kenntnis ist daher unverzichtbar.
Sonstige Hinweise (z. B. Voraussetzungen):
–
Stand: 03.02.06
45
Middleware
Veranstaltungen (SWS), Leistungspunkte, Zyklus:
Vorlesung (2 SWS) + Praktikum (2 SWS), 6 ECTS, siehe Aushang
Dozent:
Prof. Dr. Ch. Reich
N. N.
Stellung im Studiengang lt. SPO:
Bachelor AI: Spezialisierungsmodul
Bachelor CN: Spezialisierungsmodul
Lehrziele:
Die Studenten sollen Middleware-Konzepte kennen lernen. Wichtige Middleware-Modelle und
Dienste sollen untersucht werden.
Lehrinhalte:
Grundlegende Themen heutiger Middleware-Modelle werden behandelt: Kommunikation und Kommunikationsprotokolle, Prozesse, Namensgebung, Synchronisierung, Konsistenz und Replikation,
Fehlertoleranz, Sicherheit und verteilte Dateisysteme.
Zudem wird die objektbasierte Middleware anhand spezieller Architekturen untersucht. Dazu gehören:
•
Javatechnologien: Java Remote Method Invocation – Enterprise JavaBeans und Komponentenmodelle
•
.NET: .NET Remoting, ADO.NET, .NET Framework, Message Queue
•
CORBA: CORBA-Architektur, Interface Definition Language (IDL), Common Object Services
(Naming Serice, Transaktionsservice, Sicherheit, etc.), Anwendungsbeispiele
Literatur-Empfehlung:
R. Orfali, D. Harkey, J. Edwards, Client/Server Survival Guide., 3. Auflage, Wiley 1999
R. Orfali, D. Harkey, Client/Server Programming with Java and CORBA, 2. Auflage, Wiley 1998
A. Eberhart u. S. Fischer: Java-Bausteine für E-Commerce-Anwendungen, 2. Auflage, HanserVerlag, 2001
N. Kassem et al.: Designing Enterprise Applications with the Java(TM) 2 Platform, Enterprise Edition
(The Java(TM) Series), Addison-Wesley, 2000
Paul Perrone, Venkata S.R.K.R. Chaganti: Building Java Enterprise Systems with J2EE, Sams,
2000
Marko Böger: Java in Distributed Systems: Concurrency, Distribution, and Persistence, Wiley, 2001
Kindberg: Distributed Systems: Concepts and Design, Addison-Wesley
Naheliegende Kombination mit Wahl- und Spezialisierungsmodulen:
–
Stellenwert in der Praxis:
Die Entwicklung verteilter Anwendungen setzt eine besondere Berücksichtigung der Aspekte Leistungsfähigkeit, Nebenläufigkeit, Redundanz usw. voraus. Ohne Middleware können verteilte Anwendungen meist nicht kosteneffektiv entwickelt werden. Da die Verteilung immer wichtiger wird in
der Softwareentwicklung, wird auch Middlewaretechnologie immer wichtiger.
Sonstige Hinweise (z. B. Voraussetzungen):
Kenntnis der Programmierungsmodule und der Module „Netzwerke 1“ und „Netzwerke 2“ sind erforderlich.
Stand: 03.02.06
46
Verteilte Systeme
Veranstaltungen (SWS), Leistungspunkte, Zyklus:
Workshop (4 SWS), 6 ECTS, siehe Aushang
Dozent:
Prof. Dr. Wolfgang Bauer
Prof. Dr. Lothar Piepmeyer
Stellung im Studiengang lt. SPO:
Bachelor AI: Wahlmodul
Bachelor CN: Wahlmodul
Lehrziele:
Nach dem Besuch des Moduls ist den Studenten die Problematik verteilter Systeme bewusst; sie
kennen die Standardprobleme und können sie für verteilte Datenbanken auch lösen.
Lehrinhalte:
Dieser Modul hat verteilte Datenbanken und verteilte Algorithmen zum Thema.
Es werden Motivationen, Technologien und Architekturen untersucht, um Datenbanken und Datenbank-Management-Systeme auf physikalisch getrennten Rechnern zu betreiben. Dazu wird zunächst die gängige Klassifikation der Datenbank-Anwendung in OLAP (Online Analytical Processing, also ein Data Warehouse System im weitesten Sinne) und OLTP (Online Transaction Processing) erklärt und so die unterschiedlichen Anforderungen für die Verteilung (Load Balancing, Verfügbarkeit, Ausfallsicherheit) abgeleitet. Ein weiterer wichtiger Aspekt stellt die Integration von Informationen dar. Es werden in Unternehmen gewaltige Anstrengungen unternommen um Informationen, die über verschieden Systeme verteilt sind zu integrieren. Es wird auf aufgezeigt, wie die
Föderationen von Datenbanken genutzt werden kann um dieses Problem zu lösen.
Verteilte Algorithmen behandeln die theoretischen Grundlagen der Middleware. Grundlegendes
Problem bei verteilten Algorithmen ist die fehlende globale Zeit in einem verteilten System. Statt
dessen können logische Zeiten eingeführt und Transformationen unterzogen werden, um Schlüsse
und Beweise von verteilten Algorithmen anschaulicher zu machen. Folgende weitere Probleme werden in der Vorlesung behandelt und Alternativen zu ihrer Lösung vorgestellt: Wahlalgorithmen, Synchronisation, Schnappschussproblem, Deadlockerkennung, Terminierungserkennung und verteilte
Garbage Collection.
Literatur-Empfehlung:
Dadam, P.: Verteilte Datenbanken und Client/Server-Systeme. Grundlagen, Konzepte und Realisierungsformen, Springer Verlag (1996)
Kimball, R.: The Data Warehouse Toolkit, John Wiley & Sons (2002)
Lehner, W.: Datenbanktechnologie für Data-Warehouse-Systeme, Dpunkt Verlag (2002)
Lynch, N.A.: Distributed Algorithms, San Francisco Morgan Kaufmann Publishers, 1996
Mattern, F.: Verteilte Basisalgorithmen, Berlin, Springer, 1987
Couloris, G., Dollimore, J., Kindberg, T.: Verteilte Systeme – Konzepte und Design, München, Pearson Studium 2002
Naheliegende Kombination mit Wahl- und Spezialisierungsmodulen:
–
Stellenwert in der Praxis:
Einzelne Hochleistungsrechner haben entweder nicht die Leistung oder sind hardwarebedingt nicht
in der Lage ein gefordertes Maß an Verfügbarkeit zu gewährleisten. In der Praxis wird daher die Datenmenge auf mehrere physikalische Maschinen verteilt. Die für diese Vorgehensweise erforderlichen Skills, um eine zuverlässige Lösung um erstellen werden in diesem Workshop. vermittelt.
Sonstige Hinweise (z. B. Voraussetzungen):
Kenntnis der Module „Datenbanken“ und „Systemprogrammierung (Concurreny)“ ist erforderlich.
Stand: 03.02.06
47
Herunterladen