Modern inquiry increasingly depends on the ability to formulate problems computationally, reason algorithmically, analyze data, and automate solutions. Whether investigating scientific phenomena, engineering systems, social behavior, or cultural artifacts, computation provides a powerful framework for understanding and solving complex problems.
This course introduces computational reasoning through problem formulation, abstraction, algorithm design, programming, and the interpretation and visualization of data. Students learn to decompose complex problems, identify patterns, design algorithms, and express their solutions as executable computational procedures. They apply these skills to real-world problems and structured datasets, using programming in a high level language to explore evidence, generate visualizations, and interpret results within their disciplinary context.
Designed as a foundational Liberal Arts course, the curriculum equips students with computational skills and habits of mind that support further study in computer science while providing all students with essential tools for reasoning and problem solving in an increasingly computational world. No prior programming experience is required.

