Use the arrows or your keyboard to navigate through the presentation

Representation of Binary Search Trees

More details ↓.

Binary search trees: why

T

his project focuses on representing binary search trees and began as part of a larger tool intended to explain common concepts taught in Data Structures and Algorithms courses.

My original goal was to expand the tool beyond binary search trees and include other important data structures such as heaps, priority queues, stacks, queues, open-addressing hash maps, and more.

Binary search trees: future

In the future, I may continue developing this project because data structures can feel intimidating to students who are encountering these topics for the first time, and I would like the tool to make these concepts easier to understand, more approachable, and more visually engaging.

Binary search trees: progress

This project is 90% done, and it is a public reposity on github. A demo will be available soon here on my portfolio.

Github repo link

Writing a C Compiler

More details ↓.

Writing a C Compiler: why

O

ne day, while walking through a library, I came across a book by Nora Sandler, and it immediately caught my attention. It inspired me so much that I decided to buy it right away and keep it close as a source of motivation.

Writing a C Compiler: future

As I began reading it, I became interested in exploring which programming languages would be suitable for the kind of project I wanted to build. After doing some research, I discovered that a functional programming language would be a strong fit for the task.

I will be using Hy, a Lisp dialect, to address this goal because it fits well with the functional programming approach I identified during my research.

Writing a C Compiler: progress

This project is still in its early stages: so far, I have initialized the tokenizer and parser, and they are currently able to output only a small subset of the C language.

Other potential future projects

More details ↓.

Chess Engine

Zork-Like Game

Maze Runner (DFS, BFS, A*)