Justin Rhodes

Justin Rhodes

Sparta,NJ 07871

I am currently finishing up my senior year at Rutgers University after completing my internship at ADP this summer! At Rutgers, I study Computer Science & Mathematics. On top of my studies, I am currently a Head Lab Supervisor at the Rutgers Computer Labs, managing our five computer labs on the Cook/Douglass campus. I also was a Teaching Assistant for the Intro to Computer Science course (CS111) for two years during my education!

Over the summer, I finished working on a Discord chatbot that allows users in a server to request a variety of information about stocks through the use of chat commands. Users can search up any stock within the US market and can request information such as news, graphs, and price data. I started this project with the goal to learn more about Python and its libraries, as well as more about the stock market, and I think I succeeded in learning both of those!

Besides my involvement in school, I'm a competitor at heart with a drive to improve in anything I do. During my freshman year of college, I competed as a Big Ten Athlete at Rutgers, where I was on the starting roster for the League of Legends eSports team. I also competed in my junior year of high school, and even got flown out to compete in a tournament all the way up in Canada!

Below are some of my social links, as well as my email. Please feel free to contact me with any further questions that may not have been answered on this website!


Experience

Application Developer Intern

ADP - Automatic Data Processing
  • Built an API to query 1000+ internal clusters and databases usage metrics regarding storage, memory, and CPU
  • Analyzed usage trends for storage to predict when a given cluster would run out of space with 90% accuracy
  • Predicted expected growth over 1+ years to allow ADP to budget space upgrades for each fiscal year
  • Monitored CPU and memory usage to notify admins when usage was reaching critical capacity
June 2021 - August 2021

Head Lab Supervisor

Rutgers Office of Information Technology
  • Manage 5 lab locations and 80+ employees on the Cook/Douglass campus
  • Work with employees each semester to build schedules that accommodate their college schedules
  • Conduct interviews for prospective hires and handle onboarding for new hires
  • Update staff and wiki websites using HTML and CSS by designing a more organized layout, increasing efficiency of employees
  • Overhauled departments ticketing service by assisting transfer over to ServiceNow platform
January 2019 - Present

Intro to Computer Science Learning Assistant

Rutgers Computer Science Department
  • Lead and manage weekly recitations and study groups for introductory computer science courses
  • Create lesson plans and learning goals pertaining to different types of learners
  • Facilitate an understanding and appreciation for the fundamentals of computer science
  • Increased productivity of department by answering students questions on the class forum
  • Lead exam reviews for students improving exam averages by 10% and encouraging further learning
September 2019 - May 2021

Software Engineering Summit

Capital One
  • Created a website that met all deliverables in order to be flown out to Capital One's office in Virginia
  • Attended a week long summit full of technical workshops
  • Learned about multiple services and languages such as Swift, Arduino, Firebase, AWS, and more
  • Participated in a hackathon following the conclusion of the event, developed the Cudos Financial Analytics app over the course of 24 hours
August 2019 - August 2019

Education

Rutgers University

Bachelor of Science

Majoring in Computer Science

Minoring in Mathematics

GPA: 3.54

September 2018 - May 2022

Coursework

In this course we were introduced to fundamental concepts in programming. We learned how to design algorithmic solutions to problems, analyze program code for correctness,efficiency, equivalency, and errors, as well as learning how an object-oriented methodology is implemented in program development.



The goal of this course was to investigate the essential properties of data structures and algorithms for operating on them; to use these structures as tools to assist algorithm design; to extend exposure to searching, sorting, and hashing techniques. We went over key data structures such as linked lists, hash tables, binary trees, as well as implementing graphs.



To introduce the student to the mathematical tools of logic and induction, and to the basic definitions and theorems concerning relations, functions, and sets. Later courses in the computer science curriculum build on the mathematical foundations covered here. Particular emphasis is placed on inductive definitions and proofs, with application to problems in computer science.



Provides the background in combinatorics and probability theory required in design and analysis of algorithms, in system analysis, and in other areas of computer science.



This course covers the fundamental issues in the design of modern computer systems, including the design and implementation of key hardware components such as the processor, memory, and I/O devices, and the software/hardware interface. C programming was introduced in this class, and we learned a lot about data representation, bitwise operations, cache design, and many other topics.



