Documente Academic
Documente Profesional
Documente Cultură
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
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
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
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.