01. My Projects

Project Image

Ford Fulkerson's Algorithm

The code implements the Ford-Fulkerson algorithm to find the maximum flow in a flow network with a source and a sink. It creates a residual graph with the given capacities and then iteratively finds an augmenting path from the source to the sink using Breadth First Search. Along the augmenting path, it updates the residual capacities of the edges and adds the path flow to the overall flow. Finally, it returns the maximum flow and prints the augmenting paths and the total flow.

Project Image

Prim's Minimum Weight Spanning Tree

The project uses Prim's algorithm to find the Minimum Spanning Tree (MST) of a graph represented by an adjacency matrix. The algorithm initializes a boolean array that keeps track of which vertices are included in the MST. Initially, only the source vertex is included in the set. Utilizing breadth-first search, the algorithm traverses the tree then repeatedly selects the vertex with the minimum weight that is not already included in the MST and adds it to the set. The weight of the MST is updated at each step until the all vertices are included.

Project Image

Space Colonies Sorter

The project is an application that automates the placement of applicants on planets according to their skills, desired planet, the planet’s capacity/minimum-skill-requirement. The application uses object-oriented programming principles to implement several classes such as "Planet", "Person", "Skillset", "ColonyCalculator", and "ArrayQueue" to handle the calculations and decision-making for the program. Additionally, a graphical user interface (GUI) was created to visualize the process, applicants, and planets. The GUI is implemented using JavaFX and contains several components such as buttons, text fields, and shapes. The GUI window displays a queue of applicants waiting to be placed on planets and three planets with different colors representing their capacity. This project was implented for "CS:2114" to demonstrate proficiency in several programming concepts such as object-oriented programming, data structures, and graphical user interface design.

Project Image

Tower of Hanoi

The Tower of Hanoi is a famous mathematical puzzle that consists of three rods and a set of disks of different sizes. The puzzle starts with the disks in a neat stack in ascending order of size as demonstrated in the figure above. The goal is to move the entire stack to third rod while obeying the following rules: only one disk can be moved at a time, each move consists of taking the upper disk from one of the stacks and placing it on top of another stack or an empty rod, and no disk may be placed on top of a smaller disk. This project consists of four classes: PuzzleWindow, Disk, LinkedStack, and HanoiSolver. The solver class recursively moves the disks from one tower to another using the rules of the Tower of Hanoi problem.

02. My Skills

Interpersonal Skills

  • Technical writing
  • Leadership and management
  • Team coordination
  • Conflict resolution
  • Active listening
  • Training and teaching

Coding Languages

  • JavaScript
  • Java
  • HTML
  • CSS
  • Python
  • MATLAB
  • C
  • Git

Other

  • Computer aided design (Solidworks)
  • Problem solving
  • Data collection & analysis
  • Mathematics
  • Time management
  • Attention to detail

03. My Education

Virginia Tech Logo

Virginia Tech | Expected Graduation: Dec 2023

Major in Computer Science | Minor in Mathematics

Here is some relevant coursework I've completed:

  • CS 3114: Data Structures and Algorithms
  • CS 3604: Professional in Computing
  • CS 2114: Software Design & Data Structures
  • CS 2505 & 2506: Computer Organization
  • CS 2104: Intro to Problem Solving in CS
  • MATH 4175: Cryptography
  • MATH 3134: Applied Combinatorics and Graph Theory
  • MATH 2204: Intro Multivariable Calculus
  • ENGL 3764: Technical Writing
  • STAT 3704: Statistics for Engineering Applications
NOVA Logo

Northern Virginia Community College | 2019-2021

Associates in Computer Science

Here is some relevant coursework I've completed:

  • CS 1064: Introduction to Programming in Python
  • CS 1114: Intro to Software Design
  • MATH 1225 & 1226: Calclus of a Single Variable I & II
  • MATH 2114: Introduction to Linear Algebra
  • MATH 2214: Intro to Differential Equations
  • MATH 2534: Intro Discrete Math
  • COMM 2004: Public Speaking