Aaron Heinbaugh

Hi, my name is Aaron. I graduated Summa Cum Laude from Millersville University in the Fall of 2022.
This site is to show the projects I've worked on for college classes and in my spare time.
Scroll down and check out my portfolio!

UML Editor

Fall 2022 - CSCI 420 Millersville University - Software Engineering

- Created a UML editor for the software engineering course at Millersville University

- Collaborated with a team of 4 other students on semester long project, following and learning AGILE method

- Developed GUI view and controller, as well as saving/loading functionality and image exporting

- Created in Python, utilizing Pytest automated testing and codecov.io for test coverage

- Implemented using model/view/controller design pattern

Graphics Engine

Spring 2022 - CSCI 375 Millersville University - Computer Graphics

- Created a graphics engine for the computer graphics course at Millersville University

- Built a graphics engine by iteratively replacing OpenGL library code with my own code

- Learned each stage of the graphics pipeline through topics such as mathematical representations and manipulation of matrices and vectors, graphics primitives, 3D modeling, cameras, clipping, lighting, texturing, and rasterization.

- Created in C++ utilizing Catch2 unit tests and a makefile

- Created a chess game animation by importing models and textures then manipulating their locations, the scene's lighting, camera angles and direction

- Created a basic website using HTML and CSS that calculates and ranks NFL regular season Quarterbacks

- Built the backend in python using flask and pandas libraries

- Cleans and filters yearly QB data (csv files) into 4 QB statistics (td/game, comp%, yards/game, int/game). Calculates every quarterback's standard deviation (based on how many teams were in the NFL in that given year) for each year based on user input.
It adjusts each stat by the scale value supplied by user input.
It then combines each year and calculates each players std dev average for every year a player played.
Finally it ranks each player's average and displays the list.

- Every QB is ranked based on how they compared to every other QB of the same year.
Because of this, it removes the era argument when comparing old players to new players since rules changes and play styles have evolved over time (inflating newer QB stats).

- Future plans are to add more positions (RB, WR, TE, etc.), add playoff statistics, and add more statistical categories

Used Cars Data Set Analysis

Spring 2022 - CSCI 453 Millersville University - Large-Scale Data Analytics and Visualization

- Cleaned, analyzed, and plotted a 9 Gigabyte data file with 3 million unique cars

- Created in a Jupyter Notebook using pandas, matplotlib, pyplot, numpy, and seaborn python libraries

- Used a variety of plotting methods and statical techniques to produce meaningful content

- Collaborated with a team of 2 other students implementing what we learned over the course of the semester

Shopping Website

Fall 2022 - CSCI 421 Millersville University - Advanced Web Development

- Created a shopping website for demonstration using node and express JS, HTML, CSS, MongoDB, and JSON.

- Users can register and login to their account. Account information is stored in a MongoDB database. Personal information is hashed and salted for safety.

- Once logged in, users can search for items by price or name, add/remove items in their cart and adjust each items quantity.
The shopping cart is saved as a cookie in the local storage so users can pick up where they left off if they leave the site then return later.

- Once done shopping, users can checkout and place an order which is stored in the database.

-
Created by Aaron Heinbaugh - 2023