Informatik PO2022

PFLICHTMODULE

Mathematik 1 - Grundlagen

MODULNUMMER: 212027

KÜRZEL: MATHE1

MODULBEAUFTRAGTER: Prof. Dr. Gregor Leander

DOZENT: Gregor Leander

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 7 SWS

CREDITS: 9 CP

WORKLOAD: 270h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - kennen Studierende grundlegende Begriffe und Schreibweisen der Mathematik - können Studierende die erlernten Techniken selbstständig anwenden und mathematische Sachverhalte darstellen - kennen Studierende die Grundlagen abstrakter mathematischer Strukturen und verschiedene Beispiele für Gruppen, Ringe und Körper - verstehen die Studierenden den abstrakten Vektorraumbegriff über beliebigen Körpern, können mit linearer Unabhängigkeit, Dimensionen und mit linearen Abbildungen umgehen - sind Studierende in der Lage, lineare Gleichungssysteme explizit zu lösen sowie Eigenwerte und Eigenvektoren zu berechnen

INHALT: Dieses Modul gibt eine allgemeine Einführung in mathematische Grundlagen und behandelt wichtige Gebiete der Linearen Algebra. Folgende Themengebiete werden behandelt: Grundlagen der Mathematik - grundlegende mathematische Begriffe - Schreibweisen - Aussagenlogik - Mengenlehre - Relationen Algebraische Grundlagen - ganze Zahlen - Restklassen - Gruppen-, Ringe- und Körper-Axiome Lineare Algebra - Vektorräume - Basen - Dimension - Skalarprodukte - lineare Abbildungen - lineare Gleichungssysteme - Basiswechsel - Determinanten - Eigenwerttheorie

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

LITERATUR: B. Kreußler und G. Pfister: „Mathematik für Informatiker“, Springer Verlag

Mathematik 3 - Anwendungen

MODULNUMMER: 150138

KÜRZEL: MATHE3

MODULBEAUFTRAGTER: Prof. Dr. Peter Eichelsbacher

DOZENT: Prof. Dr. Peter Eichelsbacher

FAKULTÄT: Fakultät für Mathematik

SPRACHE: Deutsch

SWS: 7 SWS

CREDITS: 9 CP

WORKLOAD: 270 h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Absolvieren des Moduls - verfügen die Studierenden über grundlegende Methodenkenntnisse im Bereich der Wahrscheinlichkeitsrechnung und erlernen die Abhängigkeiten von Ereignissen. Insbesondere können sie die Erfolgswahrscheinlichkeit von Algorithmen berechnen - können die Studierenden die Laufzeit von Algorithmen als Zufallsvariable modellieren und sind in der Lage, Erwartungswert und Varianz dieser Zufallsvariable zu berechnen bzw. mittels geeigneter Schranken akkurat abzuschätzen - haben die Studierenden die wichtigsten diskreten Verteilungen erlernt und können bei neu auftretenden Problemen klassifizieren, welchen Verteilungen diese angehören - können die Studierenden Abzählprobleme mithilfe probabilistischer Methoden wie Random Walks oder Monte Carlo Simulation hinreichend gut approximieren - sind die Studierenden in der Lage, selbstgewählte Hypothesen auf ihre statistische Signifikanz mit geeigneter Konfidenz zu überprüfen - sind die Studierenden in der Lage, beobachtete experimentelle Daten mithilfe einer Regressionsanalyse geeignet zu klassifizieren

INHALT: Dieses Modul gibt eine allgemeine Einführung in die Stochastik und behandelt wichtige Gebiete der Wahrscheinlichkeitstheorie, der Statistik und deren Anwendungen. Folgende Themen werden behandelt: - Union Bound, Inklusion-Exklusion, Unabhängigkeit, bedingte Wahrscheinlichkeiten - Diskrete Zufallsvariable, Erwartungswert, Momente - Bernoulli- und Binomialverteilung, Geometrische Verteilung - Markov, Chebyshev, Chernoff Schranken - Moment-Erzeugendenfunktion - Bälle-Urnen Modell, Poisson Verteilung - Probabilistische Methoden - Markov Kette, Random Walk - Monte Carlo Methode, uniformes Samplen - Einführung in die Statistik - Punkt- und Intervallschätzung - Signifikanztests - Regressionsanalyse

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Mathematische Schulausbildung (gymnasiale Oberstufe) und Inhalte der Module Mathematik 1 und Mathematik 2

LITERATUR: M. Mitzenmacher und E. Upfal: „Probability and Computing – Randomized Algorithms and Probabilistic Analysis“, Cambridge University Press

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Informatik 1 - Programmieren

MODULNUMMER: 212004

KÜRZEL: INFO1

MODULBEAUFTRAGTER: Prof. Dr. Tobias Glasmachers

DOZENT: Tobias Glasmachers

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 6 SWS

CREDITS: 9 CP

WORKLOAD: 240 h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - kennen die Studierenden die wichtigsten Konzepte imperativer und objektorientierter Programmierung - können die Studierenden eigene Programme entwerfen und implementieren - können die Studierenden mit Grundbegriffen der Informatik wie etwa Korrektheit, Laufzeit, Boolesche Algebra, Invarianten und abstrakten Datentypen arbeiten - sind Studierende in der Lage, die einfachen Datenstrukturen (Array und Dictionary) gezielt einzusetzen und kennen Standardalgorithmen darauf, insbesondere zum Sortieren von Arrays

INHALT: Zentrales Thema der Veranstaltung ist das Erlernen der Programmierung und der wichtigsten Programmierkonzepte sowie die ersten Grundbegriffe der Informatik: - Imperative Programmierung (Variablen, Kontrollstrukturen, Funktionen und Rekursion, Fehlerbehandlung, Ereignisbehandlung) - Einfache Datenstrukturen (Array und Dictionary, AVL-Baum, Hash-Tabelle) - Objektorientierung (Klassen, Sichtbarkeit, Schnittstellen, Vererbung) - Einführung in eine Reihe von Informatik-Konzepten (Invarianten, Laufzeitanalyse, Sortieralgorithmen, Repräsentation von Daten im Rechner, Boolesche Algebra) Die Veranstaltung nutzt die Programmiersprache TScript („teaching script“) für einen möglichst einfachen und motivierenden Einstieg in die Programmierung. Gegen Ende der Vorlesung erfolgt ein Umstieg auf die Programmiersprache Python.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Mathematische Schulausbildung (gymnasiale Oberstufe) und Besuch des Vorkurses Mathematik sowie generelles Interesse an technischen Themen und Sachverhalten

LITERATUR: Die Vorlesung orientiert sich nicht direkt an einem Lehrbuch. Viele Standardwerke mit Titeln wie „Einführung in die Informatik“ verfolgen grob ähnliche Lernziele. Sämtliches Lehrmaterial steht online zur Verfügung.

Informatik 2 - Algorithmen und Datenstrukturen

MODULNUMMER: 211002

KÜRZEL: INFO2

MODULBEAUFTRAGTER: Prof. Dr. Buchin Maike

DOZENT: Professorin Dr. Maike Buchin

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 6 SWS

CREDITS: 8 CP

WORKLOAD: 240 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - können Studierende Algorithmen formal beschreiben und deren Korrektheit beweisen - können Studierende die Laufzeit und den Speicherbedarf von Algorithmen und Daten-strukturen analysieren und bewerten - kennen Studierende grundlegende Datenstrukturen - kennen Studierende grundlegende Schemata zum Entwurf von Algorithmen - sind Studierende in der Lage, Algorithmen und Datenstrukturen für spezifische Probleme zu entwickeln - haben die Studierenden die Grundlagen der Programmiersprache Java kennengelernt

INHALT: Die Vorlesung gibt einen systematischen Überblick über den Entwurf und die Analyse von Algorithmen und Datenstrukturen. Dazu werden zunächst grundlegende Methoden der Analyse (insbesondere Korrektheit, Laufzeit und Speicherbedarf) von Algorithmen vorgestellt. Anschließend werden einige Algorithmen zum Sortieren und Suchen analysiert. Ebenfalls werden verschiedene grundlegende Datenstrukturen (Listen, Felder, Suchbäume und Heaps) vorgestellt. Schließlich werden Graphen betrachtet, und zwar ihre Darstellung und diverse Algorithmen auf Graphen (Durchläufe, kürzeste Wege, minimale Spannbäume). In den Übungen lernen die Studierenden sowohl die theoretische Analyse von Algorithmen und Datenstrukturen als auch deren praktische Umsetzung in eine moderne Programmiersprache (z.B. Java).

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Inhalte der Module Informatik 1 und Mathematik 1 bzw. Höhere Mathematik 1, insbesondere Programmieren und lineare Algebra

LITERATUR: 1. Dietzfelbinger, K. Mehlhorn, P. Sanders: „Algorithmen und Datenstrukturen – Die Grundwerkzeuge“, Springer Verlag 2. T. H. Cormen, C. E. Leiserson, R. Rivest, C. Stein: „Algorithmen – Eine Einführung“, Oldenbourg Verlag

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Informatik 3 - Theoretische Informatik

MODULNUMMER: 212002

KÜRZEL: INFO3

MODULBEAUFTRAGTER: Prof. Dr. Thomas Zeume

DOZENT: Prof. Dr. Maike Buchin

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 6 SWS

CREDITS: 8 CP

WORKLOAD: 240 h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - be­herr­schen die Stu­die­ren­den den pro­fes­sio­nel­len Um­gang mit Berechnungsmodellen und ihren Beziehungen zu Sprachklassen. Dazu gehört die intellektuelle und methodische Fähigkeit, den Nachweis der Zugehörigkeit bzw. Nichtzugehörig-keit zu einer solchen Klasse zu führen. - ist durch Ein­üben von Be­weis­tech­ni­ken wie wech­sel­sei­ti­ge Si­mu­la­ti­on oder be­rechen­ba­re Re­duk­tio­nen bei den Studierenden die Ein­sicht ge­reift, dass an der Ober­flä­che ver­schie­den aus­se­hen­de Kon­zep­te im Kern iden­tisch sein kön­nen. Zudem erlaubt dies den Studierenden, neue Anwendungsprobleme selbstständig zu klassifizieren. - haben die Studierenden mit der Turingmaschine ein einfach handhabbares Rechnermodell erlernt, das ihnen fortan als Abstraktion für alle möglichen Rechner dient. - haben die Stu­die­ren­den fundamentale Einsichten erlangt, welche Probleme mithilfe von Rechnern effizient entschieden, zum Teil entschieden oder prinzipiell nicht entschieden werden können. Dadurch erlangen Sie ein tieferes Verständnis von der Komplexität von Berechnungsproblemen.

INHALT: Die Lehrveranstaltung gibt einen systematischen Überblick über die folgenden Themengebiete: - Endliche Automaten und reguläre Ausdrücke - Kellerautomaten und kontextfreie Grammatiken - Turingmaschinen und Entscheidbarkeit - Nichtdeterminismus und NP-Vollständigkeitstheorie

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Inhalte der Module Informatik 2 – Algorithmen und Datenstrukturen und Mathematik 2 -Algorithmische Mathematik

LITERATUR: 1. Schö­ning, Uwe "Theo­re­ti­sche In­for­ma­tik - kurz­ge­fasst" 2. Hop­croft, John E., Mot­wa­ni, Ra­jeev, Ull­man, Jef­frey D. "Einführung in die Automatentheorie, Formale Sprachen und Komplexität" 3. Sip­ser, Micha­el "In­tro­duc­tion to the Theo­ry of Com­pu­ta­ti­on"

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Computernetze

MODULNUMMER: 211006

KÜRZEL: CN

MODULBEAUFTRAGTER: Dr.-Ing. Christian Mainka

DOZENT: Dr.-Ing. Christian Mainka

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - kennen Studierende die wichtigsten Standards, die das heutige Internet verwendet - kennen Studierende grundlegende Angriffskonzepte auf Computernetzwerke - verstehen Studierende den Zusammenhang zwischen den einzelnen Schichten eines Computernetzwerks und der darin enthaltenen Protokolle - können Studierende die wichtigsten Netzwerktools für Analysezwecke anwenden

INHALT: Das Modul gibt eine Einführung in die grundlegenden Protokolle und Anwendungen von Computernetzen. Der Schwerpunkt der Vorlesung liegt auf Standardprotokollen und -algorithmen, wie sie in modernen Computernetzwerken (zum Beispiel im Internet) eingesetzt werden. Anhand eines Schichtenmodells werden die wichtigsten Grundlagen nach dem Top-Down-Ansatz vorgestellt und analysiert. Dazu gehören beispielsweise auf der obersten Schicht DNS und HTTPS im Application Layer, TCP und UDP im Transport Layer, IPv4/IPv6 und Routing Algorithmen im Network Layer, sowie MAC und ARP im untersten Link Layer. Neben der reinen Funktionsweise dieser Standards werden Sicherheitsaspekte auf allen Schichten betrachtet. Wöchentlich werden unterschiedliche netzwerkrelevante Computeranalyse-Tools vorgestellt und besprochen.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: Elementare Grundkenntnisse der Informatik

LITERATUR: 1. J. F. Kurose und K. W. Ross: „Computernetzwerke: Der Top-Down Ansatz“, Pearson Verlag 2. A. S. Tanenbaum und D. J. Wetherall: „Computernetzwerke“, Pearson Verlag

SONSTIGE INFORMATIONEN: Ergänzend zur Vorlesung werden Übungsaufgaben über die eLearning-Plattform Moodle gestellt und in der Übungsstunde besprochen. Weiterhin wird in jeder Übung ein “Tool der Woche” vorgestellt. Dabei handelt es sich jeweils um eine spezielle Software, die man als “Netzwerker” unbedingt kennen sollte (z.B. traceroute, nmap etc.). Alle besprochenen Tools sind frei verfügbar und werden den Studenten als eine Lernplattform (virtuelle Maschine) zur Verfügung gestellt. Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Datenbanksysteme

