Mathématiques et calcul 1 (MI01M030)
Mathématiques et calcul 1 (MI01M030)
cours: 36h TD: 60h
Objectifs :
Introduction des outils mathématiques nécessaires dans les autres disciplines scientifiques et développement d'une habileté calculatoire (rappels sur les nombres complexes, introduction à l'algèbre linéaire, calcul vectoriel, notions de suite et de fonction). Éléments de méthodologie : utilisation des symboles mathématiques, manipulation des indices, calcul proportionnel.
Compétences acquises :
Habileté calculatoire, maîtrise des outils élémentaires en algèbre linéaire, arithmétique et en analyse........
Programme:
1 Les nombres complexes, racines n-ièmes ;
2 Fonctions continues, dérivables, fonctions réciproques, TVI, TAF,TR ;
3 Espace vectoriels : calculs vectoriels, applications linéaires, noyau et image ;
4 Suites numériques.
Algorithmique et programmation 1 (MI01M040)
Algorithmique et programmation 1 (MI01M040)
cours: 18h TD: 18h TP: 18h
Objectifs :
L'objectif de ce cours est l'initiation à la programmation et à l'algorithmique. Le langage support est Python.
Les étudiants apprennent dans ce cours à écrire un programme. Ils comprennent ce que signifie code source, langage de programmation, éditer et exécuter un programme, les entrées/sorties, les types de données, les fonctions, pour s'approprier le concept pratique de programmation. L'algorithmique est également abordée par ce cours via des problèmes algorithmiques sur des listes, des tableaux, des chaînes de caractères. Pendant les 12 semaines du cours, un concept de programmation et/ou d'algorithmique est abordé chaque semaine.
Compétences acquises :
Connaissance et construction d'un programme Python: entrées/sorties, variables, affectations, opérateurs, conditions, boucles, listes, chaînes de caractères, tableaux, fonctions, hasard. Algorithmique: tri dans un tableau, recherche de motif dans une chaîne, plus court chemin dans un graphe, etc.
Connaissances de base en informatique (MI01M050)
Connaissances de base en informatique (MI01M050)
cours: 12h TP: 12h
Objectifs :
Fournir aux étudiants les connaissances de base en informatique en particulier sur les points suivants :
- Algorithmique et résolution de problèmes
- Architecture des machines et système d'exploitation, en particulier le système Linux
Compétences acquises :
Savoir utiliser un ordinateur sous linux Savoir écrire un algorithme correspondant à un problème élémentaire
Introduction générale au droit (6 ECTS)
Mathématiques et calcul 2 (MI02M150)
Mathématiques et calcul 2 (MI02M150)
cours: 36h TD: 60h
Objectifs :
Introduction des outils mathématiques nécessaires à la poursuite des études en mathématiques et informatique et leurs applications (calcul des intégrales simples, intégrales simples généralisées, séries numériques, matrices, calcul de déterminants). Eléments de méthodologie : entraînements aux différentes formes de raisonnement (récurrence, contre-exemple,...), et à la rédaction.
Compétences acquises :
Savoir calculer une primitive et manipuler l'intégrale simple; reconnaître les intégrales généralisées convergentes ou divergentes par les critères de base. Manipulation des séries numériques. Calcul de déterminants
Programme:
1 Intégrale de f continue sur [a,b] ; 2 D.L., formule de Taylor avec reste intégral ; 3 Matrices et déterminants ; 4 Séries numériques.
Algo et Programmation 2 (MI02M160)
Algo et Programmation 2 (MI02M160)
cours: 18h TD: 18h TP: 18h
Objectifs :
Ce cours est la suite du cours d'introduction à la programmation et à l'algorithmique. Le langage support est toujours Python. Les structures de données sont abordées: tableaux, listes, piles, files, graphes. Elles sont utilisées pour manipuler des notions algorithmiques telles que la comparaison, le tri, le balayage, les algorithmes gloutons, la recherche par dichotomie, le codage. Chaque nouvelle notion introduite est illustrée par des exemples.
Compétences acquises :
Maîtrise des notions d'algorithmie en Python, d'analyse de problèmes par décomposition en tâches élémentaires et choix des structures. Création de programmes Python simples, non triviaux résolvant des problèmes algorithmiques classiques.
Numération et logique (MI02M170)
Numération et logique (MI02M170)
cours: 12h TD: 12h
Objectifs :
Principes de la numération et de la représentation des nombres (entiers, réels, booléens) en informatique. Les mécanismes élémentaires de la logique booléenne et les bases du raisonnement déductif. Étude des définitions récursives des structures de séquence et d'arbre ; construction de programmes récursifs.
Compétences acquises :
Savoir utiliser des données numériques quelle que soit la base et le format utilisé. Savoir passer de l'énoncé d'un problème simple à sa résolution informatique.
Droit constitutionnel 2 (6 ECTS)
Algorithmique (IF03X010)
cours: 18h TD: 36h
Objectifs :
Dans ce cours on s'intéresse à comprendre l'intérêt des structures de données (tableaux, listes chaînées, piles, files) et savoir construire des méthodes de recherche ou de tri efficaces. Maîtriser les structures arborescentes et leurs principales utilisations (recherche, tri, compression, classification, décision). Appliquer les connaissances en programmation pour maîtriser la récursivité dans les algorithmes
Compétences acquises :
Structurer des données pour la mise en uvre d'un algorithme simple. Construire une structure arborescente pour résoudre un problème de classification ou de décision. Concevoir le stockage des données pour faire une recherche ultérieure efficace.
Programme:
Pseudo-langage utilisé pour décrire les algorithmes.Rappels de notions mathématiques utiles (opérations ensemblistes)Recherche dun élément dans un vecteur trié, non trié.Algorithmes de tri sur un vecteur.Calculs élémantaires de complexité.Piles, files.Récursion et inductionStructures arborescentes
Programmation impérative (IF03X020)
Programmation impérative (IF03X020)
cours: 18h TP: 36h
Objectifs :
L'objectif est de donner aux étudiants les éléments nécessaires à la programmation en C. Après avoir abordé les éléments de base : instructions, variables, structures de contrôle, fonctions, entrée-sorties, ce cours étudie les éléments intermédiaires : les structures de données, les pointeurs, les tableaux, les chaînes de caractères, l'allocation dynamique de mémoire et les possibilités d'un "makefile".
Compétences acquises :
Savoir traduire un algorithme élémentaire en langage CSavoir compiler et exécuter des programmes C
Programme:
1. 1.Programmer en Langage C, Variables , Constantes 2. 2.Opérateurs 3. 3.Fonctions 4. 4.Pointeurs 5. 5.Tableaux 6. 6.Tableaux de caractères chaîne de caractères 7. 7.Synthèse Tableaux - Pointeurs / Tableau de Pointeurs 8. 8.Structures Unions Énumérations 9. 9.Fichiers 10. 10.Pré-processeur 11. 11.Compilation séparée 12. 12.Intégration dun programme C dans lenvironnement hôte
Bases de données (IF03X030)
Bases de données (IF03X030)
cours: 18h TD: 36h
Objectifs :
Ce module à pour objectif de former les étudiants à l'utilisation et à la conception Bases de Données au sein d'un système d'information
Compétences acquises :
Savoir concevoir un modèle conceptuel de données à partir d'un cahier des chargesSavoir utiliser une base de données à partir du langage SQL
Programme:
§ Objectifs des systèmes de gestion de données§ Notion de modèle de données, de langage de définition et de manipulation de données§ Conception d'un modèle conceptuel de données avec l'approche entité-association§ Modèle relationnel de données§ Algèbre relationnelle§ Dérivation d'un modèle conceptuel de données en un schéma de base de données relationnel§ Définition et manipulation des données en SQL§ Vérification des contraintes d'intégrité en SQL : clés, assertions, déclencheurs§ SQL embarqué§ Modèle relationnel de données enrichi par les dépendances fonctionnelles§ Gestion de la concurrence dans les systèmes de gestion de données : les transactions§ Définition et gestion des droits d'accès des utilisateurs en SQL
Droit civil des contrats (6 ECTS)
Droit administratif (6 ECTS)
Programmation Orienté Objet (IF04X020)
Programmation Orienté Objet (IF04X020)
cours: 18h TD: 18h TP: 18h
Objectifs :
Le cours de Programmation4 a pour but de familiariser les étudiants aux concepts de l'orienté objet au travers du langage Java. Il permet d'acquérir les bases nécessaires pour développer des applications autonomes en Java. Les aspects spécifiques de Java (comme par exemple les accès bases de données, XML, etc.) ne sont pas abordés.
Compétences acquises :
Savoir écrire en Java, un programme conforme aux principes de l'orienté objetSavoir utiliser les classes de l'API standard en s'appuyant sur leur documentation
Programme:
- Introduction aux principes de la POO- Introduction à la programmation Java- La structure d'un programme Java- Les éléments du langage- Organisation des classes- Les chaînes de caractères- Les structures d'objets- Encapsulation, Héritage et Polymorphisme- Classe abstraite et Interface- Gestion des erreurs (les exceptions)
Projet de programmation (IF04M030)
Projet de programmation (IF04M030)
Objectifs :
L'objectif de ce module est de permettre aux étudiants de dépasser le simple stade des travaux pratiques en leur donnant une première expérience de développement d'application en équipe (groupe de 4). Cette expérience doit les sensibiliser aux différentes phases de la réalisation d'un projet : de l'expression du besoin à la recette.
Compétences acquises :
Travailler en équipe, élaborer et rédiger une documentation élémentaire (cahier des charges, manuel utilisateur, cahier de recette, rapport technique), faire une soutenance orale, programmer des applications répondant à des problèmes de complexité moyenne
Programme:
Les projets sont encadrés par un enseignant pendant 12 semaines au travers de réunions hebdomadaires. Durant chaque séance, chaque groupe présente sont avancement. Ils s'achèvent par une soutenance et la remise d'un rapport. Les quatre premières semaines sont réservées à l'élaboration du cahier des charges. Les six suivantes sont dédiées à la phase de développement et finalement, les deux dernières a la rédaction du rapport et à la préparation de la soutenance.
Systèmes d'exploitation (IF04M040)
Systèmes d'exploitation (IF04M040)
cours: 18h TD: 36h
Objectifs :
L'objectif de ce cours est d'aborder les notions permettant de comprendre le fonctionnement dun système d'exploitation ainsi que l'étude des algorithmes de certaines fonctionnalités de Linux en C. L'approche sera générale en abordant les principes fondamentaux : interruptions, ordonnancement, gestion des processus, gestion de la mémoire centrale, mémoire virtuelle, système de fichier, synchronisation de processus).
Compétences acquises :
- Savoir concevoir théoriquement un système d'exploitation.- Acquisition des notions permettant la communication entre processus.- Savoir optimiser l'utilisation des ressources matérielles de l'ordinateur.
Conception de sites web dynamiques (IF04M080)
Conception de sites web dynamiques (IF04M080)
cours: 18h TD: 36h
Objectifs :
Maîtriser les concepts liés à la programmation de sites web dynamiques et être capable de développer un site web dynamique.
Compétences acquises :
Programmation en HTML, CSS, Javascript et PHP
Programme:
- HTML- Feuilles de style CSS- Programmation dynamique côté client : javascript- Programmation dynamique côté serveur : PHP et interaction avec des bases de données.
Réseaux (IF05X060)
cours: 18h TP: 36h
Objectifs :
Ce cours présente les fondements des réseaux de communication, qu'il s'agisse des techniques de codage de l'information pour la transmission, des algorithmes de contrôle d'accès aux supports ou du routage dans l'Internet. Les architectures et les protocoles de communication des réseaux locaux et de l'Internet sont étudiés en détails.
Compétences acquises :
Savoir faire le choix d'une architecture de réseau local, d'une classe d'adresse et configurer un équipement terminal dans un réseau local. Savoir sélectionner les équipement et les protocoles pour l'interconnexion de differents réseaux (locaux, Internet, ...).
Programme:
supports de transmission et codage de l'informationrègles du dialogue entre ordinateurs : architectures et protocoles de communicationadressage, routage, nommage dans un réseauéquipements constitutifs d'un réseau : concentrateur, commutateur, pont, routeurréseaux locaux et réseaux grandes distancesinterconnexion de réseaux et architecture TCP/IP.Le réseau téléphonique commuté public
Génie logiciel (IF05X020)
Génie logiciel (IF05X020)
cours: 18h TD: 36h
Objectifs :
Ce cours est destiné à donner un panorama complet des principales méthodes dingénierie logicielle. Il présentera les principales métriques liées aux différents critères de qualité ainsi que les différentes activités liées à la réalisation dun projet : de lélaboration du cahier des charges jusquà la validation dun produit. En outre, il abordera lélaboration dune documentation complète et les problématiques de gestion et de planification.
Compétences acquises :
Réaliser un cahier des charges, analyser et concevoir un système informatique, utiliser le langage UML, planifier un projet, intégrer la notion de qualité, rédiger une documentation complète
Programme:
Introduction au génie logicielLa documentationEléments de gestion de projetLapproche UMLUML - Diagramme de cas dutilisationUML - Diagramme de classe et diagramme dobjetsUML - Expression des contraintes et diagramme détats-transitionUML - Diagramme dactivité et diagramme de séquenceUML - Diagramme dinteractionUML - Diagramme de composants et de déploiementLa mise en oeuvre et les patrons de conceptionLes méthodes agiles
Algorithmique avancée (IF05X040)
Algorithmique avancée (IF05X040)
cours: 18h TD: 36h
Objectifs :
Ce cours permet de modéliser un problème et évaluer quantitativement et qualitativement des situations complexes comme la recherche d'un plus court chemin, l'optimisation d'un projet multitâches, l'écoulement d'un trafic dans un réseau, le dimensionnement d'un équipement informatique... à l'aide de la théorie des graphes, des files d'attente ou des chaînes de Markov.
Compétences acquises :
Trouver le plus court chemin ou l'arbre de poids minimum dans un graphe, planifier les tâches dans un projet et surveiller les tâches critiques. Dimensionner un équipement ou un réseau pour qu'un trafic s'y écoule harmonieusement. Évaluer les performances d'un système comprenant des phénomènes aléatoires
Programme:
· Introduction au graphes· Définitions· Parcours de graphes· Ordonnancement de tâches· Recherche de chemins le plus courts· Graphes Eulériens, Hamiltoniens· Flot maximum· Préflot· Introduction aux chaînes de Markov · Introduction au regroupement
Programmation avancée et Application (IF05X030)
Programmation avancée et Application (IF05X030)
cours: 18h TP: 36h
Objectifs :
L'objectif de ce module est d'approfondir la Programmation Orientée Objet en Java et d'acquérir les compétences attendues d'un développeur débutant dans les domaines tels que interfaces graphiques, entrées-sorties, bases de données, client-serveur, xml, thread, réseaux.
Compétences acquises :
Maîtrise du concept de polymorphisme, de sa compréhension et de son utilisation en phase de développement.Savoir utiliser les API Java les plus usités, savoir se documenter pour apprendre et utiliser d'autres APIs
Programme:
rappels : - objets, classes, encapsulation- héritage,polymorphisme- exceptions- définition de classesprogrammation événementielleInterfaces graphiquesEntrées-sortiesJDBCThreadprogrammation réseauServletXML