## Courses taught

### Autumn 2016 at Faculty of Informatics

- Compiler Construction
- Computability and Complexity
- Computational Logic
- Formela lab seminar
- Graph Algorithms
- Graph Theory
- Informatics Colloquium
- Information Society
- Introduction to Informatics
- Introduction to Quantum Computing
- Introduction to Validation and Verification
- Laboratory of Knowledge Discovery
- Laboratory of Parallel and Distributed Systems
- Machine learning and natural language processing
- Mathematical Foundations of Computer Science
- Mathematical Logic
- Modal and Temporal Logics for Processes
- Neural Networks
- Non-Imperative Programming
- Parallel and distributed computations
- Parallel and Distributed Laboratory Seminar
- Project on programming parallel applications
- Selected themes of quantum mechanics
- Selected topics on automata theory
- Seminar on Concurrency
- Seminar on Information Society
- Seminar on Knowledge Discovery

### Spring 2016 at Faculty of Informatics

- Algorithms and data structures I
- Algorithms and data structures II
- Communication and Parallelism
- Compiler Project
- Complexity
- Computability
- Concurrency Theory
- Design and Implementation of Parallel Systems
- Formal Languages and Automata
- Formal Verification Methods
- Formela lab seminar
- Future challenges of informatics
- Informatics Colloquium
- Introduction to Logic
- Introduction to Machine Learning
- Laboratory for Parallel and Distributed Systems
- Laboratory of Knowledge Discovery
- Machine Learning and Data Mining
- Math Foundations
- Parallel and Distributed Laboratory Seminar
- Petri Nets
- Principles of Programming Languages
- Probability in Computer Science
- Programming Language Semantics
- Randomized Algorithms and Computations
- Real Time Systems
- Seminar on Concurrency
- Seminar on Discrete Mathematical Methods
- Seminar on Functional Programming
- Seminar on Information Society
- Seminar on Knowledge Discovery
- System Verification and Assurance
- Types and Proofs
- Working Seminar on Formal Models, Discrete Structures, and Algorithms

### Autumn 2015 at Faculty of Informatics

- Advanced Functional Programming
- Algorithmic game theory
- Algorithmics for Hard Problems
- Automata, Grammars, and Complexity
- Coding, Cryptography and Cryptographic Protocols
- Compiler Construction
- Computability and Complexity
- Computational Logic
- Formela lab seminar
- Graph Algorithms
- Graph Theory
- Informatics Colloquium
- Information Society
- Introduction to Informatics
- Introduction to Quantum Computing
- Introduction to Validation and Verification
- Laboratory of Knowledge Discovery
- Laboratory of Parallel and Distributed Systems
- Machine learning and natural language processing
- Mathematical Foundations of Computer Science
- Mathematical Logic
- Modal and Temporal Logics for Processes
- Neural Networks
- Non-Imperative Programming
- Parallel and distributed computations
- Parallel and Distributed Laboratory Seminar
- Project on programming parallel applications
- Randomness and Communication
- Selected themes of quantum mechanics