MODULNUMMER: 211008

KÜRZEL: DB

MODULBEAUFTRAGTER: Prof. Dr. Maribel Acosta Deibe

DOZENT: Prof. Dr. Maribel Acosta Deibe

FAKULTÄT: Fakultät für Informatik

SPRACHE: Englisch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART: Database Systems – Vorlesung (2 SWS)Database Systems – Übung (2 SWS)

LERNZIELE: Nach dem erfolgreichen Absolvieren des Moduls • erlangen die Studierenden ein Grundverständnis von modernen Datenbanksystemen, ihrer Funktion und ihrer Implementierung • haben die Studierenden Datenmodellierungstechniken erlernt • haben die Studierenden die Semantik und die Syntax des Entity-Relationships Models kennengelernt • kennen die Studenten das relational Datenbankmodell und die Relationale Algebra • kennen die Studierenden Anfragesprachen (z.B. SQL) und können diese nutzen • verstehen die Studierenden die Konzepte von Transaktion und Fehlerbehandlung • haben die Studierenden unterschiedliche Datenbankmanagementsysteme kennengelernt • sind die Studierenden in der Lage, neue Datenbanken zu modellieren und zu implementieren • haben die Studenten Kenntnisse über die Prozesse hinter einer Datenbankanfrage und wie diese optimiert werden kann

INHALT: Die Datenbanktechnologie ist eine Schlüsseltechnologie der praktischen und angewandten Informatik. Zentrales Thema dieser Veranstaltung sind die Modellierung, Aufbau und die Nutzung von Datenbanken. Folgende Themen werden behandelt: • Einführung in Datenbanksysteme • Entity-Relationship Modell und Verbesserungen • das relational Datenbankmodell • Relationale Algebra und Kalkül • Die Relationale Anfragesprache SQL • Datenbankprogrammierung • physische Datenorganisation • Anfragebearbeitung und Optimierung • Transaktionsverwaltung und Fehlerbehandlung

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: Grundkenntnisse der Informatik (Inhalte der Module Informatik 1 – Programmierung, Technische Informatik 1 – Rechnerarchitektur und Verteilte Systeme)

LITERATUR: 1. Elmasri and S. B. Navathe: “Fundamentals of Database Systems”, PEARSON 2. Kemper und A. Eieckler: „Datenbanksysteme: Eine Einführung“, Oldenbourg Verlag

SONSTIGE INFORMATIONEN: Ergänzend zur Vorlesung werden Übungsaufgaben über die eLearning-Plattform Moodle gestellt und in der Übungsstunde besprochen. Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Programmierpraktikum

MODULNUMMER: 211500

KÜRZEL: SEELAB

MODULBEAUFTRAGTER: Prof. Dr. Thorsten Berger

DOZENT: Prof. Dr. Thorsten Berger

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 6 CP

WORKLOAD: 180 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Lernziele: a) SCRUM / agiles Arbeiten b) kleine Software-Projekte Planen und Umsetzen (in Java Android) c) Projektmanagement / Präsentieren

INHALT: Teamarbeit an einer Android-App (Entwicklung in Java mit Android Studio).

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: a) Für das Praktikum Objektorientiertes Programmieren: Bestandene Module Informatik 1 – Programmierung und Informatik 2 –Algorithmen und Datenstrukturen b) Für das Praktikum Software Engineering: Bestandene Module Informatik 1 – Programmierung, Informatik 2 – Algorithmen und Datenstrukturen und Software Engineering

VORKENNTNISSE: Programmiererfahrung in einer objektorientierten Programmiersprache (am besten Java), sicherer Umgang mit git

LITERATUR: siehe Moodle

SONSTIGE INFORMATIONEN: Diese Veranstaltung wird im Sommersemester angeboten. Anmeldung über ECampus

Technische Informatik 1 - Rechnerarchitektur

MODULNUMMER: 141142

KÜRZEL: TI1

MODULBEAUFTRAGTER: Dr. rer. nat. Philipp Niemann

DOZENT: Vertr.-Prof. Dr. rer. nat. Philipp Niemann

FAKULTÄT: Fakultät für Elektrotechnik und Informationstechnik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls * kennen die Studierenden Zusammenhänge und haben Detailkenntnisse von den Komponenten und der Funktionsweise moderner Computersysteme. Dies schließt neben dem Prozessor auch das Speichersystem und die Schnittstellen zu weiteren Systemkomponenten ein * sind die Studierenden auf der Basis dieser Kenntnisse in der Lage, Computersysteme und deren Komponenten bezüglich verschiedener Metriken, wie z.B. Energieverbrauch, Rechenleistung, Speicherperformance etc. auf deren Eignung für eine bestimmte Aufgabe zu bewerten * haben die Studierenden die grundsätzliche Arbeitsweise und den prinzipiellen Aufbau von Prozessoren auf der Ebene der Mikroarchitektur verstanden und sind in der Lage, den Einfluss von Architekturmerkmalen, wie z.B. Pipelining oder Out-of-Order-Execution, auf die Befehlsausführung zu analysieren

INHALT: Die Veranstaltung Rechnerarchitektur befasst sich mit dem Aufbau und der Funktion moderner Prozessoren und Computersysteme. Ausgehend von grundlegenden Computerstrukturen wie der Von-Neumann- und der Harvard-Architektur werden der Aufbau, die Klassifizierung und die technische Realisierung von Rechnersystemen dargestellt. Hierbei wird die Programmierung auf Assemblerebene sowie die Verarbeitung von Programmen durch einen Prozessor erläutert. Darauf aufbauend folgen Methoden zu Leistungsbewertung von Prozessoren auf der Basis von standardisierten Benchmarks und verschiedene Metriken, um die Ergebnisse einordnen zu können. Der inhaltliche Schwerpunkt der Vorlesung stellt die tiefgehende Analyse der Mikroarchitekturebene eines Prozessors dar, wobei sowohl der Datenpfad als auch das Steuerwerk im Rahmen der Vorlesung schrittweise entwickelt und erläutert werden. Auf der Basis des in der Vorlesung vorgestellten Prozessors werden dann moderne Verfahren zur Leistungssteigerung und deren Einsatzgebiete vorgestellt. Neben dem eigentlichen Prozessor wird auch das Speichersystem moderner Computer und verschiedene Schnittstellen zu internen und externen Komponenten des Computersystems behandelt. Alle Themen werden mit aktuellen Beispielen aus verschiedenen Bereichen der Technik erläutert, sodass neben dem im Detail vorgestellten Beispielprozessor mit MIPS Architektur auch moderne Hochleistungsprozessoren mit x86-64 ISA, Prozessoren für eingebettete Systeme auf Basis der ARM-Architektur, extrem energiesparende Prozessoren auf Basis des MSP430, wie sie beispielsweise in IoT-Geraten zum Einsatz kommen, und anwendungsspezifische Spezialprozessoren auf Basis der Tensilica Xtensa Plattform vorgestellt werden.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Es werden die Fähigkeit für strukturiertes, algorithmisches Denken sowie das Erfassen von komplexen Abhängigkeiten und Interaktionsmustern vorausgesetzt.

LITERATUR: 1. A. S. Tanenbaum: „Computerarchitektur“, Pearson, 2005 2. A. S. Tanenbaum: „Computerarchitektur. Strukturen – Konzepte – Grundlagen“, Pearson, 2006 3. J. LR. Hennessy, D. Patterson: „Rechnerorganisation und Rechnerentwurf: Die Hardware/Software-Schnittstelle“, Oldenbourg Verlag, 2011 4. A. S. Tanenbaum: „Strukctured Computer Organization“, Prentice Hall, 2005

AKTUELLE INFORMATIONEN: Für Studierende nach PO 20 finden die Übungen Montags statt, siehe abweichenden Link im VVZ: https://vvz.ruhr-uni-bochum.de/campus/all/event.asp?objgguid=0x5902D2B7D26044D3A9DF1E9C57BDE885&from=vvz&gguid=0xD525E8D157C84DAB9AF4E2C6CDD15C03&mode=own&tguid=0xBEC4EBD3E08E451BB6DEBD69F230152F&lang=de

SONSTIGE INFORMATIONEN: Die Übungen werden zwecks Vorbereitung den Studierenden spätesten eine Woche vor dem Übungstermin im Netz zum Download bereitgestellt. Die Durchführung der Übungen (Erarbeitung der Ergebnisse im Dialog mit den Studierenden) erfolgt nicht in einem festen Zeitraster, sondern gemäß dem Vorlesungsfortschritt. Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Technische Informatik 3 - Hardware Programmierung

MODULNUMMER: 212003

KÜRZEL: TI3

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Tim Güneysu

DOZENT: Prof. Dr.-Ing. Tim Güneysu

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART: Hardware Programming – Vorlesung (2 SWS)Hardware Programming – Übung (2 SWS)

LERNZIELE: Die Studierenden sollen Kenntnisse über technische Herausforderungen bei der anwendungsbezogenen Entwicklung von eingebetteten Systemen sowie des Internet of Things erlernen. Im Vordergrund der Veranstaltung stehen die maschinennahe Programmierung sowie die problemgerechte Integration von Aktorik und Sensorik. Nach dem erfolgreichen Abschluss des Moduls kennen Studierende das Entwicklungs- und Programmiermodell sowie spezifische Eigenschaften von Mikrocontrollern als zentrale Grundlage eines eingebetteten Systems haben Studierende die Fähigkeit zur maschinennahen Programmierung eines ausgewählten Mikrocontrollers zur Realisierung grundlegender Steuerprozesse sowie für die umgebende Peripherie erlernen Studierende Kommunikations- und Interaktionskonzepte (z.B. serielle Kommunikation via UART, SPI, PCIe etc.) mit externen Komponenten können Studierende nebenläufige Prozesse strukturieren, in Systemen integrieren sowie damit verbundene potenzielle Probleme verstehen sind Studierende in der Lage, komplexe anwendungsnahe Anforderungen mittels ausgewählter Hardwarekomponenten in ein eingebettetes System zu realisieren

INHALT: Die Entwicklung von komplexen eingebetteten Systemen in Form einer zentralen Steuereinheit mit unterschiedlicher Sensorik und Aktorik spielen in vielen Anwendungen eine zentrale Rolle. In der Veranstaltung „Technische Informatik 3“ werden die vielfältigen Aufgabentypen und Realisierungsmöglichkeiten eines eingebetteten Systems sowie dessen anwendungsnaher Entwurf und Implementierung behandelt. Ein besonderes Gewicht in der Veranstaltung wird dabei auf ein anwendungsnahes Beispiel aus der Robotik gelegt, bei der viele der genannten Eigenschaften, Programme und Peripherie entwickelt und gesamtheitlich integriert werden müssen, um die Fähigkeiten eines einfachen Robotersystems auf vorhandener Hardware nachzubilden.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Inhalte der Module Informatik 1 – Programmierung, Informatik 2 – Algorithmen und Daten-strukturen, Technische Informatik 1 – Rechnerarchitektur und Technische Informatik 2 – Digitaltechnik.

LITERATUR: P. Marwedel: „Eingebettete Systeme“, Springer Verlag

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Software Engineering

MODULNUMMER: 212000

KÜRZEL: SwEng

MODULBEAUFTRAGTER: Prof. Dr. Thorsten Berger

DOZENT: Prof. Dr. Thorsten Berger

FAKULTÄT: Fakultät für Informatik

SPRACHE: Englisch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - verfügen die Studierenden über vertiefte Kenntnisse über ausgewählte Aspekte des Softwareentwicklungsprozesses - verfügen die Studierenden über Grundkenntnisse zum Thema Softwarequalität - kennen und verstehen die Studierenden die grundsätzlichen Ziele und Verantwort-lichkeiten im Software-Lebenszyklus - kennen und verstehen die Studierenden die verschiedenen Aktivitäten innerhalb des Software-Lebenszyklus und deren Abhängigkeiten - sind die Studierenden in der Lage, die vermittelten Software-Entwurfsmethoden und Entwicklungsprozesse fallspezifisch anzuwenden

INHALT: Die Studierenden lernen unterschiedliche Formen von (klassischen und agilen) Vorgehens-modellen in der Softwareentwicklung kennen. Sie lernen Methoden der Anforderungserhebung, des Entwurfs und des Testens kennen und setzen diese in reale Fallbeispiele selbstständig um.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: Inhalte der Module Informatik 1 – Programmierung und Informatik 2 – Algorithmen und Datenstrukturen

LITERATUR: s. Webseite der Veranstaltung

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Mathematik 2 - Algorithmische Mathematik

MODULNUMMER: 150136

KÜRZEL: MATHE2

MODULBEAUFTRAGTER: Prof. Dr. Christian Stump

DOZENT: Prof. Dr. Christian Stump

FAKULTÄT: Fakultät für Mathematik

SPRACHE: Deutsch

SWS: 7 SWS

CREDITS: 9 CP

WORKLOAD: 270 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - kennen Studierende grundlegende Begriffe, Beweismethoden und Algorithmen aus der elementaren Zahlentheorie - können Studierende die Beweistechniken selbstständig anwenden und mathematische Sachverhalte darstellen - kennen Studierende erste Sätze und Methoden aus der Kombinatorik und insbesondere aus der Graphentheorie und verstehen deren strukturelle Eigenschaften - kennen Studierende erste fundamentale Algorithmen aus der Zahlentheorie und der Kombinatorik, können diese formalisieren, selbstständig implementieren sowie deren Laufzeiten analysieren

