• Level of Education

    4-year college degree

  • ECTS

    5 credits

  • Training Structure

    College of Sciences

  • Number of hours

    42h

Description

This course unit covers a review and in-depth exploration of programming techniques, as well as an introduction to computational physics. We will begin with a review of procedural programming using Python 3. We will then take an in-depth look at numerical methods relevant to physics, studying a selection of classical algorithms from numerical analysis and applying them to physics problems.

Read more

Objectives

Learn to program at an advanced level using Python and apply this knowledge to scientific computing. Understand the concepts of numerical error, numerical stability, and algorithmic complexity. Understand and be able to implement selected methods for the numerical computation of integrals, for solving ordinary and partial differential equations, and for Monte Carlo sampling.

Read more

Mandatory Prerequisites

Basic programming skills. Knowledge of computer science, physics, and mathematics at the bachelor's degree level in physics.

Recommended Prerequisites

Proficiency in Python 3 and its modules, particularly NumPy. Courses in the bachelor’s degree program in programming and computational physics, specifically either “Programming for Physics” or “Simulation Tools” in the third year (L3) or equivalent.

Read more

Knowledge Assessment

Comprehensive Continuous Monitoring

Read more

Course Outline

Procedural Programming with Python 3 (Review and In-Depth Study)

Scientific Programming: The NumPy Library

Graphics with Matplotlib

Concepts of Numerical Error, Stability, and Algorithmic Complexity

Numerical integration methods: Newton-Cotes methods, adaptive methods, Gaussian integration

Ordinary Differential Equations: Runge-Kutta Methods, Implicit Methods, Adaptive Methods

Finite Difference Methods for Partial Differential Equations

Sampling and Monte Carlo Integration

Read more