» 07.09.2010 | 20:29
Vous êtes ici : Accueil » UTBM
» Dernière mise à jour le 05/09/10
Je poursuis mes études en école d'ingénieurs à l'UTBM : Université Technologique de Belfort-Montbéliard
Cette école offre une formation complète en 3 ans après mon DUT informatique. Elle laisse choisir les UV (matières) que les étudiants souhaitent se voir enseigner durant chaque semestre.
Je vais détailler ici les UV que j'ai choisies, l'intérêt que j'y ai trouvé, leur déroulement et leur contenu.
Je mets également en ressource la présentation qui nous a été faite du département "Génie Informatique" lors de l'assemblée de la rentrée d'automne 2008
Excellente UV de connaissances scientifiques, très complète et qui m'a apprise beaucoup de nouveaux concepts concernant la résolution de problèmes liés à des contraintes plus ou moins complexes, par des algorithmes exacts ou par des méthodes approchées (heuristiques).
Nous avons pu voir les algorithmes génétiques ou évolutionnistes, la recherche Tabou, la programmation dynamique, etc...
La première partie de l'UV concerne les méthodes exactes (Simplexe, Little, Steeping-stone, Dijkstra, Ford-Fulkerson...) enseignées par Olivier Grunder et la seconde partie les méta-heuristiques (algos génétiques, tabou, méthodes hybrides...) par Alexandre Gondran et Alexandre Caminada.
On utilise les langages de programmation C++ et Java durant les TP et le projet.
Le projet se présente sous forme de challenge, c'est à dire que tout le monde à le même sujet et doit développer par groupes de 3 un algorithme de résolution d'un problème à l'aide des méthodes approchées vues en cours. Il s'agit de développer l'algorithme le plus performant et le plus robuste possible.
Au semestre de printemps 2009, il nous était demandé de résoudre le problème d'optimisation de tournées de véhicules, avec des contraintes de capacité et de temps. Pour plus d'informations, consultez le sujet du challenge
Le résultat du projet est consultable via ce ZIP, qui contient la présentation PowerPoint de la méthode employée (algorithme) pour résoudre le problème d'optimisation de tournées de véhicules, ainsi que le code source développé.
Voici quelques-uns de nos slides de cours :
Méthodes exactes : introduction
Programmation en nombres entiers
Cette UV de connaissances scientifiques permet de connaître les bases de la modélisation d'un système d'informations. On y apprend la modélisation MERISE, à faire des modèles conceptuels de données (MCD), modèles logiques de données (MLD), modèles d'organisation, modèles de traitements, etc...
On apprend également à créer des tables et des requêtes SQL, bien que l'UV se déroule sur MS/Access qui cache légèrement cela derrière une interface fenêtrée...
Le projet à réaliser nécessite le développement d'un modèle conceptuel de données (sous WinDesign), la création de la base de données associée et à l'application VBA pour utiliser ces données (sous Access). Vous l'aurez donc compris, cette UV est une des rares UV pro-Windows et est enseignée par Christian Fischer.
Notre projet a consisté à créer une application de gestion de QCM, dont voici le rapport
UV de culture générale, qui est sensée nous apprendre à nous intéresser à l'actualité et nous donner un regard critique sur les médias et la géopolitique qui leur est sous-jacente.
Le cours est plus ou moins actualisé : ce semestre, il était sujet des Etats-Unis avec la présidence de Barack Obama, le rattachement de la France dans le commandement de l'OTAN.
Chaque cours débute avec un exposé sur un sujet au choix dans une thématique unique (ce semestre était consacré aux "guerres oubliées") ainsi que par une brève présentation de l'actualité de la semaine, en petits groupes, permettant de balayer l'actualité et de l'interpréter.
UV d'ouverture assez intéressante, qui vous fera lire le journal et regarder les infos après coup !
Notre exposé portait sur le conflit en Géorgie, qui peut être considéré comme un "conflit oublié"...
UV de connaissances scientifiques de haut niveau, assez intéressante au niveaux des concepts qu'elle enseigne mais malheureusement assez ennuyeuse à suivre, tant au niveau des cours que des TP qui sont réalisés dans des langages de programmation horribles (Prolog et LISP).
On y apprend les bases de l'intelligence artificielle, c'est à dire comment l'ordinateur fait pour résoudre des problèmes dans des jeux par exemple sortir d'un labyrinthe, apprentissage de connaissances, etc...
Au programme : moteurs d'inférence et systèmes à base de connaissances, lambda-calcul, stratégies de recherches dans les graphes (parcours en largeur, profondeur, algo A*, MinMax, Alpha-Beta...), théorie des langages.
Le projet que nous avons réalisé est le jeu du Schmiblick : on pense à un animal, une personne ou un objet, l'ordinateur nous pose des questions dans un langage proche du français et on lui répond par "oui" ou par "non" et il doit deviner ce que c'est. Programme réalisé en Prolog par groupe de 3 personnes.
Rapport du projet et code source du jeu du Schmiblick
Voici les slides de cours faites par Fabrice Lauri :
Introduction à l'intelligence artificielle
Architecture des systèmes à base de connaissances et introduction à Prolog
Systèmes formels et logique des propositions
Logique des prédicats du premier ordre
Introduction à la théorie des langages formels
Problèmes de satisfaction de contraintes
Introduction au lambda-calcul et à LISP
Primitives arithmétiques en LISP
Etude de problèmes classiques en LISP
Stratégies de recherche dans les graphes : A*...
Stratégies de recherche dans les arbres de jeux : MinMax et Alpha-Beta
Cette UV de connaissances scientifiques permet de découvrir le multimédia : image, son et vidéo (compression, formats, etc...) dans des applications codées en Flash ou en Director et aussi le format WEB avec une initiation au XHTML/CSS et au format XML.
A noter que les TD sont réalisés sur PC ce qui est une grande avancée, car coder sur papier ne reste malheureusement pas qu'un concept selon les profs...
Le projet est une application pédagogique à coder en Flash ou Director seul ou par deux (recommandations). Avec mon binôme nous avons réalisé une application d'apprentissage de l'anglais dans quelques situations simples : les mots de vocabulaire concernant la gare, le voyage et l'alimentation. L'application contient un module d'apprentissage et un module d'évaluation avec QCM, du drag & drop et un exercice de "matching cards".
Le résultat de notre projet est téléchargeable ici !
Voici les slides des cours qui nous ont été enseignés par Sid Lamrous :
Cours sur l'indexation (système du PageRank de Google)
Introduction au codage des couleurs et à l'image
Une très bonne UV de connaissances scientifiques qui permet de voir les bases des systèmes d'exploitations et de comprendre leur fonctionnement. Les notions enseignées par Philippe Descamps sont d'assez bas niveau : fonctionnement de la mémoire, ordonnancement des processus, entrées-sorties, systèmes de gestion de fichiers, signaux, tubes, sockets, sémaphores...
L'UV se code entièrement en C, sous Unix et Solaris et permet une bonne compréhension générale du fonctionnement bas-niveau d'un OS.
A noter qu'un enseignement sur les réseaux de Pétri est également prodigué afin de pouvoir représenter les processus et leur ordonnancement.
Le projet à réaliser doit reprendre les principes vus en cours (sockets, processus, mémoires partagées, etc...) et doit fonctionner sous OpenSolaris. Pour notre projet on a réalisé un client et un serveur de forum codé en C, permettant d'écrire des messages de différentes machines sur des sujets. On gère également les différents types d'utilisateurs : utilisateur simple, modérateur et administrateur.
Voici le rapport du projet et le code source
Les différentes slides du cours :
Introduction aux systèmes d'exploitation
Interblocage des processus (sémaphores)
Présentation du fonctionnement de la mémoire
Système de gestion de fichiers
Cette UV de connaissance scientifique a été dans sa majeure partie d'un intérêt douteux... En effet, la majorité des cours étaient les bases sur le modèles OSI en couches, mais enseignés avec de vieilles technologies et des concepts dépassés... Le poly de cours datait de 1986 c'est dire... :(
Les TD sont un peu plus intéressants à partir de la moitié de l'UV, mais surtout dès qu'on passe aux concepts du routage, de l'adressage MAC et IP, des protocoles TCP et UDP, des applications réseaux, etc...
L'enseignement sur les sockets et la partie Linux est faite par Christophe Dumez qui a rendu l'UV nettement plus intéressante que Maxime Wack (couches bas-niveau, codages du signal...)
Enfin il faut savoir que cette UV est donnée toute la promo...
Définitions et codages du signal
Choix de topologie d'un réseau local (Algos Prim et Kruskal)
Les services réseaux/adminstration système sous Linux
Cette UV de mathématiques enseignée par Raed Khouta est découpée en deux parties : la première rappelle brièvement le calcul de probabilités de base (probas conditionnelles, formule de Bayes, théorie ensembliste, etc...) et la seconde et aussi la plus longue s'occupe de nous présenter les différentes lois de probabilités : Bernoulli, binomiale, Poisson, hypergéométrique, normale, log-normale, Beta1, Beta2, Gamma, Weibull...
L'UV reste assez théorique avec énormément de calculs, de formules assez barbares mais le tout reste intéressant pour comprendre comment de nombreuses choses sont modélisées et calculées à l'aide des statistiques et des probabilités.
On apprend également à se servir des tables qui approchent les lois générales vues en cours : binomiale, normale, poisson, fisher-snedecor, khi2 et student.
Probabilités statistiques des outils pour la qualité - Fiabilité - Statistiques descriptives
Lois de probabilités discrètes et continues
Une UV de remise à niveau en mathématiques enseignée par Jean-Noël Martin permet de se remettre en mémoire différents concepts vus en terminale comme les complexes, les intégrales, les dérivées, limites, développements limités, suites et séries, endomorphisme, etc...
Les cours et les TD sont assez bien faits et cette UV n'est à suivre que si vous n'avez pas fait prépa ni tronc commun à l'UTBM...
J'ai demandé à effectuer ma dernière année d'études à l'UTC (même système qu'à l'UTBM mais à Compiègne) afin de suivre la filière SRI, "Système et Réseau Informatique", disponible uniquement à l'UTC et qui m'intéressait particulièrement.
Je vais donc détailler par la suite les UVs que j'ai suivi lors des deux semestres suivis à l'UTC.
Cette UV a été très intéressante à suivre tout au long du semestre, notamment en TD, et m'a permis de mieux appréhender les échanges internationaux, les problèmes de l'économie mondiale, sur quoi elle repose ainsi que de comprendre le système monétaire international, les taux de change, etc... Les partiels sont assez bien faits : une étude de documents, une petite rédaction sur un sujet du cours, quelques questions de cours et une restitution d'un des exposés effectués par un groupe de TD (un par semaine).
Une UV de culture générale vraiment intéressante, que je conseille vivement à ceux qui veulent en savoir plus sur l'économie du monde actuel !
Une UV de culture générale assez facile à suivre ; on parle en cours de l'histoire des jeux vidéo, de ce qui les compose (médias, métiers...), des phases de production d'un jeu, etc...
Par contre il faut réaliser un projet dans cette UV qui est ni plus ni moins qu'un petit jeu vidéo, ce qui représente un certain investissement... Il est également nécessaire de rédiger une série de documents qui spécifient les attentes et les caractéristiques du jeu que l'on souhaite développer, avant de passer au développement du jeu proprement dit.
Voici la synthèse des différents cours suivis durant le semestre et le jeu de minigolf réalisé en Flash et en 3D assez sommaire à l'aide de bibliothèques telles que PaperVision3D et JigLibFlash.
Cette UV se décompose en 2 parties : la première se charge de parcourir tous les schémas et modèles UML 2.0 afin d'appréhender cette méthode d'analyse semi-formelle très utilisée pour représenter les besoins d'une application lors d'un projet informatique en entreprise.
La seconde concerne la méthode formelle nommée "méthode B", entièrement basée sur les mathématiques (théorie des ensembles) et la logique des prédicats du premier ordre. C'est assez rebutant pour la plupart mais j'ai vraiment beaucoup apprécié cette méthode, qui est notamment utilisée dans les systèmes critiques ("safety critical", c'est à dire qui nécessitent d'être sécurisés et fiables), comme dans le projet Meteor de la ligne 14 du métro de Paris par exemple.
Une UV très intéressante qui m'a permis de comprendre de nombreuses choses dans le domaines des analyses lexicale, syntaxique et sémantique, notamment la manière dont un compilateur analyse un code source pour savoir s'il est correct et ce qu'il signifie réellement (traduction en assembleur derrière).
La première partie de l'UV traite les expressions régulières et les automates liés aux différents types de grammaires. La seconde partie passe en revue les différentes méthodes, algorithmes qui permettent de faire de la reconnaissance de chaînes de caractères (analyse ascendante et descendante), l'interprétation de ces chaînes (exemple : code source) et sa représentation sous forme d'arbre AST par exemple.
Egalement un point important et qui peut servir dans de nombreux domaines, la retranscription d'un langage ou format dans un autre à l'aide d'un automate généré par un outil dénommé AntLR, que nous avons utilisé tout au long du semestre pour la réalisation d'un projet. Ce dernier consiste à réaliser un interpréteur de langage Logo, qui permet à partir d'instructions simples de déplacer une tortue à l'écran et de dessiner des formes.