Learn how Sarah Veatch’s scientific computing course at the University of Michigan helps students develop Python skills and computational thinking to tackle scientific challenges.
October 10, 2024

Course spotlight: Empowering Scientists at University of Michigan

In 30 seconds...

Sarah Veatch’s scientific computing course at the University of Michigan empowers students from various fields to use Python programming for solving scientific problems. With a focus on hands-on learning and real-time feedback, students develop computational thinking skills to tackle science in new, innovative ways.

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.

Support students from all disciplines on their coding journey today!

Continue reading

Best Paid Autograders for University Programming Courses (2026)

A side-by-side comparison of the best paid autograders for university programming courses in 2026 — CodeGrade, Gradescope, Codio, and Vocareum — covering pricing, features, and LMS integration.

Best Autograders for University Programming Courses You Can Start Using for Free (2026)

A practical comparison of six free autograders for university programming courses in 2026 — including CodeGrade, GitHub Classroom, Gradescope, Autograder.io, Otter Grader, and nbgrader.

How to Grade Code Quality, Not Just Correctness

Learn how to automate code quality checks in CodeGrade using Flake8, Checkstyle, Semgrep, and clang-tidy — no manual review or custom YAML required.

Sign up to our newsletter