Personal Website of Kevin Omidvaran

Quick Guide to Me

I am currently a student at the University of California, Irvine, working towards my Master’s of Science in Computer Science. I recently graduated from the University of New Mexico with a Bachelor's degree in Computer Science and a minor in Economics. I am interested in agile development, as well as building models that can be verified by data. Over the course of my experience, I have learned the importance of having a humble and curious mentality. I have seen when I enter new experiences with this mentality, I can learn new things and always improve what I am working on. This motivates me to strive to have this attitude in all the things I do. To find out more about me check out my about section.

Projects

Elevator Project

The elevator project was a team project in a software engineering class. This was an exercise in agile development. In the span of 4 weeks, we were tasked with creating an elevator simulator. Each week we needed to have a project that we could display, even if it didn’t have complete functionality. I was in charge of the physical functions behind the graphic interface, specifically the cabin motion and the door controls. Besides this being an interesting coding assignment, this project demonstrated the challenges of working in a team and the importance of communication.

Twitter Simulation

The Twitter simulation was an agent based model that was meant to simulate the social graph composed of follow/following connections on Twitter. The goal of the project was to help analyse what could occur on Twitter if certain types of agents changed in number. For instance, if bots became the majority of the Twitter population we could tell what the connections graph would look like. This project used MPI to try and scale the project to 1 million users. Unfortunately, the largest scale we could reach was 10,000. Scalability became a hurdle that couldn’t be overcome at the time. The decision process was a set of probabilities based on common followers, location, and a couple of other commonalities. In order to visualize the model we used both Bokeh Data Visualization Tool and Gephi. In the future, we hope to overcome the restraints of scale and continue with the project.

Hokm

I designed a terminal game based on a classic Persian card game. I developed the game in Python. The game consists of three main components. These are the game loop, the comparator, and the individual players. The game loop uses the players and the comparator to gain information about the state of the game. The main exercise for this project was in designing an Artificial Intelligence. The first iteration was simple in the decision making process while the second iteration uses a more in depth decision tree. In the next iteration a recurrent neural net will be utilized.

3D Game of Life

This project was a variation on Conway’s Game of Life in three dimensions. I used JavaFX for the graphics for this project. Besides being in 3D, this variation of the game allows the user to set their own rules. When a cell is dying, it will shrink and eventually disappear and will increase in size as a new cell is born. In order to better visualize these functionalities, the user can set the speed of the game updates.