College of Arts & Sciences Helps Students Tame Python

July 19, 2023
Illustration of python code overlaying a photo of the Rotunda

Craig Group, an associate professor of physics, teaches undergraduates coding skills they need to be competitive in the job market. (Illustration by Emily Faith Morgan, University Communications)

The world is drowning in data.

According to Statista, one of the leading providers of market and consumer data, 90% of the world’s data has been created in just the last two years alone. A new course in the University of Virginia’s College of Arts & Sciences aims to help undergraduate students sift through that information so they can leverage those insights as they enter the job market.

Outside of earning a degree in computer science, learning the coding skills to manage large data sets has been a challenge. That’s where Craig Group comes in.

Group, an associate professor of physics, is providing students the tools they need to analyze and visualize data on a large scale through his course, “Introduction to Python for Scientists and Engineers.” The class teaches practical skills needed to be competitive in an increasingly data-centric world.

The Python course arose from a 2000-level course Group taught that focused on teaching undergraduates the C programming language and computational and statistical analysis techniques. But C is an older programming language with an often-steep learning curve.

“You really couldn’t do much more than learn the basics of C in a one-semester class,” Group said.  “And the language doesn’t include higher-level tools that you could apply to problems in physics or whatever kind of science you might do.”

A conversation with his department’s chair led to the new course that launched in the spring of 2022. It requires no prior knowledge of coding or physics and satisfies general-education requirements.

The course teaches Python, a popular programming language that’s rapidly becoming the language of choice for coders in the sciences, with libraries of ready-made modules and packages that break down tasks. Python also minimizes the amount of code students need to write from scratch.

Although not comprehensive, the course teaches students to do the kind of work they’re likely to encounter in the lab.

“Python is a much higher-level language with a lot of tools just built in that you can use to do more advanced things,” Group said. “And the syntax is really simple. It doesn’t take you as long to get to the point of being able to do something pretty complex like making really nice plots of data that are publication-ready, and you can learn to do that in matter of hours.” 

Group calls the class a boot camp for data scientists.

“By the end of the class, we’re training neural networks and doing some pretty advanced things,” Group said.

The class also teaches students how to solve real-world programming problems in much the same way that a professional programmer would.

Darren Upton, who graduated this spring with an undergraduate degree in physics and will begin a doctoral program in nuclear physics in the fall, worked with Group as a teaching assistant for three semesters. Upton helped Group shape the class into something practical and accessible regardless of students’ background or degree path.

For Upton, learning to code is more about learning to be resourceful.

“The resources for programming are more numerous than you think, but knowing where to look, and knowing how to look for them, is the real skill in programming,” Upton said.  “You just need to know which questions to ask and where to look.”

Group’s class allows students to take a hands-on approach instead of merely listening to lectures. They work in groups on the kinds of problems they’re likely to encounter after graduating before getting the opportunity to demonstrate what they can do on their own.

“I think we owe it to our students not to just teach them physics, but to teach them modern skills that are going to make them marketable, to make them ready to go out into the world to do something that’s super valuable right now,” Group said. “They can certainly use those skills in physics, but they can also use those skills almost anywhere else.”

Lindsay Grose, who graduated in May with a double major in environmental sciences and statistics, was heavily involved in research as an undergraduate at UVA. For Grose, learning coding opened a new world of opportunities.

Determine to Make Alzheimer’s A Memory | Learn More About What It Means to Be Great and Good in All We Do
Determine to Make Alzheimer’s A Memory | Learn More About What It Means to Be Great and Good in All We Do

“Coding lets me do so many more things in so much less time,” Grose said. “And it allows you to do research that’s never been done before.”

Grose will begin a doctoral program at the University of Rhode Island in the fall.

“I can say confidently that I would not have gotten into graduate school for what I want to do without knowing coding,” Grose said. “It definitely makes you a much more desirable candidate.”

Sarah Hunter-Chang, a doctoral candidate in neuroscience, credits her knowledge of coding with her success at UVA. She took a coding class in high school and later realized it might be useful in managing big data sets.

“I think you can definitely have a productive career in science without coding skills,” Hunter-Chang said, “But increasingly, I think you’re going to miss out on opportunities. It opens so many doors.”

Media Contact

Russ Bahorsky

Writer UVA College and Graduate School of Arts & Sciences