Web Development

Wanderlust

  Wanderlust is a website I made independently based on a previous project done using Dart for an Android application. Although the features are not all the same, the purpose of the website was. This website was connected to a Firebase Database to store authentication information for a user as well as their profile. Once a user has made an account, they can create trip items that will store information for any plans. The user can include dates, an itinerary, and special notes based on each created trip. Each individual trip can be edited at any time as well as the information they hold.





Sudoku

  This website was an interactive website that explored the use of javaScript and JQuery. The goal was to create an algorithm that would check if an answer was correct. The number selected would be highlighted and then the user would select the empty box they wanted the number to go into. After the algorithm checked if the number was possible, the box would be highlighted red if it was incorrect. Although this website did not focus on design, it was a great way to show functionality skills.





Machine Learning

Handwriting Recognition

  Using Python TensorFlow, I worked with a partner to create a handwriting recognition program. This program was trained using multiple databases with many variations of the twenty-six lowercase letters in the English language. This included writing out each letter myself multiple times to make sure that the database had good representation based on the tests that were used. To the left are two examples of tests that were put into the database, and the results from the program. Although it was not completely accurate, it was very close.  This project had two main aspects that helped in learning. The first one being basic machine learning. I was able to look at the concepts and learn new terms like epoch and batch sizes to train a proper system. The second aspect of learning was using computer vision. Since the training database involved individual pictures of letters, when using a test word, the program had split up the entire word before each letter was put into the system.





Graphics

OpenGL

  My journey with OpenGL graphics began with being able to put multiple objects into a scene. The animals were created using downloaded objects that were imported as meshes into the program. The ‘trees’ were by creating my own mesh.

  The next step in the OpenGL journey was to experiment with lighting in the shader files. The vases to the right show an example of the difference of point lighting and spot lighting.

  The next part I experimented with is using external photos to build a scene. On this scene I added a sphere to experiment with different materials and how they would represent the scene.

  The picture above acts as if the sphere is seen through. This shows how refracted light would go through the sphere. The photo to the left shows the sphere as a mirror and has to explore reflections.





Dart

Wanderlust

  This project involved using dart and android studio to create an interactive app. This was completed in a small group. My group decided to create an app that would help with planning a get-away or trip. Some functionalities include a login page, create trip form, the trip storing a list of objects for the itinerary, geolocation, access to camera, and notifications. This project relied heavily on object-oriented programming as well as using firebase storage. My responsibilities for this project included working with the itinerary and the notifications. This caused me to work very closely with my group members to have it properly connect to the firebase storage as well as work independently to create a notification class that will connect directly to the user’s phone. Although this was my largest project to date, it was a fun experience to create an app.







Java

Spam vs Ham

  For this project the problem was simple. There is a directory of email files and the program needs to deciper whethere the emial is spam or ham. To do this multiple directories were given to train an algorithm that will be used to judge other files. To do this, my partner and I used hashmaps to map each induvidual word with a percentage of it appearing in spam and ham. This was done with java and using java FXML for the UI. Since we were given what correct answer of the test directory we were also able to test the accuracy of our algorithm as shown. This was based off a given assignment.





Minesweepers

  This is a group recreations of the game Minesweepers. Although playing the game itself follows the original rules, we added a server base that could accept multiple clients. This way a scoreboard can be shown with the top 10 scores. The game allows three modes; easy, medium, and hard. The score is based off how many moves are taken and if the player can sucessfully complete the board. Java was used for the code and java FXML was used for the UI.





File Sharing

  This is a partership to create a server that would be able to file share .txt files. The user would be able to pick a directory from their file system to open in the program. They would then be able to upload and download the files to and from the server. The point of this project was to really focus on the sever to client communication. Java was used to code and java FXML was used for the UI. This was based off of a given assignment.





SQL

Movie Database

  For this SQL project, I was supposed to design a movie database, like IMDb. To begin this project, I used ToadDataModeler to create a visual database. This was helpful so that I could see what information was able to be stored and how tables were connected. After creating this model, it was translated into SQL. I used pgAdmin to run the database. From there I was able to populate the database and then run queries. This project challenged me since it was something new and I had never done before. I was able to really expand my knowledge by learning a new language and learning how to integrate databases in other languages like Java. This is based off of a given assingment.





Python

Text Based Battles

  This text based program is a Pokemon inspired battle situation that allowed the user to input a number that was associated with a command. Some of the commands possible were attack, switch character, heal, and leave attack. These options would often lead to another menu avaliable to the user. This program relied heavily on object oriented programming as well as functions. This was based off of a given assignment.

Tower of Hanoi

  In this program I used a recursive function to solve any size Tower of Hanio. The bases of the puzzle is simple, you must move the tower of rings stacked largest to smallest to a third peg keeping it from largest to smallest. The catch is you cannot stack a larger ring on top of a smaller ring.

C and C++

Blackjack

  C was one of the first languages I learned as a programmer. I Visual Basic to code a drag and drop UI. This program was to help me apply concepts like arrays and functions. The user would play against the computer by using buttons to hit, stay, and bet.

Pointers

  C++ was the first language that was introduced to me at the university level. I started off learning syntax and moved to concepts like 2D arrays and classes. The final step in learning was to utalize pointers and how they are useful. I learned the difference of calling by reference vs calling the pointer.