Site de l'Université | English version
Année académique 2014-2015Données en date du : 12/05/2015
INFO0027-2  Programming techniques

Durée :  30h Th, 24h Pr, 70h Proj.
Nombre de crédits :  
Bachelier en sciences informatiques, 2e année6
Année préparatoire au master en sciences informatiques6
Master en ingénieur civil en informatique, à finalité approfondie, 2e année5
Master en sciences informatiques6
Master en sciences mathématiques, à finalité spécialisée en informatique, 2e année6
Nom du professeur :  Laurent Mathy
Langue(s) du cours :  
Langue anglaise
Organisation et évaluation :  
Enseignement au deuxième quadrimestre
Contenus du cours :  
Le cours se déroule en deux parties: la première partie aborde l'algorithmique comme technique de résolution de problèmes, présentant des algorithmes avancés, en utilisant le C comme langage de référence. La deuxième partie est une introduction à la programmation parallèle sur systèmes multi-coeurs, en utilisant Java comme langage de référence.
Dans la première partie, les sujets suivants sont présentés: programmation du point de vue de la résolution de problèmes; techniques avancées de tri; recherches équilibrées; recherches numériques; algorithmes externes; algorithmes de graphes. Le deuxième partie aborde: les principes de la programmations de processeurs multiples; contention et verrouillage à grande échelle; introduction aux structures de données et algorithmes parallèles; ordonnacement et distribution du travail.
Acquis d'apprentissage (objectifs d'apprentissage) du cours :  
- Principes de décomposition de programmes complexes; - conception de programmes efficaces; - connaissances de techniques d'algorithmiques avancée; - techniques de programmation parallèle.
Prérequis et corequis / Modules de cours optionnels recommandés :  
Connaissances en algorithmique de base. Connaissances pratiques du C et de Java.
INFO0902 ou INFO2050
INFO0062
Activités d'apprentissage prévues et méthodes d'enseignement :  
Séances de cours et répétitions, impliquant de la résolution de problèmes en classe. Les étudiants font 4 projets: 2 projets individuels (un pour chaque partie du cours) et 2 projets en groupe (un pour chaque partie du cours).
Mode d'enseignement (présentiel ; enseignement à distance) :  
Séances de cours hedomadaires en présentiel, Q2
Lectures recommandées ou obligatoires et notes de cours :  
Lectures recommandées:
Introduction to algorithms; Cormen, Leiserson, Rivest and Stein; MIT press. Algorithms in C; Sedgewick; Addison Wesley. The Art of Multiprocessor Programming; Herlihy and Shavit; Morgan Kaufmann.
Modalités d'évaluation et critères :  
Examens écrits et projets. Les projets comptent pour 40% de la cote finale, alors que les examens comptent pour 60%. Chaque partie du cours contribue de manière égale à la cote finale.
Les examens sont à "notes ouvertes", c'est-à-dire que les étudiants peuvent utiliser les notes officiellement distribuées sur la page myULG du cours.
Il n'y a aucune garantie de suivi pour les projets qui doivent être remis en deuxième session.
Stage(s) :  
Remarques organisationnelles :  
Contacts :  



Accueil

Bacheliers, masters, masters complémentaires et agrégations

Formations continues

Doctorat

Recherche par enseignant

Recherche par cours

Administration de l'Enseignement et des Etudiants - Responsable de l'information : Monique Marcourt, Direction générale à l'Enseignement et à la Formation - Réalisation SEGI