pixelated youssef icon

Youssef's website

Hi again! Still me..

This page contains more information on what I do, as well as some contact information if you want to reach out.

university

I am currently in the fifth year of my BSc. with Honours in Computer Science at the University of British Columbia.

Some of my favourite courses so far have been CPSC 311, CPSC 312, CPSC 320, CPSC 411, CPSC 420 and CPSC 421. I'm enrolled in (and looking forward to) CPSC 539-S and CPSC 509!

teaching

This term, I'm working as an Undergraduate Teaching Assistant for CPSC 311 (Definition of Programming Languages).

In the past, I've also been a TA for CPSC 320 (Intermediate Algorithm Design and Analysis), CPSC 210 (Software Construction) and CPSC 312 (Functional and Logic Programming). For more information on my TA experience, check out my department page.

research

I am currently working with Professor Alex Summers at UBC's Software Practices Lab on optimizing verification condition generation for Prusti, which is a program verifier for Rust based on Viper. This project specifically aims to develop a more efficient encoder for Safe Rust programs by reasoning with a simpler memory model (following from Rust's ownership system) and leveraging Viper's existing symbolic execution engine.

In 2024, I did a directed study with Professor Mark Greenstreet on formal verification. My work focused on proving the equivalence of tail-recursive and non-tail-recursive depth-first search on Huffman trees using ACL2. You can read the report here.

interests

My academic interests lie broadly in theoretical computer science, with a particular focus on programming languages, formal verification and theory of computation.

Over the past two years, I've become familiar with some proof assistants like ACL2, Lean and Viper. I am intrigued by F*, Agda and Rocq, and want to gain experience with using them as well.

When it comes to programming paradigms, I vastly prefer functional. Most of my (functional) experience is with Haskell, Racket and Erlang, though a few months with Common Lisp have convinced me I'd enjoy most lisps. I also greatly enjoy Rust — multiparadigm as it is.

Beyond that, I enjoy going down Wikipedia rabbit holes as much as the next person, especially when they're about historical linguistics.

contact

Want to get in touch? You can reach me at the following: