Over the course of the summer I have been updating you on my computer science internship at the Oregon Health Sciences University. In my last post I described how I completed two software programs in Python to expand a data analysis software package for proteomics research. I finished these programs about halfway through the internship, and spent the rest of my time doing data analysis with our software package.
Data analysis was completely different from both computer programming and from my experience doing protein research in the past. While we were performing experiments with hypotheses, methods, results, and conclusions, all of the work was done through testing and interpreting computer data sets. I had never done this type of experimentation before, and had previously thought of computer programming as limited to applied program design rather than academic work.
In many ways, the work that I did helped me to understand aspects of proteomics that I had never thought about. I realized that all proteomics experiments, by nature, produced large amounts of data presented in computer results files, but I had never thought about the steps involved in producing these files. In learning how things worked under the hood on the software side, I also learned how mass spectrometry, protein chemistry, and laboratory methods worked in more detail.
At the same time, I also learned how many types of data fit similar mathematical models. Although the work that I was doing was primarily biochemistry and proteomics, genomics and physics data tends to follow similar patterns. Statistical, mathematical, and computer analysis techniques can be applied to a variety of scientific fields, making the quantitative and computer science sides of science relatively tailored to interdisciplinary work.
Moreover, computer science is evolving constantly, but the underlying science tends to stay relatively constant. One thing that this internship taught me is how readily many scientists pick up new computer tools and languages, or even scientific methods, on their own. Most computer scientists have to be self taught to keep up in their field, and the same is true for scientists, who must adapt to the latest technological tools without necessarily obtaining formal classroom instruction.
In short, my internship taught me a lot about learning and self-motivation. I think that it prepared me to do independent work very well. I now feel confident about picking up new programming languages quickly, and in adapting my programming style and knowledge to new circumstances. I also learned a lot about the academic side of computer science and data analysis, which has inspired me to continue to pursue computer science research. Computer science research is so exciting because it allows me to incorporate programming, language and logic, critical analysis, and writing into one career. Although computer science work can be highly technical and detailed, it can be equally abstract. The versatility of the field, not to mention the variety of computer applications, is really exciting.
That’s all for now about my internship. I’m keeping up with the lab to continue to work on and write about our project, so I may have some more updates as the semester goes along.