Sunteți pe pagina 1din 4

Alex Welsh

12/27/16
12-1

APL Reflection

I am currently an intern for Dr. Russell Turner in the Space Exploration Sector at the

Johns Hopkins University Applied Physics Lab (APL). At APL, I assist Russell with his work on

a piece of scientific software called the Small Body Mapping Tool (SBMT). Using Java and

Eclipse, I contribute to parts of the program by adding new features and improving existing ones.

The program is used to model asteroids and other celestial bodies that can be manipulated to

show pictures of the surface, lighting, and other data. With Java, I work directly with the source

code to create 3D models and GUIs so that scientists using this program can get a better

understanding of the information. This experience has been unlike anything I have done before

and I have learned much from my time there. I am excited to learn more as the year progresses.

Through this experience, I have learned a lot about programming, Java, and what a real

work environment is like. At APL, I have had to use all of the coding skills I had learned in

computer science class in addition to learning new skills. Being able to read the code and figure

out how a massive project worked was crucial in order to add to it. For example, I had to read up

about the modeling software, Visualization Toolkit (VTK), in order to understand the code.

Learning about this software involved reading textbooks, online documentation, and even

another programming language. VTK is programmed in C++ so all of the examples and

information revolved around how to program VTK in C++. I had to understand what was

happening there and then convert the information to Java code. Through this process, I got to

know VTK extremely well and also how to read C++, though I know I have only scratched the

surface with those topics. Furthermore, just seeing how people program in the real world has
greatly improved my coding abilities. When I read the code of the SBMT, Im taking notes about

how professionals organize their programs, split tasks between different classes, and use various

object-oriented techniques to make the code efficient. Ive have been able to apply what I have

learned from there and from my readings of object-oriented programming to my projects in

school. For example, I have read about using Factories as a way to create objects that I need and

I am now using my own Factory to create planets for my school project. Furthermore, my APL

uses a certain layout manager called GridBagLayout, which assists in placing objects at desired

locations. I have done a lot of research about this layout and now have used it in my planet

project at school. I have the planets orbiting around the Earth and a panel on the side that will

allow the user to interact with the planets. This type of GUI layout was inspired by the similar

layout used in the SBMT to model asteroids.

In addition to improving my coding knowledge, I have also learned a lot about asteroids,

physics, and math while at APL. My readings about asteroids like Eros and the asteroid mission

OSIRIS- REx have made the work I do at APL more interesting and meaningful. In addition, my

mentor has taught me a lot about math and physics concepts. He explained to me how vectors

and matrices are used in programming to calculate axes of rotation and to apply transformations

of small bodies. Learned how these abstract concepts have practical use gave me meaning in

what I learn. I also really loved meeting all the people at APL. They have all be really nice to me

and have taught me a lot about programming and what a real work environment is like. Going

there, I have made a bunch of new friends from other schools. One particular person I loved was

a lady who works there. She recently made an iPhone app that displays information and graphs

collected by a spacecraft called Cassini. When I met her in October, she was still in the midst of

programming the app and was very passionate about her project. I then caught up with her a few
weeks ago and she announced that she had completed her app and was going to present it at a

conference! She was incredibly proud of her work and she couldnt wait to show me. I ended up

being the first downloader of her new app! It was so cool to see something like that and it made

me excited to work hard on my planets project and it made me excited to continue to work hard

in computer science.

At the beginning of this experience, I didnt know what it was going to be like and I was

worried I wasnt going to be able to do it. I was ok with programming, but not incredibly excited.

The work has been difficult and has required me to think creatively, but overall, the challenges I

have faced have made me a better programmer. This internship has made me more committed to

studying computer science in college and more confident in my programming skills. I previously

never thought much about organization within programs, but through APL, I have learned that

organization is crucial, especially if the programmer wants to create a complex program. I also

didnt realize how much I would learn. I have learned so much about programming and design

through my readings and internet searches that it has helped me to think creatively about how I

design my programs. This experience has constantly surprised me and I have enjoyed every

moment of it.

My current project revolves around improving the time animations for the small bodies.

The current program animates the path of a spacecraft going around the asteroid and has spheres

that denote the locations of the sun, earth, and spacecraft on the small body. I changed the

spheres to cones so that they show proper direction, allowing scientists to understand what the

asteroid would look like from a telescope or other instruments. I am currently working on the

GUI portion of the program so that the cones can be toggled on and off. In the future, I hope that

I can program it so that clicking a button will move the camera into the position of the
spacecraft, allowing scientists to see the surface of the asteroid the way the spacecraft saw it. I

also hope to do a lot more related to the camera and the time animation. In addition to the work I

do, my mentor has taught me a lot about physics, math, and programming. As I continue to work

there, I want to learn more about science and programming.

Through my time at APL, I have gained an invaluable experience that has helped me

learn so much more than I had expected. I have learned much about the topic of 3D modeling

and programming as well as different programming techniques. The people I have met there have

been helpful and inspiring. The project I am currently working on challenges my programming

skills and have helped me out immensely in school. Going to this internship has been the best

experience of my high school career and has helped me find something I truly love.

S-ar putea să vă placă și