C++ · 2018–2021

C++ Projects

Four projects on memory and data structures. Student work, 2018–2021.

These are the projects I built while learning C++: a small text editor written from scratch, and a series of data types and structures — maps, sets, equivalence classes, and graphs — designed and implemented by hand atop hash tables and the language's own primitives.


Terminal screenshot of the C++ text editor, showing lines of text being composed and edited at a cursor

Text Editor

C++ · command pattern · undo / redo

A text editor written in C++ supporting full cursor and line editing, character insertion and deletion, and multi-step undo and redo.

Watch the recording of Text Editor →
Terminal screenshot of the C++ login system prompting for credentials

Login System

C++ · hash map · data structures

A login framework whose credentials are kept in a hash map implemented entirely by hand — the structure this project is really about.

Watch the recording of Login System →
Output of the extended Dijkstra's algorithm tracing the shortest flight paths between airports in a graph

Extended Dijkstra’s Algorithm

C++ · hash graphs · shortest paths

An implementation of extended Dijkstra's algorithm built on my own hash graphs and sets. The algorithm finds the shortest paths between nodes in a graph — here, the shortest flight paths between airports.

Watch the recording of Extended Dijkstra’s Algorithm →
Console output of the Mark Twain word generator predicting word sequences learned from Huckleberry Finn

Data Types on Structures

C++ · linked lists · binary trees · hash tables

A suite of hand-built data types: queues, priority queues, and sets over linked lists; priority queues and maps over binary trees; maps and sets via hash tables. Pictured: the entirety of Mark Twain's The Adventures of Huckleberry Finn poured into a hash map, building a dictionary of the author's word combinations so the program learns his patterns and predicts the words he might write next.