TEB
Suivi et organisation des travaux d'études bibliographiques.
Organisation
Suivi
Il y a six rendez-vous de suivi obligatoires, les mercredi,
à partir de 17h pour les groupes 1, 2 et 3 et les vendredi Ã
partir de 13h30 pour les groupes 4, 5, et 6. D'autres
rendez-vous peuvent être organisés en plus à la demande des
étudiants. L'organisation des rendez-vous peut
éventuellement changer selon les disponibilités de
chacuns.
Dates importantes
- Date limite pour le choix d'un sujet : Jeudi 30 avril 2015 Ã 18h.
- Un sujet ne peut être choisi que par un seul groupe. L'attribution des sujets se base donc sur le principe du premier arrivé, premier servi.
- Le choix du sujet s'effectue par courriel à l'adresse amine.najahi@univ-perp.fr.
- Ce courriel doit contenir les éléments suivants:
- Le titre du sujet.
- Les noms, prénoms, et addresses mail des étudiants composants le groupe.
- Date des soutenances: Jeudi 4 juin 2015.
- Le rapport doit être rendu le jour de la présenation au format PDF et accompagné de l'ensemble
des ressources (codes, données, ...) utilisées lors des expériences.
- Les formats conseillés pour le rapport et la présentation sont LaTeX et Beamer.
Contrôle des connaissances
Le contrôle des connaissances est assuré par un rapport
d'une quinzaine de pages reprenant l'ensemble des travaux
effectués lors des TEB et par une présentation de 15 minutes.
Les étudiants (UPVD et IMERIR) ayant trouvé un stage ne
sont pas tenus d'effectuer les TEB. Ils devront néanmoins
fournir un rapport d'une quinzaine de pages sur le travail
effectué durant leur stage. De plus, ils devront effectuer une présentation de ce travail.
Groupes
- Étudiants en stage (IMERIR): Laura Bergoens, Quentin Boisseau, Ahmed El Moden, Benjamin Calmette, Gael Hauspie, Thomas Chambard.
- Étudiants en stage (UPVD): Anissa Ben Jannet, Salim Aissaoui Tlemcani.
Sujets
- Algorithmes de tri : Vous devrez effectuer une recherche bibliographique sur cette famille d'algorithme. Vous devrez ensuite en implémenter trois d'entre eux afin d'effectuer des mesures de performances pour les comparer à ce que vous trouverez dans la littérature. Le choix du langage de programmation est libre.
- Arithmétique d'intervalles : Vous devrez effectuer une recherche bibliographique sur l'arithmétique d'intervalles. Vous devrez listez l'ensemble des opérations possible dans cette arithmétique et mettre en évidence les différences (avantages et inconvénients) de cette arithmétique par rapport à l'arithmétique élémentaire. La partie développement consistera au développement d'une librairie de calcul par intervalles. Langage conseillé : C.
- Structures de données : Vous devrez effectuer une recherche bibliographique sur les structures de données (table de hachage, arbre binaires, ...). Vous devrez ensuite comparer ces différentes structures de données, à travers une implémentation, afin d'en comparer les performances pour des problèmes donnés. Le choix du langage de programmation est libre.
- Algorithmes / Théorie des graphes : Vous devrez effectuer une recherche bibliographique sur cette famille d'algorithme. Vous devrez ensuite choisir un problème particulier qui a été résolu grâce à l'un de ces algorithmes pour en proposer une implémentation. Le développement d'une interface graphique peut être envisagée. Langage conseillé : Python si interface graphique via Tkinter ou C.
- L-Système : Vous devrez effectuer une recherche bibliographique sur les L-Système et les grammaires formelles. Ce sujet reprend une idée développée en théorie des langages et compilation (L2). Vous devrez ensuite implémenter, via une interface graphique paramétrable un des L-Systèmes rencontré lors de votre recherche. Langage conseillé : Python avec une interface graphique avec Tkinter.
- Méta-heuristiques : Vous devrez effectuer une recherche bibliographique sur les méta-heuristiques. Vous devrez ensuite choisir un problème particulier pour en proposer une implémentation. Le choix du langage de programmation est libre.
- Arithmétique flottante : calcul multi-précision : Vous devrez effectuer une recherche bibliographique sur le calcul multi-précision de l'arithmétique flottante. Vous devrez ensuite comparer les différentes méthodes sélectionnées lors de votre recherche pour les comparer en terme de précision et de performances. Des algorithmes à étudier vous seront proposés. Le choix du langage de programmation sera dictée par les outils sélectionnés.
- Arithmétique flottante : algorithmes de sommation précis : Ce sujet reprend l'idée de sujet précédent mais ce concentre essentiellement sur des algorithmes de sommation pour lesquels de nombreux algorithmes précis existent. L'implémentation consiste ici à comparer quelques-uns de ces algorithmes. Le choix du langage de programmation est libre.
- Arithmétique fixe : Vous devrez effectuer une recherche bibliographique sur l'arithmétique fixe. Vous devrez ensuite proposer une implémentation d'un algorithme simple en arithmétique fixe. Vous comparerez ensuite ses performances et sa précision par rapport à l'algorithme en arithmétique flottante. Langage conseillé : C.
- Mesure de temps d'exécution : Vous devrez effectuer une recherche bibliographique sur les méthodes de mesures de temps d'exécution. Vous devrez ensuite comparer les mesures des différents outils rencontrés pendant votre recherche et tenter de distinguer les avantages et inconvénients de chacun. Le choix du langage de programmation sera dictée par les outils sélectionnés.
- Calcul parallèle : Vous devrez effectuer une recherche bibliographique sur le calcul parallèle. Vous devrez ensuite comparer les performances d'un algorithme simple, entre sa version séquentielle, et les différentes versions parallèles retenues. Une partie de développement de ce projet peut se faire sur carte graphique. Le choix du langage de programmation est libre, mais CUDA est conseillé si programmation sur GPU.
- Optimisation de code pour les performances : Vous devrez effectuer une recherche bibliographique sur l'optimisation de code pour les performances (plus particulièrement les transformations de boucle, le tiling, ...). Vous devrez ensuite proposer une implémentation de ces différentes méthodes pour enfin comparer leurs performances. Langage conseillé : C.