DECRA :
Décomposition, conception et réalisation d'applications
Licence informatique, troisième année, Angers
gilles.hunault "at" univ-angers.fr
But du cours
S'il est relativement facile d'écrire des petits programmes dans le cadre d'une initiation à la programmation, il est nettement plus difficile d'écrire des applications, c'est-à-dire des vrais programmes. Au-delà du cahier des charges (plus ou moins formalisé, plus ou moins rédigé), le choix du langage de programmation est une première difficulté. Une seconde difficulté est la méthode de développement, l'écriture et la réalisation de tests pour prouver que le programme fait bien ce qu'on attend de lui. Enfin, une troisième difficulté réside dans l'écriture des documentations associées, que ce soit la documentation interne avec les commentaires en ligne dans le code, le manuel de l'utilisateur, le manuel du développeur...
Nous fournirons dans ces pages des éléments de réponse et de culture pour traiter ces difficultés. Le cours 1 viendra rappeler les différences entre codage, programmation et développement alors que le cours 2 viendra rapidement présenter les grandes familles de langages de programmation dont les langages de script. Nous nous focaliserons sur les langages R et Python dans le cours 3. On traitera le coeur du problème, à savoir la décomposition d'un problème et la conception de solutions plus ou moins partielles, plus ou moins complètes au cours 4 tandis que le cours 5 viendra rappeler un certain nombre de solutions standards pour des problèmes classiques. Enfin, les derniers cours viendront discuter des interfaces utilisateurs, des choix de documentations, des tests et des modèles de développement.
Nous essaierons, dans la mesure du possible, de fournir des exemples récents d'application dans des domaines actuels comme le développement Web, la bioinformatique, l'informatique du «Big Data», ce qui oblige, bien évidemment, à passer par la compréhension et la réalisation de quelques calculs statistiques simples avec la production des graphiques associés...
Séances de cours prévues
cours 1 Applications, programmation et développement
cours 2 Petites applications et langages ad hoc
cours 3 Les langages de script Python et R ; algorithmique avec GALG
cours 4 Décomposition d'un problème et conception de solutions
cours 5 Solutions classiques aux problèmes classiques
cours 6 Interfaces utilisateurs
cours 7 Tests et documentations des applications
Travaux dirigés
T.D. 1 Commentaires et documentations
T.D. 2 Structuration Web, instructions vectorielles, boucles et optimisation
T.D. 3 Comptages, moyennes, tracés et statistiques
T.D. 4 Expressions régulières, tests et nombres aléatoires
Travaux pratiques
T.P. 1 Gestion de noms et prénoms en AWK et PHP, maquettes et prototypes
T.P. 2 Programmation en Python
T.P. 3 Programmation en R
T.P. 4 MVC en Python via Django
T.P. 5 Programmation en PHP : liste des fonctions, CDC et modification d'un "gros" programme
T.P. 6 MVC en Ruby via Ror
Horaires selon CELCAT : g467954
Archives d'examen :
decra2017_1 ; decra2018_1 ; decra2018_2 ; decra2018_3 ;
decra2019_1 ; decra2019_2 ; decra2019_3 ; decra2020_1 ;
Volumes horaires : 20 h de cours amphi A , amphi E ou amphi L005 , 12 h de TD salle H002 et 16 h de TP salle H002.
L'examen en controle continu aura sans doute lieu fin octobre. Tous les documents papier y seront autorisés.
Retour à la page principale de (gH)