Anna Denisova

Computer Engineering @ University of Waterloo

Currently interested in embedded systems, automation, and non-destructive technology. If you want to talk about any of this or are looking for an intern, feel free to contact me!

Projects

All Repos ↗
01 hexd ↗ 2026

A from-scratch xxd clone with an added utf-8 dump. Parses raw bytes into hex or UTF-8 dumps, validating encoding errors (invalid continuation bytes, overlong sequences, truncated input).

C · CLI
02 json-parser ↗ 2026

Built a recursive descent JSON parser using TDD against the public JSONTestSuite, tokenizing and validating input against the JSON spec. Stored parsed values in a variant tree covering all six JSON types without a class hierarchy.

C++ · Parser
03 detris ↗ 2026

Runs in the terminal. Arrow keys or WASD to play, four board sizes, high scores saved locally. Nine hot-swap switches and a knob on an RP2040 (from Adafruit).

C++ · Terminal
04 matrix-math ↗ 2026

This library is for dealing with matrices, with a lot of comments throughout documenting what I learn about c++. No autocomplete, no AI writing code — I wanted this project to be purely a learning opportunity for myself.

C++ · Library

A handful of small C++ programs I've built with SFML while learning graphics programming and CMake: Conway's Game of Life, Sierpinski Triangle, Ulam's Spiral, and a small set of reusable SFML widgets.

C++ · SFML
06 tacc ↗ 2023

Website for the annual in-house programming competition at Académie Ste. Cécile. TACC is a team programming contest consisting of 5 questions to be solved in 2 hours, first hosted in 2023. Static HTML/CSS/JS.

HTML · CSS

Blog