Sie sind auf Seite 1von 5

Makkapati 1

Srija Makkapati

January 12, 2018

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

to quickly diagnose an issue once the app throws an error.

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

data from a table in the database.

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,

and analyze the results.

I experienced several challenges while developing my skills and producing code. To

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

and in a few days.

Another problem I encountered was having to use Eclipse. I am accustomed to using

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

learned to appreciate Eclipse’s handiness.

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

objects of my own design.


Makkapati 5

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 could help with the project.

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

APL in the future.

Das könnte Ihnen auch gefallen