We may earn an affiliate commission when you visit our partners.
Guilherme Matos Passarini, phD

Did you know that, nowadays, programming is everywhere, especially in science? This course is for those who want to model basic problems of physics computationally. In this course, we will use one of the most popular programming languages: Python. Python is a programming language used in different fields, such as data science, statistics, artificial intelligence, and also scientific computing.

Read more

Did you know that, nowadays, programming is everywhere, especially in science? This course is for those who want to model basic problems of physics computationally. In this course, we will use one of the most popular programming languages: Python. Python is a programming language used in different fields, such as data science, statistics, artificial intelligence, and also scientific computing.

Here, we will use this programming language to solve basic problems of physics. By basic problems of physics, I mean high school level problems, like calculating the velocity, solving electric circuits, thermal dilation, etc. A perfect match for those that are in basic scientific areas and want to start learning how to program.

At the end of the course, you will have a brief introduction to two third-party libraries of Python:

1-Numpy, which is primarily used for number crunching and linear algebra, and

2-Matplotlib, the most commonly used library to plot data in Python.

Each session of the course is divided into three parts:

1-Basic Python lectures:

In these lessons, you will learn how to use the basic commands, data structures and functions of Python

2-Exercises:

In these lessons, I propose exercises to be solved and explain how these exercises are supposed to be solved

3-Solution:

In these videos, I show you the solution of the exercises step-by-step

Throughout this course, you'll solve 20+ exercises to model problems of physics with Python, including:

  • Calculating the force

  • Gravitational force formula

  • Text manipulation with strings

  • Thermal expansion formulas

  • Solving a quadratic equation

  • Building a menu to choose formulas

  • Calculating the Euclidean distance between two atoms

  • Simulating a physics exam

  • Creating functions for temperature conversion

  • Plotting the trajectory of an object

and many more.

Therefore: if you wish to model basic physics' problems and learn one of the most popular programming languages, then this course is for you.

Enroll now

What's inside

Learning objectives

  • You'll learn how to model problems of physics computationlly
  • You'll develop algorithmic thinking
  • You'll review some concepts of physics
  • You'll learn one of the most popular programming languages

Syllabus

Goal: to introduce the course and we will see in it

Goal: to introduce the course and explain how it is structured

Goal: to introduce the Programming language Python

Read more

Goal: to introduce the COLAB environment

Goal: to introduce the concept and use of variables and data types in Python

Goal: to introduce the concept of variables and data types to solve physics problems

Goal: to introduce the concept of arithmetic operators to solve physics problems

Goal: to introduce the concept of user input to solve physics problems

Goal: to reinforce the learning process with physics exercises

Goal: to introduce the concept and use of colections (tuples, lists and dictionaries) in Python
Goal: to introduce the concept and use of strings in Python

Goal: to introduce the concept of tuples to solve physics problems

Goal: to introduce the concept and use of logical operators and conditional statements in Python

Goal: to introduce the concept of relational and logical operators to solve physics problems

Goal: to introduce the concept of conditionals to solve physics problems

Goal: to introduce the concept of complex and nested conditions to solve physics problems

Goal: to introduce the concept of lists to solve physics problems

Goal: to introduce the concept of dictionaries to solve physics problems

Goal: to introduce the concept and use of loops in Python

Goal: to introduce the concept of loops to solve physics problems

Goal: to introduce the concept of while loops to solve physics problems

Goal: to introduce the concept and use of modules in Python

Goal: to introduce the concept of nested data structures to solve physics problems

Math module
Time module
Random module
Goal: to introduce the concept and use of functions in Python
Definition and introduction to functions
Optional parameters, nested functions and docstrings
Goal: to introduce the Numpy module in Python and the mostly used functions and commands of this library
Difference in operations between numpy arrays and lists
Representing matrices and matrix multiplication
Goal: to introduce the concept and use of errors, exceptions, and error treatment in Python
Errors and exceptions in Python
Treating errors and exceptions
Methods available both in arrays and lists
Arrays may have more than 1 dimension
Additional functions of the numpy module
Matrices and linear systems

Goal: to reinforce the learning process of Python applying on physics exercises

Intro to line charts
Goal: to introduce the graphical library matplotlib in Python
Intro to bar plots
Intro to pie charts
Extra section
Bonus lecture

Save this course

