Welcome to my personal website hosted by GitHub Pages
Click here to open the PDF of the syllabus
Throughout my time as a physicist, I often thought of programming as an obstacle. In lecture, we would learn several high-level concepts and extremely complicated mathematical equations describing the world around us (whether it be a cylinder rolling down a ramp or an electron jumping from atom to atom in a semiconductor). However, programming was never a requirement for these courses or for the undergraduate physics major. When I asked faculty and administrators about this absence, they often mentioned that the programming skills would come through research.
They were correct – in research I had to learn several programing languages to conduct experiments, analyze data, and ultimately create plots summarizing novel physics. But none of the code I produced would be standard practice in industry or in the field of computer science. I wanted to offer, with this syllabus, a course that tackles that issue. Part of science is analyzing data and interfacing with programming languages to do so. Rather than letting students figure it out in the wild, in this Physics Through Python course, I wanted to offer physics students a scaffold into the world of programming.
For these reasons, I believe that a project-based course (like a laboratory course) can be very beneficial to learning such critical skills. I did not envision the course as a requirement for physics majors, therefore it feels lower stakes than an Intro to Physics course would be, as the instructor usually must speed through several topics. Here, students will spend every week on a single topic: on Mondays we would meet to discuss the physics concept and the equations associated with a phenomenon (such as a pendulum oscillator) and on Fridays we would meet to program together and understand the phenomenon through computer simulations. These programming sessions would happen through mini projects – students are expected to submit whatever they have at the end of the session for review.