Computing for Physics

Welcome to the homepage of Computing for Physics, a 10-week course for physics students to learn programming and apply their skills to solving interesting problems in physics. This course was developed by Jennifer Klay in collaboration with Brian Granger, at Cal Poly San Luis Obispo over the course of several years (2012-2014).

Our aim was to prepare a framework that would allow us to develop materials and practices collaboratively to be shared openly online with anyone interested in either taking or instructing such a course. Although the present software platform is the iPython notebook, we may in the future adapt it for different languages or environments. If you are interested in contributing to this project, fork the repository and code away. We will gladly entertain pull requests.

An overview of the course was presented at the SciPy2014 conference in Austin, TX. The conference proceeding provides a written summary of the course experience. You can also view the video of my talk here.


The materials are organized by category as either content or resources. Content includes a variety of lessons on specific topics and associated exercises, while Resources provide background materials, course schedule and syllabus, notes and information for assessment of learning, etc.

Contact us

Feel free to contact us: Jennifer Klay, Brian Granger if you have any questions, feedback, or want to contribute.

All content is under a modified MIT License, and can be freely used and adapted. See the full license text here.