INHALT: Diese Lehrveranstaltung behandelt die folgenden Themen: Euklidscher Algorithmus, Gruppen-, Ring-, Körperaxiome, Symmetriegruppen, Polynomarithmetik, formale Potenzreihen, modulare Arithmetik, Lemma von Bezout, Kleiner Satz von Fermat, diskreter Logarithmus, RSA-Verschlüsselungsverfahren, Primzahltests, Chinesischer Restesatz, p-adische Brüche, Newton-Verfahren, Asymptotische Notation durch Landausymbole, Binomialkoeffizienten, Rekursionsgleichungen, Erzeugendefunktionen, Prinzip der Inklusion-Exklusion, Vier-Farben-Problem, Djikstra-Algorithmus, Satz von Cayley, Hamiltonkreise, Google PageRank Algorithmus, Satz von Perron-Frobenoius Konkrete Algorithmen werden in Computeralgebra-Systemen implementiert.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung und erfolgreiche Teilnahme an den praktischen Übungen am Rechner

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Mathematische Schulausbildung (gymnasiale Oberstufe) und Inhalte des Moduls Mathematik 1

LITERATUR: B. Kreußler und G. Pfister: „Mathematik für Informatiker“, Springer Verlag

SONSTIGE INFORMATIONEN: In den Übungen werden die Inhalte der Vorlesung vertieft und in Kleingruppen in Computeralgebra-Systemen implementiert. Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Betriebssysteme

MODULNUMMER: 211005

KÜRZEL: BS

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Timo Hönig

DOZENT: Prof. Dr.-Ing Timo Hönig

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Absolvieren des Moduls - erlangen die Studierenden ein solides Grundverständnis von modernen Betriebssystemen, ihrer Funktion und ihrer Implementierung - sind die Studierenden in der Lage, verschiedene Aspekte eines Betriebssystems wie Prozess- und Speichermanagement zu verstehen und zu nutzen, sie können dabei verschiedene Designentscheidungen eigenständig analysieren und bewerten - sind die Studierenden in der Lage, bestimmte Aspekte eines Betriebssystems selbst zu designen und diese argumentativ zu verteidigen

INHALT: In diesem Modul werden die wichtigsten Grundlagen zu Betriebssystemen vorgestellt. Dazu gehören zum Beispiel: - Betriebssystemkonzepte - Prozesse und Threads, Interprozesskommunikation - Scheduling-Mechanismen - Speicherverwaltung, Speicherabstraktionen, Paging - Dateisysteme - Eingabe- und Ausgabeverwaltung - Algorithmen zur Vermeidung von Deadlocks - Grundlagen der Sicherheit von Betriebssystemen In den letzten Wochen der Veranstaltung, abhängig vom verfügbaren Zeitfenster, werden spezielle Themen wie beispielsweise Multimedia-Betriebssysteme, Multiprozessorsysteme und Entwurf von Betriebssystemen, behandelt. Um den Bezug zu modernen Betriebssystemen (aktuellen Versionen von Linux, Windows und macOS) herzustellen, werden die Themen an praktischen Beispielen illustriert. Dies ermöglicht es den Studierenden, die in der Vorlesung besprochenen Themen praktisch nachzuvollziehen.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung und erfolgreiche Teilnahme an den Übungen

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: Grundkenntnisse der Informatik (Inhalte der Module Informatik 1 – Programmierung und Technische Informatik 1 – Rechnerarchitektur)

LITERATUR: 1. W. Stallings: „Internals and Design Principles“, Pearson Verlag 2. A. S. Tanenbaum: „Moderne Betriebssysteme“, Pearson Verlag 3. A. S. Tanenbaum: „Modern Operating Systems“, Pearson Verlag

Technische Informatik 2 - Digitaltechnik

MODULNUMMER: 141304

KÜRZEL: TI2

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Jürgen Oehm

DOZENT: Prof. Dr.-Ing. Jürgen Oehm

FAKULTÄT: Fakultät für Elektrotechnik und Informationstechnik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls haben die Studierenden umfassende Kenntnisse in den folgenden Bereichen erworben: Boolesche Algebra, Struktur und Funktionalität digitaler Grund-schaltungen, Kostenoptimierung digitaler Funktionsgruppen, Techniken zur taktsynchronen Verarbeitung von Daten, Kodierung und Verarbeitung von Daten, Struktur und Funktionalität solcher Grundfunktionalitäten, die insbesondere zentrale Bestandteile in Mikroprozessorarchitekturen und deren Umgebung sind verstehen die Studierenden die schaltungstechnischen Möglichkeiten und Grenzen moderner CMOS-Logikstrukturen, die als Richtlinien für den Wissenstransfair dienen können die Studierenden die aktuellen Entwicklungstrends in einer sich rasant entwickelnden digitalen Anwendungswelt besser verstehen und analysieren sind die Stu­die­ren­den in der Lage, zu­künf­ti­ge Ent­wick­lun­gen in den In­te­gra­ti­ons­tech­no­lo­gi­en und damit in der Di­git­al­tech­nik selbst be­züg­lich ihrer Mög­lich­kei­ten und Gren­zen ein­zu­schät­zen

INHALT: Die Lehrveranstaltung gibt einen systematischen Überblick über die folgenden Themengebiete: Historischer Rückblick und Motivation Boolesche Algebra, minimale Schaltungen auf Basis von NAND und NOR Gatterlaufzeiten, Timing-Analyse, kritischer Pfad Zahlensysteme, Zahlenkodierungen, Fehlererkennung und Korrektur, Fest- und Fließkommadarstellungen Rechenschaltungen, arithmetisch logische Einheit (ALU), Flankendetektoren, bi-, mono- und astabile Schaltungen, transparente und nicht-transparente Flip-Flops (FF) Frequenzteiler, Zahler (asynchron, synchron), Automaten, Schieberegister Speicher: S-RAM, D-RAM, ROM, … (Aufbau und Organisationsformen) taktsynchrone Techniken zur Datenverarbeitung ALU in Umgebungen zur Mikroprogrammierung Konzepte zur serielle Datenübertragung Grundlagenidee von A/D- und D/A-Wandlern Konzept: skalierbare Standard-Logik-Zellen, CMOS-Logik Übersicht: Logikanalyse, Tools zur Logikanalyse, HDL Entwurfssprachen Mooresches Gesetz

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung und erfolgreiche Teilnahme an den Übungen

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Inhalte des Moduls Mathematik 1 – Grundlagen. Vorausgesetzt wird ein generelles Interesse an technischen Systemen, die Fähigkeit zu strukturieren, algorithmischem Denken sowie die Fähigkeit zum Erfassen von komplexen Abhängigkeiten und Interaktionsmustern.

LITERATUR: 1. P. Peter: „Digitaltechnik I. Grundlagen, Entwurf, Schaltungen“, Hüthig Verlag 2. F. Klaus: „Digitaltechnik Lehr- und Übungsbuch für Elektrotechniker und Informatiker“, Vieweg Verlag 3. J. Becker und HM. Lipp: „Grundlagen der Digitaltechnik“, Oldenbourg Verlag

SONSTIGE INFORMATIONEN: Es wird eine vorlesungsbegleitende Zusatzübung (Tutorium) angeboten. Zur Lehrveranstaltung gibt es ein Vorlesungsskript, welches in einer virtuellen Ma-schine enthalten ist. Das Konzept eines interaktiven Vorlesungsskripts in der Umge-bung einer virtuellen Maschine wird im folgendem Video kurz vorgestellt: https://ruhr-uni-bochum.sciebo.de/s/bJD5aASWeOl1cvP Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Distributed Systems

MODULNUMMER: 211004

KÜRZEL: DS

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Steffen Bondorf

DOZENT: Prof. Dr.-Ing. Steffen Bondorf

FAKULTÄT: Fakultät für Informatik

SPRACHE: Englisch

SWS: 3 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART: Distributed Systems – Vorlesung (2 SWS) Distributed Systems – Übung (2 SWS)

LERNZIELE: Die Studierenden sollen eine breite Kenntnis über die auftretenden Herausforderungen beim Entwurf und bei der Anwendung von verteilten Computersystemen erlangen. Nach dem erfolgreichen Abschluss des Moduls - kennen die Studierenden verschiedene Systemmodelle und Architekturen, die zum Entwurf sowie zu der Klassifizierung von verteilten Systemen dienen. - Sie können verschiedene Rollen von Teilsystemen differenzieren und sie formal beschreiben - können die Studierenden vielfältige Herausforderungen beim Aufbau eines verteilten Systems identifizieren und kennen die wichtigsten Standardtechniken zum Umgang mit diesen, inklusive deren Vor- und Nachteile -können die Studierenden die Funktionsweise eines verteilt implementierten Systems anhand dessen Beschreibung verstehen und die ausgeführte Aufgabe herleiten -können die Studierenden die Fähigkeit eines verteilten Systems zur Erfüllung seiner Aufgabe beurteilen, die Quellen potenzieller Probleme identifizieren und -können Verbesserungen sowie deren Integration entwerfen - sind die Studierenden in der Lage, gegebene Alternativen zur verteilten Implementierung eines Systems für eine bestimmte Aufgabe zu bewerten und begründet in eine Rangfolge zu bringen

INHALT: Diese Lehrveranstaltung behandelt grundlegende Architekturen und Methoden, die die Funktionsfähigkeit leistungsfähiger verteilter Computersysteme ermöglichen. Ein solches verteilte System dient der Erfüllung einer bestimmten Aufgabe unter Verwendung von mehreren unabhängigen Teilsystemen und soll dem Benutzer dabei jedoch wie ein einzelnes Computersystem erscheinen. Um dies zu erreichen, müssen die verschiedenen Teilsysteme über gemeinsames Wissen verfügen. Es treten durch die Verteilung im Vergleich zu einzelnen Systemen eine Reihe von Herausforderungen auf, die den Inhalt der Vorlesung bilden: Teilsysteme müssen sich gegenseitig auffinden können, sie müssen in der Lage sein, Nachrichten auszutauschen, Daten müssen trotz der so entstehenden Replikation über Teilsysteme hinweg konsistent gehalten werden, Fehler in Teilsystemen müssen tolerierbar sein und die Ressourcen des Gesamtsystems sollen möglichst effizient genutzt werden, sodass die gegebene Aufgabe performant erfüllt wird. All diese Komponenten und Aspekte finden sich in modernen, Internet-basierten Systemen wieder. Sie garantieren die Funktionsfähigkeit von Diensten wie das World Wide Web, E-Mail oder File-Sharing.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung und erfolgreiche Teilnahme an den Übungen

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Inhalte der Module Informatik 1 – Programmierung und Technische Informatik 1 – Rechnerarchitektur. Vorausgesetzt wird ein generelles Interesse an technischen Systemen, die Fähigkeit zum strukturierten, algorithmischen Denken sowie die Fähigkeit zum Erfassen von komplexen Abhängigkeiten und Interaktionsmustern.

LITERATUR: A. S. Tanenbaum und M. van Stehen: „Verteilte Systeme – Prinzipien und Paradigmen“, Pearson Verlag, 2007

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Presenting and Writing in English (PO20)

MODULNUMMER: 251218

KÜRZEL: PresWrit

MODULBEAUFTRAGTER: Dr.-Ing. Marc Fyrbiak

DOZENT: Nicola Heimann-Bernoussi; Melissa Mariano

FAKULTÄT: Zentrum für Fremdsprachenausbildung (RUB)

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 6 CP

WORKLOAD: 180 h

ANGEBOTEN IM: jedes Jahr

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - können die Studierenden Fachbegriffe gezielt und effektiv in Präsentationen und schriftlichen Texten anwenden - sind die Studierenden in der Lage, ihr Wissen über ein Fachthema bzw. eigene Erkenntnisse sicher zu vermitteln und spontan dazu Fragen zu beantworten - sind die Studierenden in der Lage, in einer fachlichen Diskussion persönliche Standpunkte und Meinungen zu äußern und zu erfragen, Stellung zu beziehen, Hypothesen aufzustellen, Argumente und Gegenargumente zu formulieren sowie Vor‐ und Nachteile aufzuzeigen Zu a) Presenting in English Darüber hinaus beherrschen die Studierenden alle erforderlichen Kompetenzen, um eine (unkomplizierte) fachliche Präsentation im Englischen halten zu können, d.h. in diesem Zusammenhang: - Sie können aus verschiedenen Quellen Informationen für ihre Präsentation zusammentragen - Sie können diese Informationen fachkonform und den Konventionen der englischen Sprache angemessen aufbereiten - Sie sind in der Lage, die Vortragssprache (sprachliche Mittel) korrekt einzusetzen und die Präsentation publikumsadäquat vorzutragen - Sie können auf Fragen zur Präsentation spontan eingehen - Sie können mit fachrelevanten Vorträgen sicher umgehen Zu b) Writing in English Die Studierenden beherrschen außerdem alle erforderlichen Kompetenzen, um (unkompli-zierte) Fachtexte im Englischen schreiben zu können, d.h. in diesem Zusammenhang: - Sie können aus verschiedenen Quellen Informationen für ihren Text zusammentragen - Sie können diese Informationen fachkonform und den Konventionen der englischen Sprache angemessen aufbereiten - Sie können ihre eigenen Texte überprüfen und über Verfasstes reflektieren. - Sie können anderen Studierenden Feedback geben (mündlich und schriftlich) und fremde Texte evaluieren (Peer-Review) - Sie können mit fachrelevanten Textsorten sicher umgehen

