About Me

Keith Zmudzinski wants to live in a world where code is clean, seg faults don't exist, and keyboards are mechanical.

As an undergraduate he has been recognized with the Chancellor's Scholarship for academic distinction, and has additionally received the Dean's Adademic distinction every year.

His primary field of interest is machine learning. As such he has taken several related classes:
Introduction to Machine learning, Introduction to A.I., Artificial Intelligence (Graduate), Machine Learning (Graduate), Data Mining Techniques (Graduate), and Convex Optimization.

He is currently working as a research assistant with Dr.Le Pendu, working on automatic generation of medical reports for patients based off of EHRs (Electronic Health Records).

When he's not studying or grinding away at homework and assignments, you can find him playing games online with his best friends.

But this is just an overview, read on to find out more.

Beautiful image of Keith Zmudzinski
Education

Master's of Computer Science
2019 - Present
University of California, Riverside
Graduate GPA: 3.89

Bachelor's of Computer Science
2016 - 2019
University of California, Riverside
Undergraduate GPA: 3.94

Work History
University of California, Riverside
June 2020 - Present
Research assistant - Paea Le Pendu
zyBooks Inc.
Feb. 2019 - Present
Content team
Contact Information
Email
kzmud001@ucr.edu
Cell Phone
714-783-5703

Projects

Fluid Simulation
- School
Language:
C++, C#/Unity
Description:
Performs a 2D Eulerian fluid simulation and rendering.
Learned:
Practiced techniques for safely solving differential equations in C++. Gained much better understanding of fluid simulations. Gained experience with using Unity to render pre-computed simulations.

GitHub
Covid-19 Data Mining
- School
Language:
Python
Description:
This group project analyzed and clustered Covid-19 data for potential feature correlation, and performed trend prediction on time-series data.
Learned:
I performed a time-series analysis using both the Random Forest and ARIMA models. I implemented the Random Forest model by hand, using Numpy, and used the ARIMA model from the statsmodels library. I had to pre-process the data to remove seasonality in order to properly use ARIMA.
Report Project Poster Jupyter Notebook
Image Classifier
- School
Language:
Python
Description:
This tutorial goes over how to use off-the-shelf functions to create an image classifier for the classic hand-written digits data set.
Learned:
I used sciKit learn for the first time, gaining experience with its available libraries and models. I learned what a HOG transformation is and how it can help image classification. I gained experience interpreting results and using confusion matrices to gain better insight into how well the model is working.

Jupyter Notebook
LED Light Strip Contoller
- School
Language:
C
Description:
Written for the ATMega1284, this allows for control over the attached addresseable LED strip.
Learned:
Programming methodologies for embedded systems. Gained practice refering to hardware spec. sheets for specific information. Learned how to implement design on a breadboard to verify real world performance.

GitHub
RShell
- School
Language:
C++
Description:
A custom shell written with my partner Reed Kanemaru. It currently supports logical operators '&&', '||', and ';'. It supports output redirection and piping from one program to another.
Learned:
This program taught me how to use git effectively to keep large scale projects organized and safe. It additionaly gave experience referring to man pages for specifics of common terminal commands and how they should be implemented.
GitHub
Senior Design Project; Pengun
- School
Language:
C#/Unity
Description:
A 3D-Racing/Shooting game designed and created over the course of 1 quarter by me and 3 others. Created using the Unity engine. I personally developed the movement/shooting system, two core components of the game. This project emphasized collaboration and interaction between group members, holding regular meetings both in and out of class, and regular messaging between members about issues or ideas for the game.
Learned:
This was a great introduction into working on large scale projects within a team. I purposefully wrote my code with easy generalization and readability in mind to allow for easy integration with teammates code. I became familiar with the Scrum development environment.

Report
Discord Bot
- Personal
Language:
Python
Description:
Utilizes the Discord API to monitor user reactions and interactions. It specifically monitors peoples use of the 'upvote' and 'downvote' reactions to keep a tally of users Karma. On shutdown it saves the karma to an external text file, and loads it again on startup.
Learned:
This project helped me learn and use asynchronous functions and events. It again reinforced my ability to use large scale API's to create the functionality I needed.
GitHub
Song Data
- Personal
Language:
Python
Description:
Uses the Spotify Web API to get details for specific songs. Then fills out the properties of the selected song file with the returned data. Allows for multiple songs in a row, and custom searches if the file's name does not produce accurate search results. Useful for large music libraries where the music files do not have the properties (eg. Artist, Album) filled out.
Learned:
I gained experience making API requests and parsing the returned data, as well as some minimal TKinter use.
GitHub
WIP Image Creator
- Personal
Language:
Python
Description:
This project currenly uses the Python Image Library for its main functinality. I am currently working on this project. The end goal is to automatically generate images with either specified properties or randomly assigned ones. I then plan to use Flask to port the functionality of this program to the web.
Learned:
I've so far gained more experience using large scale libraries, and once I begin using Flask, will gain lots of new knowledge about server side actions.
GitHub
KQueue
- Personal
Language:
JavaScript
Description:
A Google Chrome extension that utilizes the YouTube API. It takes advantage of YouTube's AutoPlay feature. KQueue allows users to add any YouTube video to a queue, so that when AutoPlay reloads the page when the current video has finished, KQueue redirects the page to the next video in the queue.
Learned:
I gained experience using large scale web-based API's, specifically making requests and parsing the returned data.
GitHub