Remy Perla - Etudiant en informatique

Etudiant en informatique à l'Université Louis Pasteur, Strasbourg 1, Rémy à suivi une formation basée sur de solides bases théoriques et sur une mise en application systématique des savoir acquis. Après un baccalauréat scientifique, il a ainsi validé un DEUG en mathématiques et informatique appliqués au sciences, puis une licence d'informatique. Il est actuellement étudiant en Master 2 d'informatique (anciennement DESS) spécialité Ingénierie Logicielle, en apprentissage.

En septembre 2009, Rémy Perla est diplomé d'un Master d'ingénierie logicielle en apprentissage, avec mention

L'objectif de ce Master 2 est de former en apprentissage des professionnels de l'informatique ayant une compétence spécifique en génie logiciel (conception et développement de logiciels). L'apprentissage repose sur le principe de l'alternance entre enseignement théorique à l'Université et enseignement du métier chez l'employeur. Il y a ainsi 12 semaines de cours réparties au rythme de une semaine de cours pour trois semaines en entreprise. Suite à cet apprentissage, les débouchés sont multiples: Chef de projets, Ingénieur de développements, Intégrateur d'applications, Exploitant d'applications, Analyse, Administrateur de bases de données, Architecte de systèmes d'information, Consultant...

> Organisation des semestres

Semestre 3 et semestre 4
UE obligatoires
• Conception logicielle ECTS: 6  
  - Architecture logicielle orientée objets  
  - Complément sur la certification  
  - Preuve et certification logicielles  
 
• Option libre : Devéloppement Web-ERP ECTS: 3  
 
• Formation en entreprise ECTS: 30  
 
• Pratique de l'Anglais en autoformation  
 
• Projet 150h ECTS: 9  
 
• Techniques et environnements logiciels ECTS: 6  
  - Applications distribuées  
  - Informations réparties et fouilles de données  
  - Systèmes intelligents  
 
• Vie professionnelle ECTS: 6  
  - Droit  
  - Gestion de parcs, réseaux  
  - Ouverture professionnelle  
  - Sécurité informatique  
 

Formation en APPRENTISSAGE : 3 semaines en entreprise / 1 semaine à l'Université

   

Pour exemple, voici quelques connaissances et savoir-faire acquis durant cette année:

Informations réparties et fouilles de données

Nouvelles fonctionnalités : fouille de données, multimédia, interface H-M. Bases de données distribuées et réplication. Multi-bases. Architecture n-tiers. Navigation, interrogation et indexation. Outils d’analyse de données (OLAP). Entrepôt de données. Vues matérialisées et agrégats (cubes). Fouille de données complexes : préparation des données, classification, extraction, visualisation et explications des résultats. Recherche de mots dans des textes. Application aux bases de données, au Web, etc.

Architecture logicielle orientée objets

Réutilisation et modèles de composants logiciels (design patterns), applications à base de composants, langage de description d’architecture logicielle, notation unifiée de modélisation (UML). Mise en œuvre de notions acquises dans les modules de génie logiciel précédents, à travers la conception et le développement dans un langage à objets d’une application conséquente. Phases à prendre en compte : gestion d’un projet, analyse d’un problème, description de l’architecture, procédures de qualité, métriques du logiciel, rédaction d’une documentation (utilisateur et administrateur), construction de jeux de tests, problèmes liés à l’évolutivité.

Preuve et certification logicielles

Fonctions. Qualités des programmes, certification, correction partielle et terminaison. Construction et preuve de fonctions et prédicats récursifs par induction structurelle, induction noethérienne, ou comme points fixes d’itérateurs. Types de données. Définition des types par induction structurelle. Constructeurs et opérations dérivées. Minimisation, élimination, induction et récursion. Invariants de types et préconditions. Obligations de preuves. Coercition de types et héritage. Preuve formelle et extraction de types récursifs et d’opérations certifiées. Spécifications en calcul des constructions inductives avec utilisation pragmatique du système Coq. Applications et lien avec la programmation usuelle. Développement d’un mini-projet.

Etude de techniques de spécification formelle, de preuve assistée par ordinateur, et de certification fonctionnelle de logiciel, avec utilisation de l'assistant de preuve Coq.

Systèmes intelligents

Concepts de base. Comportement intelligent : adaptation. Computational intelligence. Systèmes complexes. Modélisation probabiliste et stochastique. Généralisation. Méthodes d’apprentissage automatique. Conception et analyse des méthodes informatiques pour les systèmes adaptatifs. Exemple de robots – parcours intelligents.

Intelligence artificielle distribuée. Agents : théorie, apprentissage et mise en œuvre. Systèmes d’aide à la décision. Fouille de données. Recherche d’information : Web sémantique. Personnalisation d’interface intelligente et langue naturelle. Télécommunication : modélisation de réseaux mobiles. Vie artificielle. Perspectives et recherche en cours.

Gestion de parcs, réseaux

Paramétrage et installation d’un groupe de machines hétérogènes : interconnexion de réseaux routeurs IP locaux et distants, mise en œuvre de protocoles applicatifs (FTP, HTTP, SMTP..) et de services (DNS, DHCP). Sécurité. Maintenance et administration (sécurité des accès, sécurité des données). Planification des tâches, automatisation des tâches. Systèmes d'exploitation : mise en œuvre, gestion des utilisateurs, gestion et installations de logiciel.

Pour plus de renseignements, consultez la fiche de formation correspondante.

Retour au menu

En février 2008, Rémy Perla est diplômé d'une Maitrise d'informatique fondamentale avec mention

Le Master 1 d'informatique fondamentale, connue pour être l'année ayant le plus faible taux de réussite de toute l'université, se divise en deux semestre. Un premier semestre de formation théorique et générale et un second semestre proposant un grand nombre de spécialisations.

> Organisation des semestres

Semestre 1
UE obligatoires
• Informatique théorique ECTS: 12  
  - Compilation Coeff. 58%
  - Sémantique et spécifications algébriques 1 Coeff. 42%
 
• Langue: Anglais ECTS: 3  
• Option libre:
  - Droit des sociétés et fiscalité
ECTS: 3  
• Réseaux et systèmes distribués ECTS: 12  
  - Fondements algorithmiques des systèmes distribués Coeff. 42%
  - Réseaux et protocoles Coeff. 58%
 
 
Semestre 2
UE obligatoires
• Langue ECTS: 3  
• Option libre:
  - Administration des systèmes et réseaux
ECTS: 3  
• Ouverture professionnelle:
  - Aide à la création d'entreprise
ECTS: 3  
• Programmation et génie logiciel ECTS: 6  
  - Ingénierie de la preuve Coeff. 25%
  - Méthodes algorithmiques avancées Coeff. 50%
  - Outils de génie logiciel Coeff. 25%
 
• Bases de données avancées ECTS: 3  
• Intelligence artificielle ECTS: 3  
• Matériels et interfaces graphiques ECTS: 3  

• Travail d'étude et de recherche:
  - Réalité virtuelle et troubles alimentaires

ECTS: 6
 
Cours suivis en Auditeur libre
•  Algorithme du texte
•  Systèmes et programmation temp réel

Pour exemple, voici quelques connaissances et savoir-faire acquis durant cette année:

Compilation

Ce cours présente les connaissances de base en compilation et introduit les techniques et outils nécessaires à la réalisation d'un compilateur: Structure d'un compilateur, analyse lexicale. analyse syntaxique, grammaire attribuée, notion d'actions sémantiques, traitements des erreurs, organisation et gestion des tables des symboles, production de code intermédiaire, Optimisation de code...

Réseaux et protocoles

Etude approfondie des différentes couches du modèle OSI. Principes de la transmission des données : bande passante, filtres, échantillonnage, théorèmes de Shannon et de Nyquist, codage, modulation, synchronisation, multiplexage, compression. Les codes détecteurs et correcteurs d'erreurs. Couche liaison : mécanismes des protocoles de liaison, retransmission continue/sélective, fenêtres, contrôle de flux, numérotation, HDLC. Couche réseau et routage : modes circuit virtuel et data gramme, adressage et routage IP, RIP, contrôle de congestion. Couche transport, exemples de TCP et TP4. Spécification de protocoles, réseaux de Nutt,...

Fondements algorithmiques des systèmes distribués