INHALT: Zu a) Presenting in English Der Fokus dieser Veranstaltung liegt auf der mündlichen Kompetenz, hier insbesondere im Schwerpunktbereich des Präsentierens. Im Vordergrund steht eine Erweiterung des Wort-schatzes und eine Verbesserung der fachlichen Ausdrucksweise im mündlichen Kontext. Authentische Vorträge und Vorlesungen aus dem Fach Informatik liefern sprachlichen Input und dienen als Grundlage für Analysen und als Beispiele für die Erstellung der eigenen Präsentation. Innerhalb einer Projektarbeit erhalten die Studierenden die Gelegenheit, die fach-konformen lexikalischen und strukturellen Aspekte kennenzulernen und anzuwenden. Dabei wird das Erstellen und Durchführen von Präsentationen für unterschiedliche Adressaten eine Rolle spielen. Durch die regelmäßige Praxis und die intensive Arbeit mit Präsentationen gewinnen die Kursteilnehmenden eine größere Vertrautheit und Sicherheit im Umgang mit den fachrelevanten Vorträgen, entwickeln Präsentationsstrategien und erwerben Werkzeuge/Kompetenzen für eine effektive mündliche Kommunikation in der englischen Sprache in akademischen und beruflichen Kontexten. Zu b) Writing in English Der Fokus dieser Veranstaltung liegt auf der schriftlichen Kompetenz sowie einer Erweiterung des Wortschatzes und einer Verbesserung der Ausdrucksweise im fachlichen Kontext. Authentische Texte aus dem Fach Informatik liefern sprachlichen Input und dienen als Grundlage für Textanalysen und als Beispiele für die eigene schriftliche Produktion. Dadurch erhalten die Kursteilnehmenden die Gelegenheit, die fachkonformen lexikalischen und strukturellen Aspekte kennenzulernen und anzuwenden. Auch das Schreiben in verschiedenen Formaten und für unterschiedliche Adressaten wird eine Rolle spielen. Zu den Aufgaben wird das wöchentliche Verfassen von Texten von einem vorgegebenen Umfang gehören, zu denen die Studierenden Feedback erhalten und die sie überarbeiten werden. Durch die regelmäßige Praxis und Anwendung der geschriebenen Sprache gewinnen die Kursteilnehmenden eine größere Vertrautheit und Sicherheit im Umgang mit den fachrelevanten Textsorten, entwickeln Schreibstrategien und erwerben Werkzeuge/ Kompetenzen für einen effektiven schriftlichen Umgang mit der englischen Sprache in akademischen und beruflichen Kontexten. Neben einer Steigerung der individuellen schriftlichen Fähigkeiten, arbeiten die Studieren-den an Techniken des gegenseitigen Feedbacks (Peer-Review), erhöhen durch gezielte Übungen ihre schriftliche Ausdrucksfähigkeit im Englischen und werden an studiennahe Aufgabenformate herangeführt. In einem Portfolio werden die unterschiedlichen Schreib-produkte gesammelt, die den Lernprozess dokumentieren und dabei individuelle Schwer-punkte sowie den Lernerfolg widerspiegeln. Vorbereitende (im Sinne vom Flipped Classroom), vertiefende bzw. weiterführende Auf-gaben in Moodle sind integrativer Bestandteil beider Lehrveranstaltungen.

VORAUSSETZUNGEN FÜR CREDITS: Zu a) und b) - Anwesenheit von 75 Prozent - Erfolgreicher Abschluss aller studienbegleitenden Leistungen Zu a) Presenting in English: Erfolgreiches Erstellen, Bearbeiten und Durchführen der Präsentationen Zu b) Writing in English: Erfolgreiches Erarbeiten aller schriftlichen Aufgaben und Abgabe des vollständigen Portfolios

VORAUSSETZUNGEN: Bestandenes Modul English for Computer Science

VORKENNTNISSE: Das Modul English for Computer Science sollte erfolgreich abgeschlossen und das Niveau B2 voll erreicht sein.

LITERATUR: Es wird mit unterschiedlichen bedarfsorientierten Materialien gearbeitet

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

VERTIEFUNGSMODULE

Einführung in die Kryptographie 1

MODULNUMMER: 212010

KÜRZEL: Krypto1

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Christof Paar

DOZENT: Prof.Dr.-Ing Christof Paar

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 Stunden

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - verfügen die Studierenden über Kenntnisse der grundlegenden Anwendungen symmetrischer Verfahren und über Grundkenntnisse der asymmetrischen Kryptographie sie können entscheiden, unter welchen Bedingungen man in der Praxis bestimmte Verfahren einsetzt und wie die Sicherheitsparameter zu wählen sind sie sind mit den Grundlagen des abstrakten Denkens in der IT Sicherheitstechnik vertraut. - erreichen die Studierenden durch Beschreibungen ausgewählter praxisrelevanter Algorithmen, wie beispielsweise des AES- oder RSA-Algorithmus, ein algorithmisches und technisches Verständnis zur praktischen Anwendung - erhalten sie einen Überblick über die in Unternehmen eingesetzten Lösungen - sind sie in der Lage, argumentativ eine bestimmte Lösung zu verteidigen

INHALT: Das Modul bietet einen allgemeinen Einstieg in die Funktionsweise moderner Kryptografie und Datensicherheit. Es werden grundlegende Begriffe und mathematische/technische Verfahren der Kryptografie und der Datensicherheit erläutert. Praktisch relevante symmetrische und asymmetrische Verfahren und Algorithmen werden vorgestellt und an praxisrelevanten Beispielen erläutert. Die Vorlesung lässt sich in zwei Teile gliedern: 1. Die Funktionsweise der symmetrischen Kryptographie einschließlich der Beschreibung historisch bedeutender symmetrischer Verschlüsselungsverfahren (Caesar Chiffre, Affine Chiffre) und aktueller symmetrischer Verfahren (Data Encryption Standard, Advanced Encryption Standard, Stromchiffren, One Time Pad) werden im ersten Teil behandelt. 2. Der zweite Teil besteht aus einer Einleitung zu asymmetrischen Verfahren und einem ihrer wichtigsten Stellvertretern (RSA). Hierzu wird eine Einführung der Grundlagen der Zahlentheorie durchgeführt, um ein grundlegendes Verständnis der Verfahren sicherzustellen (u.a. Ringe ganzer Zahlen, Gruppen, Körper, diskrete Logarithmen, euklidischer Algorithmus). Nichtsdestotrotz liegt der Schwerpunkt auf der algorithmischen Einführung des asymmetrischen Verfahrens.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Inhalte der Pflichtmodule Mathematik 1 – Grundlagen und Mathematik 2 – Algorithmische Mathematik sowie Fähigkeit zum logischen und abstrakten Denken

LITERATUR: 1. C. Paar, J. Pelzl: „Kryptografie verständlich: Ein Lehrbuch für Studierende und Anwender”, Springer Verlag, 2016 2. C. Paar, J Pelzl: “Understanding Cryptography: A Textbook for Students and Practitioners”, Springer Verlag, 2009

Maschinelles Lernen

MODULNUMMER: n.n.

KÜRZEL: ML

MODULBEAUFTRAGTER: Prof. Dr. Asja Fischer

DOZENT: Prof. Dr. Asja Fischer

FAKULTÄT: Fakultät für Informatik

SPRACHE: Englisch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 Stunden

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART: Machine Learning – Vorlesung (2 SWS) Machine Learning – Übung (2 SWS)

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - kennen die Studierenden verschiedene Konzepte und Methoden des maschinellen Lernens - können die Studierenden konkrete Projektanforderungen als maschinelle Lern-Probleme identifizieren - können die Studierenden verschiedene maschinelle Lernmethoden umsetzen, anwenden sowie auf spezifische Anwendungsprobleme anpassen - können die Studierenden das erlangte algorithmische Grundverständnis auf neue Verfahren übertragen und sind daher in der Lage, weitere Methoden selbstständig anhand von Literatur zu erarbeiten und neue Entwicklungen auf dem Gebiet kritisch zu beurteilen

INHALT: Die Vorlesung hat zum Ziel, die grundlegenden Konzepte des maschinellen Lernens zu vermitteln. Es werden verschiedene Verfahren und Methoden des maschinellen Lernens mit exemplarischen Anwendungen vorgestellt. Die verschiedenen Lern-Paradigmen „Überwachtes Lernen“, „Unüberwachtes Lernen“ und „Reinforcement Lernen“ sollen eingeführt werden. Inhaltlich spielen hier einerseits Methoden zur Klassifikation oder Regression (wie beispielsweise Lineare Methoden, Kern-Methoden wie Support Vector Maschinen, Neuronale Netze) und Konzepte wie Generalisierung und Overfitting eine Rolle. Andererseits sind Methoden zur Dimensionsreduktion, zum Clustering und zur Outlier Detektion von Bedeutung. Um das Wissen zu operationalisieren, werden in den Übungen praktische Erfahrungen mit Lernalgorithmen gesammelt.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Solide Grundlagen in Mathematik (Inhalt der Module Mathematik 1 – Grundlagen, Mathematik 2 – Algorithmische Mathematik und Mathematik 3 – Anwendungen) und Informatik (Inhalte der Module Informatik 1 – Programmieren, Informatik 2 – Algorithmen und Datenstrukturen und Informatik 3 – Theoretische Informatik). Weiterhin sollten die Grundkonzepte der künstlichen Intelligenz bekannt sein (Inhalte des Moduls Künstliche Intelligenz).

LITERATUR: 1. P. Murphy: „Machine Learning: A Probabilistic Perspective“, MIT Press 2012 2. C. M. Bishop: „Pattern Recognition and Machine Learning“, Springer, 2006

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Informationssysteme

MODULNUMMER: n.n.

KÜRZEL: InSys

MODULBEAUFTRAGTER: Prof. Dr. Maribel Acosta Deibe

DOZENT: Jun.-Prof. Maribel Acosta Deibe

FAKULTÄT: Fakultät für Informatik

SPRACHE: Englisch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART: Informations Systems – Vorlesung (2 SWS) Informations Systems – Übung (2 SWS)

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - besitzen die Studierenden vertiefte Kenntnisse der grundlegenden Prinzipien, Konzepte und Methoden zur Datenverwaltung, Datenaufbereitung und Datenanalyse und haben ein vertieftes Verständnis der Handhabung von Daten- und Wissensbeständen - kennen die Studierenden die Eigenschaften und Charakteristika von komplexen Informationssystemen - kennen die Studierenden die größten Herausforderungen beim Design, bei der Implementierung und Wartung von Informationssystemen - können die Studierenden Aspekte der Komplexität erkennen und bemessen, sie kennen Techniken zur Reduktion von Komplexität - sind die Studierenden in der Lage, komplexe Informationssysteme zu modellieren und zu implementieren - verfügen die Studierenden über Kenntnisse der Möglichkeiten zur Integration von Datenbanklösungen in komplexe Softwaresysteme (Data Warehouses oder Web-basierte, verteilte Informationssysteme)

INHALT: Komplexe Informationssysteme sind zwischen den stark strukturierten „klassischen“ Datenbanksystemen und dem Paradigma des Information Retrieval angesiedelt. Sie befassen sich mit schwach strukturierten oder heterogenen Informationsobjekten, die unter verschiedenen Aspekten als komplex zu betrachten sind (z.B. Multimodalität, besondere Repräsentationsformate, Verteilung). In der Veranstaltung werden aktuelle Ansätze der Gestaltung und Realisierung zentralisierter, verteilter und Internet-basierter Informationssysteme behandelt. Inhaltliche Schwerpunkte sind: - Verteilte Datenverwaltung und Web-Zugriff - Komplexität von Informationssystemen - Data Warehouse - Data/Web/Text Mining - Semantic Web - Informationssysteme zur Unterstützung mehrstufiger Informationsgewinnungs-prozesse oder mit spezieller Fachsemantik - Informationssysteme für die Industrie 4.0 An ausgewählten Beispielen wird die Informationsrepräsentation und –suche im Kontext komplexer Anwendungsbereiche gezeigt und praktisch erprobt.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: Inhalte der Pflichtmodule Datenbanksysteme, Verteilte Systeme und Software Engineering

LITERATUR: s. Webseite der Lehrveranstaltung

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Formale Verifikation

MODULNUMMER: n.n.

KÜRZEL: ForVer

MODULBEAUFTRAGTER: Prof. Dr. Thomas Zeume

DOZENT: Prof. Dr. Thomas Zeume

FAKULTÄT: Fakultät für Informatik

SPRACHE: Englisch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART: Formal Verifikation – Vorlesung (2 SWS) Formal Verification – Übung (2 SWS)

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - beherrschen die Studierenden die Grundlagen der formalen Verifikation - verstehen die Studierenden das Konzept der Abstraktion von Daten und Transitionen - verfügen die Studierenden über Werkzeuge zur Verifikation von Software - kennen die Studierenden die Model-Checking Verfahren und können sie in praktische Algorithmen umsetzen - sind die Studierenden in der Lage, die verschiedenen Techniken der formalen Spezifikation und Verifikation von Software zu verstehen und praktisch anzuwenden - sind sich der Studierenden über die praktischen Relevanz der formalen Verifikation von Software bewusst

INHALT: Es ist eine große Herausforderung an die Informatik, automatische Methoden zur Analyse und Verifikation von Verhaltenseigenschaften für Software-Systeme zu entwickeln. Diese Methoden für die formale Verifikation und Spezifikation von Software ergänzen die traditionelle Softwareentwicklungsmethoden und ersetzen sie sogar teilweise. Die Verfahren, dessen Grundlagen auf Logik und Deduktion basieren, müssen in der Praxis auf die jeweiligen Anwendungen und deren Eigenschaften abgestimmt sein, und zwar sowohl die zur Spezifikation verwendeten Sprachen als auch zur Verifikation verwendeten Kalküle. Die Vorlesung gibt einen Einblick in das Thema Formale Verifikation und gliedert sich wie folgt: - Einführung in das Thema Formale Verifikation - Logik (Aussagelogik, temporale Logik) - Spezifikationsformalismen - Systemmodellierung und Algorithmen zur Modellprüfung - Techniken der Automatisierung der Verifikation Anwendungen (Verifikation funktionaler Eigenschaften imperative und objekt-orientierter Programme, Verifikation nebenläufiger Programme, Verifikation von Echtzeiteigenschaften, Verifikation der Eigenschaften der Datenstrukturen, Programm- und Protokollverifikation)

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: Inhalte des Pflichtmoduls Software Engineering sowie solides Basiswissen aus den Grundlagenmodulen im Bereich Mathematik und Informatik

