Academics

North Carolina State University

Bachelor’s of Science in Computer Science

4.0 GPA

August 2020 - May 2024

VOTE OWL

SENIOR DESIGN PROJECT

The NC State Computer Science department requires all graduates to complete a 1-​semester senior design project, in which a student team partners with an ​organization or staff member to complete an end-to-end software development ​project.

THE SPONSOR

My team of 5 partnered with Vote Owl for our senior design project.

“Vote Owl is dedicated to increasing voter participation, while also making informed ​voting easier. We want all Americans to have an opportunity to influence policies that ​place the United States on a path toward a better future.”

The mobile application synthesizes voting information in one place: polling locations ​and hours, ballots, candidates, and reliable information from sources you trust.

OUR IMPACT

Though the existing Vote Owl application provides valuable information to voters, it ​does not eliminate barriers they may face in getting to the polls.

Our task is to extend the current Vote Owl app with functionality for voters to request ​a free ride to the polls. Volunteer drivers accept and manage their drives in a ​separate app, Driver Owl, designed and implemented entirely by us.


As of March 4, 2024, this is still in the works, but should be live before the general ​election this year!

Wireframe for our added feature to Vote Owl

(author: Alex Zettlemoyer)

Scan or click this QR code

to download Vote Owl

GAME ENGINE

proof of knowledge for a

Basic platformer game

Proof of reusability

of the game engine

A pivotal course in my undergraduate career was Game Engine Foundations.

In this class, I worked on building a game engine to handle a basic platformer game using C++, ​SFML, v8 scripting, and the ZMQ library.


My game engine utilizes components which manage

  • server-client architecture
  • collision detection / management
  • event raising, registering, processing, and handling
  • physics-based movement
  • scripting (JavaScript and v8)

In order to prove the reusability of our engine, I leveraged scripting and the existing components ​of my game engine to create an entirely different game: Tetris.


The code difference between the two games totals to 17.19%, effectively demonstrating the ​reusability of my game engine using JS scripting.

view the source code on GitHub

LLVM COMPILER PASS

WORKING WITH THE LLVM

Low-Level Virtual-Machine (LLVM) is an open-source project that provides a collection of modular and reusable compiler and ​tool-chain technologies. Working with the LLVM provides valuable insight into how compilers work, and how to manipulate ​them for optimization or code insight.

COMPILER-BASED SEMINAL FEATURE DETECTION

The Compiler Construction course I took consisted of a course project, in which a 2-student team worked together to create ​compiler-based seminal feature detection tool. This tool was implemented as a “Pass” through the LLVM - when you compile ​a program with clang (the LLVM native compiler), the pass we created is run on the source code and outputs valuable ​information about the program’s flow.

Seminal input features are the inputs to a program which determine its behaviors of interest.

In order to automatically recognize “seminal input features” of a running time program, I implemented a branch-pointer ​trace using the LLVM library.

This branch-tracer detects key points in a program by creating a static branch dictionary of all possible branches the ​program could take. When the program is run, it prints the value of function pointers as they are invoked, and outputs the ​branches the program took (from the static branch dictionary). Lastly, this tool outputs the total number of instructions a ​program executed.

view the source code on GitHub

learn more about LLVM

POLITICAL THEORY

Following my emphasis on interdisciplinary learning, my ​undergraduate career has included a variety of courses ​focusing on social and political sciences.


The most impactful was Political Theory, which focused on the ​philosophies and theories of politics.

Exploring the intricacies, advantages, and disadvantages of ​varying realms of political thought was enlightening and has ​helped shape the way I think about the world altogether.


This course encompassed a variety of history’s greatest ​thinkers: Aristotle and Plato, Locke and Rousseau, Marx and ​Freud, and many more.

Our final paper asked us to explain which of these thinker’s ​ideas resonated most deeply with us personally.


In this 8 page paper, I discuss the thinkers and ideas which ​impacted me most profoundly.

PERFORMING THE LOST CAUSE

The University Honors program requires students to enroll in ​two honors seminars during their first two years in the ​program. One of these is titled “Performing the Lost Cause,” in ​which we discussed the myth of the Lost Cause and how its ​ideas were extended over generations.


The Lost Cause is the reframing of Southern plantation life, ​Confederate cause, and the justifications of the civil war, in ​attempt to downplay the role of slavery in the War and ​celebrate Southern culture.


Our final paper asked us to choose a topic that demonstrates ​how the Lost Cause was perpetuated throughout generations. ​In this paper I discuss how various organizations came ​together to develop methods to test textbooks, ensuring their ​alignment with Confederate views. These groups remained ​present in schools for over 25 years, carrying on the Lost ​Cause.


This paper and course provided insight into an entirely new ​realm of study, and unquestionably defined how I view ​Confederate Southern culture and question how the Lost ​Cause is preserved.