Lehrinhalte:

Math. Grundlagen: 

  • Berechnungen in Kongruenz- und Restklassenringen
  • Grundlagen der Verschlüsselung: 


Grundlagen der Verschlüsselung:


  • Symmetrische vs. Asymmetrische Kryptosysteme
  • Block- und Stromchiffren, AES
  • Kryptanalyse
  • Wahrscheinlichkeit und Perfekte Sicherheit
  • Verschlüsselung mit öffentlichen Schlüsseln
  • RSA, Diffie-Hellman, ElGamal
  • Faktorisierung großer Zahlen
  • Diskrete Logarithmen
  • Kryptografische Hashfunktionen
  • Digitale Signaturen
  • Identifikation

Diploma Supplement: 

one-way functions, pseudorandom generators, pseudorandom functions, hash functions, signatures, message authentication, public-key encryption, private-key encryption


Literatur:

  • Johannes Buchmann:
    Einführung in die Kryptographie,
    5. Auflage, Springer-Verlag, 2010, 278 p. ISBN: 978-3-642-11185-3
  • Johannes Buchmann:
    Cryptographic Protocols. Vorlesungsskript
    (u.a. Undeniable, Fail-Stop und Blind Signatures)
  • Neal Koblitz:
    A Course in Number Theory and Cryptography, Springer Verlag, 1994
  • Alfred J. Menezes, Paul C. van Oorschot, Scot A. Vanstone:
    Handbook of Applied Cryptography, CRC Press, 1997 (erhältlich als PDF)
  • Bruce Schneier:
    Applied Cryptography, John Wiley & Sons, Inc., 1994
  • Douglas R. Stinson:
    Cryptography - Theory and Practice, CRC Press, 1995
  • Gustavus J. Simmons:
    Contemporary Cryptology - The Science of Information Integrity, IEEE Press, 1992

Voraussetzungen , Vorwissen: 

  • Lineare Algebra für Informatiker 
  • Funktionale und objektorientierte Programmierkonzepte bzw. Grundlagen der Informatik I

In dieser Vorlesung wird gezeigt, wie man Sicherheitseigenschaften von kryptografischen Protokollen formal beweisen kann. Dabei konzentrieren wir uns auf starke Sicherheitsgarantien und realistische Angreifermodelle und lernen verschiedene Beweistechniken kennen. Die erlernten Techniken werden wir auf teils real eingesetzte
Verschlüsselungsverfahren anwenden und so eine gute Vorstellung von deren Sicherheitseigenschaften erhalten.

Diese Vor­lesung bi­etet eine Einführung in die The­men maschinelles Ler­nen und Data Min­ing mit Schw­er­punkt auf Ler­nen in lo­gisch/sym­bol­is­chen Repräsen­ta­tion­ssprachen.

Die Kommunikationsfähigkeit der Bevölkerung untereinander ist für die Bewältigung von Krisen von höchster Bedeutung. In dieser Veranstaltung wird der Aufbau von drahtlosen Kommunikationsnetzen von Null behandelt, d.h. unter der Annahme, dass keinerlei Kommunikationsinfrastruktur mehr vorhanden ist. Die Veranstaltung vermittelt theoretische Grundlagen aus den Bereichen der Nachrichtentechnik und des Amateurfunks und vertieft diese um die nötigen Kenntnisse, um Netze für den Krisenfall zu entwerfen und praktisch zu realisieren. Die vorgestellten Verfahren umfassen dabei Reichweiten von lokaler Kommunikation bis hin zur Kommunikation um den ganzen Globus, ohne auf bestehende Infrastruktur angewiesen zu sein. 
Theoretische Übungen sowie das Durchführen von Messungen, der Aufbau von Schaltungen und die Vorführung von Funkverfahren in unserer Laborumgebung vertiefen die Veranstaltung. 

  • Signale, Wellenausbreitung, Antennen und elektrotechnische Grundlagen 
  • Verfahren zur Modulation und Demodulation analoger und digitaler Signale (OFDM, ATV/SSTV, Packet Radio, SSB, ...) 
  • Systemaspekte für Kommunikation im Krisenfall 
  • Entwurf und praktischer Aufbau von drahtlosen Kommunikationssystemen für den Krisenfall von Null


The lecture offers an introduction into the perspectives, problems, methods and techniques of text technology. All examples and tutorials are based on the programming language Python.