Save Physics + Python - Solve basic physics problems with Python to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Physics + Python - Solve basic physics problems with Python with these activities:
Review Basic Physics Concepts
Reinforce your understanding of fundamental physics principles before starting the course. This will make it easier to grasp the computational aspects.
Browse courses on Kinematics
Show steps
  • Review notes from previous physics courses.
  • Work through practice problems on Khan Academy.
  • Identify areas where you feel less confident.
Brush Up on Basic Python Syntax
Practice basic Python syntax to ensure you can follow the code examples in the course. This will reduce frustration and improve your learning experience.
Browse courses on Python Syntax
Show steps
  • Complete a beginner-level Python tutorial on Codecademy or similar platform.
  • Write simple programs to practice using variables, loops, and functions.
  • Debug common syntax errors.
Read 'Python Crash Course'
Use this book to get a solid foundation in Python programming. This will help you better understand the code examples and exercises in the course.
Show steps
  • Read the first few chapters covering basic Python syntax and data structures.
  • Work through the example projects to practice your skills.
  • Refer back to the book as needed throughout the course.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Solve Physics Problems with Python
Practice solving physics problems using Python code. This will reinforce your understanding of both physics and programming concepts.
Show steps
  • Choose a set of physics problems from your textbook or online resources.
  • Write Python code to solve each problem.
  • Compare your solutions to the textbook answers or online solutions.
  • Debug your code and correct any errors.
Create a Physics Problem Solver
Develop a Python program that solves a specific type of physics problem. This will solidify your understanding of both physics and programming.
Show steps
  • Choose a physics problem to solve (e.g., projectile motion, circuit analysis).
  • Design the program's input and output.
  • Write the Python code to solve the problem.
  • Test the program with different inputs.
  • Document your code with comments.
Explore 'Computational Physics'
Use this book to expand your knowledge of computational physics. This will help you tackle more complex problems and develop more sophisticated solutions.
Show steps
  • Browse the table of contents to identify topics of interest.
  • Read chapters related to the physics problems you're interested in solving.
  • Experiment with the code examples provided in the book.
Simulate a Physics Experiment
Develop a Python simulation of a physics experiment. This will allow you to explore the behavior of physical systems in a controlled environment.
Show steps
  • Choose a physics experiment to simulate (e.g., pendulum motion, collisions).
  • Research the physics principles governing the experiment.
  • Write Python code to simulate the experiment.
  • Visualize the results of the simulation using Matplotlib.
  • Compare the simulation results to experimental data.

Career center

Learners who complete Physics + Python - Solve basic physics problems with Python will develop knowledge and skills that may be useful to these careers:
Scientific Programmer
A scientific programmer develops software and tools for scientific research and analysis. Those in this role write code to simulate experiments, process large datasets, and visualize results. This course directly aligns with a scientific programmer career. The course teaches the use of Python to model basic physics problems, and the course also introduces NumPy and Matplotlib. The course focuses on applying programming to solve tangible problems, and the course's collection of exercises also provides practical experience in scientific computing.
Computational Physicist
A computational physicist develops and applies numerical methods and simulations to solve complex physics problems that are difficult or impossible to solve analytically. Those in this role devise algorithms and write code to model physical systems, analyze data, and visualize results. This course may be helpful because it teaches how to model basic physics problems computationally using Python. With the course's focus on using Python to solve high-school level physics problems, along with its brief introduction to Numpy and Matplotlib, learners can gain a basis in how to approach computational solutions to physics.
Data Scientist
A data scientist analyzes large datasets to extract meaningful insights and develop data-driven solutions. This often involves using programming languages like Python to perform statistical analysis, build predictive models, and visualize data. This course may be useful since it introduces Python, along with libraries like NumPy and Matplotlib, in the context of solving physics problems. The course helps build a foundation for using computational tools to analyze and interpret data, skills applicable to data science. It helps build algorithmic thinking, which is critical in data science.
Simulation Engineer
A simulation engineer develops and uses computer simulations to model and analyze complex systems or processes. This includes creating models, running simulations, and analyzing the results to optimize performance or predict behavior. This course may be useful for simulation engineers, as it teaches how to model physics problems. This experience provides a foundation for building more complex simulations. The course has a focus on using Python, along with numerical libraries, to simulate physical phenomena.
Physics Teacher
A physics teacher educates students on the principles of physics, often incorporating demonstrations and problem-solving activities into their lessons. Understanding computational methods can enhance their teaching by providing new ways to illustrate complex concepts. This Physics + Python course may be helpful for physics teachers, as it teaches how to model basic physics problems using Python. By integrating programming into their teaching, teachers can engage students in interactive simulations and visualizations. Those who teach at the high-school level would find the included basic physics examples particularly relevant.
Data Analyst
A data analyst collects, processes, and performs statistical analyses of data. They also visualize data and create reports. Often, data analysts need to know how to program. This Physics + Python course may be useful, as it teaches the use of Python to solve physics problems. Moreover, it introduces Numpy for number crunching and Matplotlib for visualizations. A data analyst should consider enrolling in the course.
Research Scientist
A research scientist conducts experiments and analyzes data to advance scientific knowledge. They often use computational tools and programming languages to model complex systems and interpret results. This course may be useful for research scientists. By learning Python and its application to physics problems, scientists can gain skills in computational modeling and data analysis. The course helps them leverage programming to enhance their research capabilities. It will also introduce the use of Numpy for number crunching and linear algebra.
Quantitative Analyst
A quantitative analyst, often working in the finance industry, uses mathematical and statistical models to analyze data, assess risk, and develop trading strategies. They also use programming to develop and implement these models. This course may be useful for quantitative analysts, since it discusses how to do number crunching and linear algebra with the Numpy library. This course has a focus on computational and algorithmic thinking.
Systems Modeler
A systems modeler creates mathematical or computational models of complex systems to understand their behavior and predict how they will respond to different conditions. The course can help those interested in being a systems modeler because it introduces how to model basic problems of physics computationally using Python. You'll also be introduced to third-party libraries such as NumPy to perform number crunching and Matplotlib to visualize data.
Machine Learning Engineer
A machine learning engineer develops and deploys machine learning models for various applications. The role includes designing, building, and training machine learning algorithms, often using Python. This course may prove beneficial for machine learning engineers by providing a foundation in Python programming and numerical computation using NumPy. The course helps to strengthen the understanding of Python and mathematical libraries, elements essential for machine learning tasks.
Research Software Engineer
A research software engineer develops and maintains software used in research environments. They work closely with researchers to translate their needs into functional software tools and pipelines. This course can help those interested in being a research software engineer because it introduces the programming language Python. The course provides a foundation to build on for software development. It also covers using Matplotlib to plot data.
Financial Engineer
A financial engineer applies mathematical and computational methods to solve complex financial problems. They design and develop new financial instruments, create models for pricing and hedging, and manage risk. This Physics + Python course may be useful for financial engineers as it teaches Python programming and numerical computation using NumPy. The course also helps build algorithmic thinking.
Software Developer
A software developer designs, develops, and tests software applications. While this role is broad, the skills gained in this course, such as programming in Python and algorithmic thinking, can be valuable assets. This course may be useful for software developers, as it provides experience in using Python. This experience with programming language provides a foundation for building more complex software solutions. The course helps one to develop algorithmic logical thinking.
Robotics Engineer
A robotics engineer designs, builds, tests, and maintains robots and robotic systems. Python is often used in robotics for tasks such as perception, control, and planning. This course may be useful for robotics engineers because it introduces the Python programming language. This course also focuses on the development of algorithmic thinking. Robotics engineers typically need a bachelor's degree in engineering, computer science, or a related field; a masters degree is often preferred.
Actuary
An actuary analyzes and manages risks, especially in insurance and finance, through the application of mathematical, statistical, and financial theories. While this role is traditionally associated with actuarial exams and certifications, the programming skills learned in this course can enhance an actuary's ability to build and analyze complex models. This course may be useful as it teaches Python, a language valuable for data analysis and modeling in actuarial science. This course also helps build algorithmic thinking.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Physics + Python - Solve basic physics problems with Python.
Provides a solid introduction to Python programming, covering fundamental concepts and practical projects. It's particularly useful for beginners or those who want a refresher on Python syntax and programming techniques. The project-based approach aligns well with the course's focus on solving physics problems computationally. While not specifically focused on physics, it provides the necessary Python skills.
Delves deeper into computational physics techniques, providing a more advanced perspective than the course itself. It covers a wider range of topics and algorithms, making it a valuable resource for further exploration. While not required for the course, it can enhance your understanding and provide inspiration for more complex projects. It is often used as a textbook in upper-level undergraduate and graduate courses.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser