Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Computational Physics: Scientific Programming with Python
Rating: 4.6 out of 5(1,153 ratings)
8,449 students

Computational Physics: Scientific Programming with Python

From numerical methods to exciting applications: Differential equations, eigenvalue problems, Monte Carlo methods & more
Last updated 1/2024
English

What you'll learn

  • Getting Started: A beginner-friendly crash course about NumPy, functions, loops, conditionals, lists, arrays & plots
  • Numerical methods: Derivatives & integrals, differential equations & eigenvalue problems, interpolation & Monte Carlo methods
  • Practice at Physics Problems: Moment of inertia, magnetic field of a wire, radioactive decay, harmonic oscillators, free fall, rolling balls
  • Application to Advanced Problems: Chaotic systems, heat equation, 3-body problem, spaceship mission, coupled pendulums, magnetism, graphene & quantum physics

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

11 sections184 lectures20h 55m total length
  • Hello & Welcome!0:17
  • Structure & Overview of this course5:06

    Learn Python and Jupyter notebooks, install Python, and explore NumPy arrays, visualization, and numerical methods for derivatives, integrals, and differential equations in physics simulations.

  • Installing Python via Anaconda for free6:37

    Learn how to install Python using the free Anaconda individual edition, set up the graphical installer, and use Anaconda Navigator with Jupyter Notebook for Python programming.

  • Jupyter notebook - Our tool of choice5:28

    Jupyter notebook offers an easy, browser-based way to learn Python with selectable kernels and runnable cells, emphasizing cell execution order and the option to restart and run all.

  • Style your notebook3:24

    Explore how to style Jupyter notebooks with markdown, headings, italics, and images, rename notebooks, and create text cells to explain and share your work openly.

  • Test your knowledge about the basics: Python in Jupyter notebooks
  • HOW TO use this course1:25

    Download the template files, watch the videos, and code along to learn by doing. Compare your notebook with the instructor's notebook and download the notes book to reinforce Python concepts.

  • LET'S GET STARTED with scientific programming!0:24
  • (FAQ) Typical problems & errors0:54
  • (optional) Style sheets for your notebook6:17

    Learn how to apply style sheets to Jupyter notebooks using Jupiter themes, install and switch themes like Monarch, troubleshoot permissions by running as administrator, and manage kernels for accessible visuals.

  • (optional) Alternative development environments: For large projects - PyCharm7:06

    Learn to use PyCharm Community for large Python projects: install, create new projects and interpreters, and run Python scripts, noting .py workflow versus notebooks.

  • (optional) Alternative development environments: Allrounder - Visual Studio Code5:36

    Explore Visual Studio Code as a versatile editor for both Jupyter notebooks and native Python files, with color highlighting and kernel selection, while Jupyter notebooks remain the course's primary tool.

  • (optional) Environments & Updates2:18

    Update or install Python packages using Anaconda Navigator and editors like Jupyter, PyCharm, and VS Code; inspect installed packages, Python version, and the base environment.

Requirements

  • Software: None, I will show you how to install Python which is free.
  • Programming: Previous experience is helpful but not required. We start with a 2h crash course.
  • School mathematics: Knowing the basics about derivatives & integrals.
  • Physics: Helpful but not required.

Description

This course is for everyone who wants to learn and get better in Python and physics.

Except for some school mathematics, no prior knowledge is required. We will start from the basics and climb the ladder up to advanced projects!

Python is an enormously powerful tool and widely used in theoretical and computational physics.
It is not difficult to use but the whole topic can be overwhelming to learn if you are on your own.

In computational physics we use numerical techniques from mathematics, such as:

  • Interpolation & Model fitting

  • Derivatives & Integrals

  • Differential equations

  • Eigenvalue problems

  • Monte Carlo methods

to solve problems from all areas of physics.


You are kindly invited to join this carefully prepared course that will teach you all you need to know about Python for scientific programming. It includes a crash course, quizzes, exercises, solutions and, of course, hands-on programming sessions in which we will solve real-life examples, such as

  • Calculating the magnetic field of a charged wire (integrals & derivatives)

  • Chaos & the butterfly effect (differential equations)

  • Heat propagation in a sample (differential equations)

  • Simulating (and navigating) a spaceship interacting with sun, earth and moon (differential equations)

  • The strange behavior of coupled oscillators (Eigenvalue problems, Fourier analysis & fitting procedure)

  • Ferromagnets & Antiferromagnets (Monte Carlo methods)

  • Special properties of graphene (Advanced science lecture about the Nobel prize winning material)

  • ... & many more

Why me?

My name is Börge Göbel and I am a postdoc working as a scientist in theoretical physics.
I have refined my advisor skills as a tutor of Bachelor, Master and PhD students in theoretical physics and have other successful courses here on Udemy.

Especially when I started my PhD, I was impressed how easily you can solve demanding tasks with Python. I have used the program for the results in many of my publications and have recommended Python to all of my students.


“Excellent course, it is just what I was looking for: everything you need to know about Python for solving physics problems from the basics. Very well structured, full of examples and applications to real problems, template files to help you follow the classes and entertaining while instructive explanations.“ - Adrián Terrones Aragón


I hope you are excited and I kindly welcome you to our course!

Who this course is for:

  • This course is for everyone: Python beginners & advanced programmers
  • Everyone who likes physics and/or programming
  • Science students, who want to explore a modern field of physics
  • ... or who want to prepare for their computational physics exam ;-)