This course teaches essential principles, techniques, tools, and methods used to develop large software programs in Java. These include object-oriented programming and design, Unified Modeling Language (UML), testing and debugging, using and documenting APIs, asynchronous (event-driven) programming in a Graphical Use Interface (GUI) framework, code maintenance and version management using CVS, software development using Eclipse, introduction to building software on mobile platforms, introduction to multithreading and network programming, object persistence.



This course teaches students how to think about, build, debug, and test large computer programs. The course stresses learning how to use tools such as debuggers, profilers, source version control systems, and integrated development environments as an essential part of developing large programs. The course also stresses the understanding of how programs execute on today's computers and how to measure and optimize performance. Programming will be in C on Unix systems to introduce students to a new programming eco system, as well as enable the mapping of high-level language constructs to the underlying machine.



Describing and querying various forms of information such as structured data in relational databases, unstructured text (IR), semi-structured data (XML, web), deductive knowledge. Conceptual modeling and schema design. Basics of database management system services (transactions, reliability, security, optimization). Advanced topics: finding patterns in data, information mapping and integration. The course focuses on a user's perspective, rather than how one implements DBMS.



To study a variety of useful algorithms and analyze their complexity; by that experience to gain insight into principles and data-structures useful in algorithm design.



To provide a practical understanding of computer networks with respect to system architectures, protocols, and client-server interaction. These objectives are accomplished through extensive laboratory exercises.



To convey a thorough understanding of the basics of an operating system by studying techniques and algorithms for providing services in a computer system, and to understand implementation aspects of popular systems by means of case studies.



This course covers multi-variable and vector calculus. Topics include analytic geometry of three dimensions, partial derivatives, optimization techniques, multiple integrals, vectors in Euclidean space, and vector analysis.



Linear programming problems, the simplex method, duality theory, sensitivity analysis, introduction to integer programming, the transportation problem, network flows, and other applications.



Colorability, connectedness, tournaments, eulerian and hamiltonian paths, orientability, and other topics from the theory of finite linear graphs, with an emphasis on applications chosen from social, biological, computer science, and physical problems.




Skills

Programming Languages & Tools

Concepts

Object oriented programming Web Development Data Structures & Algorithms Dynamic Programming Linux Networking Firebase Databases Operating Systems Threads File Systems Sockets

Soft Skills

Interviewing Technology Repairs Project Management Leadership Troubleshooting Customer service Problem Solving Debugging Communication Teamwork Software Design


Interests

I have many interests within both my fields of study. I have a passion for data, and I really enjoy extracting data and turning it into something more meaingful than just numbers in a table. Some of my other interests are machine learning, operating systems, and compilers. I also really enjoy my mathematics courses here at Rutgers, a few of my favorite courses so far have been Discrete Structures, Calculus, and Linear Algebra. My favorite thing about math is learning the theory and other abstractions involved in the field.

Apart from my academic interests, I enjoy baking, working out (which enables me to eat more of what I bake), playing video games, and hiking. I have been playing games since I could talk, and I have a love for Nintendo games. A few of my favorites are: Animal Crossing, Pokémon, Splatoon, and Breath of the Wild. I also recently went on a trip up to Acadia in Maine, and you can find a few pictures from my trip below!

NPS NPS

Projects

Below are a few of the projects I have worked on, as well as links to live demos and the source code. More coming soon!

Stock Bot

Discord Bot - Stockly

Chat bot created using Python that allows users in a server to retrieve a variety of information about stocks

 
NPS

National Park Information Kiosk

React website which allows users to search and obtain information about a variety of parks in the USA

 
Github

Wheres The File Server

Version control system that replicates some features of Github, while supporting multiple client connections

 
fileCompressor

Huffman coding file compressor

File compression program that will compress files and decompress files through the concept of Huffman coding

 
Cache Simulator

Write Through Cache Simulator

C program that simulates three different configurations of caches, showing the hit and miss rate

 
Pizza

Android Pizza Ordering App

Android Studio project simulating a UX ordering pizzas, built with Java and SceneBuilder.

 
HDD

Tiny File System using FUSE

C program that creates a virtual file system, with proper inode mapping and disk management.

 

Contact

Please feel free to contact me below, just be sure to leave your name and email and I'll get back to you promptly.