The York County Astronomical Society Radio Telescope project is currently being developed by York College of Pennsylvania students enrolled in the senior software design course. The aim of the project is to deliver real-world experience to students by exposing them to communication between both clients and teammates as well as serving as a joint operation between software engineers and mechanical engineers. There are five subteams within the software side of the project: control room, front-end, back-end, mobile, and VR, which must all work together to deliver a functional, satisfactory product.
My involvement with the project began as a junior computer science student seeking opportunities that allow me to challenge myself. My advisor recommended that I join the team as an independent study student that will perform the same duties as my peers who are enrolled in the actual course so that I may assist where help is needed and facilitate the transition into the next year's senior software design team as a team lead. I belong to the back-end subteam where I help maintain the project's database to provide functionality and analytics to other subteams and the clients.
In my cryptology course, I was tasked with deciphering various texts that were ciphered by shifting a given letter within a given range. For example, if a message is "salad" and each letter may be shifted 0-4 places, one possible encipherment is "uanbg". While it is easier to decipher the message when the range is small, such as 0-2, doing larger ranges by hand becomes time-consuming and patterns become difficult to find.
My solution to this was to first create a Python script that read 40 public domain books and keep count of how often each word in each text appears with a dictionary. This allowed me to find commonly used words across all 40 books with the intention that such common words could potentially appear in the enciphered messages. To filter out words with low numbers of occurrences, I simply took the top 10,000 words by appearance count. After writing the word list to a text file, I made a second script that takes an input of an enciphered message and the maximum range of shifts that were used when enciphering it. The script then generated shifted alphabets and searched for patterns that match potential words at a given letter. The script would then keep track of the letter each potential word match was found at and then output it in an appropriate position for easy reading. This was a very successful project as it helped find word matches that were perhaps too large to be a coincidence and which lead to deciphering the texts.
With a Raspberry Pi, my curiosity grew in awe at the potential a computer the size of a credit card held. I decided to combine two of my strongest passions with it: programming and soccer. This project would utilize the Rasbperry Pi's GPIO to light up LEDs based on the current match status of my favorite soccer team Arsenal. The script on the Pi would request score data from Arsenal's website and output Arsenal's status in their latest match and output a visualization of the status using four LEDs. A green LED indicates that they are winning, yellow indicates drawing, and red indicates losing. Since a match isn't being played at every hour of the day (how exhausting that would be), a blue LED indicates if the status is from a live match, otherwise, it is the last match's status.
Find Us Food is a simple webpage that utilizes HERE's mapping API to find a random restaurant within a given radius. This project was independently developed and presented by myself for York College of Pennsylvania's 2019 Hackathon. A user may enter the postal code of the area they would like to eat and filter restaurant types to suit their interests. For example, if I was interested in only burger joints, pizza places, or fast food, I can use the checkboxes provided to find restaurants that fit that exact criteria. A live example of the project can be found at quintinherb.net/FindUsFood.
For my software engineering course, I had to take on a personal project and a team project. For my personal projected, I decided to make a simple doodle application to learn C#. In my painting program, the user has the ability to adjust their brush shape and size while also choosing their brush color and canvas background. The user may undo and redo their changes and save their work whenever they are finished. If you would like to try it yourself, you may download it for Windows here.
For my software engineering course, I had to take on a personal project and a team project. For the team project, my group worked on a web application that allows students within the college to share their skills and ideas to collaborate on a project. For example, if a student wants to make a mobile app to find vending machines on campus but doesn't know how, they may seek another student on the website who has mobile app development experience to help work on it. Students were able to create profiles displaying their interests and skills while also posting proposals either seeking help with a project or seeking to help somebody who needs it. They could also directly message a student from the post they found.
To categorize my records, I developed a Java program that provided an interface I could use to add, remove, and sort records I owned. The program implemented custom comparators so I could sort by album titles, artist names, album release years, and catalog numbers. It also had a search feature so I could find records by either title or artist. If you are interested, you may download it here on all platforms with Java installed.
As an experiment, I wanted to develop an on-screen keyboard that could be depoloyed on a web page. Once I was able to add text to inputs from the virtual keyboard, I wanted to expand it in case others were interested in using it. Once the appropriate files are added to the project and linked, just a single line of HTML will automatically insert the virtual keyboard wherever the user put it in addition to automatically linking it with the textboxes on the page. If you are interested, you may find out how to use it here.
Being a self-proclaimed dork, I wanted to try developing a program that could run on MS-DOS using QBasic. Using a computer with MS-DOS installed on it, I developed a game where a player tries to guess a random secret word of a given length depending on the difficulty they selected. For example, an easy word would consist of only three letters, and the user must make a guess with that knowledge. After each guess, the game will provide hints indicating if a letter in the guess matches with the actual word. For example, if the word is "ACE" and the user guessed "ARK", the game will indicate a single match since A appears in the same position for both the guess and the answer. If you are interested in playing, you may download it for MS-DOS here.
For my fundamentals of computer science course, we were tasked with making a simple game that is played by placing discs on the screen within an allotted amount of time. The user may not overlap discs or place them out of bounds. Following these constraints, I explored ways to make it more appealing by decreasing the time allowed to place a disk after each one is placed along with other design improvements. If you are interested in playing, you may download it here on all platforms with Java installed.
As an intern at KioWare, I worked on developing widgets for KioWare Server and experimented with making applications for KioWare for Android. The widgets provided analytical data for kiosk units on three separate levels: an individual kiosk, a group of kiosks, and all kiosks within a domain. This provided useful data for kiosk owners so they can identify how to improve their services.
As an intern at Johnson Controls, I worked on developing the next generation of touchscreen interfaces on chiller units. This entialed converting the current implimentation into a new architecture while documenting each new addition to the project. My duties also required deployment onto a simulated panel to test user interaction.
I am currently studying computer science at York College of Pennsylvania. I work as a tutor for various computer science courses and enjoy helping others as much as I can. When possible, I try to seek out new and exciting things to learn about whether its related to computer science or my other hobbies. Outside of the classroom, I enjoy watching Premier League soccer, listening to music, going to Taco Bell, and coin collecting.