I’m a computer science undergraduate student at ETH Zürich interested in everything systems related. Currently, I’m working on static array verification within the Java Checker Framework.

You can reach me at skehrli[at]ethz[.]ch. This is my Github and this is my CV.


  • BSc in Computer Science from ETH Zürich (2021-2024).
  • Exchange student at the University of Washington (2023-2024).


  • Teaching Assistant in Parallel Programming. For this one, I wrote a course script and received the VIS Teaching Award for extraordinary commitment as a TA. Theory recaps and exercise solving for two classes at ~30 students each per week.
  • Teaching Assistant in Algorithms & Datastructures. Weekly theory recaps and exercise solving for about ~25 students, grading their homework and co-supervising the final exam.


  • Before starting my undergrad, I was learning about ML algorithms in my free time. To understand neural networks better, I implemented a small neural network library in Python, using only few frameworks and implementing things like backpropagation from scratch, which was a great exercise. Later, during my studies, I added support for CNN’s (convolution and pooling layers), again with their own backpropagation implementation and rewrote the library in Cython, which transpiles to C for better performance:


  • For a compiler class I wrote a simple, unoptimized compiler for (a large subset of) Java in Java:

    MiniJava Compiler