LITERATUR: 1. F. Nielson, H. Nielson, C. Hankin: „Principles of Program Analysis”, Springer Verlag 2. E. M. Clarke, O. Grumberg, D. Peled: “Model Checking”, MIT Press 3. C. Baier and J.-P. Katoen: ”Principles of Model Checking”, MIT Press

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Quantenalgorithmen

MODULNUMMER: 150318

KÜRZEL: QuantAlg

MODULBEAUFTRAGTER: Prof. Dr. Alexander May

DOZENT: Önder Askin, Timo Glaser, Iggy van Hoof

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 Stunden

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART: Quantenalgorithmen – Vorlesung (2 SWS)Quantenalgorithmen – Übung (2 SWS)

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - beherrschen die Studierenden die Grundlagen der Quantenalgorithmen - haben die Studierenden erlernt, inwiefern sich Quantencomputer von klassischen Rechnern unterscheiden und welche Klassen von Problemen effizient von Quanten-rechnern gelöst werden - werden die Studierenden in die Lage versetzt, einfache Probleme mit Quanten-algorithmen zu lösen und die Korrektheit ihrer Algorithmen nachzuweisen - können die Studierenden Quantenschaltkreise mit Python auf einem Quanten-rechner oder einem Quanten-Simulator implementieren

INHALT: Die Vorlesung gibt einen Einblick in die Konstruktion von Algorithmen für Quantenrechner und behandelt die folgenden Themen: - Quantenbits und Quantengatter - Separabilität und Verschränkung - Teleportation - Quantenschlüsselaustausch - Quantenkomplexität - Simons Problem - Shors Faktorisierungsalgorithmus - Grovers Suchalgorithmus

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Inhalte der Pflichtmodule Mathematik (Module Mathematik 1 – Grundlagen, Mathematik 2 – Algorithmische Mathematik und Mathematik 3 – Anwendungen) und Informatik (Module Informatik 1 – Programmieren, Informatik 2 – Algorithmen und Datenstrukturen und Informatik 3 – Theoretische Informatik)

LITERATUR: 1. N. D. Mermin: „Quantum Computer Science – An Introduction”, Cambridge University Press, 2007 2. M. A. Nielsen, I. L. Chuang: “Quantum Computation and Quantum Information”, Cambridge University Press, 2007 3. M. Homeister: „Quantum Computing Verstehen“, Springer Verlag, 2013

SONSTIGE INFORMATIONEN: Zur Vorlesung existiert ein Skript. Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Web-Engineering

MODULNUMMER: 128968

KÜRZEL: WebEng

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Markus König

DOZENT: Prof. Dr. Markus König

FAKULTÄT: Fakultät für Bau- und Umweltingenieurwissenschaften

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART: Web-Engineering – Vorlesung (2 SWS) Web-Engineering – Übung (2 SWS)

LERNZIELE: Die Entwicklung von Web-Anwendungen und Web-Services ist zentraler Bestandteil der Digitalisierung. Ziel der Lehrveranstaltung ist die Vermittlung von Grundlagen und bewährten Verfahren in der Web-Entwicklung. Studierende lernen konzeptuelle technologische Bausteine kennen: Transportverfahren, Webseitendarstellung, dynamische Web-Anwendungen und Web-Services. Über das konzeptuelle Verständnis hinaus werden praktische Kompetenzen vermittelt. Dazu werden moderne Werkzeuge der Web-Entwicklung, sowohl server- als auch clientseitig, vorgestellt und in den Übungssitzungen praktisch vertieft. Während der Umsetzung einfacher Web-Anwendungen stehen auch analytische Fähigkeiten im Fokus: Studierende werden befähigt, verschiedene Verfahren in Hinblick auf Performanz und Wartbarkeit zu bewerten. Diese Fähigkeiten sind in der kritischen Planungsphase von Software-Projekten unerlässlich. Nach dem erfolgreichen Abschluss des Moduls - kennen Studierende gängige Konzepte der Web-Entwicklung in den Aspekten Präsentation, Transport und Bereitstellung von Daten - beherrschen Studierende grundlegende Fähigkeiten in Webseitendarstellung, dynamischen Web-Anwendungen und modernen Services (Node.js)

INHALT: Im Rahmen des Modules werden den Studierenden aktuelle Techniken und Kenntnisse im Bereich der Web-Entwicklung aufgezeigt. Thematisch wird der Bereich der server- und clientseitigen Entwicklung abgedeckt. JavaScript stellt dabei eine zentrale Rolle dar. Folgende Lehrinhalte werden behandelt: - Einführung in clientseitige Web-Entwicklung: HTML, CSS, JavaScript, Web Components - Transportverfahren und deren Nutzung: Representational State Transfer (REST), Asynchronous JavaScipt und XML (AJAX) - Serverseitige Entwicklung mit Node.js und weiterführende Technologien

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: Programmieren, Architektur von Web-basierten Systemen

LITERATUR: 1. J. Query – Das umfassende Handbuch, Rheinwerk Verlag, 2013, ISBN 978-3-8362-2638-7 2. Node.js – Das umfassende Handbuch, Rheinwerk Verlag, 2013, ISBN 978-3-8362-2119-1

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Einführung in die Kryptographie 2

MODULNUMMER: 211009

KÜRZEL: Krypto2

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Christof Paar

DOZENT: Prof. Dr.-Ing. Christof Paar

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 Stunden

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach erfolgreichem Abschluss des Moduls - verfügen die Studierenden über Kenntnisse der grundlegenden Anwendungen asymmetrischer und hybrider Verfahren - können die Studierenden entscheiden, unter welchen Bedingungen man in der Praxis bestimmte Verfahren einsetzt und wie die Sicherheitsparameter zu wählen sind - sind die Studierenden mit den Grundlagen des abstrakten Denkens in der IT-Sicher-heitstechnik vertraut - erreichen die Studierenden durch Beschreibungen ausgewählter praxisrelevanter Algorithmen, wie beispielsweise des Diffie-Hellman-Schlüsselaustausches oder der ECC-basierten Verfahren, ein algorithmisches und technisches Verständnis zur praktischen Anwendung - erhalten die Studierenden dabei einen Überblick über die in Unternehmen eingesetzten Lösungen

INHALT: Das Modul bietet einen allgemeinen Einstieg in die Funktionsweise moderner Kryptografie und Datensicherheit. Es werden grundlegende Begriffe und mathematisch/technische Verfahren der Kryptografie und der Datensicherheit erläutert. Praktisch relevante asymmetrische Verfahren und Algorithmen werden vorgestellt und an praxisrelevanten Beispielen erläutert. Die Vorlesung wird in zwei Teilen gegliedert: 1. Der erste Teil beginnt mit einer Einleitung zu asymmetrischen Verfahren und deren wichtigsten Stellvertretern (Diffie-Hellman, elliptische Kurven). Der Schwerpunkt liegt auf der algorithmischen Einführung der asymmetrischen Verfahren, die sowohl Verschlüsselungsalgorithmen als auch digitale Signaturen beinhalten. Abgeschlossen wird dieser Teil durch Hash-Funktionen, die eine große Rolle für digitalen Signaturen und Message Authentication Codes (MACs oder kryptografische Checksummen) spielen. 2. Im zweiten Teil der Vorlesung werden Grundlagen von Sicherheitslösungen aufbauend auf den Konzepten der symmetrischen und asymmetrischen Kryptographie besprochen. Dabei wird vor allem auf die in Unternehmen notwendigen und eingesetzten Lösungen (PKI, digitale Zertifikate etc.) eingegangen.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: keine

VORKENNTNISSE: Inhalte des Moduls Einführung in die Kryptographie 1

LITERATUR: 1. C. Paar, J. Pelzl: „Kryptografie verständlich: Ein Lehrbuch für Studierende und Anwender“, Springer Verlag, 2016 2. C. Paar, J. Pelzl: „Understanding Cryptography: A Textbook for Students and Practitioners“, Springer Verlag, 2009

Introduction to Cryptography 2

MODULNUMMER: 211009

KÜRZEL: Krypto2

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Christof Paar

DOZENT: Prof. Dr.-Ing. Christof Paar, M. Sc. Julian Speith, M. Sc. Paul Staat, M. Sc. Johannes Tobisch

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: each summer semester

BESTANDTEILE UND VERANSTALTUNGSART: Introduction to Cryptography 2– Lecture (2 SWS)Introduction to Cryptography 2 – Exercise (2 SWS)

LERNZIELE: After successfully completing the module - the students have knowledge of the basic applications of asymmetric and hybrid methods - The students can decide under which conditions certain procedures are to be used in practice and how the safety parameters are to be selected - the students are familiar with the basics of abstract thinking in IT security technology - Through descriptions of selected practical algorithms, such as the Diffie-Hellman key exchange or the ECC-based procedure, the students achieve an algorithmic and technical understanding for practical application - The students get an overview of the solutions used in companies

INHALT: The module offers a general introduction to the functionality of modern cryptography and data security. Basic terms and mathematical / technical procedures of cryptography and data security are explained. Practically relevant asymmetrical procedures and algorithms are presented and explained using practical examples. The lecture is divided into two parts: 1. The first part begins with an introduction to asymmetric methods and their most important representatives (Diffie-Hellman, elliptic curves). The focus is on the algorithmic introduction of asymmetrical procedures, which contain both encryption algorithms and digital signatures. This part is completed by hash functions, which play a major role for digital signatures and message authentication codes (MACs or cryptographic checksums). 2. In the second part of the lecture, the basics of security solutions based on the concepts of symmetrical and asymmetrical cryptography are discussed. Above all, the solutions required and used in companies (PKI, digital certificates, etc.) are discussed.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: None

VORKENNTNISSE: Contents of the module Introduction to Cryptography 1

LITERATUR: 1. C. Paar, J. Pelzl: „Kryptografie verständlich: Ein Lehrbuch für Studierende und Anwender“, Springer Verlag, 2016 2. C. Paar, J. Pelzl: „Understanding Cryptography: A Textbook for Students and Practitioners“, Springer Verlag, 2009

AKTUELLE INFORMATIONEN: In the summer semester 2022 the course will be offered exclusively digitally, the first lecture will take place on 6 April 22. All required information and materials will be provided via the Moodle (https://moodle.ruhr-uni-bochum.de/course/view.php?id=40775) course. Enrollment in the Moodle course is possible without a password and should be done exclusively with a RUB mail address (exception: UA Ruhr). Lecture: Wednesday 9:45 - 11:45 (digital) Tutorial (alternative): Wednesday 12:15 - 13:15 (digital) Tutotial: Wednesday 14:15 - 15:45

SONSTIGE INFORMATIONEN: Current information such as lecture dates, rooms or current lecturers and instructors can be found in the course directory of the Ruhr-Universität https://vvz.rub.de/ and in the eCampus https://www.rub.de/ecampus/ecampus-webclient /

Statistisches Lernen und Data Mining (ab SoSe 23)

MODULNUMMER: n.n.

KÜRZEL: SLDM

MODULBEAUFTRAGTER: Prof. Dr. Johannes Lederer

DOZENT: Prof. Dr. Johannes Lederer

FAKULTÄT: Fakultät für Mathematik

SPRACHE: Englisch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART: Statististical Learning and Data Mining – Vorlesung (2 SWS)Statististical Learning and Data Mining – Übung (2 SWS)

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - kennen die Studierenden Standardmethoden der Datenanalyse - verstehen die Studierenden, wann welche Methoden passend sind - sind die Studierenden in der Lage, die Methoden anzuwenden - können die Studierenden die Ergebnisse interpretieren)

INHALT: In dieser Lehrveranstaltung werden die grundlegenden Methoden der Datenanalyse eingeführt. Dabei werden verschiedene Datentypen berücksichtigt, insbesondere Regressionsdaten und Klassifikationsdaten. Immer werden auch die zu Grunde liegenden statistischen Modelle besprochen. Ebenfalls werden mögliche Anwendungen sowohl im Unterricht als auch in Computer-Übungen vorgestellt. Ziel ist es, den gesamten Verlauf einfacher Datenanalysen zu vermitteln: Datenaufbereitung, statistische Modellbildung, Auswahl einer Methode, Implementierung der Methode, Visualisierung der Resultate und Interpretation.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: Inhalte der Pflichtmodule in Mathematik (Module Mathematik 1 – Grundlagen, Mathematik 2 – Algorithmische Mathematik und Mathematik 3 – Anwendungen, insbesondere Stochastik)

LITERATUR: G. James, D. Witten, T. Hastie and R. Tibshirani: „An Introduction to Statistical Learning“, Springer Verlag 2017

SONSTIGE INFORMATIONEN: Um den Studierenden angemessene Unterstützung bei den Anwendungsaufgaben zu geben, wird in den Übungen mit Gruppen von maximal 20 Studierenden gearbeitet. Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Systemsicherheit

MODULNUMMER: 211011

KÜRZEL: SysSec

MODULBEAUFTRAGTER: Prof. Dr. Ghassan Karame

DOZENT: Prof. Dr.-Ing. Jörg Schwenk

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART: Systemsicherheit – Vorlesung (2 SWS)Systemsicherheit – Übung (2 SWS)

LERNZIELE: At the end of this course, students will be able to (1) classify and describe vulnerabilities and protection mechanisms of popular systems and protocols, and (2) analyze / reason about basic protection mechanisms for modern OSs, software, and hardware systems. Students will also develop the ability to reason about the security of a given protocol and independently develop appropriate security defenses and security models.

