Sarah Veatch, Associate Director of Graduate Studies and Professor of Biophysics and Physics, has crafted a unique introductory scientific computing course with Python programming. As interest grows in non-computer science courses incorporating computational skills, Sarah’s approach offers students valuable tools to explore scientific problems in new ways.
Shifting the Focus to Problem-Solving with Code
The primary objective of Sarah’s course is to help students become comfortable using computers to address scientific questions. "We aim to empower students with programming skills so they can solve problems," she says. Instead of focusing on narrow, specific problems, the course equips students with tools to gather information and encourages excitement about doing science.
This computational approach encourages students to think like a computer—something often absent from traditional biology curricula. "Thinking like a computer helps you set up a problem in a way that lets you exploit the power of computation," Sarah notes, expanding their problem-solving capabilities.
A Modular Approach to Learning
Meeting twice a week, the course introduces new topics with each session. Sarah assigns 2-4 smaller assignments per period within CodeGrade, providing students with frequent opportunities to engage with new material. “Before it had been one or two notebooks, but now we split things into smaller pieces” she explains, allowing students to learn incrementally. This shift helps students build on their skills gradually and feel less overwhelmed. As students are from backgrounds outside of Computer Science, this can be extremely helpful.
All assignments are formative, emphasizing learning and practice rather than high-stakes evaluation. In the second half of the course, students tackle larger projects that integrate computational work with written reports, while mini-practice problems throughout the semester reinforce key concepts.