I am a software developer based in New York. I am passionate about writing features that have a meaningful impact on the user's experience.
Programming and problem solving are some of my creative outlets. As such, I take pride in delivering powerful yet simple solutions to complex problems, all while maintaining the beauty and elegance of a well written program.
My long term goal is to make STEM more accessible for people globally. I am a firm believer that nobody is born with an “engineering brain.” The issue is that schools are reaching for a one size fits all solution to teaching, when such a solution can not possibly exist. People learn and understand concepts differently than one another. Whether it be algebraically, geometrically, or something entirely different, humans need to explore these pathways until a concept really clicks for them.
Existential Graphs is a web app that allows users to apply a new kind of logic that has been largly unexplored until now. This app is used in PHIL2140 at RPI as a teaching device.
This app was developed while working directly with client. We had weekly meetings to iterativly develop the application. Additionally, this application was developed by a small team of developers.
Valentinies is a web app that allows for students to create Valentine's Day cards for their loved ones during Covid. With minimal guidance of a teacher over video confrencing, elementary school students can still experience the fun that was making cards in class around Valentine's Day.
This app was the winner of HackBU 2021 Best Valentines Day Hack. It was developed with a partner.
This computational vision system was developed to identify different classifications of elements in images. Additionally it was able to make bounding box preditions
This system uses a ResNet back end with a custom output layer. It was trained on a medium sized dataset with 4 different classifications, as well as a larger dataset with 20 classifications. The former led to very good results (> 70%) and the latter was fairly good (~50%). These percentages are based on both classification and IOU for the bounding boxes, so these results are great.
In Machine Learning from Data I learned the nitty-gritty details on the mathematical basis of machine learning systems.
A project I am proud of is creating a handwriting classification system using a from scratch implementation of SVM.
In this class I learned how to apply both the mathematics of linear algebra and machine learning in order to create solutions to computer vision problems.
There were lots of impressive projects throughout the course. They included camera motion detection, landmark based image stitching, and image classification.
This class taught me the history and mathematics of many crypto systems and the different attacks that can be used offensively against them. Some of the more well known systems that we learned and implemented were RSA and ECC.
For the final project of this class, we formed into teams to implement a server with cryptographic security. Then, we were tasked with breaking another team's system. A huge lesson I learned from this is that while a solution may be almost perfect in theory, the implementation can still be full of vulnerabilities.
In this class we learned about different information retrieval systems as well as the research that is actively going into optimizing them. We also discussed the use of NLP in IR systems.
For my final project, I created an open-domain question answering system using an implementation of BERT. My system was able to take in normal english questions and provide an answer by processing relevant bodies of text, even if the question was never explicitly answered in them.
This class covered very advanced detail on graph theory, as well as practical applications with regard to computer science.
As anything with discrete bodies and connections between them can be expressed as a graph, there are many problems that can be solved using graph theory. The major ones however are database systems, network flow, and social networks.
These two classes were very similar and discussed very low level programming. Computer organization focused primarily on things like CPU architecture and Assembly. Operating Systems focused more on low level C code interfacing closely to the operating system, such as parallel processing, threading, TCP/UDP, etc.
This class was all about the process of developing software. It covered everything from ADTs to testing suites to documentation.
After this class I saw a noticeable spike in my code quality and I have found it much easier to collaborate with my peers who have also taken this class.
These are the standard DS&A classes that all CS students will take, however my school offers them as 2 seperate courses as to go into great depth.
I am grateful for the rigor of these classes, as they have fundamentally changed the way I approach programming and made me into a much better programmer.
I have taken a lot of math courses through my academic career. Of those the ones I have found most useful are discrete math, as that is the foundation of all of computer science, and linear algebra, as many systems that I work on use this principles of linear algebra as a basis for problem solving.
[email protected]
in/jack-rutland
Jack-Rutland
@jackrrutland
Resume