An introduction to problem-solving through computer programming with special focus on application to problems relevant to physics, chemistry, and biology. Students learn how to read, modify, design, debug, and test algorithms that solve problems. Programming concepts include control structures, problem solving strategies, abstraction, recursion, and modularity. Students explore these concepts in the context of interactive programs, data processing, and graphical and numerical analysis, using the Python programming language. Students are required to attend a 2.5-hour lab where they will apply concepts learned in lecture to study topics at the intersection of chemistry and physics. Topics might include: chemical kinetics, numerical integration, molecular dynamics, computational biology, Monte Carlo techniques, and basic statistical analysis.

This course has a required co-requisite Laboratory - CS 112L.

Units: 1

Max Enrollment: 24

Prerequisites: MATH 115 and fulfillment of the Quantitative Reasoning portion of the Quantitative Reasoning and Data Literacy requirement. Prerequisites or Co-requisites - a 100-level introductory science course for science majors with lab or equivalent. Please check in with the course instructor if you have questions whether a particular 100-level course counts as a prerequisite.

Distribution Requirements: MM - Mathematical Modeling and Problem Solving

Typical Periods Offered: Spring

Semesters Offered this Academic Year: Spring