Volumes horaires
- CM 1.5
- Projet -
- TD 1.5
- Stage -
- TP 21.0
- DS -
Crédits ECTS
Crédits ECTS 5.0
Objectif(s)
L'objectif pédagogique de ce projet est d'illustrer certains aspects du génie logiciel (notamment des techniques agiles de développement) à travers le développement d'une application de taille conséquente. Les aspects visés sont principalement les techniques d'organisation du développement afin de satisfaire au mieux le cahier des charges dans le temps imparti, la conception logicielle, les techniques de validation et vérification et la mise en place d'une démarche qualité. Le logiciel, développé en Java, est un compilateur pour un sous-ensemble de Java. Le thème choisi permet à la fois de remplir les objectifs ci-dessus en partant d'un cahier des charges précis, et de mieux comprendre les concepts sous-jacents aux langages de programmation.
Sylvain BOULME
Contenu(s)
Les étudiants travaillent de manière autonome sur le projet à partir des documents fournis (dont l'étude a commencé pendant le cours de "Grammaires et compilation"). Des séances encadrées sont prévues au long du projet pour répondre aux questions des étudiants, ou pour que les équipes d'étudiants présentent l'état d'avancement de leur projet: architecture logicielle choisie, techniques et objectifs de test, planification et organisation. Les étudiants doivent de plus rendre des versions intermédiaires de leur logiciel à des dates fixées: ils ont ainsi un retour "utilisateur" régulier.
- Ce cours est donné en Période(s) Académique(s) 3 **
Cours de compilation et langages, maîtrise d'un langage de programmation de haut niveau (Java), connaissance d'un langage d’assemblage et pratique de la programmation.
Notation sur le produit final, la soutenance (corrections de bugs) et sur les évaluations en cours de projet (P).
Pas de rattrapage possible.
NFS1 := NP3 (Note de Projet)
NFS2 := NFS1 (pas de rattrapage)
Le cours est programmé dans ces filières :
- Cursus ingénieur - Alternance - Alternance 1ere annee
Code de l'enseignement : 3MM1PGL
Langue(s) d'enseignement :
Le cours est rattaché aux structures d'enseignement suivantes :
- Equipe Programmation-logiciel
Vous pouvez retrouver ce cours dans la liste de tous les cours.
- Compilers: Principles, Techniques and Tools de Aho, Lam, Sethi & Ullman (1988/2007)
- The Definitive ANTLR 4 Reference - Terence Parr (2013)