# Hello, I'm Jonas

I study theoretical computer science and machine learning at ETH Zurich.

I like to think about difficult problems and put high value on elegant solutions.

Most of my work can be found on GitHub or Google Scholar.

## Notes.

Written in collaboration with Andreas Krause from ETH Zurich. Bayesian learning (Gaussian processes & Bayesian deep learning), approximate inference (variational & MCMC), active learning, Bayesian optimization, Markov decision processes, and reinforcement learning.

On the use of convex optimization to solve combinatorial problems (on graphs). Also covers Lagrangian duality, spectral graph theory, combinatorial graph algorithms, and electrical flow.

Use of uncertainty in generative models.

Undergraduate revision course covering discrete and continuous probability spaces, random variables, inductive statistics, and Markov chains.

Undergraduate revision course covering basics of Haskell, proofs of correctness by structural/computation induction and abstraction functions, I/O and monads, evaluation order.

Languages and grammars, regular and context-free languages, decidability and computability, P and NP.

From groups, rings, and fields to Galois theory.

## Talks.

Randomized Algorithms and Probabilistic Methods Seminar. Zurich, 2022.

Computational Social Choice Seminar. Zurich, 2021.

Approximation Algorithms Seminar. Munich, 2020.

## Projects.

Algorithms for online convex optimization with an associated cost for movement in the decision space. Useful for resource allocation, contextual sequence prediction, portfolio management, and object tracking.

Solutions to a wide variety of competitive programming-type questions.

A functional, strongly typed, high level, general purpose programming language. Tony employs refinement types, allowing its type checker to catch domain-specific bugs at compile time.

A serverless web app to organize and stream media from anywhere.

Website of a landscape architecture firm.