Finding the Right Tool for the Job

Michael Ray, Physics & Astronomy, California State University-Sacramento

As an experimental physicist, most of the computational work I do comes in the form of data analysis, and this is also true in the advanced undergraduate laboratory class that I teach. In the end, all we can really measure in the laboratory is a voltage, and we need to be able to infer the value of other properties of the system from these voltages. So students must be able to take the data they have collected in the lab, and use it to compute other quantities. Thus, it is important to have a good tool (i.e. data analysis software) with which to do this work. These tools can cost anywhere from several hundred to a few thousand dollars for a license. Although this is usually not a problem in a research lab, where a grant can pay for these tools, it is a different story in a teaching lab, where we often must ask students to obtain the software needed to perform the work.

When selecting a particular program to use in my laboratory courses for data analysis there are two important considerations: (1) Ease of use/relatively short learning curve, and (2) cost of the software to the student. Over the past few years I have used gnuplot as the data analysis tool that I teach students in the advanced laboratory course. This is a free, command-line driven graphing program. As a freely available program, it certainly satisfies consideration (2). However, although interface has improved over the years, it can be frustrating for students to use, and very often requires them to search google for solutions to problems they encounter.

These problems have led me to search for a new data analysis tool to teach students in class. I considered using Python, however I quickly found that most of the resources for python centered around theoretical computational work, and there was very little about how to handle analysis for experimental data. I was also turned off by the de-centralized nature of the environment. When I had a problem, a search would return several different solutions, but none of them would explain how the solutions work.

In the end, a key development led me to start implementing MATLAB in the course. This occurred when the California State University system obtained system-wide use of the software. With this program, students and faculty could use MATLAB for free, making it a very attractive option for use in class. As MATLAB is widely used throughout both academia and industry, adopting it in class would give students valuable experience using an important tool. Additionally I have always been a fan of the documentation that MATLAB provides, making it very simple to find information without resorting to web searches.

With the decision to implement MATLAB as the data analysis tool for the advanced physics laboratory course, I am now faced with the task of having to develop material so that students both learn how to use the software, and also learn techniques for properly analyzing and showing the results. I also need to develop a plan to assess students' data analysis skills. In the past I have given students wide latitude on how they perform the necessary data analysis for their experiments, however, this has led to some less than ideal results. In switching to MATLAB, I have the opportunity to develop new methods for assessing student work. My hope is that during this workshop I will be able to learn some techniques for this, to make the class a great experience for the students.

Downloadable version of this essay

Finding the Right Tool for the Job (Acrobat (PDF) 43kB Aug23 19)