Ryan Kutella
Personal Web
I built this web page to create a nice format that displays my projects in a neat and good-looking format. I also wanted to showcase my web creation skills, as well as get experience with Vue & Nuxt which I haven't worked with before.
Used: Vue, Nuxt, CSS, JavaScript
Fitness Logger App
This app was made with React Native log workouts. I implemented firebase authentication to log in and used firestore to keep and retrieve a user's workouts. It has graph feautures to show growth, as well as calendar feautures to show exactly what you did everyday. It also has an intuitive UX and good looking UI that improves usability.
Used: Expo, React Native, JavaScript, Firestore, Firebase
Unity First Person Shooter
I wanted to get experience in game design so I used Unity's engine to build a FPS game. All movement, camera settings, enemy behavior, and physics is C# code. The AI enemies use a mixture of my code and Unity's neural networking to track and attack the player. Also, added advanced graphics and raytracing.
Used: C#, Unity, AI
CS300 Project 1
This project was creating a Unix terminal using kernel commands. It was a good project to get used to using kernel commands and threads.
Used: C
CS300 Project 2
This project manages virtual pages and physical blocks using page tables and also implements a least recently used cache to decrease page faults.
Used: C
CS300 Project 3
This project uses mutex locks to prevent deadlock and race conditions caused by 2 threads accessing the same variable.
Used: C
CS300 Project 4
This project has to use sleep and mutex locks to balance waiting time for a teachers office hours. One part uses semaphores and one part uses conditional variables.
Used: C
CS301 Assigments
These assignments use SQL, NoSQL, and Java API's to access and edit databases. This consists of basic table creation to complex division selection.
Used: SQL, NoSQL, Java
CS201 Project 1
This project covers the basics of adding, deleting, and selecting from a circular dynamic array. Every process uses the optimal time complexity possible, as well as proper allocation and deallocation of memory.
Used: C++
CS201 Project 2
This project uses red and black nodes to balance a binary tree. Every node in the tree has a color (red or black) and there can not be 2 reds in a row and must be same number of blacks every path down the tree. This implementation goes over every insertion and deletion case and handles it accordingly.
Used: C++
CS201 Project 3
This project is the implementation of a basic, binomial, and fibonnaci heap. The first part uses heapify to turn a regular array into a heap and then performs insert, delete, and selection. Then a binomial heap is made with insertions and balanced properly. Lastly, the same is done with a fibonnaci heap.
Used: C++
CS200 Group Project
This program consists of the UI and storage of every object in the therapy system. This includes 5 roles and the services provided. Providers can check members active status and input the services provided. At midnight every friday, or by managers request, reports will be generated for each member and provider.
Used: Java
CS101 Project 1
Given an input text file of the size of data tramsfered between 2 sources, I made a more readable output. This output stated all destinations and also the output size, input size and ratio between these 2 sizes for each source.
Used: C++
CS101 Project 2
Starting with an input file of strings or integers, implement either quicksort or mergesort based on input argument. This output is then stored in an output file. Quicksort is has an average O(n log n) time complexity but can be O(n^2) at worst. Mergesort is O(n log n) for average and worst time complexity.
Used: C++
CS101 Project 3
There is a pointer to first Contact item and in each Contact there is a pointer to first Info item. This project implements proper deletion and addition practices with allocating and releasing memory.
Used: C++
CS101 Project 4
Given a person with multiple attributes (string and integers) we then can store this information as hashed information. Using this hashed information we can achieve faster selection by just searching along the corresponding group in hash table and not having to check every person.
Used: C++
CS101 Project 5
Given the inorder and levelorder need to generate proper corresponding tree. Also works with deletion, addition, and selection from the generated tree. This project also works with Huffman coding and decoding, an optimal prefix code that is commonly used for lossless data compression.
Used: C++