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.
¶Education
- BSc in Computer Science from ETH Zürich (2021-2024).
- Exchange student at the University of Washington (2023-2024).
¶Teaching
- 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.
¶Projects
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:
¶Research
Currently, I’m working on designing and implementing a type system to prove the absence of resource leaks for collections of resources in Java. This is implemented as a checker in the excellent Java Checker Framework. Guided by Michael Ernst: