Description des cours
RFCT : Réseau Français de Chimie Théorique
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
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.
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.
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
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.
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