Experiential learning encompasses any activity in which a student is actively engaged in their education inside or outside of the classroom. At Trinity, experiential learning includes undergraduate research opportunities inside and outside of the classroom, volunteer experiences, internships, study abroad opportunities, and more.

By Allyson Mackender – 

This summer, with the help of computer science professor Seth Fogarty, Charlie Stein ‘18 worked to create a new domain-specific programming language (DSL) for mathematicians specializing in dynamical systems. A previous article discussed the numerous practical uses of Stein’s research, and this semester these implications finally came to fruition when the program was published on CRAN


“This semester we put out all the fires,” Fogarty said. Once these fires were extinguished the program was made open source on CRAN for anyone in the world to access and use.

The process to have their language, “dsmodels: A Language to Facilitate the Creation and Visualization of Two-Dimensional Dynamical Systems,” published on CRAN is rather extensive. Stein and Fogarty had to complete documentation and examples for all the code, respect and acknowledge trademarks, and pass test cases before they were finally accepted.

Publishing their code on CRAN has two primary benefits. First, the program they have created took common coding patterns and made them more efficient, allowing for operations done frequently to be completed more quickly and easily. Their code allows for rapid iterations, so anyone who accesses it will be able to work more efficiently. Second, the program helps guide new people in the field by showing standard visualizations. “The choice of what operations you support suggests what operations you’ll do,” Fogarty explained. For those new to dynamical systems, Stein and Fogarty’s code will serve as a sort of blueprint, modeling the most standard visualizations. 

An example of a visualization created using the code.
What’s more exciting to Stein and Fogarty, though, are the improvements to the code that will certainly be made in the future. Since the program is now open source, anyone can access and use the code. The team hopes to continue improving the code to meet the needs of their users, who can submit “issues” through the GitHub page. This means Stein’s research does not end here. While he and Fogarty work on a paper to be published, they will continue to make improvements to the program. As for Fogarty’s goals for Stein, he is looking forward to presenting their research.

“Presenting is a unique and terrifying experience,” Fogarty laughed, “One that Charlie should have.”

Stein still has the same love for research that he expressed this summer, and much of this passion has been instigated by Fogarty’s approach to undergraduate research. “I would rather have a smaller project and have the student experience the entire scope, from conception to presentation,” Fogarty said. Stein has had the chance to do just this, serving an integral role in a project that he helped to create.

“Research is a really meaningful experience,” Stein said, “This project has made me not want to leave school so I can just keep doing research.”

“And that’s how professors are born,” Fogarty added.

If you would like more information on Fogarty and Stein’s research, please visit their CRAN, GitHub, or documentation page. For more information on Trinity’s computer science department, visit their webpage.