INHALT: While clearly beneficial, the large-scale deployment of online services has resulted in the increase of security threats against existing services. As the size of the global network grows, the incentives of attackers to abuse the operation of online applications also increase and their advantage in mounting successful attacks becomes considerable. These cyber-attacks often target the resources, availability, and operation of online services. With an increasing number of services relying on online resources, integrating proper security measures therefore becomes integral to ensure the correct functioning of every online service. In this course, we discuss important theoretical and analytical aspects in system security. The focus of the course is to understand basic attack strategies on modern systems and platforms, with a focus on side-channel attacks, software-based attacks, malware analysis, as well as software-based defenses (e.g., address space randomization and non-executable memory) and hardware-based defenses (e.g., using TPMs and TEEs). Other topics of the course include analyzing the security of modern cryptocurrencies and ML platforms, and similar aspects in system security. An integral part of this course are exercises and homeworks, which aim to deepen the understanding of the material with practical examples.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: background in Cryptographic primitives (encryption methods, signatures, MACs, hash functions), principles of communication networks, is recommended.

LITERATUR: 1. D. Gollmann: „Computer Security“, Wiley and Sons 2. A.J. Menezes, P.C. van Oorschot and A. S. Vanstone: “Handbook of Applied Cryptography”, CRC Press 3. C. Boyd and A. Manthuria: “Protocols for Authentication and Key Establishment”, Springer Verlag 4. R. Anderson: “Security Engineering – A Guide for Building Dependeble Distributed Systems”, Wiley and Sons

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Nebenläufige Programmierung

MODULNUMMER: 211012

KÜRZEL: NLP

MODULBEAUFTRAGTER: Dr.-Ing. Doga Arinir

DOZENT: Dr.-Ing. Doga Arinir

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 3 SWS

CREDITS: 5 CP

WORKLOAD: 120 h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART: Nebenläufige Programmierung – Vorlesung (2 SWS)Nebenläufige Programmierung – Übung (1 SWS)

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - haben die Studierenden grundlegende Fähigkeiten und Techniken erworben, um nebenläufige Programme sicher entwickeln zu können - kennen die Studierenden softwaretechnische Entwurfsmuster, welche bekannte Probleme bei nebenläufigen Programmen, wie zum Beispiel die Verklemmung, ver-meiden lassen - können die Studierenden die Performanz von Programmen durch den Einsatz der nebenläufigen Programmierung verbessern - sind die Studierenden in der Lage, bestehende Programme zu analysieren und mögliche Fehler zu erkennen - können die Studierenden die Sprachmerkmale und Schnittstellen von JAVA für die nebenläufige Programmierung sicher anwenden

INHALT: Moderne Hardware-Architekturen lassen sich nur durch den Einsatz nebenläufiger Programme richtig ausnutzen. Die nebenläufige Programmierung garantiert bei richtiger Anwendung eine optimale Auslastung der Hardware. Jedoch sind mit einem sorglosen Ein-satz dieser Technik auch viele Risiken verbunden. Die Veranstaltung stellt Vorteile und auch Probleme nebenläufiger Programme dar und zeigt, wie sich die Performanz von Programmen verbessern lässt. 1. Nebenläufigkeit: Schnelleinstieg - Anwendungen vs. Prozesse - Programme und ihre Ausführung - Vorteile und Probleme von nebenläufigen Programmen (Verbesserung der Performanz, Synchronisation, Realisierung kritischer Abschnitte, Monitore, Lebendigkeit, Verklemmungen) 2. Threads in Java 3. UML-Modellierung von Nebenläufigkeit 4. Neues zur Nebenläufigkeit in Java 5 und Java 6 5. Realisierung von Nebenläufigkeit 6. Fortschritte Java-Konzepte für Nebenläufigkeit

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: Inhalte der Module Informatik 1, Informatik 2, Software-Engineering und Web-Engineering

LITERATUR: D. Arinir, P. Ziesche: „Java: Nebenläufige und verteilte Programmierung“, 2. Auflage, W3l, 2010 http://www.w3l.de/w3l/jsp/shop/produktdetails.jsp?produktoid=317&navID=null

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Algorithmenparadigmen

MODULNUMMER: 211043

KÜRZEL: AlgPara

MODULBEAUFTRAGTER: Prof. Dr. Buchin Maike

DOZENT: Prof. Dr. Maike Buchin

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls - kennen Studierende eine Reihe von Algorithmenparadigmen - können Studierende basierend auf den Paradigmen effiziente Algorithmen für Probleme entwickeln - verstehen Studierende die Vor- und Nachteile unterschiedlicher Paradigmen

INHALT: In der Vorlesung werden unterschiedliche Algorithmenparadigmen betrachtet, also Schemata zum Entwurf von effizienten Algorithmen. Dazu werden zunächst die bereits bekannten Paradigmen inkrementell, Teile-und-Herrsche und gierig beleuchtet und diese werden auf verschiedene Probleme angewendet. Darauf aufbauend wird Dynamisches Programmieren gelehrt sowie die Methoden Backtracking und Branch-and-Bound vorgestellt. Auch ein Paradigma speziell für geometrische Probleme – das Sweepline-Verfahren – wird betrachtet.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Inhalte der Pflichtmodule Mathematik (Module Mathematik 1 – Grundlagen, Mathematik 2 – Algorithmische Mathematik und Mathematik 3 – Anwendungen) und Informatik (Module Informatik 1 – Programmieren, Informatik 2 – Algorithmen und Datenstrukturen und Informatik 3 – Theoretische Informatik)

VORKENNTNISSE: Entwurf und Analyse von Algorithmen und Datenstrukturen

LITERATUR: J. Kleinberg, E. Tardos: „Algorithm Design”, Pearson Education

AKTUELLE INFORMATIONEN: Die Veranstaltung entfällt im WS 22/23.

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Logik in der Informatik

MODULNUMMER: 212013

KÜRZEL: LogCS

MODULBEAUFTRAGTER: Prof. Dr. Thomas Zeume

DOZENT: Prof. Dr. Thomas Zeume

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150h

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART: Bis WS 22/23 wurde die Veranstaltung im SS angeboten.

LERNZIELE: In die­ser Ver­an­stal­tung wer­den die for­ma­len Grund­la­gen von mo­der­nen Lo­gi­ken be­han­delt, mit einem Fokus auf ihrer An­wen­dung in der In­for­ma­tik. Neben der klas­si­schen Aus­sa­gen­lo­gik und Prä­di­ka­ten­lo­gik be­trach­ten wir auch Mo­dal­lo­gik. Für jede die­ser Lo­gi­ken for­ma­li­sie­ren wir Syn­tax und Se­man­tik, ler­nen wie sich in­for­ma­ti­sche Sze­na­ri­en in ihnen mo­del­lie­ren las­sen, und be­trach­ten Al­go­rith­men und Kal­kü­le für Un­er­füll­bar­keit und Fol­ge­rungs­be­zie­hung.

INHALT: Lo­gi­sche Me­tho­den spie­len in vie­len mo­der­nen An­wen­dun­gen der In­for­ma­tik eine wich­ti­ge Rolle. Aus Da­ten­ban­ken wer­den re­le­van­te In­for­ma­tio­nen mit Hilfe auf Logik ba­sie­ren­der An­fra­ge­spra­chen ex­tra­hiert; die for­ma­le Ve­ri­fi­ka­ti­on von Soft­ware und Hard­ware ba­siert auf lo­gi­schen Spe­zi­fi­ka­ti­ons­spra­chen und Al­go­rith­men für diese; und Me­tho­den für das au­to­ma­ti­sier­te Schluss­fol­gern in der künst­li­chen In­tel­li­genz haben ihre Grund­la­ge in der for­ma­len Logik.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Ma­the­ma­tik Grund­la­gen­vor­le­sun­gen

VORKENNTNISSE: Ma­the­ma­tik Grund­la­gen­vor­le­sun­gen

LITERATUR: 1. Schö­ning, Uwe \\\"Logik für In­for­ma­ti­ker\\\", Spek­trum Aka­de­mi­scher Ver­lag, 2000 2. Kreu­zer, M., Küh­ling, S. \\\"Logik für In­for­ma­ti­ker\\\", Pear­son, 2006

Advanced Topics in Networking

MODULNUMMER: n.n.

KÜRZEL: ATN

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Steffen Bondorf

DOZENT: Prof. Dr.-Ing. Steffen Bondorf

FAKULTÄT: Fakultät für Informatik

SPRACHE: Englisch

SWS: 4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Wintersemester ab 2022/23

BESTANDTEILE UND VERANSTALTUNGSART: Advanced Topics in Networking – Vorlesung (2 SWS) Advanced Topics in Networking – Übung (2 SWS)

LERNZIELE: Die Studierenden sollen Kenntnisse über die Herausforderungen in Netzwerken für spezielle Einsatzgebiete erlangen sowie existierende Lösungen und neuere Trends verstehen. Nach dem erfolgreichen Abschluss des Moduls - kennen die Studierenden verschiedene Netzwerktypen und deren Architekturen sowie deren Vor- und Nachteile, deren zugrundeliegenden Standards und ihre primären Einsatzgebiete - haben die Studierenden grundlegendes Wissen aus Domänen, die verschiedene Größen von ggf. heterogenen Netzwerken einsetzen (von Local Area Networks bis Wide Area Networks) - können die Studierenden vielfältige nichtfunktionale Herausforderungen beim Aufbau eines Netzwerks identifizieren - können die Studierenden potenzielle Probleme der Leistungsfähigkeit eines Netzwerks identifizieren und entsprechende Szenarien herleiten und Verbesserungen sowie deren Integration entwerfen - sind die Studierenden in der Lage, gegebene Alternativen zur Implementierung eines Netzwerks für eine bestimmte Aufgabe zu bewerten und begründet in eine Rangfolge zu bringen

INHALT: Das OSI-Referenzmodell für Netzwerkprotokolle bildet die Grundlage für eine Vielzahl von verschiedenen Netzwerken. In der Lehrveranstaltung Advanced Topics in Networking (ATN) werden Netzwerke und Protokolle für spezielle Anwendungsgebiete behandelt. Diese Domänen definieren neben der reinen Funktionalität der Vernetzung auch nichtfunktionale Anforderungen. Dies gilt beispielsweise für Bus-Systeme in Fahrzeugen, der Automatisierung von Fabriken oder bei Wide Area Networks – besonders großen Netzwerken, die sehr viele Daten über weite Distanzen übertragen. In dieser Veranstaltung werden daher Technologien, Standards und Protokolle behandelt, die den Einsatz von standardmäßigem TCP/IP in verschiedenen Anwendungsgebieten ermöglichen oder gar ersetzen. Beispiele sind hierbei Tunneling und Encapsulation sowie Multiprotocol Label Switching und Time-Sensitive Networking. Bei allen Betrachtungen wird ein besonderes Augenmerk auf Herausforderungen in Bezug auf die Leistungsfähigkeit des Netzwerks gelegt.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung und erfolgreiche Teilnahme an den Übungen

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: OSI-Referenzmodell für Netzwerkprotokolle (Inhalte des Moduls Computernetze) und Anforderungen von Internet-basierten Anwendungen (Inhalte des Moduls Verteilte Systeme)

LITERATUR: 1. Technische Spezifikationen und Standardisierungsdokumente der Internet Engineering Task Force (IETF) und des Institute of Electrical and Electronics Engineers (IEEE) und anderen Organisationen 2. A. S. Tanenbaum und David J. Wetherall: „Computernetze“ 3. J. F. Kurose und K. W. Ross: „Computernetze“

SONSTIGE INFORMATIONEN: Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Game Development

MODULNUMMER: 211001

KÜRZEL: GD

MODULBEAUFTRAGTER: Prof. Dr. Tobias Glasmachers

DOZENT: Daniel Vonk

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 2

CREDITS: 6

WORKLOAD: 180h

ANGEBOTEN IM: jedes Sommersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls ∙ verstehen die Teilnehmer Grundlagen der objektorientierten Programmierung mit CS- harp im Rahmen der Unity-Engine, ∙ haben Teilnehmer ein umfassendes Wissen über den Bereich der Spieleentwicklung erworben und kennen moderne Tools sowie aktuelle Methoden der 2D- und 3D- Entwicklung, ∙ können die Teilnehmer praxisnahe Problemstellungen der Softwareentwicklung analy- sieren und eigenständig lösen, ∙ können die Teilnehmer Projekte im Bereich der Spieleentwicklung definieren und fachgerecht umsetzen.

INHALT: Die Veranstaltung bietet einen umfangreichen Einblick in viele Bereiche der Spieleentwicklung. Dazu gehören: ∙ Grundlagenwissen (Spiele-Engines, moderne Softwaretools, Projektmanagement) ∙ C#-Grundlagen (Syntax, Datentypen, Operatoren, Kontrollstrukturen) ∙ Benutzerinteraktion (In-/Output mit Tastatur sowie Controller, User Interfaces) ∙ Gameplay (Bewegen von Spielobjekten, Kamerasteuerung, Game Loop und Framerates) ∙ Physik (Rigidbodies, Collider, Trigger) ∙ Assets (Import von Bildern, Audio und 3D-Modellen sowie Erstellung von Animationen) ∙ Grafik (Texturen, Partikeleffekte, Beleuchtung, Post-Processing) ∙ Leveldesign (Tilemaps, 3D-Umgebungen, Terrains) Studenten setzen das erlernte Wissen durch die Entwicklung einfacher Computerspiele in der Unity-Engine um. Die erworbenen Fähigkeiten lassen sich jedoch einfach auf andere Software- Frameworks übertragen.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Projektarbeit

