Learning outcomes

Write programs with structuring elements (including procedures, subroutines, functions, ...) and understanding the programming logic and respecting the syntax.

Implement simple algorithms in a compiled programming language based on some basic algorithms for a physicist (numerical integration, root search, data adjustment, random numbers).

Elements of numerical analysis (Errors, complexity) to become aware of the contributions and limits of digitalization

Goals

Mastering a programming language to become a program designer to solve physics problems.
 
Understanding the strengths and weaknesses of a numerical approach to solving problems in physics

 

Content

The course propose an introduction at the programming context (structure of a computer, operating systems, ...). The student get familiar with a compiled language (FORTRAN) and addresses the structure of complexe programming (subroutine, function, structure, tables, files, ...). The student will be brought to implement numerical solution usefull for a physicist.

Table of contents

  1. Introduction : computational physics
  2. Basis and first codes
  3. Branching, loop and organizational charts
  4. Tables
  5. Input and output
  6. Procedures
  7. Numerical methids

a. Dérivation

b. Optimisation

c. linear fitting

d. Interpolation

e. Integration

8.Randon Number

9.Code Optimisation

10.Advances topics

 

 

Pre-requisites

Introduction to scientific computing [SPHYB128]

Teaching methods

Most of the teaching is based on programming by the students with goings and comings with more formal approach. All the teaching takes place in a computer pool where the student work individualy.

Assessment method

The course assessment is structured as follows:

  • One-third of the grade is based on an exam during the January semester (lectures + practical sessions). The student's ability to write or analyze code based on formal principles (algorithms) will be assessed.

  • One-third is based on the continuous assessment of programs developed by the student during the second semester, completed both in person during practical sessions (attendance is mandatory) and remotely.

  • One-third is based on a practical exam during the June semester, which will consist of writing code.

During the practical sessions and the June exam, students must individually solve a computational physics problem by writing code. The assessment format is "open course" (lectures, previously written code, books, etc.), but internet access is prohibited. Students will be assessed on their ability to solve the given problem rigorously and concisely. The examiner will pay particular attention to the clarity of the programming and the ability to propose a general solution to the problem.

A minimum grade of 6/20 is required for each assessment (a weighted average).

Sources, references and any support material

 S. J. Chapman, 'Fortran 95/2003 for Scientists and Engineers', McGraw Hill 2007.

R.H. Landau, M.J. Paez, C.C. Bordeianu, 'Computational Physics'  Wiley 2011

 

Language of instruction

French