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.