🎓 Collection of all my university projects.
This is a list of the projects I have worked on so far as part of the Computer Science Master at the ETH Zurich.
Important
Due to ETH Zurich’s academic regulations, some repositories must remain private to prevent potential plagiarism. Feel free to reach out if you’re interested in any of these topics!
Warning
At the moment, I'm not allowed to make this public.
A semester-long lab course consisting of four independent modules, each focused on a different area of information security. Every module included a graded practical project:
- Formal Protocol Verification — Modeling security protocols in Tamarin and verifying their properties using formal methods.
- Binary Exploitation — Vulnerability discovery, and attacks with PIE, canaries, ASLR and ret2libc.
- Machine Learning Security — Attacks on ML models: adversarial techniques with defenses and preprocessing; inference of training data on shadow models without ground truths.
- Trusted Execution Environments — Exploit side channel attacks to evade TEE limits; attack (as an hypervisor) client and GPU communication, as well as establish a safe protocol in a TEE.
Warning
At the moment, I'm not allowed to make this public.
A stateful firewall implementation featuring core packet filtering, port scan detection, DDoS mitigation, rate limiting, and Network Address Translation (NAT).
Warning
At the moment, I'm not allowed to make this public.
A Go-based project for the Network Security course, focusing on the SCION next-generation internet architecture. The main tasks involved implementing a SCION client, completing packet-handling challenges, and developing logic for multi-path selection and evaluation.
This is a list of the projects I have worked on so far as part of the Computer Science Bachelor at the University of Bologna.
Machine Learning projects for the competitive AI course. Both are on mixed images separation, one is about classification, the other is instead about reconstruction.
A structured database analysis and design project covering requirement analysis, conceptual and logical design, normalization, and SQL implementation. It includes ER modeling, data dictionary, business rules, and testing to ensure a well-structured MySQL database integrated with Vue.js and Node.js.
This project serves as a practical exercise in applying SCRUM and AGILE methodologies by developing a web application for online backgammon. It supports gameplay between two players or a player versus an intelligent agent (bot). Built with Vue.js, TypeScript, Tailwind, and Python (FastAPI), WebAssembly. It makes great use of CI/CD and DevOps with Docker and SonarQube.
A website to help students manage their private, social, and academic life. Built with Vue.js, TypeScript, Tailwind, and Node.js.
C implementation of a microkernel operating system on the µRISCV architecture.
Notebooks covering topics such as SVD, nonlinear equations, LSQ, polynomial regression, unconstrained optimization and image enhancement.
AI agent capable of playing CXGame, a generalized version of the Connect Four game where the grid size and the number of pieces to align can be customized.
A platformer game in ASCII graphic developed with C++ and ncurses library. The project includes several levels, enemies, power-ups and a market.
First six projects of From Nand to Tetris: Building a Modern Computer From First Principles.
A zero-overhead, transparent sidecar for UDP Request Hedging built with eBPF/BCC. Bypasses Python GC and Scheduler jitter by handling retries directly in the SoftIRQ context.
A Python-based 3D simulator for a SLAM (Simultaneous Localization and Mapping) loop-closure algorithm. The simulation incorporates drift and sensor noise, performs local optimization, and visualizes the resulting errors and views.
A project to analyze a WhatsApp Chat as Network based on the messages. We parsed a text-exported chat log, buildt a directed “message-response” graph, applied community detection (Louvain method), computed centrality metrics, and visualized both the network structure and community statistics.
Digital Simulations of the Antikythera Mechanism - Archimedes: Greek Mathematics and History of European Science, Sep 2024
Part of the presentation for a speech at Cost Action CaLISTA General Meeting 2025 This project provides two interactive Python-based simulations of the Antikythera mechanism, an ancient Hellenistic calculatin machine. The simulations (ancient and modern) model the front and back dials, including the Zodiac, Metonic, and Saros cycles.
Grasshopper Simulator is a Python simulation made with pygame that emulates how grasshoppers with and without the ability to react to aggregation pheromones would live in a simulated environment