Architecture multiprocesseurs. Problématique des systèmes répartis : nommage, partage d'informations, cohérence, temps et horloges logiques. Tâches : ordonnancement, terminaison, répartition des calculs. Informations : système de fichiers répartis, cohérence de données réparties. Coopération et concurrence entre processus : exclusion mutuelle décentralisée, synchronisation de tâches, partage de ressources et inter blocages. Programmation en Java RMI.

Intelligence artificielle

Algorithmes de recherche et théorie des jeux ; Rappels sur les logiques. Représentation des connaissances et raisonnement (systèmes experts, réseaux sémantiques, raisonnement hypothétique, etc.) ; Validation des connaissances. Langages à frames. Perception, acquisition de connaissance et apprentissage. Applications et outils : imagerie, fouille de données, robotique.

Matériels et interfaces graphiques

Interfaces : Tâches de la manipulation directe : saisie, sélection, déclenchement, défilement, etc. ; Modes d’interactions. Gestion des événements. Architecture d’une carte graphique SIMD. Frame-Buffer. Pipeline graphique. Tracés 2D de droites, de cercles et remplissage de polygones. Clipping. Elimination des parties cachées. Subdivision et partitionnement d’un espace 2D et 3D (arbres bsp, quad-tree et octree). Couleur, alpha-blending, stencil-buffer et rasterization d’images (textures). Outils de développement. Boîtes à outils : widgets (système d’interface Qt, Gtk ou Java Swing). Contexte et librairies graphiques (OpenGL). Programmation en OpenGL.

Administration des systèmes et réseaux

Systèmes d'exploitation : mise en oeuvre, gestion des utilisateurs, gestion et installations de logiciel. Sécurité. Mise en place et gestion de réseaux locaux. Serveurs réseau : ftp, www. Réseaux locaux : présentation d'architecture d'un réseau d'entreprise. Les composants d'un réseau local (câblage et systèmes de câblage, répéteurs, ponts, commutateurs), l'interconnexion de réseaux : le protocole IP et le routage (différents protocoles), routeurs IP locaux et distants. Mise en oeuvre de protocoles applicatifs (FTP, HTTP, SMTP..) et de services (DNS, DHCP). Sécurité.

Pour plus de renseignements, consultez la fiche de formation correspondante.

Retour au menu

En juin 2006, Rémy Perla est diplômé de Licence d'informatique fondamentale

A l'issue de la Licence en Informatique fondamentale, les étudiants ont une bonne maîtrise des fondements théoriques de l'informatique et ont acquis des compétences pratiques sur le plan de la conception et de la réalisation de logiciels et de la gestion d'environnements informatiques complexes (programmation, systèmes d'information et systèmes d'exploitation).

> Organisation des semestres

Semestre 5
UE obligatoires
• Algorithme et programmation
  - Structure de donné et algorithmique
  - Programmation fonctionnelle
ECTS: 6  
• Informatique théorique I : Théorie des langages ECTS: 6  
• Langue ECTS: 3  
• Logique : Logique et programmation logique ECTS: 6  
• Math. pour l'info. III : Arithmétique et cryptographie ECTS: 3  
• Environnements des systèmes :
  - Systèmes d'exploitation
ECTS: 6  
 
Semestre 6
UE obligatoires
• Anglais disciplinaire ECTS: 3  
• Ingénierie des systèmes:
  - Bases de données
  - Génie logiciel
  - Programmation orientée objet
ECTS: 6  
• Info. théorique II : Théorie des langages et calculabilité ECTS: 6  
• Interfaces homme-machine ECTS: 6  
• Mathématiques pour l'informatique IV ECTS: 6  
  - Graphes et recherche opérationnelle Coeff. 50%
  - Probabilités et statistiques Coeff. 50%
 
• Géométrie et géométrie algorithmique ECTS: 3  

Pour exemple, voici quelques connaissances et savoir-faire acquis durant cette année:

Théorie des langages et calculabilité

Notions de langages. Expressions rationnelles, automates, rationalité et non-rationalité. Grammaires algébriques, automates à piles, algébricité et non-algébricité. Machines de Turing. Extensions des machines de Turing, machines de Turing non déterministes. Récursivité (au sens de Turing) et mu-récursivité (au sens de Church). Thèse de Church-Turing. Machine de Turing universelle et non-calculabilité. Exemples de problèmes indécidables, classes de complexité : P, NP et EXP, NP-complétude.

Interfaces homme-machine

