Projects

Keenan Kalra

Contact Me

Projects during Freshman Year

Edited Hilary Clinton

Image Manipulation Project

2019 March Computer Science Principles

In 9th grade at DHS, my partner Parth Joshi and I had to use Python to create a function that takes a picture and lets the user transform it. We focused our topic on promoting my club, MTT. Using the PIL and numpy libraries, we converted pictures of famoues people into pictures that supports MTT. The user can decide what features they want the final picture to have. Some features that the user can change are logo placement, tinting color and shade, border color, and more. My main contribution to the project was to create the user interface and add all the specialized features such as a border to the image. I specifically used the matplotlib library to manipulate the image pixel by pixel. You can see our slideshow containing some images we altered here . Finally, you can see our project notebook here .

Oh My Spikes Picture

MIT App Inventor

2018 October Computer Science Principles

In 9th grade at DHS, my partner Jacob Shaver and I had to remix a game in MIT App Inventor in Computer Science Principles. We decided to remix Oh My Spikes. Jacob and I first had to follow the tutorial before we could modify anything. The tutorial took us a long time to finish so we didn't have enough time to add extra features. However, we still managed to add an instruction screen, background image, change the amount of spikes, and its size. I also worked on coding up a big center spike but I ran out of time. One of our biggest challenges that we had to overcome was to find time to code up our wonderful ideas. We could only code very little because learning the language took up a long time. You can find our source code here . Finally, you can see our project notebook here .

Projects during Sophomore Year

Vehicle Picture

Solar/Hydrogen-Powered Vehicle

2019 October Principles of Engineering

During my sophomore year of high school, I worked with a team to construct a vehicle that runs for solar and/or hydrogen cells. The vehicle had to be 12 inches by 5 inches and had to consisted of VEX parts. My main contribution was to construct the top half of the vehicle which supports the board and fuel cells which power the motor to make our car move. I used standoffs to levitate a platform that can house such different types of objects required to run the machine. Our vehicle came to have a 23.46% efficiency considering the two types of energy sources that we used. You can see our documentation here .

First Paper Rocket Design

Aerodynamic Design Project

2020 January Principles of Engineering

In 10th grade at DHS, my team and I had to create paper rockets and used a launcher to test out our rockets. Our goal was to design a rocket using only paper and tape and then test it. First I researched the imapct of different wing shapes and sizes on the distance the airplane travels. Overall, I found that curved and small (staying close to the body) increased the distance in which the airplane would travel. After that, I built my plane using the cardstock paper and duct tape. My first plane did not go as far as I expected. For my second plane, I made the cone sturdier and taller so the wind would easily slip and the rocket would pierce the air like an arrow enabling it to go further. You can find the documentation here

Projects during Junior Year

Contagion Model

2020 August Computer Science Applications

During summer break between 10th and 11th grades, I had to create a Java project in a GUI system called Greenfooot and I decided to do a scale down version of a virus. I implemnted three main classes: a regular person, an infected person, and an immune person. A subclass of the regular person that I created was te Child class, which takes after all attributes of the Person Class. All the people move around randomly and thus randomly hit an infected person. There are 5 trials that the users can see, and with each trial, the percentage of people social distancing (for my version it means staying in one place) increases. For the run, people also die off if the current number of infected people reaches a certain limit in order to show the real-life scenarious of ICUs filling up. At the end of the 5 trials, 5 different colored graphs appear on the screen along with statistics for each trial. Overall, this project was rather fun to accomplish because it represented a real life situation that was going on at that time. You can find my code here .

NBA Draft Database

2021 April Computer Science Applications

As a project for CSA, I had to use a data source online and create a project around it. Since I enjoy watching basketball, I choose to create a program which will give me all the statistics pertaining to NBA Drafts and the players that were picked. First, I had to find a data source that I could properly link to as there were so many in the wrong format. Finally, I found this data source which had information on the player name, the team that selected them, the minutes they played, the total amount of points they scored and more. My next step was to create a constructor method which would store all the players and their information in a seperate array list that I could parse through to get information. I created seperate methods that provided the user with certain data if they gave certain information. For example, if they typed in an NBA team, the program would return all the players that were drafted by that specific NBA team. Overall, it was a challenging and fun process as I got to learn how to use online data sources in my programs. You can find my code here .

Particle Project

2020 December Computer Science Applications

My group and I had to an education Java game, and we decided to use Greenfoot, a GUI system. We decided to create a particle simulator in which the users can learn about the reactions of various molecules and elements with one another. For this project, my group had to implement the initial gravity and velocity for the particles as well as the reactions. I was in charge of creating the particles, like carbon dioxide, water vapor, hydrogen, oxygen, etc, and their reactions. Implementing the reactions was tough because there were several important factors like if the two reactants had enough initialize energy to start the reaction. Our project started with 100 different particles, with many types, but the user can spawn in their own particles. The system prints to the terminal whenever a reaction happens. The screen also shows the overall temperature and pressure of the "container". You can find the code here . You can find the documentation here .

Projects during Senior Year

Multisim Picture-

Analog: Random Number Generator PLTW 1.2.6

2021 December Digital Electronics

With this project, I understood and learned about the basics of the D flip-flop. First, I analyzed and designed a binary counter circuit through the analysis of the circuit’s period, frequency, and output pattern. Then, I used the Multisim circuit design software to design the circuit and simulate it online. I played around with the inputs to find out that binary can be used to construct counters to turn the lights off or on. The next step was to actually build the circuit on a breadboard. The hardest part was to keep track of different wires and actually get it to work. Through careful analysis of my online circuit, I was able to successfully build the circuit and take pictures of it. The documentation is here .

Multisim Picture

Digital: Random Number Generator PLTW 1.2.7

2022 January Digital Electronics

With the project, I looked at the outputs of different parts of a random number generator circuit and put them together in the Multisim circuit design software. The random number generator selects a random number between 1 and 6 and showcases to how they will look in the dice. Timers within the circuit can help generate random numbers through a circuit signal with a switch and high frequency. One challenge that I faced was figuring out the switch to essentially stop the circuit and actually produce one number that does not change. The switch placement was in between the clock and the logical part of the circuit. The documentation is here .