Hello! I am Alonso, a computer science student currently attending the Illinois Institute of Technology in Chicago.
In high school, I joined the robotics team which sparked my passion for programming.
I love programming robots and designing games. Being able to write a few lines of code on the computer and making an impact in the real world is something I find truly fascinating.
Whether that is making a robot move and follow commands or making a game for others to enjoy.
The unquantifiable amount of joy and happiness you feel when the robot you've been programming for months executes its task during a competition to score those winning points
or when other students you don't know come in, asking to play your game is the reason I love programming. Knowing that in the end, a difference will be made and that justifies all the hard work and effort you put into it.
Education
Bachelors of Computer Science
GPA: 3.4/4
Anticipated Graduation May 2025
Awarded Dean's List in Fall 2021
Other Interests and Hobbies
Besides robotics and computer science, I am fascinated by mesoamerican architecture. I love seeing the palaces and pyramids from hundreds or thousands of years ago.
Most of these structures are in ruins so I like to make hypothetical reconstructions of what they possibly could have looked like in their full glory. I then 3D print them
to get a better idea of how they would have looked in a physical space.
Top Projects
These are the hightlights of my favorite projects. To see all of my projects click on the view all buttons below.
Robotic Projects
These projects cover work I did in my high school robotics team. We competed in the First Robotics Competition, an international high school
competition where 2 alliances of 3 robots completed specific tasks to score points to beat the opposing alliance. Each year a new game is released with different objectives to complete.
Below I highlighted some of my favorite and proudest robotics projects.
To view all my projects I did click on the button below.
These are projects that are games or apps that I developed. This spans work I have done in high school, in my Game Design and Development class as well
in college including classes like Mobile Applications Development. Below I highlighted the games and apps I am the most proud of making both from a technical and entertainment persepective.
To view all my most significant projects I did click on the button below.
During COVID, the robotics competitions was held online. You had to record video of the robot completing challenges and upload them to the judges.
The challenge I wanted to do was called the AutoNav challenge. The robot has to autonomously go through 3 different paths, the barrel, slalom
and bounce path.
To be able to achieve this I broke down each key movement into a different state for the robot. We ended up making 5 different states,
circle, drive distance, drive distance with assist, idle, and turn to. With these 5 states we are to complete all the paths. Each of these states
were an extension of an abstract autoState class. I made an AutoFSM class that would handle an arraylist of autostates and iterate through all of them.
In order to navigate through the path, I had to list out all the steps and add them to this arraylist and then the robot would exectute them.
I was able to create 3 different list and just feed the one I want to execute to the FSM and the robot would do it.
This is my proudest achievement in robotics. There were a lot of challenge due to COVID only being allowed for a couple hours in the building on certain days
but also this was a culmination of all my past knowledge and experiences including something new. It involved java, python, FSMs, computer vision, sensors, and
abstraction which was something new to me at the time. I had so much joy and excitement when the robot completed the first path proving that it can be done.
A project I'll never forget.
ZPG
This game is my most involved one. This game used simple enough principles that we had learned that allowed us to work on the whole process of developing a game on our own.
Most of the class focused on programming games but this project allowed us to work on other aspects like game design. I sketched out level layouts, made color palettes for characters and the environments.
I also made the music for the game and had to make a 30 second trailer for the game which you can see below.
“Earth in the future has a competition to keep the population under control, 2 people compete against each other through several tests,
the competitor with the most victories, survives.”
That is the idea behind ZPG. The name is the acronym for Zero Growth Population. In this game you are competing against another player.
There are 4 levels in this game. Each level tests a survival skill, speed, accuracy, resourcefulness, and defensive capabilities.
This game was more complex, incorporating arrays and arraylists combined with for loops to be able to organize and manipulate the data
for the robots, targets and bullets.
Computer Vision Tracking
For the game Infinite Recharge, I had to make a computer vision tracking system for the powercells (yellow balls) in order for the robot to collect them.
The collecter system we had at the time worked best when the powercells were collected from the center of the robot.
The vision processing was not done in java or ran on the roboRIO, which is where the code ran on the robot. It was made in python and ran on a
raspberry pi. The way I tracked the powercells was by filtering the video feed by creating a mask for the yellow color of the powercell. That way the robot only saw where the powercells were. After that,
I would have the robot target the largest blob detected, this would be the closest powercell to the robot. Based on where it saw the center of the powercell
it would turn the robot left or right to have the center of the powercell be in the center of the camera.
Here is a video of the first camera test.
During competitions we needed a way to make sure the settings were all correct on the raspberry pi and that it was on. To do this, I made shells scripts
that would download all the necessary software on to any raspberry pi, in case we had to change pis. I made another shell script that would change the camera
settings that matched the ones from when the mask was created. Finally, I added a "heartbeat" the raspberry pi that would allow us to see if it was on
from a laptop.
This was a great project that also had use for future seasons. It also allowed me to gain experience in a new programming
language, python, and also learn about a new field of computer science, computer vision.
Flashcards
I made this, during my Mobile Applications development class. This app was not programmed in java but used flutter as a framework and it was programmed in dart.
What I really liked about this project was being able to implement persistence.
All the games I have developed in the past have never saved your progress when you do a full restart of the game.
However in this app, it saved the decks and flashcards you have created even if you restart the app.
The video below shows the functionality of the app.
On top of learning persistence, I learned to use locally stored json files and load that data into the app.
This was the first time I used json files as a way to store data locally for an app.
We also had to use a SQL database engine to be able to save the data of the dynamically created decks and flashcards.
I also did asynchronous programming in order to be able to load the saved data without freezing the app or having to wait for the data to load.
Overall this project was quite challenging as there was a lot of firsts with this project.
First time using json files, SQL databases in tandem with an app, asynchronous programming and learning how to use flutter/dart.