Programmation débutants/non-débutants

Cette UE a la particularité d’être proposée sous 2 formes selon le niveau initial en programmation des étudiants.
UE obligatoire du S5 de 3 ECTS : 30 h de cours-tps.

Enseignants

Programmation débutants             Pawel Wzietek   Corinne Donzaud   Dana-Codruta Marinica
Programmation non-débutants   Gilles Abramovici

Programme 

Programmation débutants
C# sous SharpDevelop en mode console

Programmation non-débutants
Mathematica

L’objectif premier de ce cours est de donner les bases permettant d’aborder des problèmes rencontrés en physique à l’aide de l’outil informatique. L’utilisation de la plate-forme C# permet de donner également un aperçu des techniques de programmation modernes communes à toutes les plates-formes de développement professionnelles. Le langage C#, beaucoup plus moderne que le C classique, et qui rassemble les meilleurs des concepts du C++ et du Java, connaît aujourd’hui une ascension fulgurante en milieu industriel. Il est également plus facile à maîtriser au niveau débutant et de ce fait commence à être largement utilisé dans l’enseignement.
cf. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Introduction générale à l’informatique : notion d’algorithme et sa représentation (organigramme, langage informatique).

Le langage C# : historique des langages, évolution C-C++, Java, C#.
Modèle de représentation des données, variables de type valeur et référence, allocation dynamique.
Tableaux , structures et classes.
Représentation d’algorithme en C# : structures itératives, structures conditionnelles.
Fonctions, modes de passage des paramètres, récursivité.
Techniques avancées: éléments de la programmation orientée objet, surcharge d’opérateur.

Eléments de méthodes numériques : approximations de fonctions mathématiques par développement en série; intégration numérique ; solutions d’équations; équations différentielles.

Mathematica est un langage multi-fonctionnel de programmation symbolique très largement répandu, aussi bien dans le monde universitaire (mathématiciens, théoriciens), qu’industriel (ingénieurs en communication, simulations, traitement de l’information). En raison de sa diversité, il permet souvent une première étude, préalablement à la création d’outils spécifiques à un projet. Cette formation s’adresse prioritairement aux étudiants ayant quelques connaissances en informatique. Une séance sera suffisante pour l’acquisition initiale du langage proprement dit. Puis, les étudiants apprendront divers outils du langage à travers des exemples de résolutions de problèmes issus de la physique ou des mathématiques.

Calculs formels : algébriques (matrices, polynômes, …) ou analytiques (dérivée, …); résolution d’équations (ordinaires ou différentielles); transformations fonctionnelles (Fourier, Laplace, …); manipulations de caractères (traitement de l’information).

Programmation : traitement de données, programmation C embarquée, …

Interfaces graphiques : programmation objet et imagerie (graphisme 3D, animation, …)

Bibliothèques : outils numériques (méthodes variées de résolution numérique d’équations, …); fonctions (Legendre, Bessel, …); quelques distributions (Dirac, peigne de Dirac, …).

Documents

Notes de cours et Tds C#

Installation Mathematica
Aide-mémoire Mathematica (version 2015-2016)

Ouvrages conseillés

Annales
Pour Introduction à la Programmation, les annales sont en ligne dans DOKEOS.

Pour Introduction au Calcul Formel :
Partiel 2014 (1) – Partiel 2014 (2)
Partiel 2015 (1) – Partiel 2015 (2)
Examen 2014 Examen 2015