Approximately 120 students on campus have worked on coding projects or used computer programming in one of their classes over the last two years, according to mathematics department chairman Thomas Treloar.
“Over the last two years, we are easily serving a larger number of students with programming opportunities than at any other time in the 15 years that I have been at the college,” Treloar said.
At Hillsdale, computer coding can be found in the classroom setting in courses such as statistical learning, mathematical statistics, numerical analysis, and mathematical modeling.
Computer programming seminars have been offered in the past and will return soon: Assistant Professor of Physics Timothy Dolch said there may be a weekend-long intensive coding course offered this fall and plans to teach a full-length course about the scientific uses of the Python language during the spring 2019 semester.
Students and professors also use coding during research projects.
Dolch said he often spends considerable time with his summer research students as they learn coding for their projects.
“The student sometimes comes into it not knowing Python, so I’ll spend time teaching them,” he said. “Or if they know Python — that’s the main language I use — then we spend a lot of time working with their skills on it.”
In research, the novelty of a project often will require some sort of coding or adjustment of pre-existing programming, Dolch said. He has used coding in his work with pulsars to screen through enormous amounts of data to find the brightest pulses.
“You end up needing to write some code, or your own program, that goes through every single pulse and does a measurement of how bright it is, and then compares that to the rest of the pulses,” Dolch said. “For a dataset of this size, to break it up into pieces the right way, we had to write our own code.”
Assistant Professor of Physics Ryan Lang’s work with the LIGO collaboration involves making small adjustments to pre-existing codes. He said it can be a challenge to find the place he wants to modify and to make sure the changes he’s making have the desired effect. Then, he runs the program to see if it works. Sometimes, simple components are buried behind layers and layers of programming, he said.
The project on which he’s currently working involves modifying programming so that it can more sensitively detect signals from gravitational waves and distinguish true signals from false positives.
But when Lang has the opportunity to write his own coding, he said the debugging process is much more enjoyable.
“I think it can be really fun to dive in and try to find the bugs,” Lang said. “When you do solve one, it’s the greatest feeling, like you just solved a puzzle that you created yourself.”
Some tasks use coding as a way to sort through datasets that would be impossible to analyze by hand, like the students’ project in Treloar’s statistical learning class, which is trying to develop a program that can identify handwritten letters or numbers.
“People write their two’s in so many ways,” Treloar said. “Can the computer distinguish between a two and a three that might look fairly similar?”
Treloar’s own research involves sports analytics and predictions.
“The computer gives you a tool to analyze things that you really have no ability to analyze without it just because the dataset is too large,” Treloar said. “But it can’t think for itself, so then you have to know enough of the background and what’s happening to tell the computer what you want it to give you.”
Lang said computer programming has a role in many different areas of physics.
“Oftentimes, people like to divide physics up into theoretical physics and experimental physics,” Lang said. “In between, there’s room for simulations and virtual experiments to see what might happen in different situations. This third area of physics has really become almost equal to the other two, and programming pops up in a lot of places.”
Projects such as that of Visiting Assistant Professor of Chemistry Mardi Billman, use coding as a way to simulate a particular situation. Billman’s work uses computer programming to model the unlikely bonding process between two different types of molecules in order to determine which chemical and physical properties were most important for bond formation.
She said understanding the language allowed her to maximize the coding she needed for her research.
Lang said just becoming familiar with programming basics will prepare interested students who may need programming for future jobs.
“To bring that skill in a little bit more — it’s a critical thing because there are so many great tech jobs that are out there,” Lang said. “Once you know the basic ideas, you can start picking up the specifics of a particular language or a particular job.”