Description des cours

Accronymes

RFCT : Réseau Français de Chimie Théorique

Programmation en C

Responsable de l’UE : cours du RFCT

Objectif en termes connaissances

Environnement de développement. Types, variables, expressions. Tests, itérations. Tableaux, structures de données, pointeurs, classes. Entrées/sorties, fichiers. C,C++ ou Fortran95.

Objectifs en termes de compétences

Création/adaptation de programmes C/C++ ou Fortran95


Génie Logiciel

Responsable de l’UE ; Nicolas Magaud

Objectif en termes connaissances

- Gestion de projets : objectifs et acteurs, découpage, estimation, planification. Diagrammes de Gantt et graphes Pert.
- Outils de développement logiciel : précompilateurs, compilateurs, éditeurs de lien ; outils de debuggage ; makefile ; gestionnaire de versions subversion.

Objectifs en termes de compétences

Maîtrise des outils de gestion de projets, gestion de projets d’envergure.
Développement logiciel sous Unix : utilisation des capacités des outils mis à disposition du programmeur.


Langage Orienté Objet

Responsable de l’UE : Laurent Michel

Objectif en termes connaissances

Enseignement des fondements de la programmation par objets.
Acquisition d’un savoir-faire pratique en Java

Objectifs en termes de compétences

Concepts de base de la programmation par objets
Syntaxe du langage Java.
Utilisation des outils de base de développement en Java (Eclipse)
Notion d’interfaces graphiques
Utilisation des principaux paquetages Java.


Langages Interprétés

Responsable de l’UE : Gilles Marcou

Objectif en termes connaissances

Ce cours a pour objectif d’être une introduction à la programmation utilisant un langage de programmation interprété comme support. Les langages interprétés se caractérisent par leurs interpréteurs qui autorise l’exécution du logiciel directement sans passer par une phase de compilation explicite, par opposition aux langages compilés. Des représentants de ces langages sont Perl, Python, Lua, Ruby, JavaScript, Basic, etc. Le principal intérêt de ces langages aujourd’hui est qu’ils sont souvent intégrés dans des logiciels scientifiques pour autoriser l’autorisateur à réaliser des tâches sophistiquées et à étendre le logiciel à l’aide d’éléments logiciels tiers. En outre, ces langages sont un choix pédagogique pertinent pour une initiation à la programmation car ils proposent souvent une grammaire simplifiée qui en facilite l’apprentissage. Parmi les simplifications couremment rencontrées on peut citer : le typage dynamique des variables, la gestion dynamique des tableaux, le support des expressions régulières. De plus, chaque groupe logique d’instructions peut être exécuté sans pour autant qu’un logiciel complet soit achevé.

Objectifs en termes de compétences

Savoir écrire un programme.
Savoir utiliser un cadre de programmation (programming framework/API)
Programmer en Python : variables, listes, boucles, tests, entrées/sorties, chaînes de caractères, dictionnaire,
fonctions, expression régulières, modules, classes et objets, gestion des erreurs


TP de Programmation

Responsable de l’UE : Laurent Michel, Gilles Marcou, Roberto Marquardt

Objectif en termes connaissances

Ces travaux pratiques accompagent les enseignements de programmation en C, de Langage Orienté Objet et de Langages Interprétés. Il s’agit de la mise en pratique de ces enseignement de ces trois disciplines sous forme de projets de programmation. De cette façon, les étudiants n’ayant pas participé à tous les trois modules cités peuvent néanmois participer à ces travaux pratiques en utilisant les seuls langages de programmation pour lesquels ils ont suivit le cours.

Objectifs en termes de compétences

En fonction des UE suivient, les étudiants doivent acquérir le savoir-faire pour mener à bien un projet de programmation ambitieux.
Apprendre à travailler avec des API.
Apprendre à planifier et à versionner ses projets.


Bases de Données

Responsable de l’UE : Catherine Guth

Objectif en termes connaissances

* Introduction aux systèmes d’information, bases de données
* Modèle relationnel
* Niveau logique et conceptuel : relations, contraintes d’intégrité, algèbre relationnelle
* Niveau physique : organisation physique des données
* Schéma conceptuel et normalisation des relations
* Langages de manipulation et de définition des données pour
* Interrogations et mises à jour de bases existantes
* Définition et modification du schéma conceptuel
* Droits d’accès des utilisateurs
* Modèle Entités/Associations et liens avec le modèle relationnel
* Mise en œuvre : SQL avec MySQL.

Objectifs en termes de compétences

Etre capable :
* d’utiliser une base de données relationnelle,
* de concevoir et d’implanter une base de données relationnelle