Skip to content
View markshperkin's full-sized avatar

Block or report markshperkin

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
markshperkin/README.md

Typing SVG

Typing SVG

Passionate software engineer, mobile app developer, full-stack developer, and machine learning engineer with a B.S. in Computer Science, currently pursuing an M.S. in Computer Science with a certificate in Artificial Intelligence. Proven track record in creating innovative mobile applications, and user-friendly web platforms, and developing machine learning models for real-world applications. Leveraging leadership, communication, and discipline skills honed through athletic and military experiences, along with my technical expertise, I seek dynamic tech opportunities to deliver impactful and intelligent solutions.

Part of the USC Gamecock swimming SEC D1 team for 5 seasons.

πŸ› οΈ Languages and Tools

Java C C++ C# Python Kotlin JavaScript TypeScript R MATLAB Haskell Prolog HTML CSS Django React Angular TensorFlow PyTorch NLP AWS Azure Windows Linux

πŸ’» Latest Projects

AI Underwater Swimmer Pose Estimation

Developed in collaboration with the University of South Carolina's Division I SEC swim team, this project focuses on underwater swimmer pose estimation to analyze and improve athlete performance. Using a custom pose estimation architecture, the model captures the anatomical pose of swimmers by detecting keypoints during their strokes.

The project involved collecting and labeling underwater swimming data and training a pose estimation model using the HRNet architecture. I updated the data pipeline to work with up-to-date libraries, as the publicly available code was outdated and incompatible, ensuring smooth data processing and model training.

The collected poses are intended to help analyze swimming techniques and identify areas for improvement. As the next step, I plan to use these keypoints to train a model capable of providing tailored recommendations to enhance the athlete's efficiency, technique, and speed, ultimately leading to faster and more efficient swimming.

This project bridges the gap between sports performance analysis and cutting-edge technology to help athletes reach their full potential.

View Project

Machine Learning Projects

  • Dynamic Neural Networks: The implementation of examples from Identification and Control of Dynamical Systems Using Neural Networks research paper to model nonlinear plant systems, developed as part of the Neural Networks class at the University of South Carolina.
  • Backward Propagation from Scratch: The implementation of one-layer and two-layer neural networks from scratch using NumPy for classification and regression tasks, showcasing the construction of neural networks without external deep-learning libraries, developed as part of the Neural Networks class at the University of South Carolina.
  • MNIST Handwritten Digit Classification with PyTorch: Using PyTorch to implement a neural network for classifying handwritten digits from the MNIST dataset, with options to train, validate, and test the model on custom images, developed as part of the Neural Networks class at the University of South Carolina.
  • GANs from Scratch Using PyTorch and TensorFlow: The implementation of Generative Adversarial Network (GAN) from scratch using PyTorch and TensorFlow, featuring a generator and discriminator that compete to produce and distinguish realistic synthetic data, developed as part of the Neural Networks class at the University of South Carolina.
  • Transformer from Scratch Using PyTorch: The implementation of Transformer model from scratch using PyTorch, leveraging self-attention mechanisms for sequence tasks like NLP, enabling efficient parallel processing and effective handling of word dependencies, developed as part of the Neural Networks class at the University of South Carolina.
  • CNN from Scratch Using NumPy: The implementation of a Convolutional Neural Network (CNN) from scratch using NumPy for image classification, showcasing the core components and operations of a CNN without external libraries, developed as part of the Neural Networks class at the University of South Carolina.
  • GNN from Scratch Using NumPy: The implementation of Graph Neural Networks (GNN) from scratch using PyTorch, showcasing key concepts like message passing and aggregation for graph-structured data.
  • Neural Network Activation Function Visualization: This project visualizes the impact of Sigmoid, Hard Limit, and Radial Basis activation functions in single-layer and two-layer neural networks using 3D surface plots generated with NumPy and Matplotlib.

Capstone Project

FancyBear is a web-based platform that simulates the experience of stock trading. Users dive into the world of trading by depositing virtual cash, which they can use to buy and sell stocks in real-time, mimicking the dynamics of the actual stock market. It is aimed to be user-friendly and allows anyone to track their stocks with confidence.

View Project

Meg's Cookbook

Meg's Cookbook is a full-stack web application developed using React and JavaScript for the front end, with a Node.js, Express, and MongoDB backend. The project includes features like user authentication, recipe uploading, and dynamic content rendering. It leverages RESTful APIs for data handling and is deployed on Render for seamless accessibility and scalability.
Note: This web application is currently in production and is available only in the alpha stage of development.

View Web Application

MATLAB Algorithms

This repository contains a collection of MATLAB/Octave algorithms developed as part of the Applied Linear Algebra lab class at the University of South Carolina.

View Project

Connect Four AI Agent

AI agent that plays the Connect Four game using a minimax algorithm with alpha-beta pruning.

View Project

Backgammon AI Agent

Rule-based chatbot is integrated with an AI agent that plays backgammon using the MinMax search method.

This project is in progress.

Athlete Perfomance Analyzer

CSV Analyzer is a program written in C, designed to read and analyze CSV files containing athlete performance data. The program calculates the average performance metrics for various events and outputs the results to a new CSV file.

View Project

Android Applications

  • Location: Mobile application designed to retrieve user location and display it on a Google Map interface using Google Maps API key.
  • CameraXApp: Mobile application enabling users to capture photos and videos, with additional photo editing capabilities.
  • MiniPaint: Mobile application allowing users to express creativity through drawing, equipped with diverse drawing tools.
  • Sensor-Game-Application: Mobile application offering users an engaging gaming experience utilizing the device's built-in sensors.

All Repositories

πŸ‘¨β€πŸ’» Mark's Coding Journey

Blossoming Passion and the Thrill of the Challenge:

My passion for coding blossomed at the University of South Carolina, where I was constantly challenged and inspired by a supportive community. One of the most rewarding aspects of my coding journey has been the immense satisfaction that comes from solving coding problems. It is about cracking a complex puzzle or finally reaching the summit after a challenging climb. The initial frustration of grappling with a problem, followed by the "aha!" moment when the solution clicks into place, is a uniquely exhilarating experience.

Fueled by Accomplishment:

This sense of accomplishment fuels my motivation to tackle even more intricate challenges. It's a continuous learning process, where every solved problem opens the door to new possibilities and ignites a desire to explore further. The joy of problem-solving is what truly fuels my passion for coding and propels me forward on this exciting journey.

Embracing the Real World:

Graduation marks a transition from the structured learning environment to the dynamic world of professional development. While the curriculum and specific problem sets may change, the thrill of problem-solving and the satisfaction it brings remain constant. I'm eager to test my skills in real-world scenarios, tackling complex problems that impact businesses and communities. The prospect of collaborating with experienced developers and contributing solutions that address tangible challenges is incredibly exciting. I'm confident that the foundation I built at USC, coupled with the continuous learning spirit fostered by the coding community, will equip me to navigate these new challenges and experience the profound satisfaction that comes with making a real-world impact through code.

Pinned Loading

  1. CameraXApp CameraXApp Public

    Kotlin

  2. Applied-Linear-Algebra Applied-Linear-Algebra Public

    MATLAB

  3. Backward-Propagation-from-Scratch Backward-Propagation-from-Scratch Public

    Python

  4. NNplot NNplot Public

    Python

  5. SwimmingPoseEstimation SwimmingPoseEstimation Public

    Python

  6. DynamicNN DynamicNN Public

    Python