Comparaison IMI par rapport aux autres majeures

 

La majeure IMI signifie: Image, Modélisation et Informatique. Notez spécifiquement que ce n’est pas une majeure “image” qui serait une appellation réducteur en oubliant les termes de modélisation et d’informatique.

Dans cette majeure, l’image est considérée comme une application vis à vis de laquelle nous réalisons une grande partie des TP. Cependant, la majeure fournit des connaissances bien plus larges que celle qui s’appliquent uniquement à l’image puisqu’une grande partie des méthodes et algorithmes mises en application seront valides sur le traitement de données quelconques. Cette majeure met également l’accent sur deux fondamentaux que sont la modélisation et l’informatique.

La Modélisation est vue à la fois sur le plan théorique (modélisation de phénomènes physiques), mais également numérique (modélisation d’un processus continue de manière discrète afin d’être traitable de manière informatique). La partie modélisation est la porte d’entrée vers les secteurs de R&D qui vont bien au dela du secteur de l’image (physique, bioingénierie, mécanique, optique, etc).

La partie Informatique est considérée du point de vue de l’informatique scientifique. A savoir le développement de code permettant de réaliser des calculs de manière efficace et robuste. Une part non négligeable des TP intègre également le développement de logiciels interactifs. La partie informatique est la porte d’entrée vers les secteurs du développement logiciel au sens large avec une spécialisation spécifique sur l’informatique scientifique (HPC, interaction, analyse de données complexe et nombreuses, BigData, intelligence artificielle, etc).

Ces pages (francais/anglais) présentent les objectifs de la majeure de manière formelle.

 

Foire Aux Questions

Remarque. Les informations disponibles sur cette page ne sont que des conseils. N’hésitez pas à discuter avec vos différents enseignants de vos interrogations et à prendre d’autres avis et points de vues.

 

> J’aime bien l’informatique. Mais il y a de l’informatique dans différentes majeures. Quelles sont les différences?

L’informatique est présente dans quasiment toutes les majeures mais sous différentes formes, et vous prépare à différents métiers.

La majeure IWSC (Informatique du Web et Systèmes Communicants) est spécialisée dans l’informatique de services et la gestion informatique. Les notions informatiques qui diffèrent de celles vues dans la majeure IMI sont principalement:

  • les languages et services du Web (languages de hauts niveaux): Javascript, Base de Données, .Net, etc.
  • l’administration système et gestion de parc informatique: sécurité, virtualisation, etc.

Les languages principaux de cette majeure sont le Java, les languages du Web et des bases de données.

La majeure ROSS (Robotique de Service et Intégration des Systèmes Embarqués) est spécialisée dans le développement bas niveau de communication avec le Hardware ainsi que l’utilisation de logiciels/kit de programmation de hauts niveaux préexistants. Les notions informatiques qui diffèrent de celles vues dans la majeure IMI sont principalement:

  • Le développement bas niveau en C ou assembleur proche du Harware (interfacage de capteurs, drivers, etc).
  • L’utilisation de logiciels de robotiques et de librairies de développements existantes (progammation pouvant être en C ou de haut niveau avec Python et langages du Web).

Les languages principaux de cette majeure sont le C pour le développement bas niveau, les languages du Web pour la partie communication de haut niveau, ainsi que Python pour l’automatisation et le scripting.

La majeure IMI (Image, Modélisation et Informatique) est spécialisée dans l’informatique scientifique. Le but est de vous permettre de réaliser à la fois des prototypes de codes de calculs de manière efficace, et également de développer des logiciels complets comportant une interaction utilisateur. L’accent est mis sur le développement de code rapides permettant la mise en place de calculs efficaces. Les languages principaux de cette majeure sont:

  • Le C++ pour le développement logiciel (Qt étant largement utilisé pour les interfaces).
  • Les langages des cartes graphiques pour le développement type HPC.
  • Matlab et Python pour le développement de scripts de calculs ou d’automatisation de tâches.

