A Welcome to Let's Code Physics

posted March 17, 2021
by W. Brian Lane

Let’s Code Physics is a YouTube channel that features hundreds of tutorials and vlogs about using computational methods in a physics context. These videos assume minimal background in physics and programming, and are designed to be easily integrated into your physics course as a pre-class assignment, an in-class video, or an instructional supplement for students wanting to learn more. Each video introduces a starter code available at a link in the video description, which your students can use to continue learning.

Regardless of where you’re at in the process of integrating computation into your physics course, Let’s Code Physics has resources to help you. For example, you might be thinking…

  • “I want to integrate computation into my physics course but I don’t have much experience with computation, myself.” The videos marked for beginners can help you get up to speed while you orient your students.
  • “I want to provide my students with instructional resources that focus equally on physics concepts and computational skills.” Most of the channel’s videos give equal air time to both sets of learning objectives.
  • “I want my students to learn how a computational method works but I don’t want to spend class time reading code to them or having them write code from scratch.” These videos are designed to walk students through each computational method step by step before or after class.
  • “The textbook I use doesn’t include any computation. I need resources to fill this gap in my class.” Each video includes a link to one or more starter codes you can use as the basis for an activity.

So where should you get started to find something helpful? Below, you can find video playlists grouped by your curricular needs. Just identify what you’re trying to do in your course, and you can find videos and sample codes to help you get started.

  • Videos for Absolute Beginners - These playlists assume exactly zero prior programming or physics experience. They’re designed with first-time adopters and first-year students in mind.

    • VPython for Beginners One of the most popular Let’s Code Physics series, this playlist can help you and your students get started with the popular VPython/GlowScript programming environment. These videos focus on just using the code, and don’t incorporate any physics content. Most of these videos are designed to stand independently, so unless the video notes otherwise, there’s no need to watch them all in order; you can jump around as you need.
    • Euler-Cromer Method for Beginners The Euler-Cromer Method of solving differential equations like Newton’s Second Law is a foundational piece of many computational activities. This series walks students through this method beginning at a Calculus I level and building to incorporate vectors and physics applications.
    • Tracker for Beginners This series demonstrates the many uses of the freely available Tracker video analysis software for the physics lab setting.
    • Coding Physics with Spreadsheets Many students find it more accessible to work with spreadsheets than to write code scripts, so this series uses spreadsheets to introduce basic computational practices in a physics context.
    • Coding for High School Physics These 52 videos are designed to touch on all major subjects in a high school physics course, with activities included with every video.
    • Electric and Magnetic Fields These are sample codes that my students worked with in Calculus-based Physics 2, with a focus on numerical integration.
  • Videos for Lower-Division Physics - These playlists are designed to be integrated into a first- or second-year physics course, either at the introductory level or as a bridge between introductory and junior-level physics courses.

    • Euler-Cromer Method for Beginners The Euler-Cromer Method of solving differential equations like Newton’s Second Law is a foundational piece of many computational activities. This series walks students through this method beginning at a Calculus I level and building to incorporate vectors and physics applications.
    • Tracker for Beginners This series demonstrates the many uses of the freely available Tracker video analysis software for the physics lab setting.
    • Electric and Magnetic Fields These are sample codes that my students worked with in Calculus-based Physics 2, with a focus on numerical integration.
    • Computational Problems for Intro Physics (M&I Supplement) These videos feature activities I designed to supplement the Computational Problems in Chabay & Sherwood’s Matter and Interactions introductory text.
    • Beyond Simple Harmonic Motion This series begins with a computational model of simple harmonic motion, and then expands the model to include damping, driving, non-linear oscillations, and finally chaos.
    • Let’s Build a Solar System! This series begins by modeling two-body graivation and expands to include multiple bodies, asteroids, and advanced analysis.
  • Videos Focused on Computational Methods - I created these playlists as a video textbook for a sophomore-level course in computational research methods. They can also be used to give upper-level students a quick introduction to a method you want to use in a content-focused course (for example, if you wanted to use finite differences to study stationary states in an upper-level quantum mechanics course). These videos tend to be light on direct physics applications but instead focus on the structure and uses of a given method.

    • Interpolation for Beginners An introduction to linear interpolation, Lagrange interpolation, and cubic splines.
    • Random Walks An introduction to random walks in multiple dimensions.
    • Euler-Cromer Method for Beginners The Euler-Cromer Method of solving differential equations like Newton’s Second Law is a foundational piece of many computational activities. This series walks students through this method beginning at a Calculus I level and building to incorporate vectors and physics applications.
    • Learning the Runge-Kutta Method The next logical step from Euler-Cromer, Runge-Kutta allows students better control over the accuracy and efficiency of their simulation.
    • Numerical Integration for Beginners This series returns students to Rieman sums (which many forget shortly after completing Calculus II) and explores the computational power of calculating analytically intractable integrals.
    • Intro to Finite Differences This series begins by motivating students to consider key differences between an initial value problem and a boundary value problem, and then explores the use of finite differences to study boundary value problems in multiple dimensions.
  • Videos for Upper-Division Physics - I created these playlists as video textbooks for upper-level content-focused courses. They’re structured to bridge theoretical concepts to the computational methods used to study those concepts, with an emphasis on exploring analytically intractable problems.

    • Introducing Relativity This series uses the VPython/GlowScript environment to help students visualize the strange behaviors in special relativity.
    • A Journey through Modern Physics I created this series as a complement to Thornton, Rex, & Hood’s Modern Physics for Scientists and Engineers, relying on a combination of VPython/Glowscript and Jupyter notebook help students visualize the strange behaviors in relativity and quantum mechanics.
    • Physics in 3D This series helps students begin to work with vectors and vector calculus in three dimensions, complementing the first chapter of most upper-level classical mechanics or electromagnetic theory textbooks.
    • Computational Electromagnetism This series uses Jupyter notebook and Matplotlib to help students visualize electric and magnetic fields created by charge and current distributions.
    • Fun with Lagrangians This series (currently in development) reviews using Lagrange’s equation to determine equations of motion and then applies those equations of motion in VPython/Glowscript and Jupyter notebook to visualize the resulting motion.
    • Computational Quantum Mechanics This series uses VPython/Glowscript to help students visualize and study time-evolving quantum systems.

Is there a topic or computational method that you don’t see represented above? Let me know! I’m always looking for new suggestions. Are you thinking of a video about computational physics that you’d like to make? I’d love to help you get started and host the video on Let’s Code Physics!