Historique de l’interaction Homme/Machine. Eléments de psychologie appliqués aux systèmes interactifs. Interaction graphique : périphériques d’entrées et gestion des entrées (2D/3D), périphériques de sortie (2D/3D). Codage de la couleur, perception, associations culturelles, cohérence et attention visuelle. Codage d’une image numérique : compression, formats. Dessins vectoriels. Principes de l’ergonomie. Les composants d’IHM : les choix libres et prédéterminés, les choix multiples et mutuellement exclusifs, les actions, etc. La navigation inter et intra fenêtre, système de fenêtrage, librairies graphiques. Etude des dialogues et interactions homme/système : retour système, gestion des erreurs, alertes, aides, validation de saisie etc. Les temps de réponses, l’optimisation de l’interface. Outils de développement, boîtes à outils, générateurs d’interfaces, outils graphiques : wxWidgets, C++, HTML.

Ce cours présente les concepts de base des interfaces homme-machine et de l'ergonomie des interfaces, avec l'élaboration d'une première interface graphique en TP.

Graphes et recherche opérationnelle

Généralités : graphes, chemins et connexité, graphes planaires et nombre d'Euler, arbres et arborescences, parcours. Chemins Eulériens et Hamiltoniens, Arbres de recouvrement, Problème du plus court chemin, Problèmes de flots, Tension, Couplage, Ordonnancement (Méthode de PERT).

Recherche opérationnelle : Optimisation linéaire (Méthode du simplexe et Dualité ). Phénomènes d’attentes.

Génie logiciel

Cycle de vie du logiciel. Expression des besoins et cahier des charges. Décomposition d’un système descendante, ascendante et en yo-yo, prototypages et raffinements. Méthodes de conception (SADT, Merise, UML, etc). Qualités du logiciel : fiabilité, tolérance aux fautes, programmation défensive. Evaluation : planification des tests, preuves, model checking, métriques. Maintenance, gestion de configuration et de documentation. Coût du logiciel (modèle COCOMO). Gestion et planification d'un projet informatique (méthodes PERT, GANTT). Gestion d’une équipe de développement. Panorama des outils automatisés de développement de logiciels. Compilation séparée et mise à jour automatique de logiciels. Gestionnaires de configuration et de documentation. Outils de débogage et de test. Exemple de l'environnement Unix (Make, CVS, RCS).

Ce cours présente la problématique de la production et la gestion du logiciel. Il synthétise et approfondit des notions entrevues dans les enseignements précédents et s'appuie sur des modèles et outils de génie logiciel existants.

Structures de données, algorithmes

Types abstraits, profils de fonctions et signatures, constructeurs, sélecteurs, modificateurs et destructeurs, pré et postconditions, expression du comportement mutuel des opérations. Définition et représentation des piles, files, listes, listes ordonnées. Analyse de la complexité des algorithmes. Stratégies algorithmiques classiques. Prototypage fonctionnel, implantation en langage impératif. Graphes et hypergraphes. Algorithmes classiques sur les graphes. Arbres binaires et généraux, forêts, dictionnaires, arbres équilibrés, AVL, files de priorité, arbres quaternaires, B-arbres. Algorithmes sur les arbres, arbres de recouvrement. Algorithmes de tri interne et externe.

Ce cours présente des méthodes et des outils pour concevoir, implanter et analyser des structures de données et des algorithmes, avec une initiation aux spécifications algébriques. Il montre comment passer de ces spécifications à des programmes corrects et efficaces en langage impératif. Enfin, il initie à l'analyse quantitative et à l'optimalité des algorithmes.

Pour plus de renseignements, consultez la fiche de formation correspondante.

Retour au menu

En 2004, Rémy Perla a validé le diplôme d'études universitaires générales en mathématiques et informatiques appliquées aux sciences (DEUG MIAS)

A l'issue des deux années de DEUG MIAS, les étudiants maîtrisent les fondements des mathématiques : algèbre, calcul différentiel et intégral, calcul numérique, géométrie, calcul matriciel, suites et séries... Il auront également acquis la rigueur du raisonnement mathématique et des capacités d'analyse et de synthèse. Ils sauront mobiliser leur connaissance des théories mathématiques dans la résolution de problèmes purement mathématiques ou posés par d'autres sciences.

