Math department chairman Thomas Treloar uses com­puter pro­gramming in his sta­tis­tical learning class. Madeleine Jepsen | Col­legian

Approx­i­mately 120 stu­dents on campus have worked on coding projects or used com­puter pro­gramming in one of their classes over the last two years, according to math­e­matics department chairman Thomas Treloar.

“Over the last two years, we are easily serving a larger number of stu­dents with pro­gramming oppor­tu­nities than at any other time in the 15 years that I have been at the college,” Treloar said.

At Hillsdale, com­puter coding can be found in the classroom setting in courses such as sta­tis­tical learning, math­e­matical sta­tistics, numerical analysis, and math­e­matical mod­eling.

Com­puter pro­gramming sem­inars have been offered in the past and will return soon: Assistant Pro­fessor 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 sci­en­tific uses of the Python lan­guage during the spring 2019 semester.

Stu­dents and pro­fessors also use coding during research projects.

Dolch said he often spends con­sid­erable time with his summer research stu­dents as they learn coding for their projects.

“The student some­times comes into it not knowing Python, so I’ll spend time teaching them,” he said. “Or if they know Python — that’s the main lan­guage 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 pro­gramming, 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 mea­surement of how bright it is, and then com­pares 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 Pro­fessor of Physics Ryan Lang’s work with the LIGO col­lab­o­ration involves making small adjust­ments to pre-existing codes. He said it can be a chal­lenge 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. Some­times, simple com­po­nents are buried behind layers and layers of pro­gramming, he said.

The project on which he’s cur­rently working involves mod­i­fying pro­gramming so that it can more sen­si­tively detect signals from grav­i­ta­tional waves and dis­tin­guish true signals from false pos­i­tives.

But when Lang has the oppor­tunity 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 impos­sible to analyze by hand, like the stu­dents’ project in Treloar’s sta­tis­tical learning class, which is trying to develop a program that can identify hand­written letters or numbers.

“People write their two’s in so many ways,” Treloar said. “Can the com­puter dis­tin­guish between a two and a three that might look fairly similar?”

Treloar’s own research involves sports ana­lytics and pre­dic­tions.

“The com­puter 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 back­ground and what’s hap­pening to tell the com­puter what you want it to give you.”

Lang said com­puter pro­gramming has a role in many dif­ferent areas of physics.

“Often­times, people like to divide physics up into the­o­retical physics and exper­i­mental physics,” Lang said. “In between, there’s room for sim­u­la­tions and virtual exper­i­ments to see what might happen in dif­ferent sit­u­a­tions. This third area of physics has really become almost equal to the other two, and pro­gramming pops up in a lot of places.”

Projects such as that of Vis­iting Assistant Pro­fessor of Chem­istry Mardi Billman, use coding as a way to sim­ulate a par­ticular sit­u­ation. Billman’s work uses com­puter pro­gramming to model the unlikely bonding process between two dif­ferent types of mol­e­cules in order to determine which chemical and physical prop­erties were most important for bond for­mation.

She said under­standing the lan­guage allowed her to max­imize the coding she needed for her research.

Lang said just becoming familiar with pro­gramming basics will prepare inter­ested stu­dents who may need pro­gramming 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 par­ticular lan­guage or a par­ticular job.”