Imprimer la page

Vous êtes ici : Accueil » UTBM

» Dernière mise à jour le 05/09/10

Etudes à l'UTBM

» Présentation

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

» AG41 : Optimisation et recherche opérationnelle

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 linéaire

Programmation en nombres entiers

» BD40 : Systèmes d'information

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

» GO02 : Actualité internationale

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é"...

» IA41 : Initiation à l'intelligence artificielle

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

» IN42 : Initiation au multimédia

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 :

Introduction à Flash

Suite du cours sur Flash

Cours sur l'indexation (système du PageRank de Google)

Ingénieurie multimédia

Cours sur la compression

Introduction à Director

Introduction au codage des couleurs et à l'image

Cours sur le format XML

Cours sur le son

Cours sur la vidéo

» LO41 : Architecture et utilisation des systèmes d'exploitation

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

Présentation des processus

Ordonnancement des processus

Communication inter-processus

Interblocage des processus (sémaphores)

Présentation du fonctionnement de la mémoire

Système de gestion de fichiers

Les signaux

Les tubes

Les entrées-sorties

Le réseau : les sockets

» RE41 : Initiation aux réseaux informatiques

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...

Aide sur les sockets en C

Définitions et codages du signal

Atténuation du signal

Choix de topologie d'un réseau local (Algos Prim et Kruskal)

Les 7 couches du modèle OSI

Les services réseaux/adminstration système sous Linux

» SQ40 : Statistiques pour l'ingénieur

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

Tables statistiques

» XT30 : Révisions d'analyse et d'algèbre

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...

Suite à l'UTC...

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.

» GE22 : Economie internationale

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 !

» IC06 : Industrie et conception des jeux vidéo

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.

» LO19 : De l'expression du besoin à la réalisation du logiciel

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.

Polycopié du cours

Sujet du projet UML

Sujet du TP 1 de méthode B

Sujet du TP 2 de méthode B

Rapport de projet UML

Rapport de TP méthode B

» NF11 : Théorie des langages de programmation

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.

Source final du projet

Rapport du projet

» SR03 : Architecture des applications Internet

» SY09 : Analyse de données et data mining

» Haut de page