Beruflich Dokumente
Kultur Dokumente
Srija Makkapati
Intern/Mentor
Period 6
Reflection Paper
As an intern at the Johns Hopkins Applied Physics Laboratory (APL) in the Force
Projection Sector, I take part in the Threat Assessment group (KTQ)’s mission to protect the
Navy from security breaches. KTQ works with naval bases in Kings Bay, Georgia and Bangor,
Washington to train marine animals that help capture swimmers attempting to break in. APL and
the Navy are working in conjunction on a program called Nuclear Weapons Security (NWS),
which involves, as the name implies, protection of nuclear weapons stationed at naval bases. On
APL’s side of the program, a project called Marine Mammal System (MMS) is in development.
My mentor, Brian Lane, has developed an Android app called NWSMMS for this project, and its
purpose is to aid the Navy with the marine animals’ training process. Currently, I am helping
with this app by developing a feature called an MMS timeline, which enables software engineers
I have learned countless software development skills while being immersed in the
application code. To start, I learned about Tortoise SVN, which enables software engineers to
commit and update code, as well as merge it. I saw many parallels between SVN and GitHub,
which I have previous experience with, so I picked up the SVN concepts easily. Also, the code is
written in Java, a familiar programming language, but I have learned new concepts relating to the
Makkapati 2
organization of the code. The app makes extensive use of object-oriented programming, a
programming design that gives developers the power to compartmentalize different parts of code
and make them interdependent. These “compartments” are called classes, and in the app, they
rely on each other to be functional. For instance, the code contains a DolphinPage class, which
extends, or relies on the methods of, the MammalRunPage class. Each class also contains state
variables that hold values that will never change within a class.
While the code is a significant portion of the project, we also utilize a database to store
values such as a User ID, timestamp, and GPS location, which includes altitude, latitude, and
longitude. Specifically, we use a SQLite Database that relies on relationships between variables.
This database is highly useful because it clearly displays all the variables associated with each
class. When developing my MMS timeline, I model my code after the RunEvent class, whose
variables are displayed in the database and are used in my own code. Another useful feature of
the database is the built-in command line that allows users to make queries, or filter out certain
Both the code and the database play important roles in my timeline development. The
timeline consists of several timeline events, including every click, swipe, login, and any other
function of the app that the user invokes. Each timeline event is an instance of the TimelineEvent
class, which I created to contain various variables pertaining to all timeline events, including
GPS latency and event ID. In essence, users cause timeline events to occur, so every timeline
event must be recorded in case an error is thrown during any one of them. I also created a
TimelineModel class that creates its own version of the database and stores information for each
timeline event. Specifically, it creates a Table variable to store individual timeline event variable
Makkapati 3
values. In addition to writing code, I created a database table to represent each timeline event’s
variable. Every database table contains a primary key and one or more foreign keys. Primary
keys uniquely identify tables, and foreign keys are defined in other tables as primary keys,
allowing them to connect with one another, clearly demonstrating the relational characteristics of
the SQLite Database. The primary key of my TimelineEvent table in SQLite is ID, because the
ID of each event uniquely identifies the TimelineEvent table. The foreign key is User because
another table in the database contains a User primary key. When I complete my timeline, I plan
to integrate it into the preexisting code, get it tested by marine mammals in Kings Bay, Georgia,
begin with, I spent the first two and a half months installing and downloading software. This
process was arduous because my computer was extremely slow, and some days, it took nearly 45
minutes to boot up. I had the most trouble installing Eclipse, however. I needed Eclipse Mars to
write code that was compatible to the preexisting code, but it was not available for download
anymore. I finally was able to install a newer version called Eclipse Oxygen, and I spent weeks
configuring it to make it compatible. By the end of this process, I took my laptop to the APL
Help Desk, where it was deemed that my laptop had a dead battery, and I needed to replace it.
Although I was forced to restart the installation process, I was able to complete it much faster
DrJava, a lesser known code editor, to write and compile code. However, the project required me
to use Eclipse instead, which I had no previous experience with. For example, I was used to
Makkapati 4
typing in class definitions, but Eclipse requires me to manually create a class by pressing the
“Create Class” button. This was a significant feature to get used to, but as I gained experience, I
I really enjoy my internship because of the community and others’ willingness to help me
or provide me with interesting opportunities. On my first day, I was introduced to the team, half
of which invited me to take part in their projects. I was amazed by one member, who had lost his
pointer finger in an accident and created his own very realistic finger with a 3D printer! I was
shocked when he removed the top of his finger, which blended perfectly with the rest of his
hand. He had also made several other creations with the 3D printers at APL in the MakerSpace,
including textured topographical maps, puzzle and game pieces, and other oddly shaped objects.
Another colleague brought me to the MakerSpace, where he taught me how to use the laser
cutter. He was building a model airplane controller and showed me how to cut holes in acrylic
using a computer program. I was awed at the precision of the laser and amazed at this
revolutionary technology, so I returned to the MakerSpace later and created my own objects with
colored acrylic: a dagger and a heart with engraved letters. When looking around the
MakerSpace, I discovered some very amazing creations, including an extremely intricate design
that was designed by hand and cut out with lasers. I also found a block of acrylic with letters
engraved inside of the block. I hope to develop my laser cutting skills and create more intricate
objects, as well as learn how to use the vinyl cutter to make stickers. I also plan on learning to
use the 3D printers for the sake of being able to say that I have used one, as well as to print out
My mentors are also a very significant part of my experience, as they provide me with
support in all aspects of my research. Brian meets with me on a daily basis, talking through
everything that I have done during a day and answering my many questions about the code.
However, other members of the team also act as my mentors, including Brianna Taliaferro, a
recent college graduate who worked with Brian as an ASPIRE intern in high school. She
provides me with advice and tells me about her experiences as an intern, and gives me guidance.
Also, my mentor Amy Lapin makes time to check on me in spite of being the busiest member on
the team. The best part of being an intern in the KTQ group is that the environment is very laid
back, and I am comfortable interacting with everyone in the office, regardless of whether I work
with them or not. In my previous experiences with internships, my officemates did not interact
that much, but at APL, the office bustles with activity and everyone is so supportive of everyone
else. On my second day of my internship, my mentors were not in the office, so I walked into a
random office and asked if there was anything I could do to help. The person in that office,
Thomas Thomas, introduced me to a side project that he was working on. He was trying to map
Kings Bay, Georgia and Bangor, Washington to provide the naval bases located in these cities
information on the surrounding water’s depth. I found this project really interesting because it
would help the Navy to safely dock submarines. I immediately began learning MATLAB so that
I hope to work more with the team and stay in touch with my mentors, who are always
willing to help me with my academic and extracurricular endeavors. The supportive work
environment is truly captivating and like no other, and I am considering pursuing employment at