Key topics:

  • Natural language processing (NLP)
    • Tokenization and segmentation
    • Part-of-Speech tagging
    • Creating and using text corpora
    • Statistical analysis
    • Syntactic analysis
  • Machine Learning
    • Categorization and classification
    • Information extraction
  • Introduction to Python
    • Structured programming
    • Data structures and IO
    • NLTK library for NLP
    • Usage of further libraries such as scikit-learn

The course is based on the Python programming language together with an open source library called the Natural Language Toolkit (NLTK). NLTK allows explorative and problem-solving learning of theoretical concepts without the requirement of extensive programming knowledge.

The course assumes familiarity with basic computing concepts, but will not assume any knowledge of the Python language, which will be acquired during the course. If you like to work with your own notebook, we kindly ask you to follow the installation instructions given at http://www.nltk.org/download.


Vorwissen

  • Programmierkenntnisse
  • grundlegende Algorithmen und Datenstrukturen
  • Lineare Algebra
  • Analysis
  • Inhalte der Vorlesung Visual Computing (ehemals Human Computer Systems)

Inhalte

Einführung in die Grundlagen der Computergraphik, insb. Ein- u. Ausgabegeräte, Rendering Pipeline am Beispiel von OpenGL, räumliche Datenstrukturen, Beleuchtungsmodelle, Ray Tracing, aktuelle Entwicklungen in der Computergraphik.

Dozent: Prof. Dr. Dieter W. Fellner
Betreuung: M.Sc. Roman Getto




Über das vorlesungsbegleitende Skript hinausgehende Informationen und Unterlagen zur Lehrveranstaltung werden über diesen Kurs bereitgestellt.
Der Einschreibeschlüssel zum Kurs wird ihnen vor Beginn der Lehrveranstaltung über eine Tucan-Nachricht (Anmeldung vorausgesetzt) und in der ersten Vorlesungsstunde mitgeteilt.

Fragen zum Kurs können Sie gerne an gdr@sim.tu-darmstadt.de senden.

Kursdetails:
Voraussetzungen:
grundlegende mathematische Kenntnisse und Fähigkeiten in Linearer Algebra, Analysis mehrerer Veränderlicher und Grundlagen gewöhnlicher Differentialgleichungen

Lehrinhalte:
- Räumliche Darstellungen und Transformationen
- Manipulatorkinematik
- Fahrzeugkinematik
- kinematische Geschwindigkeit und Jacobi-Matrix
- Bewegungsdynamik von Robotern
- Roboterantriebe, interne und externe Sensoren
- grundlegende Roboterregelungen
- Bahnplanung
- Lokalisierung und Navigation mobiler Roboter
- Fallstudien
- theoretische und praktische Übungen sowie Programmieraufgaben zur Vertiefung der Fachkenntnisse und methodischen Fähigkeiten

Literatur:
- vorlesungsbegleitendes Skript und Vorlesungsfolien

Umfassende Übersicht der Robotik:
- B. Siciliano, O. Khatib: Springer Handbook of Robotics, Springer Verlag

zu einzelnen Themen der Lehrveranstaltung:
- J.J. Craig: Introduction to Robotics: Mechanics and Control, 3rd edition, Prentice Hall
- M.W. Spong, S. Hutchinson, M. Vidyasagar: Robot Modeling and Control, Wiley
- R. Siegwart, I.R. Nourbakhsh, D. Scaramuzza: Introduction to Autonomous Mobile Robots, MIT Press
- H. Choset, K.M. Lunch, S. Hutchinson, G.A. Kantor,W. Burgard, L.E. Kavraki, S. Thrun: Principles of Robot Motion: Theory, Algorithms, and Implementations, Bradford
- S. Thrun,W. Burgard, D. Fox: Probabilistic Robotics, MIT Press

Language:
English

Description:

This course provides students with the required basic background on machine learning to independently carry out research projects on the hot topic of reinforcement learning, e.g. within the scope of a Bachelor's or Master's thesis. In particular, this class aims at providing the students with fundamental understanding of reinforcement learning algorithms and applications within deep learning.

This class can be taken as a substitute for robot learning this semester. Robot learning will be offered again in the winter semester 2019.