VORAUSSETZUNGEN: Grundlegende Programmierkenntnisse; Zugang zu einem Computer mit Internet, auf dem die Unity-Engine läuft (https://unity3d.com/de/get-unity/download)

PRAKTISCHE VERTIEFUNG

Praktische Ausbildung

MODULNUMMER: 212421

KÜRZEL: IndPrakt

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Timo Hönig

DOZENT: Timo Hönig

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 1 SWS

CREDITS: 10 CP

WORKLOAD: 300 h

ANGEBOTEN IM: jedes Semester

BESTANDTEILE UND VERANSTALTUNGSART: Software-Projekt (10 CP)

LERNZIELE: Nach erfolgreichem Abschluss des Moduls - sind die Studierenden in der Lage, das erlernte Fachwissen anzuwenden - haben die Studierenden die Software-Entwicklungskompetenz maßgeblich ausgebaut, insbesondere im Hinblick auf größere Software-Systeme - haben die Studierenden zusätzliche Fachkompetenz gemäß der jeweiligen projektspezifischen Aufgabenstellung erworben - können die Studierenden eigene Lösungsstrategien erarbeiten - haben die Studierenden die Fähigkeit zur Arbeitsteilung und Zusammen-arbeit im Team verbessert (Teamfähigkeit und Projektorganisation) - haben die Studierenden die Kompetenz im Hinblick auf die Dokumentati-on von der erstellten Software, aber auch im Hinblick auf die Dokumentation der eigenen Projektarbeit gefestigt - haben die Studierenden die Kompetenz im Hinblick auf die Präsentation von Projektergebnissen verbessert - haben die Studierenden Erfahrung im Bewerbungsprozess gesammelt und sind auf das Berufsleben gut vorbereitet

INHALT: Während der praktischen Ausbildung sollen verschiedene Arbeitsgebiete, die im Zusammenhang mit der späteren Tätigkeit einer Informatikerin bzw. eines Informatikers stehen, bearbeitet werden. Im Vordergrund soll die Entwicklung größerer Software- oder anderer IT-Systeme stehen.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

VORAUSSETZUNGEN: Abgeschlossenes Modul „Grundlagenpraktikum“

VORKENNTNISSE: Programmieren, Software Engineering sowie weitere Kenntnisse, abhängig vom Thema

LITERATUR: Wird von der betreuenden Person, abhängig von der gestellten Aufgabe, empfohlen

SONSTIGE INFORMATIONEN: Das Software-Projekt sollte extern in einem Unternehmen als Industriepraktikum absolviert werden. In begründeten Ausnahmefällen kann das Software-Projekt auch an der Universität absolviert werden. Der bzw. die Studierende ist selbst dafür verantwortlich, eine Stelle für das Praktikum zu finden. Das Center of Computer Science unterstützt durch Vermittlung von Kontakten (z.B. eine Praktikumsbörse).

Seminar Ressourceneffiziente Systemsoftware

MODULNUMMER: 212111

KÜRZEL: RESY

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Timo Hoenig

DOZENT:

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 2

CREDITS: 3

WORKLOAD:

ANGEBOTEN IM: jedes Semester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE:

INHALT: Das Seminar beschäftigt sich mit ressourceneffizienter Systemsoftwarekonzepten. Hierfür wählt sich jeder Studierender ein Themengebiet aus der aktuellen Systemsoftwareforschung. Ziel des Seminars ist es das Forschungsthema aufzuarbeiten und den anderen Teilnehmenden des Seminars in Form einer Ausarbeitung und eines Vortrags zu präsentieren. Parallel zur Einarbeitung in das jeweilige Forschungsthema, werden den Studierenden die Funktionsweise des Wissenschaftsbetriebs, gängige Techniken zur Literaturanalyse und Recherchemethoden vermittelt. Zusätzliche werden gängige Präsentationstechniken besprochen. Die Inhalte werden anhand der gemeinsamen kritischen Betrachtung von Veröffentlichungen praktisch angewendet. LERNZIELE (LEARNING OUTCOMES) - Grundlegendes Verständnis des Wissenschaftsbetriebs - Konstruktive Diskussionskultur über wissenschaftlicher Veröffentlichungen - Selbstständige Suche und Identifikation wissenschaftlicher Veröffentlichungen zu einem Themengebiet - Einarbeitung, kritische Beurteilung und Aufbereitung wissenschaftlicher Veröffentlichungen - Präsentation wissenschaftlicher Ergebnisse in Form eines Vortrags und einer Ausarbeitung LERNFORMEN Die Inhalte werden als seminaristischer Unterricht vermittelt. Ergänzt und praktisch angewandt werden die vermittelten Inhalte in Gruppengesprächen. Im zweiten Teil halten die Studierenden einen Vortrag und präsentieren und diskutieren gemeinsam ihre Ergebnisse Prüfungsformen Schriftliche Ausarbeitung und Vortrag Voraussetzungen für die Vergabe von Kreditpunkten Erfolgreiche Abgabe der schriftlichen Ausarbeitung und Halten des Vortrags. Regelmäßige und aktive Teilnahme an den Diskussionsrunden.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

Seminar Distributed and Networked Systems

MODULNUMMER: 212114

KÜRZEL: SDANS

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Steffen Bondorf

DOZENT:

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 2

CREDITS: 3

WORKLOAD:

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE:

INHALT:

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

Seminar Modern Programming Languages

MODULNUMMER: 212115

KÜRZEL: SMPL

MODULBEAUFTRAGTER: Prof. Dr. Michael Walter

DOZENT: Michael Walter

FAKULTÄT: Fakultät für Informatik

SPRACHE: Englisch

SWS: 2

CREDITS: 3

WORKLOAD:

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART: https://qi.ruhr-uni-bochum.de/proglang_ws22

LERNZIELE: In this seminar, you will obtain insight into a variety of modern programming languages and some of their key features and concepts. This will help you prepare for a BSc project in the theory of programming languages, but also teach you practical skills that are useful in adjacent fields such as software engineering. In addition, you get to practice some fundamental skills: independent literature search and comprehension; distilling the essence of a research topic into a report; time management; giving feedback; the scientific peer-review process.

INHALT: Computing is ubiquitous in our daily life; it pervades everything from mobile phones and embedded devices to supercomputers and cloud computing infrastructure. Given these vastly different platforms and use cases, there is a wide variety of programming languages - they differ in the target domains they are designed for, the paradigms they follow and the concepts they are built on, and the features and abstractions that they offer programmers to express computations clearly and robustly. In this seminar you will have the opportunity to explore a variety of modern programming languages and their key features. You will each study one programming language, with an emphasis on certain key features (see the list below for possible choices). You will present the results of your investigations to your peers and also provide a written report. Please think carefully about the underlying motivations, fundamental concepts, instructive examples, and possible application scenarios. Work out similarities between the language that you are presenting with languages other students have presented before you. In addition, you will be asked to peer-review two of your fellow students’ contributions. This will allow you to learn from other and get acquainted with good scientific practice. Possible topics C++ (templates, RAII, exceptions, constexpr, copy vs move) Coq (concepts covered in the first three chapters in this book) Go (error handling, defer, channels and goroutines, garbage collection, go generate) Haskell (type classes, lazy evaluation, purity, IO and other monads, do notation) Idris 2 (dependent types, multiplicities, theorem proving) Julia (multiple dispatch, metaprogramming and macros, arrays, vectorization and broadcasting) OCaml (type inference, algebraic data types and pattern matching, modules and functors) Python (keyword arguments, decorators, generators, metaclasses, operator overleading) Racket (tail recursion, pattern-based macros, continuations, contracts) Rust (ownership and borrowing, error handling and ? operator, traits, smart pointers) TypeScript (type inference and narrowing, generics, keyof, conditional types, mapped types, template literal types) WebAssembly (virtual machine, instruction set, execution environment) Zig (memory management, error handling, generics, comptime, reflection) Please contact us in case you would like to make your own suggestion.

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

Seminar Reinforcement Learning

MODULNUMMER: 212119

KÜRZEL: SRIL

MODULBEAUFTRAGTER: Prof. Dr. Asja Fischer

DOZENT: Asja Fischer

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 3

CREDITS: 3

WORKLOAD:

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE:

INHALT:

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

Praktikum Implementing Post-Quantum Standards and Challenges

MODULNUMMER: 212416

KÜRZEL: PQSCAC

MODULBEAUFTRAGTER: Prof. Dr. Alexander May

DOZENT: Alexander May

FAKULTÄT: Center of Computer Science

SPRACHE: Deutsch

SWS: 2

CREDITS: 3

WORKLOAD:

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE:

INHALT:

VORAUSSETZUNGEN FÜR CREDITS: Bestandene Modulabschlussprüfung

Praktische Vertiefung

MODULNUMMER: n.n.

KÜRZEL: SemPrak

MODULBEAUFTRAGTER: Studiendekan*in Informatik

DOZENT: Siehe den jeweiligen Eintrag im Vorlesungsverzeichnis

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 3 SWS

CREDITS: 6 CP

WORKLOAD: 180 h

ANGEBOTEN IM: jedes Semester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: a) Nach dem erfolgreichen Absolvieren des Vertiefungsseminars - können die Studierenden eine relevante, wissenschaftliche Literaturrecherche versiert durchführen - sind die Studierenden in der Lage, die Ergebnisse der eigenen Arbeit schriftlich zu dokumentieren - haben sich die Studierenden unterschiedliche Präsentationstechniken für wissenschaftliche Ergebnisse angeeignet und haben gleichzeitig die sprachlichen und die rhetorischen Fähigkeiten ausgebaut - verfügen die Studierenden über gutes Projekt- und Zeitmanagement - haben die Studierenden ihr selbstständiges Denken und Arbeiten verbessert - wurden vertiefte Kenntnisse in einem aktuellen Forschungsgebiet der Informatik erworben b) Nach dem erfolgreichen Absolvieren des Vertiefungspraktikums - können die Studierenden das in anderen Modulen erlernte Fachwissen selbständig anwenden und sind in der Lage, sich bei Bedarf neues Wissen selbstständig anzueignen - haben die Studierenden zusätzliche fachspezifische Kompetenzen abhängig vom Thema des Praktikums erworben - sind die Studierenden in der Lage, eigene Lösungsstrategien zu bestimmten Problemen zu erarbeiten - haben die Studierenden die Teamfähigkeit verbessert - verfügen die Studierenden über gutes Projekt- und Zeitmanagement

INHALT: Es muss ein Seminar und ein Praktikum absolviert werden. Diese sollen aus der Menge der aktuell angebotenen Vertiefungsseminare und Vertiefungspraktika zu Anfang des Semesters ausgewählt werden. a) Vertiefungsseminar Es werden Seminare zu mehreren relevanten Themen angeboten, wie beispielsweise zur theoretischen Informatik, zu den Datenbanksystemen, zu den verteilten und vernetzten Systemen, zu den eingebetteten Systemen, zur Software-Engineering oder zur künstlichen Intelligenz. Von den angebotenen Themen wählen die Studierenden abhängig von den eigenen Interessen und den individuellen Vertiefungswünschen ein Thema aus. Dieses sollen die Studierenden selbstständig bearbeiten, anfangend von der Literaturrecherche, die Einarbeitung in das Thema bis zur schriftlichen Ausarbeitung und Präsentation vor den Komiliton*innen. b) Vertiefungspraktikum Es werden Labor-Praktika zu unterschiedlichen Themen angeboten, von welchen die Studierenden ein Praktikum abhängig von den eigenen Interessen und den individuellen Vertiefungswünschen wählen können. Beispiele sind die Praktika Maschinelles Lernen, Betriebssysteme, App-Programmierung, Mobile Systeme, Eingebettete Systeme, Internet of Things oder Implementierung kryptografischer Verfahren. Das Vertiefungspraktikum besteht aus mehreren vordefinierten praktischen Aufgaben, die wöchentlich unter Betreuung zu bearbeiten sind. Im Rahmen des Vertiefungspraktikums kann aber auch eine größere praktische Aufgabe (ein Projekt) bearbeitet werden.

VORAUSSETZUNGEN FÜR CREDITS: Siehe den jeweiligen Eintrag im Vorlesungsverzeichnis

VORAUSSETZUNGEN: Bestandenes Modul „Grundlagenpraktikum“

VORKENNTNISSE: Abhängig von der gewählten Lehrveranstaltung, siehe die jeweilige Beschreibung im Vorlesungsverzeichnis

LITERATUR: Siehe den jeweiligen Eintrag im Vorlesungsverzeichnis

SONSTIGE INFORMATIONEN: Diese Veranstaltung kann sowohl im Winter- als auch im Sommersemester absolviert werden. Die beiden Modulteile (Seminar und Praktikum) können auch in unterschiedlichen Semestern absolviert werden. Die Anmeldung des Praktikums erfolgt im zuständigen Prüfungsamt unter der Berücksichtigung der in der Prüfungsordnung definierten Anmeldevoraussetzungen. Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

Bachelor-Seminar Security Engineering

MODULNUMMER: 212112

KÜRZEL: BSSE

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Tim Güneysu

DOZENT: Prof. Dr.-Ing. Tim Güneysu, M. Sc. Anna Guinet

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 3 SWS

CREDITS: 3 CP

WORKLOAD:

ANGEBOTEN IM: jedes Semester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Die Teil­neh­mer kön­nen tech­ni­sche und wis­sen­schafl­ti­che Li­te­ra­tur fin­den, ver­ste­hen und aus­wer­ten. Sie er­ler­nen das Ver­fas­sen tech­ni­scher Be­rich­te und Prä­sen­ta­ti­ons­tech­ni­ken.

INHALT: Die Teil­neh­mer er­ar­bei­ten sich ei­gent­stän­dig ein aus­ge­wähl­tes Thema aus dem Be­reich des Se­cu­ri­ty En­gi­nee­ring und dem grö­ße­ren Ge­biet der all­ge­mei­nen IT-Si­cher­heit. In der Regel wer­den hier­für wis­sen­schaft­li­che Ver­öf­fent­li­chun­gen un­ter­sucht. Die Stu­den­ten fer­ti­gen eine Aus­ar­bei­tung und prä­sen­tie­ren ihre Er­geb­nis­se.

VORAUSSETZUNGEN FÜR CREDITS: Bestandener Seminarbeitrag

