Cours 2020-2021

Programmation [SPHYB208]

  • 4 crédits
  • 15h+45h
  • 1er quadrimestre
Langue d'enseignement: Français

Acquis d'apprentissage

Eléments de programmation  (y compris procédures, sous-routines, fonctions, ...)

Maîtrise d'un langage de programmation compilé (FORTRAN)

Elements d'analyse numérique : Erreurs, complexité

Quelques algorithmes de bases pour un physicien : intégration numérique, la recherche de racines, l'ajustement de données, les nombres aléatoires.

 

 

Objectifs

Maitrise d'un langage de programmation pour permettre de résoudre des problèmes de physique

Comprendre les points forts et les points faibles d'une approche numérique pour la résolution de problèmes en physique

 

Contenu

Le cours propose une introduction au contexte de la programmation (structure d'un ordinateur, systèmes d'exploitation, logiciels libres et propriétaires,...). L'étudiant  se familarise avec un langage de programmation compilé (le FORTRAN) et aborde des structures de programmation complexes (sous-routine, fonction, structures, tableaux, fichier, interface, ..). L'étudiant sera amené à mettre en oeuvre des d'algorithmes de calcul numérique utilisés en physique (intégration numérique, régression, ...). Les différents types d'erreurs d'un calcul numérique et le notions de complexité seront aussi introduites. L'étudiant sera sensiblisé aux problèmes d'optimisation d'un code en terme de temps d'execution et de mémoire utilisée.

Table des matières

Partie 0 :  Avant de programmer ...

     Structure d'un ordinateur, Systèmes d'exploitations, Logiciels libres et propriétaires,  

     Qualités d'un programme et étapes de développement d'un programme


Partie I : Un langage de programmation : Le FORTRAN

    1. Les bases et premiers programmes

    2. Les procédures
 

Partie II : Physique numérique  

     3.  Erreurs en calcul numérique

    4.  Intégration et différentiation numérique

     5. Algorithmes par essais et erreurs

     6. Data fitting

     7. Nombres aléatoires

Partie III : Quelques notions supplémentaires

    8 . Optimisation de code

     9.  Notions avancées de FORTRAN

 

Description des exercices

De manière générale, les exercices concernent essentiellement des problèmes de calcul numérique simples mais couramment utilisé en Physique: calcul itératif, séries, suites, fonctions définies par intervalles, tabulation de polynômes, recherche de racines, méthodes d'intégration, méthode de Monte Carlo, manipulation de matrices, diagonalisation, inversion, régression polynomiale, synthèse de Fourier...etc. Chaque étudiant travaille individuellement. Les étudiants aux accès au pool en dehors des heures de TP.

Disciplines

Sémantique des langages de programmation
Théorie des algorithmes
Programmation du calcul numérique

Méthodes d'enseignement

Les modalités d'enseignement et d'évaluation des unités d'enseignement ont été rédigées en fonction de la situation à la rentrée académique 2020-2021. Cependant, ces modalités pourraient faire l'objet de modifications en fonction de l'évolution de la crise sanitaire liée à la covid-19. Les étudiants seront informés de toute modification de la situation générale (passage à l'enseignement à distance partiel ou complet) par les autorités de l'UNamur tandis que les modifications propres à chaque unité d'enseignement leur seront communiquées par les enseignants, via webcampus

Une large part est consacrée à la programmation par l'étudiant avec des aller-retours vers des notions plus formelles. L'ensemble de l'enseignement se donne dans un pool d'ordinateur où chaque étudiant peut travailler individuellement.

Mode d'évaluation

Les modalités d'enseignement et d'évaluation des unités d'enseignement ont été rédigées en fonction de la situation à la rentrée académique 2020-2021. Cependant, ces modalités pourraient faire l'objet de modifications en fonction de l'évolution de la crise sanitaire liée à la covid-19. Les étudiants seront informés de toute modification de la situation générale (passage à l'enseignement à distance partiel ou complet) par les autorités de l'UNamur tandis que les modifications propres à chaque unité d'enseignement leur seront communiquées par les enseignants, via webcampus

L'évaluation porte pour moitié sur des programmes demandés durant l'année (TP) et pour moitié sur un examen en session.

Lors de l'examen , l'étudiant doit résoudre un problème de physique numérique et réalisé un code en FORTRAN 90. Pour ce faire, il travaille seul et peut disposer de toute la documentation voulue (cours, exercices, livres,...).

L'étudiant est jugé sur sa capacité à résoudre de manière rigoureuse et brève le problème posé. L'examinateur apportera une attention particulière à la clareté de la programmation et à la capacité de proposé une solution général au problème posé.

Sources, références et supports éventuels

 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

Langue d'enseignement

Français

Lieu de l'activité

NAMUR

Faculté organisatrice

Faculté des sciences
Rue de Bruxelles, 61
5000 NAMUR

Cycle

Etudes de 1er cycle