There are two configurations in which students can take this class:

  1. Lecture
  2. Lecture + Seminar + Project
  • Lecture means attending lectures and taking the final exam. Exercises will be provided for self study but will neither be graded nor corrected.
  • Seminar means writing a report either alone or in groups of 2-3 people
- either on a selected algorithm (describe it, list papers in which it was used, provide example applications of it)
- or on a selected platform (physical description, what has been done on it, which control algorithms had been applied).
  • Project means writing well-documented code + report in groups of 2-3 people
- using at least 3 platforms in simulation,
- writing at least 2 algorithms of choice from scratch,
- thoroughly evaluating at least 1 algorithm on at least 1 real platform.

Contents

(Lecture) Reinforcement Learning: From Foundations to Deep Approaches:

  • Review of machine learning background
  • Black box Reinforcement Learning
  • Modelling as bandit, Markov Decision Processes and Partially Observable Markov Decision Processes
  • Optimal control
  • System identification
  • Learning value functions
  • Policy search
  • Deep value functions methods
  • Deep policy search methods
  • Exploration vs exploitation
  • Hierarchical reinforcement learning
  • Intrinsic motivation

(Seminar) Reinforcement Learning Algorithms and Platforms:
This seminar will cover learning methods and their application in intelligent technical systems. In the context of this seminar, students will train the ability to write a scientific article and present its content similar as at scientific conference.

(Project) Application of Reinforcement Learning Methods:
In this project, students get hands-on experience in reinforcement learning research conducted by a team of students. Small groups of students pursue their own Reinforcement Learning experiment, involving standard platforms (Cartpole, Furuta-Pendulum, etc). Starting from a project idea, students are guided by the lecturer through the whole process of developing the experiment, collecting and analysing data and writing a research report/paper which is ready to publish.

Requirements

(Lecture) Reinforcement Learning: From Foundations to Deep Approaches:
Good programming in Python. Lecture Statistical Machine Learning is helpful but not mandatory.

(Seminar) Reinforcement Learning Algorithms and Platforms:
Simultaneous Participation in "Reinforcement Learning: From Foundations to Deep Approaches" or previous participation in "Robot Learning"

(Project) Application of Reinforcement Learning Methods:
Simultaneous Participation in "Reinforcement Learning: From Foundations to Deep Approaches" or previous participation in "Robot Learning"

Moodle Class

All further information and announcements regarding the lecture, seminar and project will be made public over the Moodle system of the computer science department: https://moodle.informatik.tu-darmstadt.de/course/view.php?id=434

Application Platforms

The platforms used in the class:

Feel free to contact us if you are interested in any of these systems.

Algorithms

Students are welcome to suggest their own algorithms/papers. Here we provide a list of the most fundamental and recent successful algorithms for reference:

  • SARSA
  • Q-LEARNING
  • LSPI
  • (Neural) Fitted Q-Learning
  • DQN
  • DDPG
  • REPS
  • TRPO
  • MORE
  • (Natural) Policy Gradients
  • PILCO
  • PPO
  • DDP/(maxEnt)-iLQG
  • A3C
  • POWER
  • Random search
  • NES & GA (Parallel)
  • CMA-ES
  • MPC Baselines

This course introduces the fundamental concepts and computational paradigms of scalable data management systems. The focus of this course is on the systems-oriented aspects and internals of such systems for storing, updating, querying, and analyzing large datasets. 

Topics include: 

Database Architectures 
Parallel and Distributed Databases 
Data Warehousing 
MapReduce and Hadoop 
Spark and its Ecosystem 
Optional: NoSQL Databases, Stream Processing, Graph Databases, Scalable Machine Learning

Seminar about symbolic execution as versatile program analysis technique

This seminar focuses on the different existing Zero Knowledge (ZK) Proof schemes and their applications. The course is directed towards Master students with a basic knowledge of cryptography.


Interner Moodle-Kurs für Tutoren der Veranstaltung "Einführung in den Compilerbau" im Wintersemester 2018/19.

In this course, you will …

  • learn how companies, public administration, and end-consumers can benefit from state-of-the-art ubiquitous computing technologies, incl. auto-id, smart labels, sensors, embedded devices, etc. attached to everyday objects and things.
  • understand underlying technologies, their advantages and limitations.
  • identify technologies' economic potential for business processes.
  • demonstrate how integration works between the real and the virtual world as it is modeled in software systems today.