VORKENNTNISSE: - 'Ein­füh­rung in die Kryp­to­gra­phie' - 'Grund­la­gen der Netz- und Sys­tem­si­cher­heit'

SONSTIGE INFORMATIONEN: Alle Seminarthemen des Lehrstuhls werden über die Website der zentralen Seminarvergabe vergeben. Dort befinden sich ebenfalls weitere Informationen zur Bedienung und zum Auswahlverfahren (https://informatik.rub.de/seceng/lehre/seminare/seminar_ws_2022).

Seminar Machine Learning Applications

MODULNUMMER: 212108

KÜRZEL: SMLA

MODULBEAUFTRAGTER: Prof. Dr. Tobias Glasmachers

DOZENT: Prof. Dr. Tobias Glasmachers / M.Sc. Daniel Vonk

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 2

CREDITS: 3

WORKLOAD:

ANGEBOTEN IM: jedes Semester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls ∙ kennen die Teilnehmer Algorithmen und Anwendungen des maschinellen Lernens ∙ können die Teilnehmer Lehrinhalte und Forschungsergebnisse eigenständig in einem didaktisch wohl aufbereiteten Vortrag vermitteln, ∙ können die Teilnehmer konstruktives Feedback formulieren und entgegennehmen.

INHALT: Das Seminar vertieft diverse Inhalt aus dem breiten Bereich des maschinellen Lernens. Weiterhin werden guter Vortragsstil und das Üben sowie die Entgegennahme konstruktiver Kritik geübt.

VORAUSSETZUNGEN FÜR CREDITS: Bestandener Seminarbeitrag

AKTUELLE INFORMATIONEN: Die Anmeldung zum Seminar erfolgt über den zugehörigen Moodle-Kurs

Seminar Machine Learning Applications

MODULNUMMER: 212108

KÜRZEL: SMLA

MODULBEAUFTRAGTER: Prof. Dr. Tobias Glasmachers

DOZENT: Prof. Dr. Tobias Glasmachers / M.Sc. Daniel Vonk

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 2

CREDITS: 3

WORKLOAD:

ANGEBOTEN IM: jedes Semester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Nach dem erfolgreichen Abschluss des Moduls ∙ kennen die Teilnehmer Algorithmen und Anwendungen des maschinellen Lernens ∙ können die Teilnehmer Lehrinhalte und Forschungsergebnisse eigenständig in einem didaktisch wohl aufbereiteten Vortrag vermitteln, ∙ können die Teilnehmer konstruktives Feedback formulieren und entgegennehmen.

INHALT: Das Seminar vertieft diverse Inhalt aus dem breiten Bereich des maschinellen Lernens. Weiterhin werden guter Vortragsstil und das Üben sowie die Entgegennahme konstruktiver Kritik geübt.

VORAUSSETZUNGEN FÜR CREDITS: Bestandener Seminarbeitrag

AKTUELLE INFORMATIONEN: Die Anmeldung zum Seminar erfolgt über den zugehörigen Moodle-Kurs

Praktikum Systemsoftwaretechnik

MODULNUMMER: 212405

KÜRZEL: STEP

MODULBEAUFTRAGTER: Prof. Dr.-Ing. Timo Hoenig

DOZENT: Timo Hönig

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 2

CREDITS: 3

WORKLOAD:

ANGEBOTEN IM: jedes Wintersemester

BESTANDTEILE UND VERANSTALTUNGSART: https://informatik.rub.de/boss/teaching/courses/step/

LERNZIELE: Die Studierenden erlernen den Umgang mit und die Entwicklung von systemnaher Software, der Open-Source Gemeinde und dem Linux Kernel. Konkret erreichen die Studierenden bei erfolgreichen Abschluss die folgenden Lernziele: - Fachkompetenz: vertieftes Wissen, Analyse- und Evaluationsfähigkeiten im Umgang mit komplexen, systemnahen Softwaresystemen und der Entwicklung neuer Komponenten für diese - Methodenkompetenz: sichere Anwendung gängiger Werkzeuge im Open-Source-Bereich und der systemnahen Softwareentwicklung - Selbstkompetenz: Umgang mit kritischen Feedback und Herausforderungen in der Fehlersuche in komplexen systemnahen Hardware- und Softwarekomponenten - Sozialkompetenz: Selbstorganisierte gemeinsame Bearbeitung der Aufgaben in Gruppen.

INHALT: In der Lehrveranstaltung werden grundlegende Kentnisse über den Linux-Kernel und der Softwareentwicklung innerhalb eines Betriebssystemkerns vermittelt. Da die Softwareentwicklung in Betriebssystemen speziellen Anfordungen und Umgebungsbedingungen genügen muss (erhöhtes Fehlerpotenzial, wenig Laufzeitunterstützung, schwierigeres Debuggen, Korrektheit, Laufzeiteffizienz), werden Werkzeuge und Hilfsmittel im Betriebssystemkontext vorgestellt und praktisch angewandt. Mittelpunkt des Praktikums stellt der Bau eines Temperatursensors und die Entwicklung eines Kernelmoduls zu dessen Ansteuerung dar. Dafür werden den Studierenden die Bauteile (Sensor, Platine, Microcontroller, ...) zur Verfügung gestellt, welche die Studierenden im Rahmen einer Lötübung zu einem funktionsfähigen Temperatursensor zusammenbauen. Für diesen Sensor wird anschließend von den Studierenden ein Kernelmodul entwickelt, dass die Ansteuerung des Sensors übernehmen soll (sog. Gerätetreiber). Die Kommunikation erfolgt hierbei per USB. Der Treiber soll die Ansteuerungsdetails hierbei verdecken und den Nutzern des Systems eine einfach zu bedienende Schnittstelle für die Funktionalität des Sensors anbieten (Auslesen der Temperaturwerte). Hierbei werden typische Probleme und Lösungsstrategien in der systemnahen Programmierung sowohl für die Entwicklung im Betriebssystemkern, als auch an der Schnittstelle zwischen Software und Hardware, am praktischen Beispiel vermittelt und erfahrbar gemacht.

VORAUSSETZUNGEN FÜR CREDITS: Aktive Teilnahme am Projekt, fristgerechte Abgabe des Abschlussbereichts und Bewertung des Abschlussberichts mit min. ausreichend. Hinweis: Jeder Abschlussbericht muss im Umfang von einer DinA4 Seite eine Reflexion über das methodische Vorgehen enthalten.

VORKENNTNISSE: Inhalte der Module Betriebssysteme werden empfohlen. Vorausgesetzt wird ein generelles Interesse am Umgang mit dem Linux Kernel und systemnaher Programmierung in der Programmiersprache C oder Rust (experimentell).

LITERATUR: A. S. Tanenbaum: „Modern Operating Systems“, Pearson Verlag 2. W. Stallings: „Internals and Design Principles“, Pearson Verlag

FREIES WAHLFACH

Studium Generale

MODULNUMMER: n.n.

KÜRZEL: NTWF

MODULBEAUFTRAGTER: Studiendekan*in Informatik

DOZENT: Siehe den jeweiligen Eintrag im Vorlesungsverzeichnis

FAKULTÄT: Fakultät für Informatik

SPRACHE: beliebig

SWS: 2-4 SWS

CREDITS: 5 CP

WORKLOAD: 150 h

ANGEBOTEN IM: jedes Semester

BESTANDTEILE UND VERANSTALTUNGSART: Nichttechnische Wahlmodule Die Lehrveranstaltungen sind aus dem nichttechnischen Bereich frei wählbar Eine Liste der empfohlenen Veranstaltungen ist unter www.informatik-rub.de/bsc zu finden

LERNZIELE: Innerhalb des Moduls setzen die Studierenden entsprechend ihrer Interessen verschiedene Schwerpunkte. Dafür steht ihnen das breite Angebot der gesamten Universität zur Verfügung. Sie beherrschen entsprechend ihrer Auswahl verschiedene Schlüssel-qualifikationen. Die vermittelte Kernkompetenz ist fächerübergreifendes Denken und Arbeiten.

INHALT: Die nichttechnischen Wahlfächer erweitern die Soft Skills der Studierenden. Beispielsweise werden die Kompetenzen in einer Fremdsprache verbessert oder es wird eine neue Fremdsprache erlernt, wird in die Grundlagen der Rechtswissenschaften eingeführt oder es werden Grundkenntnisse der Betriebswirtschaft vermittelt. Die Studierenden haben die Möglichkeit, eine Auswahl entsprechend der eigenen Interessen zu treffen.

VORAUSSETZUNGEN FÜR CREDITS: Siehe den jeweiligen Eintrag im Vorlesungsverzeichnis

VORAUSSETZUNGEN: Keine

VORKENNTNISSE: Abhängig von der gewählten Lehrveranstaltung, siehe die jeweilige Beschreibung im Vorlesungsverzeichnis

LITERATUR: Siehe den jeweiligen Eintrag im Vorlesungsverzeichnis

SONSTIGE INFORMATIONEN: Bei der Auswahl geeigneter Lehrveranstaltungen kann das Vorlesungsverzeichnis der Ruhr-Universität verwendet werden. Dies schließt Veranstaltungen aller Fakultäten, des Optional-bereichs und des Zentrums für Fremdsprachenausbildung mit ein, also auch die Angebote der nichttechnischen Veranstaltungen. Weiterhin ist auch der Besuch von Lehrveranstaltungen anderer Universitäten möglich, beispielsweise im Rahmen der Kooperationsvereinbarung mit der Technischen Universität Dortmund und mit der Universität Duisburg-Essen. Das Modul kann auch im Rahmen eines Auslandsstudiums belegt werden. Aktuelle Informationen wie Vorlesungstermine, Räume oder aktuelle Dozent*innen und Übungsleiter*innen sind im Vorlesungsverzeichnis der Ruhr-Universität https://vvz.rub.de/ und im eCampus https://www.rub.de/ecampus/ecampus-webclient/ zu finden.

ABSCHLUSSARBEIT

Abschlussarbeit Bachelor Informatik

MODULNUMMER: n.n.

KÜRZEL: Thesis

MODULBEAUFTRAGTER: Studiendekan*in Informatik

DOZENT: Jede/r am Studiengang beteiligte Hochschullehrer*in (s. Prüfungsordnung für die Regularien)

FAKULTÄT: Fakultät für Informatik

SPRACHE: Deutsch

SWS: 1 SWS

CREDITS: 15 CP

WORKLOAD: 450 h

ANGEBOTEN IM: jedes Semester

BESTANDTEILE UND VERANSTALTUNGSART:

LERNZIELE: Die Bachelorarbeit soll zeigen, dass die oder der Studierende in der Lage ist, innerhalb einer vorgegebenen Frist eine anspruchsvolle Fragestellung der Informatik unter Anwendung der im Bachelorstudium erworbenen Methoden selbstständig zu bearbeiten. Darüber hinaus wird der Erwerb von Grundkenntnissen der wissenschaftlichen Arbeit einschließlich der Projektorganisation sowie die Präsentation der erarbeiteten Ergebnisse erwartet. Während der Bachelorarbeit werden die folgenden Kompetenzen erworben bzw. ausgebaut: - Vertieftes Wissen im Bereich der bearbeiteten Aufgabenstellung - Wissenschaftliches Arbeiten und Schreiben - Projekt- und Zeitmanagement - Präsentation wissenschaftlicher Ergebnisse - Rhetorik und sprachliche Kompetenz - Fächerübergreifendes Denken und Arbeiten

INHALT: a) Bearbeitung und Lösung einer wissenschaftlichen Aufgabe im Bereich der Informatik unter Anleitung. Die im Bachelorstudium erworbenen Kenntnisse, Kompetenzen und Methoden sollen angewendet werden. Die Ergebnisse der Arbeit sind schriftlich zu verfassen. b) Im Anschluss an die Bearbeitung der Bachelorarbeit werden die Ergebnisse in Form eines Kolloquium-Vortrags präsentiert. Als Vorbereitung müssen die Studierenden mindestens fünf Kolloquium-Vorträge anderer Studierenden besuchen und kritisch mitdiskutieren. Außerdem werden sie dazu eingeladen und motiviert, Vorträge des wissenschaftlichen Personals und anderer Gastwissenschaftler zu besuchen und an den Diskussionen aktiv teilzunehmen.

VORAUSSETZUNGEN FÜR CREDITS: Positive Bewertung der Bachelorarbeit und des Kolloquiums sowie Teilnahme an anderen wissenschaftlichen Vorträgen

VORAUSSETZUNGEN: Mindestens 135 absolvierte Leistungspunkte mit abgeschlossenen Module der ersten vier Semester

VORKENNTNISSE: Fachspezifisch von der Themenstellung abhängig

LITERATUR: Eine Literaturliste wird von der Betreuerin / dem Betreuer der Abschlussarbeit empfohlen, abhängig vom Thema

SONSTIGE INFORMATIONEN: Die Prüfungsordnung definiert die Voraussetzungen für die Anmeldung der Bachelorarbeit, die Bearbeitungszeit sowie deren Begutachtung, Benotung und die Bedingungen für eine externe Arbeit in Zusammenarbeit mit einem Industrieunternehmen. Die Anmeldung der Bachelorarbeit erfolgt im zuständigen Prüfungsamt. Im Normalfallsucht sich jede bzw. jeder Studierende nach eigenem Interesse und Neigung einen Lehrstuhl aus, an dem Sie bzw. er die Bachelorarbeit schreiben möchte. Die meisten Lehrstühle veröffentlichen ihre angebotenen Themen. Themen können aber auch nach Absprache mit der bzw. dem Studierenden gestellt wobei die bzw. der Studierende ein Vorschlagsrecht hat. Ausführliche Informationen über die Formalitäten bezüglich der Anmeldung der Bachelorarbeit sind auf der Webseite des Prüfungsamtes zu finden (www.informatik-rub.de/pa)