Hi, I'm Josh

Software Engineer

I recently graduated with a B.S. Computer Science from the University of North Carolina. I am currently looking for work and in the meantime, working on personal projects.

Personal Projects

Dijkstra's Algorithm

This was the final project for COMP 210: Data Structures. The Dijkstra's Algorithm chooses the shortest path from a starting point A to an end point B. I'm currently working on making a graphical interface to showcase this project to mimic below.

  1. Java
Dijkstra Algorithm showing the shortest path from the starting point to the end point

Shortest Path Visualization

Game of Akari

I created the game of Akari, which was the final project for COMP 301: Foundations of Programming. This is kind of like minesweeper but not really. The cells that have numbers indicate the number of lightbulbs that are allowed within its vicinity. A lightbulb cannot be placed on the same row or column as indicated in red. You win the game under the condition that all tiles a lit, all tile with numbers are satisfied.

  1. Java
  2. JavaFX
  3. Maven
A demo of the game Akari.

miniJava Compiler

I created a miniJava compiler which was the final project for COMP 520: Compiler Design. The compiler has 4 phases:

  1. Phase 1: Syntactic Analysis
  2. Phase 2: AST Generation/Parsing
  3. Phase 3: Contextual Analysis
  4. Phase 4: Code Generation


A diagram of how the compiler is used for translating High Level Programming Languages to Target Machine

Experience in:

Java C Programming Python Typescript Git HTML CSS JavaScript