Modulhandbuch Bachelor Informatik FernUniversität in Hagen Fakultät für Mathematik und Informatik Stand: 30.11.2016 Modulhandbuch Bachelor Informatik Inhaltsverzeichnis Pflichtmodule 3 Katalog B2: Computersysteme 19 Katalog B3: Informationssysteme und Künstliche Intelligenz 28 Katalog B4: Software Engineering und Programmiersprachen 35 Katalog B7: Computer und Mensch 39 Katalog M1: Grundlagen der Informatik 44 Katalog M2: Computersysteme 58 Katalog M3: Informationssysteme und Künstliche Intelligenz 71 Katalog M4: Software Engineering und Programmiersprachen 85 Katalog M7: Computer und Mensch 96 Fachpraktika 103 Seminare 122 Integriertes Nebenfach 125 Abschlussmodul 139 Detailliertes Inhaltsverzeichnis 143 Modulhandbuch Bachelor Informatik Seite 2 von 145 Pflichtmodule Modulhandbuch Bachelor Informatik Seite 3 von 145 Einführung in die imperative Programmierung und Datenstrukturen I Lehrende/r Jörg Desel Ralf Hartmut Güting Dauer des Moduls ECTS zwei oder drei Semester, die Kurse 10 bauen aufeinander auf Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Inhalte Modulbeauftragte/ Jörg Desel Ralf Hartmut Güting Workload 300 Stunden Häufigkeit in jedem Semester 01613 Einführung in die imperative Programmierung WS/SS SWS 2+1 01661 Datenstrukturen I SS SWS 2+1 Bearbeitung der Kurseinheiten: 150 Stunden Lösungen der Einsendeaufgaben erstellen: 80 Stunden Klausursvorbereitung, Klausur: 70 Stunden Nach erfolgreicher Teilnahme sind die Studierenden mit grundlegenden imperativen Programmierkonzepten vertraut. Sie kennen Richtlinien für guten Programmierstil sowie Grundlagen des Testens. Die sinnvolle Anwendung sämtlicher Lerninhalte beherrschen sie im Rahmen von kleineren Programmieraufgaben. Sie kennen die wichtigsten grundlegenden Datenstrukturen und Algorithmen der Informatik. Sie sind in der Lage, für die eigene Softwareentwicklung die jeweils geeignete Datenstruktur auszuwählen und sie ggf. anzupassen. Sie besitzen ein eingehendes Verständnis der Analyse von Algorithmen und können somit zwischen effizienten und ineffizienten Lösungen in der Programmierung unterscheiden. Kurs 01613 stellt grundlegende imperative Programmierkonzepte und ihre sinnvolle Anwendung vor. Behandelt werden u.a. einfache und strukturierte Datentypen, Zeiger und einfache dynamische Datenstrukturen (lineare Listen, Binärbäume), einfache und zusammengesetzte Anweisungen, Schleifen, Prozeduren, Funktionen und Rekursion. Es wird eine Pascal-ähnliche Programmiersprache verwendet. Bei der Vermittlung der Konzepte wird darauf geachtet, dass der Zugang zur Objektorientierung nicht verstellt wird. Die Bedeutung der Software-Qualitätssicherung wird dadurch unterstrichen, dass von Beginn an Wert auf guten Programmierstil gelegt wird sowie Grundlagen des Softwaretests vermittelt werden. Kurs 01661 behandelt grundlegende Algorithmen und Datenstrukturen der Informatik. Algorithmen sind Methoden zum Lösen von Problemen. Ein Datentyp ist eine Menge von Objekten zusammen mit Operationen auf diesen Objekten; eine Datenstruktur implementiert einen Datentyp, wobei eine Repräsentation für die Objekte und Algorithmen für die Operationen festgelegt wird. Inhalte: Grundlegende Datentypen (Listen, Stacks, Queues, Bäume), Dictionaries (Hashing, Suchbäume, AVL-Bäume), Sortieralgorithmen, Graphen, Algorithmus von Dijkstra zur Bestimmung kürzester Wege, B-Bäume. Zur Darstellung von Algorithmen und Datenstrukturen gehört jeweils die Analyse von Laufzeit und Platzbedarf. Ergänzende Literatur: T. Ottmann, P. Widmayer: Programmierung mit Pascal, 8. Auflage, Teubner Verlag, 2011. P. Liggesmeyer: Software-Qualität: Testen, Analysieren und Verifizieren von Software, 2. Auflage, Spektrum Akademischer Verlag, 2009. R.H. Güting und S. Dieker, Datenstrukturen und Algorithmen. 3. Aufl., Teubner- Verlag Stuttgart, 2004. T. Ottmann und P. Widmayer, Algorithmen und Datenstrukturen. 5. Aufl., Spektrum Akademischer Verlag, Heidelberg, 2012. G. Saake und K.U. Sattler, Algorithmen und Datenstrukturen. Eine Einführung mit Java. 4. Aufl., dpunkt.verlag, Heidelberg, 2010. Modulhandbuch Bachelor Informatik Seite 4 von 145 Inhaltliche Voraussetzungen Lehr- und Betreuungsformen 01613: Mathematische Schulkenntnisse. 01661: Grundkenntnisse der Programmierung (z.B. aus Kurs 01613), Grundkenntnisse der Programmiersprache Java (können auch noch parallel zum Kurs erworben werden, etwa anhand eines einführenden Buches zu Java). Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum fachmentorielle Betreuung (Regional- und Studienzentren) Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis in jedem Kurs Kursabschlussklausur bestanden Quote erfolgreicher Einsendeaufgaben zu jedem Kurs Modulhandbuch Bachelor Informatik Seite 5 von 145 Mathematische Grundlagen Lehrende/r Modulbeauftragte/ Luise Unger Luise Unger Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen 01141 Mathematische Grundlagen Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden Einüben des Stoffes, insbesondere durch Einsendeaufgaben (7 mal 15 Stunden): 105 Stunden Wiederholung und Klausurvorbereitung (Studientag und Selbststudium): 55 Stunden Die Studierenden entwickeln Vertrautheit mit grundlegenden Konzepten der Mathematik, sehen den zum Teil aus der Schule bekannten Stoff in neuen Zusammenhängen und lernen die Grundbegriffe und -techniken sicher zu beherrschen. Sie erlernen mathematische Arbeitsweisen, entwickeln mathematische Intuition und üben deren Umsetzung in präzise Begriffe ein. Ferner erwerben sie Basiswissen und Fertigkeiten für das gesamte weitere Studium. Durch die Teilnahme an Internet-Diskussionsgruppen sowie an den optionalen Präsenzveranstaltungen wird Teamarbeit und das Einüben wissenschaftlicher Kommunikation gefördert. Qualifikationsziele Inhalte WS/SS SWS 4+2 Das Modul besteht aus einem Kurs mit sieben Kurseinheiten und bietet eine Einführung in die mathematische Argumentation sowie einen Einblick in zentrale Themen der Linearen Algebra, Analysis und Logik. Nach einer Einführung in wissenschaftliche Arbeitstechniken, elementare Aussagenlogik und Beweisprinzipien werden in den ersten drei Kurseinheiten Themen der Linearen Algebra behandelt. Zu nennen sind Matrizenrechnung, elementare Zeilenumformungen von Matrizen, Existenz und Eindeutigkeit der Treppennormalform einer Matrix, Lösungsalgorithmen für lineare Gleichungssysteme, endlich erzeugte Vektorräume und lineare Abbildungen sowie der Zusammenhang zwischen abstrakten endlich erzeugten Vektorräumen und ihren Koordinatenräumen, beziehungsweise linearen Abbildungen und ihren Matrixdarstellungen. Die folgenden drei Kurseinheiten widmen sich den Grundlagen der Analysis. Hier sind zu nennen reelle Zahlen, Folgen, Reihen, Stetigkeit, Differenzierbarkeit, Taylorentwicklung, Potenzreihen und das Riemann Integral. In der letzten Kurseinheit wird in die Grundlagen der Aussagen- und Prädikatenlogik eingeführt. Inhaltliche Voraussetzungen - Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum fachmentorielle Betreuung (Regional- und Studienzentren) Studientag/e Zusatzmaterial Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch - Bachelor Informatik Seite 6 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis bestandene Kursabschlussklausur keine Modulhandbuch Bachelor Informatik Seite 7 von 145 Algorithmische Mathematik Lehrende/r Modulbeauftragte/ Winfried Hochstättler Winfried Hochstättler Dominique Andres Immanuel Albrecht Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen 01142 Algorithmische Mathematik Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten (7 mal 18 Stunden): 126 Stunden Einüben des Stoffes, insbes. Durch Einsendeaufgaben (7 mal 15 Stunden): 105 Stunden Wiederholung und Klausurvorbereitung (Studientag und Selbststudium): 69 Stunden Nach erfolgreichem Abschluss des Moduls könnnen die Studierenden abstrakte Zusammenhänge formal analysieren und logisch und formal korrekt schließen. Die Studierenden sind in der Lage, algorithmische Probleme zu modellieren und zu lösen. Die Studierenden besitzen Grundkenntnisse der Graphentheorie, der Algorithmen auf Graphen, deren Datenstrukturen und der Analyse der Laufzeit und von Optimierungsalgorithmen. Die Studierenden kennen elementare Kenntnisse numerischer Berechnungen. Sie sind sensibilisiert, bei numerischen Ergebnissen rundungsfehlerbehaftete Berechnungen zu berücksichtigen. Qualifikationsziele Inhalte WS/SS SWS 4+2 Das Modul "Algorithmische Mathematik" setzt sich zusammen aus zwei Teilen, der "Diskreten Mathematik" und der "Numerik und Optimierung". Im Kurs werden zunächst Beweismethoden an einfachen Beispielen vorgestellt und anhand von kombinatorischen Problemen eingeübt. Dabei werden elementare Abzählprobleme und Abschätzungen für Fakultäten und Binomialkoeffizienten vorgestellt. Dann werden Graphen eingeführt und als algorithmische Probleme Breitensuche, Eulertouren, Erkennen von Valenzsequenzen, minimale aufspannende Bäume und bipartites Matching diskutiert. Im numerischen Teil stellen wir die Kodierung von Zahlen vor, mögliche Fehlerquellen bei rundungsfehlerbehafteten Rechnungen und klassische Verfahren der Linearen Algebra wie LU-Zerlegung und Cholesky-Faktorisierung. In der nicht-linearen Optimierung stellen wir notwendige und hinreichende Bedingungen für Extremwerte im unrestringierten und im restringierten Fall vor. Wir diskutieren Suchverfahren, das Newton-Verfahren und das konjugierte-Gradienten-Verfahren. Aus der linearen Optimierung stellen wir den SimplexAlgorithmus vor. Ergänzende Literatur: Jiri Matousek und Jaroslav Nesetril: Diskrete Mathematik - Eine Entdeckungsreise. SpringerVerlag, 2. Aufl., 2007 R.L. Graham, D. E. Knuth und O. Patashnik: Concrete Mathematics - A Foundation for Computer Science. Addison-Wesley, 2nd Edition, 1994 R. Schaback und H. Wendland: Numerische Mathematik. Springer-Verlag, 5. Aufl., 2005 W. Struckmann und D. Wätjen: Mathematik für Informatiker. Spektrum Akademischer Verlag, 2006 D. G. Luenberger: Linear and Nonlinear Programming. Addison-Wesley, 3rd Edition, 2010 Inhaltliche Voraussetzungen Der Kurs setzt die Inhalte des Moduls "Mathematische Grundlagen" voraus. Lehr- und Betreuungsformen Kursmaterial Modulhandbuch Einsendeaufgaben mit Korrektur und/oder Musterlösung Bachelor Informatik Seite 8 von 145 internetgestütztes Diskussionsforum Studientag/e Zusatzmaterial fachmentorielle Betreuung (Regional- und Studienzentren) Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis bestandene Kursabschlussklausur keine Modulhandbuch Bachelor Informatik Seite 9 von 145 Computersysteme Lehrende/r Dauer des Moduls ein oder zwei Semester Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Modulbeauftragte/ Jörg Keller Jörg Keller Wolfram Schiffmann Wolfram Schiffmann ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 01608 Computersysteme I WS/SS 1.Hälfte SWS 2+1 01609 Computersysteme II WS/SS 2.Hälfte SWS 2+1 Kurseinheiten: 150 Stunden Einsendearbeiten: 75 Stunden Studientage u. Prüfungsvorbereitung: 75 Stunden Nach erfolgreicher Teilnahme können die Teilnehmer Schaltfunktionen algebraisch beschreiben und Wertetabellen sowie Primimplikanten bestimmen. Sie können Schaltnetze wichtiger Schaltfunktionen wie Addierer oder Multiplexer aus parametrisierten Definitionen ableiten und ihre Komplexität analysieren. Sie können Automaten und komplexe Schaltwerke synthetisieren und analysieren. Nach erfolgreicher Teilnahme können die Teilnehmer die Teile eines Computersystems identifizieren und ihre Funktionsweise erklären. Sie können Architekturkonzepte erläutern, insbesondere Zusammenhänge zwischen Befehlssatz- und Mikroarchitektur. Sie können die Hitraten verschiedener Cache-Architekturen bei gegebener Zugriffssequenz bestimmen. Sie können verschiedene Formen der Parallelität zur Leistungssteigerung darstellen. Inhalte Der Kurs 01608 führt in die Grundlagen ein, die zum Verständnis von Mikroprozessoren und Rechnersystemen notwendig sind. Dies sind Schaltfunktionen und Schaltnetze, Speicherglieder und Schaltwerke, komplexe Schaltwerke. Schaltfunktionen werden algebraisch durch Boole'sche Ausdrücke beschrieben, hierbei werden auch kürzeste Normalformen bestimmt. Weiterhin wird die Realisierung von Schaltfunktionen durch Gatter sowie viel benutzte Schaltnetze vorgestellt. Als Kombination von Schaltnetzen mit Speichergliedern entstehen Schaltwerke, die als endliche Automaten beschrieben, analysiert und synthetisiert werden. Für komplexe Schaltwerke mit einer sehr großen Zahl von Zuständen erfolgt eine Beschreibung mittels ASM-Diagrammen und eine Aufteilung der Realisierung Operations- und Steuerwerk. Der Kurs 01609 beschreibt den Aufbau eines Computers und das Zusammenspiel seiner Komponenten, die einem komplexen Schaltwerk entsprechen. Dabei werden verschiedene Ausführungsvarianten zur Realisierung der (Teil)Schaltwerke erläutert. Dann wird gezeigt, welchen Einfluss die Befehlssatzarchitektur eines Prozessors auf dessen HardwareImplementierung hat und es wird anhand des MIPS-Prozessors ein typisches Beispiel für den Befehlssatz eines so genannten Reduced Instruction Set Comupter (RISC) vorgestellt. Danach werden verschiedene Mikroarchitekturen für Prozessoren untersucht und Beispiele von drei Mikroarchitektur-Typen für exemplarische Befehle des zuvor vorgestellten MIPSBefehlssatzes werden ausführlich behandelt. Zum Schluss werden Möglichkeiten zur Optimierung der Speicherarchitektur vorgestellt und am Beispiel der drei möglichen CacheVarianten analysiert. Ergänzende Literatur: J. Keller und W. Paul: Hardware Design. Formaler Entwurf digitaler Schaltungen, 3. Auflage, Teubner-Verlag, 2005 W. Schiffmann: Technische Informatik 2 - Grundlagen der Computertechnik, 5. Auflage, Springer-Verlag, 2005 Modulhandbuch Bachelor Informatik Seite 10 von 145 H. Bähring: Mikrorechner-Technik, Springer-Verlag, 2005 U. Brinkschulte und T. Ungerer: Mikrocontroller und Mikroprozessoren, Springer-Verlag, 2002 Inhaltliche Voraussetzungen - Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Zusatzmaterial Studientag/e fachmentorielle Betreuung (Regional- und Studienzentren) Betreuung und Beratung durch Lehrende Anmerkung Das Modul Computersysteme (Kurse 01608 und 01609) wird zum Sommersemester 2017 grundlegend überarbeitet. Bis einschließlich Wintersemester 2017/2018 wird die Prüfungsklausur Computersysteme in zwei Varianten (neue und alte Kursversion) angeboten. Die Anmeldung erfolgt für beide Varianten in gleicher Weise. Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur keine Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 11 von 145 Softwaresysteme Lehrende/r Modulbeauftragte/ Ralf Hartmut Güting Ralf Hartmut Güting Jörg M. Haake Dauer des Moduls zwei Semester Lehrveranstaltungen Jörg M. Haake ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 01671 Datenbanken I SS 1.Hälfte SWS 2+1 01801 Betriebssysteme und Rechnernetze WS SWS 2+1 Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten (8 mal 20 Stunden): 160 Stunden Bearbeitung der Einsendeaufgaben inkl. Verarbeitung des Korrektur-Feedbacks (8 mal 6 Stunden): 48 Stunden Durchführung der praktischen Übungen: 10 Stunden Mitwirkung an den Diskussionen in der Kurs-Newsgroup: 22 Stunden Wiederholung und Prüfungsvorbereitung: 60 Stunden Qualifikationsziele Nach erfolgreicher Teilnahme können Studierende die Grundkonzepte von Datenbanksystemen erklären. Sie sind in der Lage, ER-Diagramme für einfache Anwendungen zu erstellen und diese auf Relationenschemata abzubilden. Sie können zentrale Begriffe, wie z.B. Relation, Schlüssel, funktionale Abhängigkeit formal definieren. Sie können die Operationen der Relationenalgebra erklären und Anfragen in Algebra oder SQL formulieren. Sie können wesentliche Konzepte und Komponenten moderner Betriebssysteme benennen, erklären und vergleichen sowie ihre Abhängigkeiten analysieren und erklären. Sie können wesentliche Konzepte von Rechnernetzen und benennen und erklären sowie den Aufbau und die Funktionsweise der Schichten und Protokolle erklären und bzgl. ihrer Leistungsfähigkeit bewerten. Inhalte Das Modul bietet Einführungen in fundamentale Komponenten der Systemsoftware, nämlich Datenbanksysteme, Betriebssysteme und Rechnernetze. Datenbanksysteme verwalten die Daten eines Unternehmens insgesamt, unabhängig von speziellen Anwendungen. Sie bieten Benutzern eine einfache Vorstellung davon, welche Daten es gibt und wie man auf sie zugreifen kann in Form eines Datenmodells. Kurs 01671 behandelt die 3-Ebenen-Architektur, das relationale Modell und seine Anfragesprachen wie Relationenalgebra, Relationenkalkül und SQL. Im Bereich des Datenbankentwurfs werden das Entity-Relationship-Modell und Grundzüge der Normalisierung von Relationenschemata eingeführt (Studientag). Kurs 01801 führt in die Grundlagen von Betriebssystemen und Rechnernetzen ein. Nach einem Überblick über den Aufgaben und Komponenten von Betriebssystemen werden Prozesse und Dateisysteme als wichtige Teilbereiche betrachtet. Im zweiten Teil werden die oberen Schichten von Rechnernetzen und ihre Nutzung am Beispiel des Internets behandelt, gefolgt von Vermittlung und Sicherung in Rechnernetzen, mit einem Fokus auf den tieferen Schichten des Schichtenmodells und Aspekten des Netzwerkkerns. Ergänzende Literatur: C.J. Date: An Introduction to Database Systems. Pearson Addison Wesley, 2004. J.D. Ullman, H. Garcia-Molina, J. Widom: Database Systems: The Complete Book. Prentice Hall, 2008. A.S. Tanenbaum: Moderne Betriebsysteme. 3. Auflage, Pearson Studium, 2009. A.S. Tanenbaum, D. J. Wetherall: Computernetzwerke. 3. Auflage. Pearson Studium. 2012. G.F. Coulouris, J. Dollimore, T. Kindberg, G. Blair: Distributed Systems. 5. Auflage, Addison Wesley, 2011. Modulhandbuch Bachelor Informatik Seite 12 von 145 Inhaltliche Voraussetzungen - Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Zusatzmaterial Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 13 von 145 Einführung in die objektorientierte Programmierung Lehrende/r Modulbeauftragte/ Friedrich Steimann Friedrich Steimann Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01618 Einführung in die objektorientierte Programmierung Detaillierter Zeitaufwand Bearbeitung des Kurstextes: 150 Stunden Bearbeitung der Übungs- und Einsendeaufgaben: 100 Stunden Nachbearbeitung und Klausurvorbereitung: 50 Stunden Nach erfolgreicher Bearbeitung des Moduls - haben die Studierenden ein Grundverständnis der Konzepte der objektorientierten Programmierung. - kennen die Studierenden die wesentlichen Konstrukte der objektorientierten Programmierung am Beispiel der Programmiersprache Java. - sind die Studierenden in der Lage, unter Ausnutzung dieser Konstrukte Anwendungen in der Programmiersprache Java zu entwickeln. Qualifikationsziele Inhalte SS SWS 4+2 Der Kurs gibt eine Einführung in die Konzepte der objektorientierten Programmierung und erläutert alle wichtigen Konstrukte der objektorientierten Programmiersprache Java. Zusammen mit den Einsende-aufgaben will er insbesondere auch programmiertechnisches Rüstzeug zur Eigenentwicklung von Java-Programmen vermitteln. Der Kurs behandelt die grundlegenden Konzepte objektorientierter Programmierung: Objekte, Klassen, Kapselung, Vererbung, Schnittstellen. Diese werden anhand ausgewählter Beispiele vorgestellt. Der Kurs zeigt auf, wie diese Konzepte zur Realisierung von Programmbausteinen und von Programmgerüsten herangezogen werden können. Zur Illustration werden wichtige Eigenschaften von Javas Klassenbibliothek zur Realisierung graphischer Bedienoberflächen erläutert. Schließlich werden ausgesuchte Aspekte zur parallelen und verteilten Programmierung mit Java behandelt. Ergänzende Literatur: G. Krüger, H. Hansen, Handbuch der Java-Programmierung. Das Handbuch zu Java 8, O'Reilly, 2014 (http://www.javabuch.de/) J. Gosling, B. Joy, G. Steele, G. Bracha, A. Buckley, The Java Language Specification. Java SE 8 Edition, Addison-Wesley, 2015 (https://docs.oracle.com/javase/specs/jls/se8/jls8.pdf) Inhaltliche Voraussetzungen Grundkenntnisse der imperativen Programmierung z.B. aus Kurs 01613 Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Studientag/e Zusatzmaterial fachmentorielle Betreuung (Regional- und Studienzentren) Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch - Bachelor Informatik Seite 14 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis bestandene Kursabschlussklausur keine Modulhandbuch Bachelor Informatik Seite 15 von 145 Grundpraktikum Programmierung Lehrende/r Modulbeauftragte/ Jörg M. Haake Hochschullehrende der Informatik Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen 01584 Grundpraktikum Programmierung Detaillierter Zeitaufwand 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 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. Qualifikationsziele WS/SS SWS 4 Inhalte Im Grundpraktikum Programmierung wird den Teilnehmenden eine Programmieraufgabe vorgegeben, anhand derer sie die Bedeutung der Modularisierung schätzen lernen. Die Teilnehmenden bearbeiten die Programmieraufgabe zu Hause. Während der Bearbeitungszeit werden ihre Fragen 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. Inhaltliche Voraussetzungen Für die Teilnahme am Programmierpraktikum sind fundierte Java-Kenntnisse erforderlich. Lehr- und Betreuungsformen Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Softwaresysteme oder Computersysteme und Module Einführung in die imperative Programmierung und Datenstrukturen I sowie Einführung in die objektorientierte Programmierung Modulhandbuch Bachelor Informatik Seite 16 von 145 Grundlagen der Theoretischen Informatik Lehrende/r Dauer des Moduls zwei Semester Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Modulbeauftragte/ André Schulz André Schulz ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 01657 Grundlagen der Theoretischen Informatik A WS SWS 2+1 01658 Grundlagen der Theoretischen Informatik B SS SWS 2+1 Das Modul besteht aus 2 Kursen mit je 7 Kurseinheiten. Bearbeitungszeit je Kurseinheit (incl. Übungs- und Einsendeaufgaben): 14 Stunden (insgesamt 196 Stunden). Hinzu kommen 104 Stunden für Studientage und Prüfungsvorbereitung. Nach Bearbeiten des Kurses 01657 nnen die Studierenden mit den wesentlichen Grundbegriffen (Berechenbarkeit, Entscheidbarkeit, hlbarkeit) umgehen. Sie können mit formalen Sprachen arbeiten und diese wichtigen Klassen zuordnen (regulär, kontextfrei, entscheidbar). Sie kennen zudem Berechnungs- und Beschreibungsmodelle dieser Sprachklassen. Nach erfolgreicher Bearbeitung von Kurs 01658 nnen die Studierenden mit tsmaßen umgehen, Probleme tsklassen zuordnen und bei schwierigen Problemen tzen, ob sie NPndig sind. Sie lernen, wie man zeigen kann, dass Probleme nicht berechenbar sind. Inhalte Im Kurs 01657 wird mit Hilfe formaler Sprachen der Begriff der Berechenbarkeit entwickelt. chst werden verschiedene Berechnungsmodelle vorgestellt, welche sich an der Chonsky-Hierarchie orientieren. Besonderes Augenmerk erfahren die regulären, kontextfreien und entscheidbaren Sprachen. Dies hrt zur Formulierung und Diskussion der Churchschen These. Es werden die rekursiven und die rekursivhlbaren Mengen definiert. Anschließend an den Kurs 01657 widmet sich der Kurs 01658 den nichtberechenbaren Problemen. Hier werden wichtige Probleme, wie das Halteproblem, vorgestellt und wichtige Konsequenzen (Satz von Rice, Rekursionstheorem) utert. Des Weiteren wird eine hrung in die tstheorie gegeben. In diesem Zusammenhang werden die tsmaße Zeit und Speicherplatz hrt. Mit einer eingehenden Behandlung des P-vs-NP-Problems und der NPndigkeitstheorie schließt dieser Teil. Inhaltliche Voraussetzungen Elementare Begriffe und Methoden der Mathematik, wie sie in den einführenden Mathematikkursen des Studiengangs verwendet werden. 01658 baut auf 01657 auf. Kursmaterial Lehr- und Betreuungsformen Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Studientag/e fachmentorielle Betreuung (Regional- und Studienzentren) Anmerkung Modulhandbuch - Bachelor Informatik Seite 17 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 18 von 145 Katalog B2: Computersysteme Modulhandbuch Bachelor Informatik Seite 19 von 145 Anwendungsorientierte Mikroprozessoren Lehrende/r Modulbeauftragte/ Jörg Lenhardt Jörg Lenhardt Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01706 Anwendungsorientierte Mikroprozessoren Detaillierter Zeitaufwand 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 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 Mikroprozessor-technik 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. Qualifikationsziele Inhalte WS SWS 4+2 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. Ergänzende Literatur: H. Bähring: Mikrorechner-Technik, 2 Bände, Springer Verlag, 2002, ISBN: 3-540-41648 X, 3-540-43693-6 W. Schiffmann: Technische Informatik 2, Springer Verlag, 2002, ISBN: 3-540-43854-8 U. Brinkschulte, T. Ungerer: Mikrocontroller und Mikroprozessoren, Springer 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 Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch Bachelor Informatik Seite 20 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 21 von 145 Parallel Programming Lehrende/r Modulbeauftragte/ Wolfram Schiffmann Jörg Keller Wolfram Schiffmann Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01727 Parallele Programmierung und Grid-Computing Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 150 Stunden Bearbeiten der Einsendearbeiten: 75 Stunden Studientage und Prüfungsvorbereitung: 75 Stunden 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. Qualifikationsziele Inhalte WS SWS 4+2 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. Ergänzende Literatur: B.Wilkinson, M. Allen: Parallel Programming, Second Edition, Pearson Education International, 2005, ISBN 0-13-191865-6 A. Gramma, A. Gupta, G. Karypis, V. Kumar: Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003, ISBN 0-201-64865-2 B. Jacob Elektrotechnik al.: Introduction to Grid Computing, IBM Redbook, http://ibm.com/redbooks Barry Wilkinson: Grid Computing, Chapman & Hall, 2009 Inhaltliche Voraussetzungen Lehr- und Betreuungsformen Kenntnisse aus den Kursen "Computersysteme", "Einführung in die imperative Programmierung", "Datenstrukturen I", "Betriebssysteme und Rechnernetze" sowie "Datenbanken I" Kursmaterial internetgestütztes Diskussionsforum Zusatzmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch - Bachelor Informatik Seite 22 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 23 von 145 Verteilte Systeme Lehrende/r Modulbeauftragte/ Jörg M. Haake Jörg M. Haake Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01678 Verteilte Systeme Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten (7 mal 20 Std.): 140 Stunden Bearbeitung der Einsendeaufgaben inkl. Verarbeitung des Korrektur-Feedbacks (7 mal 10 Std.): 70 Stunden Mitwirkung an den Diskussionen in der Kurs-Newsgroup: 20 Stunden Wiederholung und Prüfungsvorbereitung: 70 Stunden Die Teilnehmenden 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. Qualifikationsziele WS SWS 4+2 Inhalte 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. 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 unbekannten Sachverhalte in einschlägigen Fachbüchern nachzulesen. Eine gewisse Erfahrung im Programmieren mit einer Programmiersprache wie Java oder C sollten Sie auch mitbringen, um einige Beispiele zu verstehen. Lehr- und Betreuungsformen Kursmaterial internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Einsendeaufgaben mit Korrektur und/oder Musterlösung Anmerkung Modulhandbuch Der Basistext muss vor Semesterbeginn beschafft werden. Basistext: 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 Bachelor Informatik Seite 24 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 25 von 145 Sicherheit im Internet Lehrende/r Dauer des Moduls zwei Semester Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Inhalte Modulbeauftragte/ Jörg Keller Klaus Gotthardt ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 01866 Sicherheit im Internet I SS 2.Hälfte SWS 2+1 01868 Sicherheit im Internet I - Ergänzungen WS 1.Hälfte SWS 2+1 Kurseinheiten: 150 Stunden Einsendearbeiten: 75 Stunden Prüfungsvorbereitung: 75 Stunden 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). Das Modul behandelt zunächst die grundlegenden Konzepte des Themas IT-Sicherheit. 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 Hash-Funktionen, 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. Ergänzende 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 Lehr- und Betreuungsformen Kurs 01801 "Betriebssysteme und Rechnernetze" aus Modul "Softwaresysteme" des B.Sc. Informatik bzw. Modul "Einführung in die technischen und theoretischen Grundlagen der Informatik" des B.Sc. Wirtschaftsinformatik Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung Betreuung und Beratung durch Lehrende internetgestütztes Diskussionsforum Anmerkung Modulhandbuch - Bachelor Informatik Seite 26 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 27 von 145 Katalog B3: Informationssysteme und Künstliche Intelligenz Modulhandbuch Bachelor Informatik Seite 28 von 145 Vertiefende Konzepte von Datenbanksystemen Lehrende/r Dauer des Moduls zwei Semester Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Inhalte Modulbeauftragte/ Ralf Hartmut Güting Ralf Hartmut Güting Wolfgang Wilkes ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester SWS 2+1 01664 Implementierungskonzepte für Datenbanksysteme WS 01672 Datenbanken II SS 2.Hälfte SWS 2+1 Bearbeiten der Kurseinheiten: 160 Stunden Bearbeitung der Einsendeaufgaben inkl. Verarbeitung des Korrektur: 80 Stunden Wiederholung und Prüfungsvorbereitung, Prüfung: 60 Stunden 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 Effizienzproblemen auf den Grund zu gehen. 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 SQLAnfrage, 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 Softund Hardware (Recovery). Schließlich wird ein Überblick gegeben über neuere Anwendungen und Tendenzen auf dem Gebiet der Datenbanksysteme. Ergänzende Literatur: A. Kemper und A. Eickler: Datenbanksysteme: Eine Einführung. 8. Auflage, OldenbourgVerlag, 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 Modulhandbuch Kenntnisse der Konzepte von Standard-Datenbanksystemen, z.B. aus Kurs 01671 "Datenbanken I" im Modul "Softwaresysteme" des Bachelor Informatik Bachelor Informatik Seite 29 von 145 Inhaltliche Voraussetzungen Lehr- und Betreuungsformen Kursmaterial internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Einsendeaufgaben mit Korrektur und/oder Musterlösung Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 30 von 145 Wissensbasierte Systeme Lehrende/r Modulbeauftragte/ Christoph Beierle Christoph Beierle Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01696 Wissensbasierte Systeme Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 130 - 150 Stunden, Bearbeiten der Übungsaufgaben: 60 - 75 Stunden, Studientage und Prüfungsvorbereitung: 60 - 75 Stunden 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. Qualifikationsziele Inhalte SS SWS 4+2 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. Ergänzende 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. Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Studientag/e Anmerkung Modulhandbuch - Bachelor Informatik Seite 31 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 32 von 145 Betriebliche Informationssysteme Lehrende/r Modulbeauftragte/ Lars Mönch Lars Mönch Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen 01770 Betriebliche Informationssysteme Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 140 Stunden, Bearbeiten der Übungsaufgaben: 70 Stunden, Wiederholung des Stoffs, Studientage und Prüfungsvorbereitung: 90 Stunden. 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. Sie 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. Qualifikationsziele Inhalte WS/SS SWS 4+2 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. Inhaltliche Voraussetzungen Lehr- und Betreuungsformen "Einführung in die objektorientierte Programmierung" und "Datenbanken I" Grundkenntnisse in BWL, insbesondere über die Funktionsweise eines Unternehmens, sind für das Verständnis des Stoffes nützlich. Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Studientag/e Anmerkung Modulhandbuch - Bachelor Informatik Seite 33 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur Leistungsnachweis zu einem Modul aus dem Pflichtbereich und mind. 50 Prozent der möglichen Punkte bei den Einsendeaufgaben der Kurseinheiten 2 und 3 Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 34 von 145 Katalog B4: Software Engineering und Programmiersprachen Modulhandbuch Bachelor Informatik Seite 35 von 145 Software Engineering I Lehrende/r Modulbeauftragte/ Jörg Desel Jörg Desel Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen 01793 Software Engineering I Detaillierter Zeitaufwand 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 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. Qualifikationsziele Inhalte WS/SS SWS 4+2 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. Inhaltliche Voraussetzungen Vertiefte Kenntnisse in der objektorientierten Programmiersprache Java Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 36 von 145 Übersetzerbau Lehrende/r Modulbeauftragte/ Ralf Hartmut Güting Ralf Hartmut Güting Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01810 Übersetzerbau Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 150 Stunden Bearbeitung der Einsendeaufgaben: 75 Stunden Wiederholung und Prüfungsvorbereitung, Prüfung: 75 Stunden 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. Qualifikationsziele Inhalte WS SWS 4+2 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. Ergänzende 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. SpringerVerlag, 1999. Inhaltliche Voraussetzungen Grundbegriffe der Theorie der formalen Sprachen sind nützlich, werden aber auch in diesem Kurs vermittelt. Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Modulhandbuch Bachelor Informatik Seite 37 von 145 Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 38 von 145 Katalog B7: Computer und Mensch Modulhandbuch Bachelor Informatik Seite 39 von 145 Einführung in Mensch-Computer-Interaktion Lehrende/r Modulbeauftragte/ Gabriele Peters Gabriele Peters Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen 01697 Einführung in Mensch-Computer-Interaktion Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 150 Stunden Bearbeiten der Selbsttest- und Einsendeaufgaben: 75 Stunden Prüfungsvorbereitung: 75 Stunden Durch die Teilnahme an diesem Kurs erhalten die Studierenden einen Überblick über Entwicklungen, Begriffe und Zusammenhänge im Kontext der Mensch-ComputerInteraktion. Darüber hinaus sind sie mit den Grundlagen der menschlichen Wahrnehmung vertraut. Die Studierenden lernen die wesentlichen Entwicklungen und Zusammenhänge im Umfeld der Mensch-Computer-Interaktion kennen. 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. Qualifikationsziele WS/SS SWS 4+2 Inhalte 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. Anschließend werden verschiedene Aspekte der Implementierung interaktiver Systeme beleuchtet. Die abschließende Kurseinheit befasst sich mit der Evaluation von Funktionalität und Bedienbarkeit von Benutzungsschnittstellen mithilfe statistischer Methoden. Inhaltliche Voraussetzungen Mathematik-Kenntnisse, die durch die Erlangung der allgemeinen Hochschulreife erworben wurden Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Zusatzmaterial Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch - Bachelor Informatik Seite 40 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur Für die Klausurzulassung ist eine erfolgreiche Bearbeitung der Einsendeaufgaben Voraussetzung. Die genauen Bedingungen werden in den Prüfungsinformationen der Fakultät für Mathematik und Informatik veröffentlicht. Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 41 von 145 Interaktive Systeme Lehrende/r Dauer des Moduls ein oder zwei Semester Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Modulbeauftragte/ Gabriele Peters Gabriele Peters ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 01698 Interaktive Systeme I: Konzepte und Methoden des Computersehens WS/SS SWS 2+1 01699 Interaktive Systeme II: Konzepte und Methoden bildbasierter 3DRekonstruktion WS/SS SWS 2+1 Bearbeiten der Kurseinheiten: 150 Stunden Bearbeiten der Selbsttest- und Einsendeaufgaben: 75 Stunden Prüfungsvorbereitung: 75 Stunden In beiden Kursen erlangen die Studierenden fundierte Kenntnisse sowohl der theoretischen, mathematischen Grundlagen als auch der vorgestellten, anwendungsorientierten 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. Inhalte 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 3D-Punktwolke aus einer Reihe von 2D-Bildern zu errechnen und anschließend zu triangulieren. Inhaltliche Voraussetzungen Mathematik-Kenntnisse, die den im Kurs 01141 "Mathematische Grundlagen" vermittelten Kenntnissen entsprechen. Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch - Bachelor Informatik Seite 42 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur Für die Klausurzulassung ist eine erfolgreiche Bearbeitung der Einsendeaufgaben Voraussetzung. Die genauen Bedingungen werden in den Prüfungsinformationen der Fakultät für Mathematik und Informatik veröffentlicht. Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 43 von 145 Katalog M1: Grundlagen der Informatik Modulhandbuch Bachelor Informatik Seite 44 von 145 Mathematische Grundlagen der Kryptografie Lehrende/r Modulbeauftragte/ Luise Unger Luise Unger Silke Hartlieb Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01321 Mathematische Grundlagen der Kryptografie Detaillierter Zeitaufwand 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 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. Qualifikationsziele WS SWS 4+2 Inhalte Die Kryptografie ist die Lehre von den Geheimschriften. Während diese bis vor wenigen Jahren 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. Die genauen Inhalte sind: - Grundlagen der Algebra (Gruppen, Ringe, (endliche) Körper, elliptische Kurven) - Grundlagen der Elementaren Zahlentheorie - Asymmetrische Kryptosysteme (RSA-, Massey-Omura-, Diffie-Hellman-, ElGamalKryptosystem, Kryptosysteme über elliptischen Kurven), - Primzahltests - Komplexität - Gitter (Basen, LLL-Algorithmus, Knapsack-Kryptosystem) Inhaltliche Voraussetzungen Gute Kenntnisse der "Linearen Algebra" (entsprechend Kurs 01143), "Grundkenntnisse der Analysis" (entsprechend Kurs 01144). Die geforderten Voraussetzungen gehen über das hinaus, was in einem Studium der Informatik an Mathematikkenntnissen vermittelt wird. Kursmaterial Lehr- und Betreuungsformen internetgestütztes Diskussionsforum Studientag/e Einsendeaufgaben mit Korrektur und/oder Musterlösung Betreuung und Beratung durch Lehrende Zusatzmaterial Anmerkung Modulhandbuch - Bachelor Informatik Seite 45 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 46 von 145 Grundlegende Algorithmen der Bio-Informatik Lehrende/r Modulbeauftragte/ Jörg Keller Rainer Merkl Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01738 Grundlegende Algorithmen der Bio-Informatik Detaillierter Zeitaufwand Kurstexte: 150 Stunden Einsendearbeiten: 75 Stunden Studientag und Prüfungsvorbereitung: 75 Stunden 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. Qualifikationsziele SWS 4+2 WS Inhalte 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-MarkovModelle). Daneben werden Algorithmen zur Vorhersage der Proteinsekundär- und RNASekundärstruktur vorgestellt und es wird das Berechnen von Stammbäumen erläutert. Eingegangen wird auch auf die Analyse von Datensätzen aus Genomics-, Transkriptomicsund Proteomics-Experimenten 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 Inhaltliche Voraussetzungen Grundkenntnisse Mathematik und Datenstrukturen z.B. aus den Datenstrukturen I, Mathematische Grundlagen, Algorithmische Mathematik Lehr- und Betreuungsformen Betreuung und Beratung durch Lehrende Kursen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Studientag/e Anmerkung Der Basistext muss vor Semesterbeginn beschafft werden. Basistext: Bioinformatik, 3. Auflage. WILEY-VCH, 2015 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik R. Merkl: Seite 47 von 145 Komplexitätstheorie Lehrende/r Modulbeauftragte/ André Schulz André Schulz Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01686 Komplexitätstheorie Detaillierter Zeitaufwand Bearbeiten von Basistext und Leittext: 200 Stunden Bearbeiten von Übungs- und Einsendeaufgaben: 50 Stunden Studientag u. Prüfungsvorbereitung: 50 Stunden 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. Qualifikationsziele Inhalte SS SWS 4+2 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 behandelt: - grundlegende Komplexitätsklassen - NP-Vollständigkeit - Interaktive Beweissysteme - probabilistische Komplexitätsklassen - Approximation Inhaltliche Voraussetzungen Grundlagen der theoretischen Informatik, wie sie z.B. im Modul "Grundlagen der Theoretischen Informatik" des Bachelorstudiengangs Informatik vermittelt werden. Lehr- und Betreuungsformen Kursmaterial internetgestütztes Diskussionsforum Studientag/e Einsendeaufgaben mit Korrektur und/oder Musterlösung Anmerkung Modulhandbuch Der Basistext muss vor Semesterbeginn beschafft werden. Basistext: Ingo Wegener: Komplexitätstheorie: Grenzen der Effizienz von Algorithmen, Springer, 2003. Nicht zusammen mit dem nicht mehr angebotenen Modul "Grundzüge der Komplexitätstheorie" nutzbar. Bachelor Informatik Seite 48 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 49 von 145 Algorithmische Geometrie Lehrende/r Modulbeauftragte/ Christian Icking Christian Icking Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01840 Algorithmische Geometrie Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 120 Stunden Bearbeiten von Übungs- und Einsendeaufgaben: 100 Stunden Wiederholung und Prüfungsvorbereitung (Selbststudium, freiwilliger Studientag): 80 Stunden 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. Qualifikationsziele Inhalte SS SWS 4+2 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. Ergänzende Literatur: M. de Berg, O. Cheong, M. van Kreveld, M. Overmars: Computational Geometry: Algorithms and Applications. Springer-Verlag, third edition, 2008. J. O'Rourke: Computational Geometry in C. Cambridge University Press, second edition, 1998. F. P. Preparata, M. Ian Shamos: Computational Geometry. Springer-Verlag, 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) Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Studientag/e Zusatzmaterial Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch Bachelor Informatik Seite 50 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 51 von 145 Computergrafik II Lehrende/r Modulbeauftragte/ Michael Felten Michael Felten Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01279 Computergrafik II Detaillierter Zeitaufwand 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 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. Qualifikationsziele Inhalte SS SWS 4+2 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. Ergänzende Literatur: Encarnação, Straßer, Klein: Graphische Datenverarbeitung I+II, Oldenbourg, ISBN 3-486-23223-1. Foley, vanDam, Feiner, Hughes: Computer Graphics - Principles and Practice - Addison Wesley, ISBN 0- 201-84840-6. Inhaltliche Voraussetzungen Sinnvoll, aber nicht zwingend erforderlich ist eine Bearbeitung von Kurs 01277 "Einführung in Computergrafik". Lehr- und Betreuungsformen Kursmaterial internetgestütztes Diskussionsforum Einsendeaufgaben mit Korrektur und/oder Musterlösung Anmerkung Modulhandbuch letztmalige Kursdurchführung SS 2017, Prüfungen bis einschl. SS 2018 möglich Bachelor Informatik Seite 52 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 53 von 145 Effiziente Graphenalgorithmen Lehrende/r Modulbeauftragte/ Winfried Hochstättler Winfried Hochstättler Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01216 Kombinatorische Optimierung - Effiziente Graphenalgorithmen Detaillierter Zeitaufwand 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 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. Sie wissen was primale, duale und primal-duale Verfahren sind. Qualifikationsziele Inhalte WS SWS 4+2 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 Ergänzende Literatur: 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 Lehr- und Betreuungsformen internetgestütztes Diskussionsforum Studientag/e Zusatzmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung Anmerkung Modulhandbuch Der Basistext muss vor Semesterbeginn beschafft werden. Basistext: Hochstättler/Schliep: CATBox - An Interactive Course in Combinatorial Optimization, Springer 2010. Bachelor Informatik Seite 54 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 55 von 145 Lineare Optimierung Lehrende/r Modulbeauftragte/ Winfried Hochstättler Winfried Hochstättler Immanuel Albrecht Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01212 Lineare Optimierung Detaillierter Zeitaufwand 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 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. Qualifikationsziele Inhalte SS SWS 4+2 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-Verfahren und Innere-Punkt-Methoden. Ergänzende Literatur: B. Gärtner, J. Matousek: Understanding and Using Linear Programming, Springer-Verlag, 2006 G. M. Ziegler: Polyhedral Theory A. Schrijver: Theory of Linear and Integer Programming, WILEY, 1998 C. Roos, T. Terlaky, J.-P. Vial: Interior Point Methods for Linear Optimization, SpringerVerlag, 2005 Inhaltliche Voraussetzungen Lehr- und Betreuungsformen Der Kurs setzt die „Mathematische Grundlagen“, "Analysis" und insbesondere sehr gute Kenntnisse der „Linearen Algebra“ voraus. Kursmaterial Studientag/e internetgestütztes Diskussionsforum Zusatzmaterial Betreuung und Beratung durch Lehrende Einsendeaufgaben mit Korrektur und/oder Musterlösung Anmerkung Modulhandbuch - Bachelor Informatik Seite 56 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 57 von 145 Katalog M2: Computersysteme Modulhandbuch Bachelor Informatik Seite 58 von 145 Virtuelle Maschinen Lehrende/r Modulbeauftragte/ Wolfram Schiffmann Wolfram Schiffmann Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01728 Virtuelle Maschinen Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 150 Stunden, Bearbeiten der Einsendearbeiten: 75 Stunden, Studientage und Prüfungsvorbereitung: 75 Stunden Nachdem die Studierenden das Modul bearbeitet haben, können sie die Funktionsweise virtueller Maschinen 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. Qualifikationsziele Inhalte WS SWS 4+2 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 Mehrkern-Prozessoren. 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. Ergänzende Literatur: I. D. Craig, Virtual Machines, Springer-Verlag, New York, 2005 Inhaltliche Voraussetzungen Kenntnisse aus den Kursen Computersysteme sowie Betriebssysteme und Rechnernetze Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Studientag/e Anmerkung Modulhandbuch Der Basistext muss vor Semesterbeginn beschafft werden. Basistext: J. E. Smith and R. Nair, Virtual Machines, Elsevier, 2005 Bachelor Informatik Seite 59 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 60 von 145 Advanced Parallel Computing Lehrende/r Modulbeauftragte/ Wolfram Schiffmann Wolfram Schiffmann Jörg Keller Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01729 Advanced Parallel Computing Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 150 Stunden, Bearbeiten der Einsendearbeiten: 75 Stunden, Studientage und Prüfungsvorbereitung: 75 Stunden Nachdem die Studierenden das Modul bearbeitet haben, können sie Modellierungswerkzeuge für parallele Programme erklären, Scheduling-Algorithmen für homogene und heterogene Zielsysteme im Umfeld statischer und dynamischer Anwendungsszenarien klassifizieren, die Auslastung von Mehrkernprozessoren analysieren und optimieren, Programmiertechniken für hybride Zielarchitekturen 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. Qualifikationsziele Inhalte SS SWS 4+2 Im Kurs werden zunächst Modellierungswerkzeuge für parallele Programme eingeführt. Darauf aufbauend werden statische und dynamische Scheduling-Verfahren 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. Ergänzende Literatur: E. Alba, Parallel Metheuristics, Wiley, 2005 C. Bishof et al., Parallel Computing, Architectures, Algorithms, and Applications, IOS Press, 2008 C. Blum and A. Roli. Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Comput. Surv. , 35(3):268–308, September 2003.T. G. D. Kirk and Wen-mei Hwu, Programming Massively Parallel Processors – A Hands-on Approach, Morgan Kaufman, 2010 M. Drozdowski, Scheduling for Parallel Processing, Springer-Verlag, 2009 Yu-Kwong Kwok and I. 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 Lehr- und Betreuungsformen Kursmaterial Modulhandbuch internetgestütztes Diskussionsforum Bachelor Informatik Seite 61 von 145 Einsendeaufgaben mit Korrektur und/oder Musterlösung Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 62 von 145 PC-Technologie Lehrende/r Modulbeauftragte/ Jörg Lenhardt Jörg Lenhardt Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01744 PC-Technologie Detaillierter Zeitaufwand 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 Die Studierenden erwerben die Fähigkeiten, das komplexe Zusammenwirken der Komponenten in einem PC zu verstehen und aufgrund dieser Kenntnisse PC-Systeme 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. Qualifikationsziele Inhalte SS SWS 4+2 Im Kurs werden der Aufbau und die Funktionsweise eines PCs vorgestellt. Neben Prozessoren von AMD und Intel werden Mainboards, Chipsätze, Ein-/Ausgabe-Busse, 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. Ergänzende 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-3-8273-2339-2 S. Mueller: PC-Hardware Superbibel. Markt und Technik-Verlag, 2005, ISBN: 978-3827268174 Inhaltliche Voraussetzungen Lehr- und Betreuungsformen Grundkenntnisse in Mikrocomputer-Technik, insbesondere in Architektur und Programmierung von Mikroprozessoren, wie sie z.B. in Kurs 1706 "Anwendungsorientierte Mikroprozessoren" gelehrt werden. Kursmaterial internetgestütztes Diskussionsforum Einsendeaufgaben mit Korrektur und/oder Musterlösung Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch Bachelor Informatik Seite 63 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 64 von 145 Kommunikations- und Rechnernetze Lehrende/r Modulbeauftragte/ Herwig Unger Herwig Unger Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01690 Kommunikations- und Rechnernetze Detaillierter Zeitaufwand 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 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. Qualifikationsziele Inhalte SS SWS 4+2 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-toPeer-Systeme. Ergänzende Literatur: A. S. Tanenbaum: Computernetzwerke, 4. überarbeitete Auflage, Pearson 2003 P. Mahlmann, Chr. 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" Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung Betreuung und Beratung durch Lehrende internetgestütztes Diskussionsforum Studientag/e Anmerkung Modulhandbuch - Bachelor Informatik Seite 65 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 66 von 145 Betriebssysteme Lehrende/r Modulbeauftragte/ Jörg M. Haake Jörg M. Haake Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01802 Betriebssysteme Detaillierter Zeitaufwand 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 Qualifikationsziele 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. Inhalte 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. SS SWS 4+2 Ergänzende 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 Java, Ada, Modula-2, oder Pascal) kennen, dabei wenigstens ein Betriebssystem (z.B. MS-DOS oder eine UNIX-Variante) 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 kennengelernt oder auf andere Weise Kenntnisse über Architektur und Funktionsweise digitaler Rechner sowie über den Instruktionssatz einer CPU haben. Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum fachmentorielle Betreuung (Regional- und Studienzentren) Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch - Bachelor Informatik Seite 67 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 68 von 145 Sicherheit - Safety & Security Lehrende/r Dauer des Moduls zwei Semester Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Modulbeauftragte/ Herwig Unger Herwig Unger ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester SWS 2+1 01867 Sicherheit im Internet II WS 21811 Fehlertoleranz in Computersystemen und Netzwerken SS 1.Hälfte SWS 2+1 Bearbeiten der Kurseinheiten: 140 Stunden Bearbeiten der Übungsaufgaben: 70 Stunden Onlineveranstaltungen und Prüfungsvorbereitung: 90 Stunden 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 Schutzmaßnahmen 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. Inhalte 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 werden 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. Modulhandbuch Bachelor Informatik Seite 69 von 145 Ergänzende 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 Lehr- und Betreuungsformen 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" Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung Betreuung und Beratung durch Lehrende internetgestütztes Diskussionsforum Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 70 von 145 Katalog M3: Informationssysteme und Künstliche Intelligenz Modulhandbuch Bachelor Informatik Seite 71 von 145 Datenbanken in Rechnernetzen Lehrende/r Modulbeauftragte/ Wolfgang Wilkes Wolfgang Wilkes Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01666 Datenbanken in Rechnernetzen Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 150 Stunden Bearbeiten der Einsendearbeiten: 75 Stunden Studientage u. Prüfungsvorbereitung: 75 Stunden 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. Qualifikationsziele Inhalte WS SWS 4+2 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/Server-Architekturen. 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. Ergänzende Literatur: P. Dadam: Verteilte Datenbanken und Client/Server-Systeme, Springer Verlag 1996. J. Gray, A. Reuter: Transaction Processing - Concepts and Techniques, Morgan Kaufmann Publ., 1993 E. Rahm: 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) Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch - Bachelor Informatik Seite 72 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 73 von 145 Dokumenten- und Wissensmanagement im Internet Lehrende/r Dauer des Moduls ein oder zwei Semester Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Modulbeauftragte/ Matthias Hemmje Matthias Hemmje ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 01873 Daten und Dokumentenmanagement im Internet WS/SS 1.Hälfte SWS 2+1 01874 Informations- und Wissensmanagement im Internet WS/SS 2.Hälfte SWS 2+1 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 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 Technologieund 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. Inhalte 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 Modulhandbuch Bachelor Informatik Seite 74 von 145 eingeführt und Ausdrucksfähigkeit von RDF, dem im entstehenden Semantic Web eine besondere Bedeutung zukommt, grundlegend erarbeitet und zu bereits existierenden 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. Ergänzende Literatur: P. Aiken, M. D. Allen, "XML in Data Management: Understanding and Applying Them Together", Morgan Kaufmann, June 7, 2004, ISBN-13: 978-0120455997 S. Abiteboul, P. Bunemann, D. Suciu: "Data on the Web: From Relations to Semistructured Data and XML" Morgan Kaufmann, October 12, 1999, ISBN-13: 978-1558606227 G. Antoniou, F. van Harmelen: "A Semantic Web Primer", The MIT Press, April 1, 2004, ISBN-13: 978-0262012102 J. Davies, R. Studer, P. Warren (eds): "Semantic Web Technologies: Trends and Research in Ontology-based Systems", Wiley, July 11, 2006, ISBN-13: 978-0470025963 A. Sheth, M. Lytras: "Semantic Web-Based Information Systems: State-of-the-Art, Applications" Cybertech Publishing, December 11, 2006, ISBN-13: 978-1599044279 Inhaltliche Voraussetzungen Programmierkenntnisse Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 75 von 145 Moving Objects Databases Lehrende/r Modulbeauftragte/ Ralf Hartmut Güting Ralf Hartmut Güting Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01675 Moving Objects Databases Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 150 Stunden Bearbeitung der Einsendeaufgaben: 75 Stunden Wiederholung und Prüfungsvorbereitung, Prüfung: 75 Stunden 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. Qualifikationsziele Inhalte SS SWS 4+2 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. Ergänzende 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. MorganKaufmann Publishers, San Francisco, 2002. Inhaltliche Voraussetzungen Kenntnisse der Konzepte von Standard-Datenbanksystemen. Vertiefte Kenntnisse zur Implementierung von Datenbanksystemen, etwa anhand des Kurses 01664. Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Anmerkung Modulhandbuch Nicht zusammen mit dem aktuellen Modul "Vertiefung Datenstrukturen und Datenbanken" nutzbar Bachelor Informatik Seite 76 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 77 von 145 Deduktions- und Inferenzsysteme Lehrende/r Modulbeauftragte/ Christoph Beierle Christoph Beierle Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01695 Deduktions- und Inferenzsysteme Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 130 - 150 Stunden, bearbeiten der Übungsaufgaben: 60 - 75 Stunden, Studientage und Prüfungsvorbereitung: 60 - 75 Stunden 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. Qualifikationsziele Inhalte SS SWS 4+2 Intelligentes Verhalten basiert wesentlich auf der Fähigkeit, logische Schlüsse zu ziehen, und in nahezu allen Systemen der künstlichen Intelligenz spielen automatische Inferenzoder 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. Ergänzende 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. Vieweg-Verlag, 1993. Inhaltliche Voraussetzungen - Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 78 von 145 Entscheidungsmethoden in unternehmensweiten Softwaresystemen Lehrende/r Modulbeauftragte/ Lars Mönch Lars Mönch Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01771 Entscheidungsmethoden in unternehmensweiten Softwaresystemen Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 140 Stunden, Bearbeiten der Übungsaufgaben: 70 Stunden, Wiederholung des Stoffs und Prüfungsvorbereitung: 90 Stunden. 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 APSSystemen anwenden. Qualifikationsziele SS SWS 4+2 Inhalte 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. Inhaltliche Voraussetzungen Kenntnisse der Inhalte der Kurse "Algorithmische Mathematik" und "Betriebliche Informationssysteme" Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 79 von 145 Methoden der Wissensrepräsentation und -verarbeitung Lehrende/r Modulbeauftragte/ Christoph Beierle Christoph Beierle Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01845 Methoden der Wissensrepräsentation und -verarbeitung Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 130 - 150 Stunden, Bearbeiten der Übungsaufgaben: 60 - 75 Stunden, Studientage und Prüfungsvorbereitung: 60 - 75 Stunden 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. Qualifikationsziele WS SWS 4+2 Inhalte 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 Markovund Bayes-Netze, Fuzzy- und Dempster-Shafer-Theorie, zahlreiche Anwendungsbeispiele, u.a. aus Technik, Medizin und Genetik. 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. Kursmaterial Lehr- und Betreuungsformen Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 80 von 145 Multimediainformationssysteme Lehrende/r Dauer des Moduls zwei Semester Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Modulbeauftragte/ Matthias Hemmje Matthias Hemmje ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 01875 Multimediainformationssysteme I SS 1.Hälfte SWS 2+1 01876 Multimediainformationssysteme II WS SWS 2+1 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 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-Retrieval-Methoden 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 MultimediaInformation-Retrieval-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. Inhalte 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 inhalts-orientierten, struktur- orientierten oder Kontext/Meta-Daten-orientierten 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-RetrievalMethoden 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 Multimedia-Storage, -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 Modulhandbuch Bachelor Informatik Seite 81 von 145 Broadcast-, Produktions-und Re-Use-Szenarien eingegangen. Die in der Vorlesung behandelten Aspekte umfassen Technologien für Digitale 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. Inhaltliche Voraussetzungen Kenntnisse aus dem Kurs 01873 "Daten- und Dokumentenmanagement im Internet" Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 82 von 145 Vertiefung Datenstrukturen und Datenbanken Lehrende/r Dauer des Moduls ein oder drei Semester Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Modulbeauftragte/ Ralf Hartmut Güting Ralf Hartmut Güting ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester 01662 Datenstrukturen II SS 2.Hälfte SWS 2+1 01676 Moving Objects Databases I SS 1.Hälfte SWS 2+1 Bearbeiten der Kurseinheiten: 160 Stunden Bearbeitung der Einsendeaufgaben inkl. Verarbeitung des Korrektur: 80 Stunden Wiederholung und Prüfungsvorbereitung, Prüfung: 60 Stunden 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 non-standard 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. Inhalte 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. Ergänzende Literatur: R.H. Güting und S. Dieker, Datenstrukturen und Algorithmen. 3. Aufl., Teubner-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. MorganKaufmann Publishers, San Francisco, 2002. Modulhandbuch Bachelor Informatik Seite 83 von 145 Inhaltliche Voraussetzungen Lehr- und Betreuungsformen 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. Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Anmerkung Nicht zusammen mit dem Modul Moving Objects Databases nutzbar Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 84 von 145 Katalog M4: Software Engineering und Programmiersprachen Modulhandbuch Bachelor Informatik Seite 85 von 145 Logisches und funktionales Programmieren Lehrende/r Modulbeauftragte/ Christoph Beierle Christoph Beierle Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01816 Logisches und funktionales Programmieren Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 130 - 150 Stunden bearbeiten der Übungsaufgaben: 60 - 75 Stunden Prüfungsvorbereitung: 60 - 75 Stunden 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. Qualifikationsziele Inhalte WS SWS 4+2 Der Kurs enthält eine Einführung in die wichtigsten Programmiertechniken für nichtimperative 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über hinaus 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. Ergänzende 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 - Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Anmerkung Modulhandbuch - Bachelor Informatik Seite 86 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 87 von 145 Vertiefung Software Engineering und Programmiersprachen A (SA, FP) Lehrende/r Modulbeauftragte/ Friedrich Steimann Friedrich Steimann Christoph Beierle Dauer des Moduls zwei Semester Lehrveranstaltungen Christoph Beierle ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 01798 Software-Architektur WS 1.Hälfte SWS 2+1 01852 Fortgeschrittene Konzepte funktionaler Programmierung SS SWS 2+1 Detaillierter Zeitaufwand 01798: Bearbeitung des Kurstextes: 75 Stunden Bearbeitung der Übungs- und Einsendeaufgaben: 40 Stunden Nachbearbeitung und Klausur- bzw. Prüfungsvorbereitung: 35 Stunden 01852: Bearbeiten der Kurseinheiten: 65 - 70 Stunden, Bearbeiten der Übungsaufgaben: 30 - 40 Stunden, Prüfungsvorbereitung: 30 - 40 Stunden Qualifikationsziele 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. Inhalte 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 LambdaKalkül sowie das Typsystem von Hindley/Milner erläutert. Schließlich wird das Verständnis funktionaler Programmiersprachen durch die Beschreibung verschiedener Modulhandbuch Bachelor Informatik Seite 88 von 145 Implementierungsaspekte vertieft. Ergänzende 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. Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Zusatzmaterial Betreuung und Beratung durch Lehrende Anmerkung Nicht zusammen mit den Modulen Vertiefung Software Engineering und Programmiersprachen B (WP, FP) oder C (WP, SA) nutzbar Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 89 von 145 Vertiefung Software Engineering und Programmiersprachen B (WP, FP) Lehrende/r Modulbeauftragte/ Christoph Beierle Christoph Beierle Jörg Desel Dauer des Moduls ein bis drei Semster Lehrveranstaltungen Jörg Desel ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 01796 Web-Programmierung WS/SS SWS 3 01852 Fortgeschrittene Konzepte funktionaler Programmierung SS SWS 2+1 Detaillierter Zeitaufwand 01796: Bearbeitung der Kurseinheiten: 90 Stunden Bearbeitung der Ü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 Qualifikationsziele 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. Inhalte 01796: Gegenstand des Kurses ist die methodische Entwicklung von Internet-basierten 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 EE-Spezifikation 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 JSP-Technik 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 LambdaKalkül sowie das Typsystem von Hindley/Milner erläutert. Schließlich wird das Verständnis funktionaler Programmiersprachen durch die Beschreibung verschiedener Implementierungsaspekte vertieft. Ergänzende Literatur: Modulhandbuch Bachelor Informatik Seite 90 von 145 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 Lehr- und Betreuungsformen 01852: Kenntnisse in funktionaler Programmierung, z.B. aus dem Kurs 01816 Logisches und funktionales Programmieren Kursmaterial internetgestütztes Diskussionsforum Einsendeaufgaben mit Korrektur und/oder Musterlösung 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 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 91 von 145 Vertiefung Software Engineering und Programmiersprachen C (WP, SA) Lehrende/r Modulbeauftragte/ Jörg Desel Jörg Desel Friedrich Steimann Dauer des Moduls ein bis drei Semster Lehrveranstaltungen Friedrich Steimann ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester SWS 3 01796 Web-Programmierung WS/SS 01798 Software-Architektur WS 1.Hälfte SWS 2+1 Detaillierter Zeitaufwand 01796: Bearbeitung der Kurseinheiten: 90 Stunden Bearbeitung des Übungsaufgaben: 30 Stunden Nachbereitung und Prüfungsvorbereitung, sowie Prüfung: 30 Stunden 01798: Bearbeitung des Kurstextes: 75 Stunden Bearbeitung der Übungs- und Einsendeaufgaben: 40 Stunden Nachbearbeitung und Klausur- bzw. Prüfungsvorbereitung: 35 Stunden Qualifikationsziele 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. Inhalte 01796: Gegenstand des Kurses ist die methodische Entwicklung von Internet-basierten 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 EE-Spezifikation 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 JSP-Technik 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 Komponentenarchitekturen behandelt. Darüber hinaus geht der Kurs auf relevante informelle und formale Beschreibungstechniken ein. Modulhandbuch Bachelor Informatik Seite 92 von 145 Ergänzende 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. Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Zusatzmaterial Betreuung und Beratung durch Lehrende 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 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 93 von 145 DSL Engineering Lehrende/r Modulbeauftragte/ Friedrich Steimann Friedrich Steimann Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen 01888 Domänenspezifische Sprachen Detaillierter Zeitaufwand Bearbeitung der Kurseinheiten: 150 Stunden Bearbeitung der Übungsaufgaben: 80 Stunden Nachbereitung und Prüfungsvorbereitung, sowie Prüfung: 70 Stunden 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. Qualifikationsziele Inhalte WS/SS SWS 4+2 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 Programmier- und 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://voelter.de/dslbook/markusvoelter-dslengineering-1.0.pdf erhältlich und kann vor Belegung des Kurses zur Ansicht heruntergeladen werden (zu empfehlen!). Ergänzende Literatur: Martin Fowler, Domain Specific Languages, Addison-Wesley 2010 Inhaltliche Voraussetzungen Lehr- und Betreuungsformen 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. Kursmaterial internetgestütztes Diskussionsforum Einsendeaufgaben mit Korrektur und/oder Musterlösung Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch Der Basistext muss vor Semesterbeginn beschafft werden. Basistext: M. Voelter: DSL Engineering - Designing, Implementing and Using Domain-Specific Languages, dslbook.org, 2013 oder http://voelter.de/dslbook/markusvoelter-dslengineering-1.0.pdf Bachelor Informatik Seite 94 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 95 von 145 Katalog M7: Computer und Mensch Modulhandbuch Bachelor Informatik Seite 96 von 145 Informationsvisualisierung im Internet Lehrende/r Modulbeauftragte/ Matthias Hemmje Matthias Hemmje Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit s. Anmerkung Lehrveranstaltungen 01870 Informationsvisualisierung im Internet Detaillierter Zeitaufwand 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 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. Qualifikationsziele Inhalte SWS 4+2 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. Ergänzende Literatur: Colin Ware: Information Visualization. Morgan Kaufmann, 2004 R.Carey, G. Bell: The Annotated Vrml 2.0 Reference Manual, Addison Wesley, 1997 D. Brutzman, L. Daly: X3D. Extensible 3D Graphics for Web Authors, Morgan Kaufmann, 2007 Inhaltliche Voraussetzungen - Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch der Kurs wurde im WS 2015/16 letztmals angeboten, danach nach grundlegender Überarbeitung voraussichtlich wieder im WS 2017/18 Bachelor Informatik Seite 97 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 98 von 145 Computerunterstütztes kooperatives Arbeiten und Lernen Lehrende/r Dauer des Moduls ein oder drei Semester Lehrveranstaltungen Detaillierter Zeitaufwand Qualifikationsziele Inhalte Modulbeauftragte/ Jörg M. Haake Jörg M. Haake ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester 01880 Computerunterstütztes kooperatives Arbeiten (CSCW) SS SWS 2+1 01883 Computerunterstütztes kooperatives Lernen (CSCL) SS SWS 2+1 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 Die Studierenden 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/CSCL-Systemen 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. 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. Ergänzende Literatur: S. Teufel, C. Sauter, T. Mühlherr und K. Bauknecht: Computerunterstützung für die Gruppenarbeit . Addison-Wesley, 1995. U.M. Borghoff und J. H. Schlichter: Computer-Supported Cooperative Work. Springer-Verlag Berlin Heidelberg New York, 2000. G. Schwabe, N. Streitz und R. Unland (Hrsg.): CSCW-Kompendium. Springer-Verlag Berlin Heidelberg New York, 2001. T. Schümmer und St. Lukosch: Patterns for Computer-Mediated Interaction. John Wiley & Sons, Ltd., 2007. Inhaltliche Voraussetzungen Lehr- und Betreuungsformen Grundkenntnisse in Programmierung. Grundkenntnisse Betriebssysteme (Prozesse) und Rechnernetze (Protokolle), z.B. aus Kurs 01801. Kenntnisse in "Verteilten Systemen" (Kurs 01678) sind hilfreich. Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Modulhandbuch Bachelor Informatik Seite 99 von 145 Anmerkung Der Basistext muss vor Semesterbeginn beschafft werden. Basistext zu 01883: Haake, G. Schwabe, M. Wessner (Hrsg.): CSCL-Kompendium 2.0 - Lehr- und Handbuch zum computerunterstützten kooperativen Lernen. Oldenbourg Verlag, München, 2012. Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 100 von 145 Gestaltung Kooperativer Systeme Lehrende/r Modulbeauftragte/ Jörg M. Haake Till Schümmer Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01884 Gestaltung Kooperativer Systeme Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten (7 mal 20 Stunden): 140 Stunden Bearbeitung der Übungen in der Kurs-Lernumgebung (Moodle): 50 Stunden Diskussion in den Foren der Kurs-Lernumgebung (Moodle): 40 Stunden Auseinandersetzung mit Lösungen von Kurs-Teilnehmenden (Peer-Review): 10 Stunden Wiederholung und Prüfungsvorbereitung: 60 Stunden Die Teilnehmenden entwickeln ein vertieftes Verständnis für das Design von kooperativen Systemen, sowohl Kenntnisse auf technischer Gestaltungsebene als auch auf soziotechnischer Ebene. Studierende können nach Abschluss des Moduls Kooperationsprozesse analysieren und auf kooperative Systeme abbilden. Sie werden in die Lage versetzt, Prototypen visuell zu beschreiben und die Interaktionsprozesse zu formulieren. 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 sozio-technischen Systemen. Qualifikationsziele Inhalte WS SWS 4+2 In diesem Kurs werden Gestaltungskonzepte kooperativer Systeme anhand von Entwurfsmustern vermittelt. Diese werden in den Übungen am Entwurf eines konkreten kooperativen Systems in Form von visuellen Skizzen der Benutzungsschnittstellen und textuellen Beschreibungen der Anwendungsfälle praktisch eingeübt. Neben dem gestalterischen Aspekt betrachten die Teilnehmenden des Moduls philosophische und ethische Grundlagen kooperativer Systeme. So wird z. B. diskutiert, wie Identität in virtuellen Gemeinschaften herausgebildet, wie Gruppenprozesse unterstützt, Kommunikation gestaltet und wie gegenseitige Wahrnehmung in kooperativen Systemen hergestellt und in den Arbeitsalltag der Nutzenden eingebettet werden kann. Hierauf aufbauend werden die Teilnehmenden in die Lage versetzt, ein kooperatives System sowohl aus Benutzungssicht als auch aus technischer Sicht zu gestalten. Dabei 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 ComputerMediated Interaction". Ergänzende Literatur: S. Greenberg, S. Carpendale, N. Marquardt und B. Buxton: Sketching User Experiences: The Workbook. Elsevier, 2011. C. C d .M :D S I . O’R y, 2009. T. Gross und M. Koch: Computer-Supported Cooperative Work, Odenbourg, 2007. T. N : M b D P G y. O’R y, 2014. Inhaltliche Voraussetzungen Englische Sprachkenntnisse; da der Kurs auf englischer Literatur basiert. Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Modulhandbuch Bachelor Informatik Seite 101 von 145 Betreuung und Beratung durch Lehrende Studientag/e Zusatzmaterial Anmerkung Der Basistext muss vor Semesterbeginn beschafft werden. Basistext: T. Schümmer und St. Lukosch: Patterns for Computer-Mediated Interaction. John Wiley & Sons, Ltd., 2007 Das Buch ist aktuell als e-Book verfügbar und kann entweder direkt beim Verlag oder bei bekannten e-Book-Plattformen bezogen werden (z.B. für Amazon Kindle). Fakultativ kann als Vertiefung gelesen werden: s. Ergänzende Literatur Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete mündliche Modulprüfung Leistungsnachweis zu einem Modul aus dem Pflichtbereich Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 102 von 145 Fachpraktika Modulhandbuch Bachelor Informatik Seite 103 von 145 Fachpraktikum Field Programmable Gate Arrays Lehrende/r Modulbeauftragte/ Jörg Lenhardt Andreas Kleimann Jörg Lenhardt Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01515 Fachpraktikum Field Programmable Gate Arrays (FPGA) Detaillierter Zeitaufwand Bearbeiten der Heim-Versuche (7 mal 30 Stunden): 210 Stunden Vor- und Nachbereitung der Präsenzphase: 50 Stunden Präsenzphase und Studientag: 40 Stunden Die Praktikumsteilnehmer sammeln praktische Erfahrungen mit dem oben genannten komplexen Hardware-System und seiner 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. Qualifikationsziele WS SWS 4 Inhalte Ziel dieses Praktikums ist es, die grundlegende Programmierung von FPGAs (Field Programmable Gate Arrays) mit VHDL (Very High Speed Integrated Circuits Hardware Description Language) zu erlernen. Es werden hierbei keine Vorkenntnisse im Bereich der VHDL-Programmierung vorausgesetzt. d T d T I (S ,S w ,B ’ Algebra, Automaten etc.) werden allerdings als vorhanden angenommen. Sollten Sie in diesem Bereich noch Nachholbedarf haben, können Sie das notwendige Wissen in den Kursen 1608 und 1609 der FernUniversität Hagen erwerben. Das Praktikum basiert auf dem Buch „Embedded SoPC Design with Nios II Processor and VHDL Examples“ von Pong P. Chu (ISBN: 978-1-118-00888-1) 2011. Die Versuche werden mit einem Evaluations-Board DE1 der Firma Altera durchgeführt. Inhaltliche Voraussetzungen Grundlagenwissen zu Mikroprozessoren, wie z.B. aus den Kursen 1608, 1609 "Computersysteme I/II" sowie grundlegende Programmierkenntnisse. Lehr- und Betreuungsformen Studientag/e Zusatzmaterial Betreuung und Beratung durch Lehrende Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Anmerkung Modulhandbuch Sowohl das o.g. Buch als auch das Evaluations-Board werden für den Zeitraum des Praktikums zur Verfügung gestellt. Buch und Board müssen nach Abschluss des Praktikums vollständig (d.h. inkl. Verpackung etc.), in einwandfreien Zustand zurückgegeben werden. Bachelor Informatik Seite 104 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch Bachelor Informatik Seite 105 von 145 Fachpraktikum Eingebettete Systeme Lehrende/r Modulbeauftragte/ Jörg Lenhardt Jörg Lenhardt Andreas Kleimann Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01514 Fachpraktikum Eingebettete Systeme Detaillierter Zeitaufwand Bearbeiten der Heim-Versuche (7 mal 30 Stunden): 210 Stunden Vor- und Nachbereitung der Präsenzphase: 50 Stunden Präsenzphase und Studientag: 40 Stunden Die Praktikumsteilnehmer sammeln praktische Erfahrungen mit dem oben genannten komplexen Hardware-System und seiner 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. Qualifikationsziele Inhalte SS SWS 4 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 ein komplexes Mikrocontroller-System inklusive der benötigten Software-Entwicklungsumgebung zur Verfügung gestellt. Jeder Teilnehmer bzw. jede Teilnehmerin wird sich im Rahmen des Praktikums intensiv mit diesem System auseinandersetzen. Die Entwicklung von Programmen für das Mikrocontroller-System erfolgt in Assembler. Die Studierenden führen die Programmierung verschiedener Steuerund Regel-Anwendungen durch, die auf den Signalen unterschiedlichster Sensoren basieren und die umfangreichen Peripherie-Komponenten des Mikrocontrollers verwenden. Ergänzende 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" optional: H. Bähring: "Anwendungsorientierte Mikroprozessoren: Mikrocontroller und Digitale Signalprozessoren", Springer-Verlag, 2010 Inhaltliche Voraussetzungen Lehr- und Betreuungsformen Grundlagenwissen zu Mikroprozessoren, wie z.B. aus dem Kurs 1609 "Computersysteme II" und dem Kurs 1706 "Anwendungsorientierte Mikroprozessoren", sowie grundlegende Programmier-Kenntnisse Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Studientag/e Zusatzmaterial Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch - Bachelor Informatik Seite 106 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch Bachelor Informatik Seite 107 von 145 Fachpraktikum Erweiterbare Datenbanksysteme Lehrende/r Modulbeauftragte/ Ralf Hartmut Güting Ralf Hartmut Güting Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in 2 von 3 WS Lehrveranstaltungen 01590 Fachpraktikum Erweiterbare Datenbanksysteme Detaillierter Zeitaufwand 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. SWS 4 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 Qualifikationsziele 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 Secondo-Prototypen. Inhalte 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-StandardDatentypen (Polygone, Bilder, chemische Formeln, ...), neue Indexstrukturen oder JoinMethoden, 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. Ergänzende 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. Modulhandbuch Bachelor Informatik Seite 108 von 145 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 Lehr- und Betreuungsformen 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). internetgestütztes Diskussionsforum Zusatzmaterial Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch Bachelor Informatik Seite 109 von 145 Fachpraktikum CSCW Lehrende/r Modulbeauftragte/ Jörg M. Haake Jörg M. Haake Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01592 Fachpraktikum CSCW Detaillierter Zeitaufwand Bearbeiten des Gruppenprojekts: 260 Stunden Teilnahme an beiden Präsenzphasen: 40 Stunden Qualifikationsziele Die Studierenden 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 Groupware-Anwendung 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. Inhalte Dieses Fachpraktikum behandelt Design und Implementierung von CSCW-Systemen (Groupware). Die Teilnehmenden entwickeln in einer Projektgruppe ein konkretes CSCWSystem. Insbesondere werden Methoden für die Anforderungsermittlung, den Entwurf, die Realisierung, den Test und die Dokumentation von Groupware-Anwendungen (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. WS SWS 4 Ergänzende Literatur: Literatur zu den genutzten Programmiersprachen und ggf. Frameworks wird zum Beginn des Praktikums bekannt gegeben. Inhaltliche Voraussetzungen Lehr- und Betreuungsformen Anmerkung Modulhandbuch 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. Betreuung und Beratung durch Lehrende - Bachelor Informatik Seite 110 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch Bachelor Informatik Seite 111 von 145 Fachpraktikum Prozessmodellierungswerkzeuge Lehrende/r Modulbeauftragte/ Jörg Desel Jörg Desel Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit alle 2 bis 3 Jahre Lehrveranstaltungen 01593 Fachpraktikum Prozessmodellierungswerkzeuge Detaillierter Zeitaufwand 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 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. Qualifikationsziele SWS 4 Inhalte 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. 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. Betreuung und Beratung durch Lehrende Lehr- und Betreuungsformen Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch Bachelor Informatik Seite 112 von 145 Fachpraktikum Multimedia- und Internetanwendungen Lehrende/r Modulbeauftragte/ Matthias Hemmje Matthias Hemmje Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit alle 2 bis 3 Jahre Lehrveranstaltungen 01594 Fachpraktikum Multimedia- und Internetanwendungen Detaillierter Zeitaufwand Präsenzphasen: 50 Stunden Präsentationsvorbereitung: 10 Stunden Entwurf und Implementierung von Algorithmen im Team: 240 Stunden 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. Qualifikationsziele SWS 4 Inhalte 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. Inhaltliche Voraussetzungen Kenntnisse in JAVA und objektorientierter Softwareentwicklung werden vorausgesetzt, Erfahrungen im Umgang mit Eclipse, Maven und SVN sind wünschenswert. Lehr- und Betreuungsformen Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch Bachelor Informatik Seite 113 von 145 Fachpraktikum Programmiersysteme Lehrende/r Modulbeauftragte/ Friedrich Steimann Friedrich Steimann Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit alle 2 bis 3 Jahre Lehrveranstaltungen 01595 Fachpraktikum Programmiersysteme Detaillierter Zeitaufwand 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 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. Qualifikationsziele Inhalte SWS 4 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. Ergänzende 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 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. Modulhandbuch Bachelor Informatik Seite 114 von 145 Lehr- und Betreuungsformen internetgestütztes Diskussionsforum Zusatzmaterial Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch Bachelor Informatik Seite 115 von 145 Fachpraktikum Simulation von diskreten Produktionssystemen Lehrende/r Modulbeauftragte/ Lars Mönch Lars Mönch Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit alle 2 bis 3 Jahre Lehrveranstaltungen 01596 Fachpraktikum Simulation von diskreten Produktionssystemen Detaillierter Zeitaufwand Bearbeiten der Aufgaben des Fachpraktikums: 210 Stunden Vorbereitung und Durchführung der Präsenztage in Hagen: 90 Stunden Qualifikationsziele 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 durchzufü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. Inhalte 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 Standardfunktionalitä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. Inhaltliche Voraussetzungen Erfolgreicher Abschluss des Moduls unternehmensweiten Softwaresystemen" Lehr- und Betreuungsformen Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch 01771 SWS 4 "Entscheidungsmethoden in Zusatzmaterial Bachelor Informatik Seite 116 von 145 Fachpraktikum Parallel Programming Lehrende/r Modulbeauftragte/ Wolfram Schiffmann Jörg Keller Wolfram Schiffmann Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit alle 2 bis 3 Jahre Lehrveranstaltungen 01597 Fachpraktikum Parallel Programming Detaillierter Zeitaufwand 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 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. Qualifikationsziele Inhalte SWS 4 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. Ergänzende Literatur: Wird je nach Aufgabenstellung bekanntgegeben Inhaltliche Voraussetzungen Lehr- und Betreuungsformen Erfolgreicher Abschluss des Moduls "Parallel Programming", Kurs 01727 "Parallele Programmierung und Grid Computing" oder der Nachweis einer gleichwertigen Qualifikation. Gute Programmierkenntnisse in C. Betreuung und Beratung durch Lehrende Zusatzmaterial Studientag/e Kursmaterial Anmerkung Modulhandbuch - Bachelor Informatik Seite 117 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch Bachelor Informatik Seite 118 von 145 Fachpraktikum für verteilte kooperative und mobile Anwendungen Lehrende/r Modulbeauftragte/ Dominic Heutelbeck Dominic Heutelbeck Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01598 Fachpraktikum für verteilte Kooperative und Mobile Anwendungen Detaillierter Zeitaufwand Präsenzphase: 70 Stunden Heimarbeit: 230 Stunden Qualifikationsziele 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. Inhalte Im Fachpraktikum „Sichere kollaborative Anwendungen“ bieten wir den Studierenden die Möglichkeit, im Team ein komplexes Softwareprodukt aufgrund aktueller Internettechnologien zu erstellen. In diesem Praktikum werden sichere Dienste auf der Grundlage von semantischen Modellen für organisatorische Strukturen und soziale Netze erstellt. Als Basistechnologien innerhalb dieses Fachpraktikums setzen wir die offenen Standards (z. B. die des W3C), Microservice-Architekturen, Domain Driven Design, CQRS, Java, Vaadin, Spring und Axon 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 ähnliche Dienste und mit E-Mail ist dabei unabdingbar. Inhaltliche Voraussetzungen Das Fachpraktikum richtet sich primär an fortgeschrittene Studierende. Voraussetzung sind gute Kenntnisse im Bereich Software Engineering und Java. Lehr- und Betreuungsformen Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung; Bestehen eines Eingangstests, der während der vorlesungsfreien Zeit verschickt wird Modulhandbuch Bachelor Informatik WS SWS 4 Seite 119 von 145 Fachpraktikum IT-Sicherheit Lehrende/r Modulbeauftragte/ Jörg Keller Jörg Keller Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit alle 2 bis 3 Jahre Lehrveranstaltungen 01599 Fachpraktikum IT-Sicherheit Detaillierter Zeitaufwand Bearbeitung Aufgaben Phase 1: 150 Stunden Bearbeitung Aufgaben Phase 2: 100 Stunden Dokumentation u. Präsentation: 50 Stunden 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 LogDateien 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. Qualifikationsziele SWS 4 Inhalte 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. Inhaltliche Voraussetzungen Erfolgreiche Bearbeitung eines der Kurse 01866 oder 01867 "Sicherheit im Internet I/II" bzw. äquivalente Kenntnisse Lehr- und Betreuungsformen Betreuung und Beratung durch Lehrende Studientag/e internetgestütztes Diskussionsforum Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch Bachelor Informatik Seite 120 von 145 Fachpraktikum Mensch-Computer-Interaktion Lehrende/r Modulbeauftragte/ Gabriele Peters Gabriele Peters Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit alle 2 bis 3 Jahre Lehrveranstaltungen 01513 Fachpraktikum Mensch-Computer-Interaktion Detaillierter Zeitaufwand Bearbeitung des Projektes: 250 Stunden Präsentation der Ergebnisse: 50 Stunden Qualifikationsziele 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. Inhalte 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 3D-Daten sowie die Anwendung von Methoden des maschinellen Lernens (z.B. Reinforcement Learning). Auch Verfahren des maschinellen Sehens wie z.B. bild- oder videobasierte Merkmalserkennung 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. 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. internetgestütztes Diskussionsforum Lehr- und Betreuungsformen SWS 4 Zusatzmaterial Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Praktikumsaufgabe Teilnahmevoraussetzung: erfolgreicher Abschluss Modul Grundpraktikum Programmierung Modulhandbuch Bachelor Informatik Seite 121 von 145 Seminare Modulhandbuch Bachelor Informatik Seite 122 von 145 Seminar Lehrende/r Modulbeauftragte/ Ralf Hartmut Güting Hochschullehrende der Informatik Dauer des Moduls ein Semester ECTS 5 Workload 150 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen ca. 10 Detaillierter Zeitaufwand 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 Qualifikationsziele Nach erfolgreicher Teilnahme können Studierende - ein wissenschaftliches Thema anhand vorgegebener Literaturhinweise erarbeiten, - selbstständig weitere Literatur zum Thema suchen, - englische Informatik-Artikel lesen und verstehen, - Inhalte strukturieren und mit eigenen Beispielen darstellen, - eine schriftliche Ausarbeitung erstellen, - eine Bildschirmpräsentation erstellen, - technische Inhalte vor einem Publikum erklären, - auf Fragen aus dem Publikum angemessen eingehen. Inhalte 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 selbststä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. WS/SS SWS 2 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. Ergänzende Literatur: Je nach Thema Inhaltliche Voraussetzungen Modulhandbuch je nach Thema Bachelor Informatik Seite 123 von 145 Inhaltliche Voraussetzungen Lehr- und Betreuungsformen Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreiche Seminarteilnahme (Ausarbeitung und Vortrag) keine Modulhandbuch Bachelor Informatik Seite 124 von 145 Integriertes Nebenfach Modulhandbuch Bachelor Informatik Seite 125 von 145 Management von Softwareprojekten Lehrende/r Modulbeauftragte/ Birgit Feldmann Birgit Feldmann Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen 01895 Management von Softwareprojekten Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 130 Stunden Bearbeiten der Übungsaufgaben: 70 Stunden Studientag und Prüfungsvorbereitung: 100 Stunden Die Studierenden verstehen die Komplexität des Managements von Softwareprojekten und erkennen die Bedeutung dieser Komponente für Durchführung. Neben den Vorgehensmodellen sind sie auch mit projektvorbereitenden, -begleitenden und abschließenden Managementmethoden und den einschlägigen Soft Skills vertraut. Sie können die Lerninhalte des Kurses in den entsprechenden Übungsaufgaben anwenden. Qualifikationsziele Inhalte WS/SS SWS 4+2 Für den Erfolg von Softwareprojekten sind nicht nur erfahrene Softwareentwickler notwendig, es ist vor allem auch ein kompetentes Management notwendig. In diesem Kurs werden Sie mit Vorgehensmodellen für Softwareprojekte vertraut gemacht, Sie lernen verschiedene Formen der Integration von Softwareprojekten in die vorhandene Organisationsstruktur von Unternehmen und Grundlagen der projektinternen Organisation kennen. Zudem werden Methoden zur Aufwandsschätzung behandelt, und Verfahren der Projektplanung. Auch Projekttechniken werden vermittelt. Darüber hinaus wird auch die menschliche Komponente in der Projektplanung berücksichtigt, z. B. Führung und Motivation von Mitarbeiterinnen und Mitarbeitern. Die Thematik wird mit Ausführungen zur Qualitätssicherung und zum Qualitätsmanagement abgeschlossen. Inhaltliche Voraussetzungen Empfohlen werden Grundkenntnisse der Programmierung (Kurse 01613 und 01618) Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung Studientag/e internetgestütztes Diskussionsforum Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur keine Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 126 von 145 Analysis Lehrende/r Modulbeauftragte/ Delio Mugnolo Delio Mugnolo Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01144 Analysis Detaillierter Zeitaufwand 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 Die Studierenden entwickeln Vertrautheit mit grundlegenden Begriffen der Analysis. Insbesondere erlernen sie den Umgang mit Funktionen in höheren Dimensionen sowie die eigenständige Untersuchung der Eigenschaften einer gegebenen Funktion mehrerer Veränderlicher. Qualifikationsziele SS SWS 4+2 Sie erlernen wichtige Methoden der Analysis und können mit diesen in vergleichbaren Situationen selbstständig umgehen. Sie erlernen vertiefte mathematische Denkweisen in konkreten und in abstrakten Situationen und sind in der Lage selbst analytische Modelle für konkrete Fragestellungen zu entwickeln und zu analysieren. Inhalte Das Modul bietet eine Einführung in die Analysis in normierten Räumen, insbesondere im mehrdimensionalen euklidischen Raum. Es werden grundlegende topologische Begriffe analysiert, wie Kompaktheit, Offenheit, Abgeschlossenheit. Es werden Stetigkeit und Differenzierbarkeit definiert und wichtige Eigenschaften stetiger und differenzierbarer Funktionen untersucht. Wichtige Begriffe sind hierbei die partielle Ableitung, die Jacobi-Matrix und ihr Zusammenhang mit der Differenzierbarkeit. Der Satz von der (lokalen) Umkehrabbildung und grundlegende Begriffe der Vektoranalysis wie Gradient und Rotation werden eingeführt. Die Grundlagen der Theorie gewöhnlicher Differenzialgleichungen werden eingeführt. Ergänzende Literatur: Forster, O.: Analysis, Band 1 und 2, Springer Spektrum, 2013 Heuser, H: Lehrbuch der Analysis, Teil 1, Vieweg+Teubner, 2009 Königsberger, K.: Analysis, Band 1 und 2, Springer-Verlag, 2004 Inhaltliche Voraussetzungen Modul „Mathematische Grundlagen“ (oder dessen Inhalt) Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Studientag/e fachmentorielle Betreuung (Regional- und Studienzentren) Anmerkung Modulhandbuch - Bachelor Informatik Seite 127 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur, 2. Wh. mündl. keine Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 128 von 145 Einführung in die Wirtschaftswissenschaft Lehrende/r Modulbeauftragte/ Thomas Hering Thomas Hering Helmut Wagner Dauer des Moduls ein Semester Lehrveranstaltungen Helmut Wagner ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 40500 Einführung in die Betriebswirtschaftslehre WS/SS SWS 3 40501 Einführung in die Volkswirtschaftslehre WS/SS SWS 3 Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten unter Nutzung des Betreuungsangebots : 180 Stunden Vorbereitung und Erbringung von Prüfungsleistungen: 120 Stunden Qualifikationsziele Mit dem Modul „Einführung in die Wirtschaftswissenschaft“ werden im Wesentlichen die nachfolgenden Qualifikationsziele verfolgt: Die Studienanfänger werden an die ökonomische Denkweise sowie die betriebs-/ volkswirtschaftliche Fachsprache und wissenschaftliche Methodik herangeführt. Eine Vielzahl elementarer betriebs- und volkswirtschaftlicher Theorien wird in einem ersten, breit angelegten Überblick kompakt vermittelt. Inhalte Dieses Modul bietet eine Einführung in betriebs- und volkswirtschaftliche Fragestellungen. Einführung in die Betriebswirtschaftslehre Die Kenntnis betriebswirtschaftlicher Grundtatbestände ist eine notwendige Voraussetzung für jeden, der in Unternehmen an verantwortlicher Stelle tätig ist oder sich im Studium auf eine derartige Tätigkeit vorbereitet. Der Kurs „Einführung in die Betriebswirtschaftslehre“ soll daher den Studierenden die Möglichkeit bieten, sich betriebswirtschaftliches Grundwissen anzueignen sowie betriebswirtschaftliche Methoden kennenzulernen, sie zu verstehen und anzuwenden. Dazu wird in erster Linie ein Überblick über die gesamte Breite des Faches geliefert. Nach einem einleitenden Kapitel, welches sich mit dem Gegenstand und den Zielen der Betriebswirtschaftslehre beschäftigt, wird der güter-wirtschaftliche Leistungsprozess mit seinen Teildisziplinen Beschaffung, Produktion, Absatz, Organisation sowie Personal und Führung behandelt. Das dritte und abschließende Kapitel dieses Kurses befasst sich mit dem finanzwirtschaftlichen Prozess (Investition und Finanzierung, internes und externes Rechnungswesen). Wenngleich alle wesentlichen Teilbereiche der Betriebswirtschaftslehre berücksichtigt werden, erfahren einige dieser Teilbereiche eine schwerpunktmäßige Behandlung: Zur Vermittlung sowohl der wissenschaftlichen Methodik als auch der betriebswirtschaftlichen Grundlagen eignen sich besonders die Bereiche Produktion, Investition und Finanzierung sowie internes und externes Rechnungswesen. Einführung in die Volkswirtschaftslehre Der Kurs „Einführung in die Volkswirtschaftslehre“ beschäftigt sich einführend mit den Kernbereichen der Volkswirtschaftslehre, um den Studierenden einen Überblick über die theoretischen Fragestellungen und die Methoden der Volkswirtschaftslehre zu geben. Nach dem einleitenden ersten Teil, der die Klärung des Begriffes Volkswirtschaftlehre und die Abgrenzung zur Betriebswirtschaftslehre zum Gegenstand hat, beschäftigt sich der Kurs einführend mit den drei Kernbereichen der Volkswirtschaftslehre, der Mikro- und Makroökonomik sowie der Wirtschaftspolitik. Der Teil II „Mikroökonomik“ dieses Kurses befasst sich mit einzelwirtschaftlichen Sachverhalten, wie den individuellen Konsumentscheidungen der Haushalte und den Produktionsentscheidungen einzelner Unternehmen und deren Zusammenspiel auf Märkten. Dabei steht der Preisbildungsprozess bei der Vielzahl der Wahlentscheidungen im Vordergrund der Analyse. Der anschließende Teil III „Makroökonomik“ befasst sich hingegen mit Modulhandbuch Bachelor Informatik Seite 129 von 145 gesamtwirtschaftlichen Aggregaten, wie z.B. dem gesamtwirtschaftlichen Güterangebot. Mit Hilfe einer modelltheoretischen Analyse werden beispielsweise folgende Fragen beantwortet: Wie entstehen Konjunkturschwankungen? Welche Rolle spielt Geld in einer Volkswirtschaft? Im abschließenden IV. Teil „Wirtschaftspolitik“ wird das Handeln wirtschaftspolitischer Entscheidungsträger und deren Zielsetzung beschrieben. Ergänzende Literatur: Th. Hering, Ch. Toll: BWL-Klausuren, 4. Aufl., München 2015. H. Wagner, H. Turke: VWL-Klausuren. Ein Übungsbuch, 2. Aufl., München 2014. Inhaltliche Voraussetzungen - Lehr- und Betreuungsformen Kursmaterial internetgestütztes Diskussionsforum fachmentorielle Betreuung (Regional- und Studienzentren) Einsendeaufgaben mit Korrektur und/oder Musterlösung Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur s. Regelungen der Fakultät Wirtschaftswissenschaft (http://www.fernunihagen.de/wirtschaftswissenschaft/studium/modu le/31001.shtml). Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 130 von 145 Grundlagen des Marketing Lehrende/r Modulbeauftragte/ Rainer Olbrich Rainer Olbrich Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen 41621 Grundlagen des Marketing Detaillierter Zeitaufwand Das Modul besteht aus dem Kurs 41621 "Grundlagen des Marketing" und gliedert sich in fünf Kurseinheiten: - Einführung in die Marketingplanung: 25 Stunden, - Produktpolitik: 50 Stunden, - Preispolitik: 150 Stunden, - Kommunikationspolitik: 25 Stunden und - Distributionspolitik: 50 Stunden. WS/SS SWS 6 Die Kurseinheiten werden als schriftliches Studienmaterial präsentiert und sind didaktisch so aufbereitet, dass sie von den Studierenden in freier Zeiteinteilung und Ortswahl selbstständig bearbeitet werden können. Qualifikationsziele Modulhandbuch Mit dem Modul werden im Wesentlichen die folgenden Qualifikationsziele verfolgt: 1. Den Studierenden werden zunächst die wichtigsten konzeptionellen Grundlagen des Marketing vermittelt. Hierzu gehören insbesondere der Prozess der Marketingplanung, die Informationslieferanten und -grundlagen der Marketingplanung, die Marktsegmentierung dd b ‚ G ‘. I R d M erlernen die Studierenden z. B. die Ausgestaltung und die Vorgehensweise zur Bestimmung von Marktsegmenten, Zielgruppen und strategischen Geschäftseinheiten. Sie können exemplarische Ziele, Problembereiche und Erfolgsvoraussetzungen aufzeigen und diskutieren. 2. Die Studierenden werden befähigt, Entscheidungssituationen bezüglich des Einsatzes unterschiedlicher Marketinginstrumente nachzuvollziehen und gestalterisch zu beeinflussen. Sie können konkrete Entscheidungsprobleme formulieren, strukturieren, kritisch bewerten und anwendungsorientiert lösen. Dabei sind sie in der Lage, Interdependenzen zwischen den einzelnen Marketinginstrumenten zu erkennen und diese anhand praktischer Beispiele zu verdeutlichen. 3. Die Studierenden kennen die Nutzenkomponenten und Arten eines Produktes sowie produkt- und sortimentspolitische Basisentscheidungen und sind in der Lage, die Anwendung weiterer Gestaltungsparameter des Leistungsprogrammes, wie z. B. Markierung, Verpackung und Service, zu skizzieren. 4. Die Studierenden können eigenständig im Rahmen der statischen Preistheorie Berechnungen mit Preisabsatz-, Kosten- und Gewinnfunktionen durchführen sowie die Ergebnisse ökonomisch interpretieren. Zudem verstehen die Studierenden die Entscheidungstatbestände im Rahmen der dynamischen Preistheorie und können Spezialprobleme des Preismanagements erläutern. 5. Die Studierenden haben die Fähigkeiten, den idealtypischen Planungsprozess der Marktkommunikation aufzuzeigen sowie die zentralen Entscheidungstatbestände der Marktkommunikation darzustellen. Darüber hinaus können sie die Planung und den Einsatz der Kommunikationsinstrumente illustrieren. 6. Schließlich verstehen die Studierenden die Planungsschrittfolgen der Distributionspolitik, d. h. die wesentlichen Inhalte der Planung der Warenverkaufsprozesse und der physischen Warenverteilungsprozesse sowie deren Abwicklung und Koordination. Die Studierenden sind dadurch in der Lage, die einzelnen Planungsschrittfolgen zu erklären und zu veranschaulichen. Bachelor Informatik Seite 131 von 145 Inhalte Dieses Modul bietet eine Einführung in die Planungsprozesse der Marketingplanung und der Marketinginstrumente. Im Vordergrund stehen dabei die wichtigsten Entscheidungsprobleme dieser Planungsbereiche. Kurseinheit 1: Einführung in die Marketingplanung (25 Stunden) Im Rahmen dieser Kurseinheit werden zunächst die konzeptionellen Grundlagen Marketingplanung erarbeitet. Es werden dabei insbesondere der Prozess Marketingplanung sowie die Informationslieferanten und -grundlagen Marketingplanung erläutert. Anschließend wird die Vorgehensweise Marktsegmentierung und der Bildung von strategischen Geschäftseinheiten dargestellt. der der der der Kurseinheiten 2-5: Produkt-, Preis-, Kommunikations- und Distributionspolitik (insgesamt 275 Stunden) Im Rahmen dieser Kurseinheiten wird die Planung der vier zentralen Instrumente des Marketing-Mix dargestellt. Hierbei handelt es sich um die Planung der Produktpolitik, der Preispolitik, der Kommunikationspolitik und der Distributionspolitik. Die Planung der Marketinginstrumente ist in die Marketingplanung eingebettet. Bei der Planung der Marketinginstrumente handelt es sich um ein eng vernetztes Planungsproblem. Daher ist eine integrierende Sichtweise zugrunde gelegt worden. Inhaltliche Voraussetzungen Keine speziellen Voraussetzungen. Grundkenntnisse im Bereich Marketing sind hilfreich. Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum fachmentorielle Betreuung (Regional- und Studienzentren) Betreuung und Beratung durch Lehrende Anmerkung Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur s. Regelungen der Fakultät Wirtschaftswissenschaft (http://www.fernunihagen.de/wirtschaftswissenschaft/studium/modu le/31621.shtml). Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 132 von 145 Lineare Algebra Lehrende/r Modulbeauftragte/ Luise Unger Luise Unger Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Wintersemester Lehrveranstaltungen 01143 Lineare Algebra Detaillierter Zeitaufwand 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 Die Studierenden entwickeln Verständnis für lineare Zusammenhänge und Strukturen, erwerben vertiefte Kenntnisse im strukturellen Zugang zur Mathematik und gewinnen einen Einblick in die Anwendungen der Linearen Algebra in der Mathematik und anderen Wissenschaften. Ferner erwerben sie Basiswissen und Fertigkeiten für das gesamte weitere Studium. Durch die Teilnahme an Internet-Diskussionsgruppen sowie an den optionalen Präsenzveranstaltungen wird Teamarbeit und das Einüben wissenschaftlicher Kommunikation gefördert. Qualifikationsziele Inhalte WS SWS 4+2 Das Modul besteht aus einem Kurs mit sieben Kurseinheiten. Im Zentrum der ersten stehen abstrakte algebraische Strukturen wie Äquivalenzrelationen, Gruppen, Ringe (hier schwerpunktmäßig Integritätsbereiche beziehungsweise Polynomringe) und Körper (komplexe Zahlen, endliche Primkörper, Quotientenkörper von Integritätsbereichen). Die zweite Kurseinheit behandelt Determinanten von Matrizen über kommutativen Ringen sowie deren Anwendungen. Der Schwerpunkt der dritten und vierten Kurseinheit liegt auf d N b (D b , N , J d ’ Normalform). In Kurseinheit fünf werden Bilinearformen und Sesquilinearformen eingeführt und die Normalproblematik bezüglich Kongruenz von speziellen Matrizen diskutiert. Der Fokus von Kurseinheit sechs liegt auf Euklidischen und unitären Vektorräumen sowie orthogonalen Endomorphismen. Die letzte Kurseiheint behandelt Dualräume, adjungierte Endomorphismen, unendlich erzeugte Vektorräume und gibt einen kurzen Überblick über die Entwicklung des Vektorraumbegriffs. Inhaltliche Voraussetzungen Modul „Mathematische Grundlagen“ (oder dessen Inhalt) Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Zusatzmaterial fachmentorielle Betreuung (Regional- und Studienzentren) Studientag/e Betreuung und Beratung durch Lehrende Anmerkung Modulhandbuch - Bachelor Informatik Seite 133 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur, 2. Wh. mündl. keine Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 134 von 145 Einführung in die Stochastik Lehrende/r Modulbeauftragte/ Wolfgang Spitzer Werner Kirsch Eugen Grycko Wolfgang Spitzer Dauer des Moduls ein Semester ECTS 10 Workload 300 Stunden Häufigkeit in jedem Sommersemester Lehrveranstaltungen 01146 Einführung in die Stochastik Detaillierter Zeitaufwand 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 Nach Absolvierung des Moduls beherrschen die Studierenden die grundlegenden theoretischen Konzepte der Stochastik und Statistik, insbesondere in diskreten Wahrscheinlichkeitsräumen und können dies auf zielgerichtete Anwendungen übertragen. Sie sind mit verschiedenen kombinatorischen Modellen vertraut. Die Studierenden können mit Zufallsvariablen, (bedingten) Erwartungswerten und Varianzen für diskrete und absolutstetige Zufallsgrößen umgehen. Sie kennen das schwache und das starke Gesetz der großen Zahlen und verstehen die Beweise. Die Studierenden beherrschen die Poisson- und die Normalapproximation der Binomialverteilung. Mit den Grundzügen der Theorie des Schätzens und der mathematischen Tests erwerben sie einen Einblick in die mathematische Statistik und Datenanalyse. Qualifikationsziele Inhalte Das Modul "Einführung in die Stochastik" behandelt die Themen: - Diskreter Wahrscheinlichkeitsraum - Axiomatik nach Kolmogorov - Kombinatorik - Bedingte Wahrscheinlichkeit - stochastische Unabhängigkeit - Zufallsvariablen - Erwartungswerte - höhere Momente - Korrelationen - Ungleichung von Tschebyschev - schwaches und starkes Gesetz der großen Zahlen - Satz von De Moivre und Laplace - Einführung in die Test- und Schätztheorie Inhaltliche Voraussetzungen Modul „Mathematische Grundlagen“ (oder dessen Inhalt) Lehr- und Betreuungsformen Kursmaterial SS SWS 4+2 Einsendeaufgaben mit Korrektur und/oder Musterlösung internetgestütztes Diskussionsforum Zusatzmaterial Studientag/e fachmentorielle Betreuung (Regional- und Studienzentren) Anmerkung Modulhandbuch - Bachelor Informatik Seite 135 von 145 Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur, 2. Wh. mündl. keine Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 136 von 145 Grundlagen des Privat- und Wirtschaftsrechts Lehrende/r Modulbeauftragte/ Ulrich Wackerbarth Ulrich Wackerbarth Barbara VölzmannStickelbrock Dauer des Moduls ein Semster Lehrveranstaltungen Barbara VölzmannStickelbrock ECTS 10 Workload 300 Stunden Häufigkeit in jedem Semester 40560 Grundlagen und Grundbegriffe des Privatrechts WS/SS SWS 0,6 40561 Das Recht der Leistungsstörungen, Schadensersatz- und Vertragsrecht WS/SS SWS 3 40562 Recht der Kreditsicherung WS/SS SWS 1,2 40563 Handelsrecht WS/SS SWS 1,2 Detaillierter Zeitaufwand Bearbeitung der Kurseinheiten: 200 Stunden Prüfungsvorbereitung und Prüfung: 100 Stunden Qualifikationsziele Mit dem Modul werden im Wesentlichen vier Qualifikationsziele erreicht: 1. Die Studierenden kennen die allgemeinen Grundlagen und die Grundbegriffe des Rechts sowie wichtige Rechtsinstrumente und Rechtsinstitute in ihren rechtlichen Zusammenhängen. 2. Die Studierenden haben die Grundsätze und Grundprinzipien des Vertragsrechts und des Deliktsrechts erfasst und sind in der Lage, im täglichen Wirtschaftsleben auftretende Rechtsfragen sachgerecht zu beantworten. 3. Die Studierenden verstehen die praktisch besonders bedeutsamen Kreditsicherungsinstrumente in ihrer rechtstechnischen Konstruktion, um deren wirtschaftliche Auswirkungen zutreffend beurteilen zu können. 4. Die Studierenden sind im Hinblick auf die spätere Tätigkeit in einem Wirtschaftsunternehmen mit dem Sonderprivatrecht der Kaufleute vertraut. Inhalte Das Modul bietet eine umfassende Einführung in die im Wirtschaftsleben besonders bedeutsamen Vorschriften des Bürgerlichen Rechts und des Handelsrechts. Grundlagen und Grundbegriffe des Zivilrechts (30 Stunden): Gegenstand sind die im allgemeinen Teil des BGB niedergelegten Grundlagen und Grundbegriffe des Zivilrechts, deren Kenntnis Voraussetzung für das Verständnis der spezielleren Normen ist. Behandelt werden insbesondere die Willenserklärung, die Rechtsgeschäftslehre, die Anfechtung, die Einbeziehung allgemeiner Geschäftsbedingungen (AGB) in Verträge, die Verjährung und das Recht der Stellvertretung. Das Recht der Leistungsstörungen, Schadensersatz- und Vertragsrecht (150 Stunden): Der Kurs ist den verschiedenen Gebieten des Schuldrechts gewidmet. Dieses findet sich im 2. Buch des BGB und gliedert sich seinerseits in einen allgemeinen und einen besonderen Teil. Den allgemeinen Teil des Schuldrechts bildet das Recht der Leistungsstörungen. Hier wird erläutert, welche Rechtsfolgen sich ergeben, wenn Verträge gar nicht, nicht fristgerecht oder nicht ordnungsgemäß durchgeführt werden. Im besonderen Schuldrecht werden die einzelnen Vertragsarten, insbesondere der Kauf-, Miet-, Dienst- und Werkvertrag behandelt. Auch moderne Vertragsformen die nicht unmittelbar gesetzlich geregelt sind, wie der Leasingvertrag, werden erläutert. Einen weiteren praktisch bedeutsamen Teil bildet das Deliktsrecht (Schadensrecht), welches sich mit den Rechtsfolgen unerlaubter Handlungen beschäftigt. Sachen- und Kreditsicherungsrecht (60 Stunden): Der Kurs vermittelt zunächst Grundkenntnisse des Sachenrechts, die erforderlich sind, um das im Wirtschaftsleben Modulhandbuch Bachelor Informatik Seite 137 von 145 wichtige Recht der Kreditsicherung verstehen zu können. Im Einzelnen werden wichtige Rechtsinstitute wie der Eigentumsvorbehalt und die Sicherungsübereignung in ihrer Konstruktion und ihrer wirtschaftlichen Bedeutung dargestellt, aber auch klassische Sicherungsmittel des Immobiliarsachenrechts wie die Hypothek und die Grundschuld. Handelsrecht (60 Stunden): Der Kurs betrifft das im HGB geregelte Sonderprivatrecht der Kaufleute (Handelsrecht). Erläutert werden vor allem der Kaufmannsbegriff, die Firma, die Funktionsweise des Handelsregisters als auch die kaufmännischen Hilfspersonen (z. B. der Prokurist) und ihre Befugnisse. Wichtige Besonderheiten sind vor allem bei den Handelsgeschäften zu beachten. An dieser Stelle werden die Verbindungen zwischen den einzelnen Rechtsgebieten, insbesondere zum allgemeinen Teil des BGB und zum Schuldrecht besonders deutlich. Inhaltliche Voraussetzungen Keine speziellen Voraussetzungen Lehr- und Betreuungsformen Anmerkung Nicht zusammen mit dem nicht mehr angebotenen Modul "Grundlagen des Bürgerlichen Rechts" nutzbar. Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene benotete Prüfungsklausur s. Regelungen der Fakultät Wirtschaftswissenschaft (http://www.fernunihagen.de/wirtschaftswissenschaft/studium/modu le/31061.shtml). Stellenwert der Note Modulhandbuch 1/12 Bachelor Informatik Seite 138 von 145 Abschlussmodul Modulhandbuch Bachelor Informatik Seite 139 von 145 Einführung in das wissenschaftliche Arbeiten Lehrende/r Modulbeauftragte/ André Schulz André Schulz Dauer des Moduls ein Semester ECTS 3 Workload 90 Stunden Häufigkeit in jedem Semester Lehrveranstaltungen 01602 Einführung in das wissenschaftliche Arbeiten für Bachelor Informatik Detaillierter Zeitaufwand Bearbeiten der Kurseinheiten: 45 Stunden, Bearbeiten der Einsendearbeiten: 45 Stunden Qualifikationsziele Nachdem die Studierenden das Modul bearbeitet haben, können sie die grundlegende Vorgehensweise beim wissenschaftlichen Arbeiten beschreiben, die Arbeitsschritte für eine konkrete Aufgabenstellung identifizieren und systematisch ausführen, die während der praktischen Arbeit erreichten Ergebnisse kategorisieren und interpretieren und in Form einer schriftlichen Ausarbeitung auf Bachelorniveau dokumentieren und evaluieren. Sie sind in der Lage, die für eine Prüfungsarbeit zur Verfügung stehende Zeit einzuteilen und Arbeitspläne zu erstellen. Inhalte In diesem Modul lernen die Studierenden die Grundzüge wissenschaftlichen Arbeitens. Insbesondere soll vermittelt werden, dass wissenschaftliches Arbeiten nicht nur im Umsetzen einer Idee in ein Programm besteht, sondern ebenso darin, die Eigenschaften der Umsetzung zu analysieren, zu dokumentieren und mit dem Stand der Technik zu vergleichen. Wichtige Schritte hierbei sind methodisches und systematisches Vorgehen bei Literaturrecherche und Auswertung, sowie bei der Formulierung eigener Ergebnisse in Abschlussarbeiten und Präsentation in Vorträgen. Dabei werden sowohl strukturelle Aspekte (z.B. Aufbau wissenschaftlicher Arbeiten, Zitierweisen, Folienentwurf), als auch inhaltliche Aspekte (z.B. kritischer Diskurs der gefundenen Literaturstellen) behandelt. WS/SS SWS 1+1 Ergänzende Literatur: Helmut Balzert, Marion Schröder, Christian Schäfer. Wissenschaftliches Arbeiten, 2. Auflage. W3L 2011. Nicholas Higham. Handbook of Writing for the Mathematical Sciences, 2. Auflage. SIAM 1998 Inhaltliche Voraussetzungen - Lehr- und Betreuungsformen Kursmaterial Einsendeaufgaben mit Korrektur und/oder Musterlösung Studientag/e Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Unbenoteter Leistungsnachweis erfolgreich bearbeitete Einsendeaufgaben keine Modulhandbuch Bachelor Informatik Seite 140 von 145 Abschlussarbeit Lehrende/r Modulbeauftragte/ Ralf Hartmut Güting Lehrende der Fakultät MI Dauer des Moduls 3 Monate im Vollzeitstudium, 6 Monate im Teilzeitstudium ECTS 12 Workload 360 Stunden Häufigkeit ständig Lehrveranstaltungen Detaillierter Zeitaufwand Die Verteilung des Aufwands kann je nach Thema, Vorkenntnissen, Art der Arbeit und Stil der Betreuung stark variieren, hier nur ein Beispiel: - Einarbeitung in die Thematik der Abschlussarbeit, Literaturrecherche und -studium, Vertrautmachen mit existierender Softwareumgebung: 70 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 mal 5 Stunden, also 20 Stunden - Eigene Entwicklung, Analyse des Problems, Entwurf, Implementierung, Tests und Experimente: 180 Stunden - Erstellen der schriftlichen Ausarbeitung und der Abschlusspräsentation: 90 Stunden Qualifikationsziele 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 Bachelor-Absolventin oder der Bachelor-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. Inhalte Die Abschlussarbeit ist eine Prüfungsarbeit in Informatik und wird komplettiert durch ihre Präsentation in einem Kolloquiumsvortrag vor dem/der betreuenden Prüfenden. Abschlussarbeiten im integrierten Nebenfach sind nicht möglich. 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 Software-Umgebung bereit. Die/der Studierende erarbeitet die Literatur, entwickelt eigene kreative Beiträge (Algorithmen, Modelle, Beweise, Software-Prototypen). Sie/er beschreibt den Literatur-Hintergrund und ihre/seine eigenen Beiträge in einer schriftlichen Ausarbeitung. Die Arbeit wird nach Modulhandbuch Bachelor Informatik Seite 141 von 145 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. Ergänzende Literatur: themenabhängig Inhaltliche Voraussetzungen Inhalte und Fähigkeiten des vorausgehenden Bachelorstudiums Lehr- und Betreuungsformen Betreuung und Beratung durch Lehrende Anmerkung - Prüfungsformen Art der Prüfungsleistung Voraussetzungen Benotete Prüfung bestandene Abschlussarbeit mit Kolloquium keine Stellenwert der Note Modulhandbuch 1/6 Bachelor Informatik Seite 142 von 145 Inhaltsverzeichnis Pflichtmodule 3 Einführung in die imperative Programmierung und Datenstrukturen I 4 Mathematische Grundlagen 6 Algorithmische Mathematik 8 Computersysteme 10 Softwaresysteme 12 Einführung in die objektorientierte Programmierung 14 Grundpraktikum Programmierung 16 Grundlagen der Theoretischen Informatik 17 Katalog B2: Computersysteme 19 Anwendungsorientierte Mikroprozessoren 20 Parallel Programming 22 Verteilte Systeme 24 Sicherheit im Internet 26 Katalog B3: Informationssysteme und Künstliche Intelligenz 28 Vertiefende Konzepte von Datenbanksystemen 29 Wissensbasierte Systeme 31 Betriebliche Informationssysteme 33 Katalog B4: Software Engineering und Programmiersprachen 35 Software Engineering I 36 Übersetzerbau 37 Katalog B7: Computer und Mensch 39 Einführung in Mensch-Computer-Interaktion 40 Interaktive Systeme 42 Katalog M1: Grundlagen der Informatik 44 Mathematische Grundlagen der Kryptografie 45 Grundlegende Algorithmen der Bio-Informatik 47 Komplexitätstheorie 48 Algorithmische Geometrie 50 Computergrafik II 52 Effiziente Graphenalgorithmen 54 Modulhandbuch Bachelor Informatik Seite 143 von 145 Lineare Optimierung 56 Katalog M2: Computersysteme 58 Virtuelle Maschinen 59 Advanced Parallel Computing 61 PC-Technologie 63 Kommunikations- und Rechnernetze 65 Betriebssysteme 67 Sicherheit - Safety & Security 69 Katalog M3: Informationssysteme und Künstliche Intelligenz 71 Datenbanken in Rechnernetzen 72 Dokumenten- und Wissensmanagement im Internet 74 Moving Objects Databases 76 Deduktions- und Inferenzsysteme 78 Entscheidungsmethoden in unternehmensweiten Softwaresystemen 79 Methoden der Wissensrepräsentation und -verarbeitung 80 Multimediainformationssysteme 81 Vertiefung Datenstrukturen und Datenbanken 83 Katalog M4: Software Engineering und Programmiersprachen 85 Logisches und funktionales Programmieren 86 Vertiefung Software Engineering und Programmiersprachen A (SA, FP) 88 Vertiefung Software Engineering und Programmiersprachen B (WP, FP) 90 Vertiefung Software Engineering und Programmiersprachen C (WP, SA) 92 DSL Engineering 94 Katalog M7: Computer und Mensch 96 Informationsvisualisierung im Internet 97 Computerunterstütztes kooperatives Arbeiten und Lernen 99 Gestaltung Kooperativer Systeme 101 Fachpraktika 103 Fachpraktikum Field Programmable Gate Arrays 104 Fachpraktikum Eingebettete Systeme 106 Fachpraktikum Erweiterbare Datenbanksysteme 108 Fachpraktikum CSCW 110 Fachpraktikum Prozessmodellierungswerkzeuge 112 Modulhandbuch Bachelor Informatik Seite 144 von 145 Fachpraktikum Multimedia- und Internetanwendungen 113 Fachpraktikum Programmiersysteme 114 Fachpraktikum Simulation von diskreten Produktionssystemen 116 Fachpraktikum Parallel Programming 117 Fachpraktikum für verteilte kooperative und mobile Anwendungen 119 Fachpraktikum IT-Sicherheit 120 Fachpraktikum Mensch-Computer-Interaktion 121 Seminare 122 Seminar 123 Integriertes Nebenfach 125 Management von Softwareprojekten 126 Analysis 127 Einführung in die Wirtschaftswissenschaft 129 Grundlagen des Marketing 131 Lineare Algebra 133 Einführung in die Stochastik 135 Grundlagen des Privat- und Wirtschaftsrechts 137 Abschlussmodul 139 Einführung in das wissenschaftliche Arbeiten 140 Abschlussarbeit 141 Modulhandbuch Bachelor Informatik Seite 145 von 145
© Copyright 2025 ExpyDoc