Synthèse

  • Par rapport à la majeure IWSC, la majeure IMI vise des applications traitants davantage du domaine de la R&D et des applications scientifiques et moins du service au entreprises, du Web et de la gestion de parcs informatique. Pour l’ingénieur de la majeure IWSC, le système informatique est un but en tant que tel, l’utilisation de ce système est secondaire et généralement exporté à un autre domaine d’ingénierie. Ce n’est pas le cas de l’ingénieur de la majeure IMI qui utilise l’informatique en tant qu’outil pour réaliser des traitements sur des données (notion de Computing/Processing en anglais). Pour l’ingénieur de la majeure IMI, l’objectif final correspond à la donnée de sortie une fois traitée.
  • Par rapport à la majeure ROSS, la majeure IMI possède un spectre d’application plus restreint (pas de développement Hardware bas niveau, et moins de Web) mais plus poussée dans son domaine. La majeure ROSS se place plus souvent dans le contexte d’un utilisateur et d’un intégrateur de briques logiciels et matérielles pré-existante. En majeure IMI, les traitements vues sont moins nombreux mais développés plus en profondeur (autant sur le plan théorique que pour le développement).

Remarque

Il n’existe pas hierarchie entre majeure. Il n’y a pas de meilleure ou de moins bonne majeure. Chaques contextes (développement, intégrateur, société de service, R&D, système, robotique, etc) sont d’excellents contextes de travail à condition de s’y plaire, et chaque contexte offre de bonnes perspectives de carrières. Il vous est conseillé de choisir votre majeure suivant vos aspirations professionnelles futures qui vous sont propres.

 

> Pourquoi apprendre le C++ plutôt que le Java ?

Java est un langage très répandu dans le milieu des sociétés de service. Cela l’amène à être le langage le plus répandu en terme de nombre brut offres d’emplois. Cependant ces deux langages (C++ et Java) ne visent généralement pas les mêmes métiers.

Les coeurs de grands logiciels nécessitant d’être rapides et robustes, ou manipulant de grandes masses de données sont quasiment exclusivement développés en C++ : moteurs des jeux vidéos, logiciels d’images, logiciels traitants de 3D, de vidéo, de sons, traitements de données, etc. On peut également citer des logiciels de services ou du web tels que Office et Facebook dont les coeurs sont développés en C++. Devenir développeurs pour de tels logiciels passe par la connaissance du C++ qui est un langage complexe et qui serait extrêmement difficile d’apprendre en autonomie de manière correcte. Il est ainsi beaucoup plus difficile de trouver de bons développeurs C++ que des développeurs Java sur le marché du travail. Au final, les offres en C++ sont plus restreintes que celles de Java (environ 4x moins sur le site de l’APEC), mais contrairement à Java, la part d’offre dans le domaine de la R&D y est plus important (environ 5x plus d’offres qu’en Java sur le site de l’APEC).

 

> Je suis interessé par la majeure IMI, mais j’ai quelques difficultés en math. Puis-je tout de même faire la majeure ?

La majeure IMI est effectivement une majeure dans laquelle les cours de math appliqués se poursuivent. La majeure pouvant être vue comme étant une majeure “math/informatique” avec un équilibre entre ces deux domaines. Ceci étant, il faut bien noter que les maths vues dans la majeures sont appliquées en image. Il s’agit principalement de notions de géométrie en 2D ou 3D, et d’optimisation de fonctions. Ces notions sont donc vues sur un plan plus proche des applications que pour les cours de maths de tronc commun.

Au vu de l’expérience passé, le niveau en math n’est quasiment jamais un facteur limitatif. En ayant réussi à valider les modules de tronc commun, vous devriez avoir le niveau suffisant pour la majeure. Un facteur beaucoup plus important est votre volonté et enthousiasme à manipuler des notions mathématiques. Si vous détestez toute notion théorique et que vous haissez les maths, alors la majeure ne vous plaira probablement pas. Au contraire, si vous appréciez les maths, même en ayant des résultats moyens par moments, alors votre majeure devrait tout de même bien se passer.

 