A l'issue du parcours fondamental de cette formation, les étudiants ont également une bonne maîtrise des fondements théoriques de l’informatique et ont acquis des compétences pratiques sur le plan de la conception et réalisation de logiciels et sur le plan de la gestion d'information et d'’environnements informatiques complexes (programmation, systèmes d’information et systèmes d’exploitation).

> Organisation des semestres

Semestre 1
UE obligatoires
• Algèbre S1 ECTS: 6  
• Analyse S1 ECTS: 6  
• Algèbre linéaire S1 ECTS: 6  
• Langue & ouverture ECTS: 3  
  - Anglais
  - Accompagnement du projet de l'étudiant  
• Problèmes de mathématiques ECTS: 3  
• Physique S1 ECTS: 3  
• Géométrie dans l'espace ECTS: 3  
 
Semestre 2
UE obligatoires
• Introduction à la programmation: Caml ECTS: 6  
• Méthodes de mathématiques ECTS: 3  
• Mathématiques pratique: Maple ECTS: 3  
• Anglais ECTS: 3  
• Mathématiques S2 ECTS: 9  
  - Algèbre S2 Coeff. 50%
  - Analyse S2 Coeff. 50%
• Physique S2 ECTS: 3  
• Astronomie ECTS: 3  
Enseignement d'ouverture en +
• Gestion d'association En Bonus  
 
Semestre 3
UE obligatoires
• Algèbre et algèbre linéaire S3 ECTS: 9  
• Analyse S3 ECTS: 9  
• Algorithmique et programmation impérative : C ECTS: 6  
• Architecture des ordinateurs et système d'exploitation ECTS: 6  
 
Semestre 4
UE obligatoires
• Algèbre et algèbre bilinéaire S4 ECTS: 6  
• Analyse S4 ECTS: 6
• Algorithmique et programmation orientée objet: Java ECTS: 6
• Programmation systèmes et réseaux ECTS: 6  
• Anglais ECTS: 3  
• Mathématiques pratique 2: Maple ECTS: 3  
 

Pour exemple, voici quelques connaissances et savoir-faire acquis durant ces années:

Programmation système et réseau S4

Principe de programmation impérative avancés. Entrées-sorties. Pipline. Implantation en mode impératif d'un algorithme issu d'une décomposition fonctionnelle du problème. Construction d'algorithmes et de programmes simples. Introduction à la complexité d'algorithmes. Mécanisme d'allocation statique et dynamique, gestion des pointeurs. Exportation et importation de déclarations et compilation séparée. Programmation en C.

Algorithmique et programmation impérative S3

Principes de la programmation impérative. Types de base, constantes, identificateurs, expressions, affectation. Instructions et compositions séquentielle, conditionnelle et itérative. Entrées-sorties et formats. Définition de fonctions, préconditions, postconditions, appels par valeur et par adresse. Récursivité et mécanisme de pile d'exécution. Notion de tableau et de structure. Construction des types simples et des opérations associées. Programmation en C.

Architecture des ordinateurs et système d'exploitation S3

Algèbre de boole, Portes, Circuits logiques, Architecture fonctionnelle des composants d'un ordinateur: processeur, mémoire, bus, périphériques. Comparaison de différents processeurs. Exécution de programmes. Langage assembleur. Coûts et performances. Programmation en SPARC.

Algèbre S3

Réduction des matrices et des endomorphismes : valeurs et vecteurs propres, polynôme caractéristique, diagonalisation, trigonalisation. Polynôme minimal. Application aux systèmes différentiels linéaires.

Introduction à la programmation S2

Introduction à la programmation. Types de base, constantes, identificateurs, expressions, fonctions, définitions. Définitions récursives de fonctions. Entrées-sorties simples. Notions de précondition et de postcondition. Décomposition fonctionnelle d'un problème. Construction de types fonctionnels, de produits cartésiens de types, de types de listes. Opérations classiques sur les listes et tris élémentaires. Méthodes de résolution de problèmes simples. Programmation en Ocaml.

Algèbre S2

Espaces vectoriels, dépendance linéaire, bases, rang. Applications linéaires. Représentation matricielle, changement de bases.

Algèbre linéaire S1

Systèmes linéaires. Matrices. Rang. Déterminants.

Pour plus de renseignements, consultez la fiche de formation correspondante.

Retour au menu