> J’hésite entre deux majeures, j’aime bien les domaines liés à l’image mais également l’électronique. Sera-il possible de travailler dans le domaine de l’électronique même en ayant fait la majeure IMI ?

Vos majeures ne sont pas liées à une voie unique. Votre cursus et diplome CPE reste un diplome généraliste dans l’ensemble des domaines de l’electronique, de l’informatique, des réseaux, des télécoms, de la robotique, du signal et de l’image. L’ensemble de ces domaines vous sont ouverts, peu importe la majeure que vous choisissez.

De nombreux étudiants travaillent dans des domaines autres que ceux de leur majeure. Les majeures sont la principalement pour vous donner un tremplin afin de vous faciliter l’entrée à ces domaines. Ne pas suivre la majeure correspondant au domaine où vous allez candidater n’est donc pas rédibitoire, même si ce n’est effectivement pas la voie la plus aisée.

Notez que cela dépend également du type d’emploi que vous visez. Dans le cas d’une carrière d’ingénieur pluridisciplinaire nécessitant un ensemble de compétences larges (type organisation d’une PME, etc), alors votre choix de majeure aura une influence relativement limitée. Si vous souhaitez intégrer une société demandant des ingénieur au cursus très spécialisé dans de grandes sociétés proche de la R&D ou accéder à un cursus recherche en réalisant une thèse, alors dans ce cas, votre choix de majeure devient l’un des élément les plus important vis à vis du succès de vos candidatures.

 

> Je suis interessé par les Big Data et l’analyse de données, quelle majeure dois-je choisir ?

La majeure IWOC et IMI sont toutes deux des majeures intégrant des modules autour du “Big Data” et l’analyse de grandes masses de données dans leur formation. Les “Big Data” regroupent cependant de multiples domaines d’activités, cela va donc dépendre de vos préférences.

La majeure IMI forme aux Big Data par le biais des méthodes d’analyse scientifique des données ainsi que de leurs visualisation. La majeure vous forme ici aux méthodes d’apprentissages et de classification permettant d’extraire les informations de ces données. Cette partie est scientifique et demande des compétences en traitement du signal et en statistique, elle vise à vous préparer à des postes de “Data Analysts”.
La partie visualisation étant traitée de manière intrinsèque par les modules d’images.

La majeure IWOC forme quant à elle aux Big Data davantage sur le plan de la gestion informatique des bases de données permettant d’accéder et de stocker celle-ci. La majeure vous forme ainsi aux méthodes et outils mis en place par les hébergeurs dit du “Cloud” pour accéder à de grandes masses de données. Cette partie concerne l’utilisation techniques d’outils informatiques existants ainsi que de protocoles permettant d’échanger et de partager des données.

 

> Je suis interessé par l’intelligence artificielle, quelle majeure dois-je choisir ?

La majeure IWOC, ROSSE et IMI sont toutes trois des majeures intégrant des modules autour de l’intelligence artificielle.

Les majeures IWOC et ROSSE proposent un module spécifique d’intelligence artificielle traitant principalement de la théorie des jeux (echec, go, colonies, etc) et décisionnelle. L’objectif est de mettre en oeuvre rapidement des méthodes de prise de décision. La majeure ROSSE détaillant la prise de décision plus spécifiquement pour des problématiques de robotique et de gestion de trajectoires.

La majeure IMI traite également de problématiques d’intelligence artificielles par le biais des méthodes récentes d’analyse de données (apprentissage et classification). La majeure est moins spécialisée sur les aspects décisionnelles et propose une formation sur les méthodes d’analyses et d’extraction d’information sur des données plus génériques. Les aspects de programmation efficace des approches de calculs sont également spécifiquement traités dans la majeure par le biais du C++ et de la programmation GPU.

Comments are closed