Développement collaboratif et bonnes pratiques de programmation
ECTS :
4.5
Semester:
Semestre 2
Detail
Lecture:18
Directed study:24
Language(s) of instruction
Français
Remote teaching
non
Learning objectives
Ce cours initie les étudiants aux pratiques professionnelles du développement logiciel : écriture d’un code clair et maintenable, gestion de versions avec Git, travail collaboratif sur GitHub, et découverte des grands principes de la documentation et de l’intégration continue. À travers des études de cas et des exercices pratiques, les étudiants apprendront à structurer un projet logiciel, collaborer efficacement et s’inspirer des meilleures pratiques de la communauté open source.
Programmation embarquée et IoT (Raspberry Pi, capteurs, actionneurs, communication réseau)
Acquisition et traitement de données en temps réel
Apprentissage automatique et intelligence artificielle appliquée
Conception et pilotage de systèmes autonomes
Travail collaboratif et conduite de projet technologique
Learning objectives
Dans ce module dédié à l’Internet des Objets (IoT), les étudiants conçoivent et programment un système autonome intelligent basé sur des Raspberry Pi. L’objectif est de créer une plateforme capable de contrôler un dispositif motorisé de manière totalement autonome, en maximisant ses performances tout en assurant la stabilité et la sécurité du système. Les participants développent en Python les fonctions de commande, de mesure et de communication, puis implémentent un algorithme d'apprentissage par renforcement pour permettre au système d'adapter son comportement en fonction de l’environnement.
Ce cours propose une introduction générale à l'analyse économique et juridique de l'entreprise. Il a pour but en particulier :
de présenter les différents modèles permettant de décrire l'environnement économique d'une entreprise, notamment l'économie industrielle.et son environnement concurrentiel ; de présenter le cadre règlementaire et juridique dont doivent tenir compte les entreprises pour mener à bien leurs activités, comme le droit du travail et le droit des sociétés
Learning objectives
Comprendre l'entreprise dans son environnement économique et juridique, et être capable de saisir les enjeux qui conditionnent ses activités et son développement
Overall organisation
L'UE se structure en deux modules :
Le module analyse économique de l'entreprise : environnement macro-économique, géographie économique, jeu concurrentiel des marchés, concurrence imparfaite, modèle d'affaires de l'entreprise, la chaîne de valeur de l'entreprise et son système de valeur.
Le module Environnement juridique : droit des sociétés, droit commercial et des contrats, droit du travail, droit de l'informatique
Le but de cet enseignement est de développer l’usage des technologies de l'information et la compréhension des enjeux des systèmes d'information, dont le système d'information comptable, comme outil d’aide à la prise de décision.
Learning objectives
Mobiliser des techniques de management et de pilotage dans le cadre de projets, notamment en systèmes d'information.
Overall organisation
Cette UE s'organise en deux modules:
Une introduction au management des SI : présentation des composantes, des dimensions et des différents types de SI ainsi que leurs fonctions dans l'organisation: présentation du cadre d'analyse des SI, fonctions des SI, différents types de SI (opérationnel, managérial, décisionnel...) et leur articulation, les principales applications SI (ERP, CRM, SCM ...)
Le pilotage par les coûts : présentation des principales méthodes de calcul des coûts (coûts complets, coûts partiels), calcul du coût de revient et du résultat analytique d’une activité ou d’un processus, étude de rentabilité, calcul et analyse d'écarts, etc.
Cette UE concerne la comptabilité générale et l'analyse financière. Elle vise à faire acquérir aux étudiants les concepts et les principes de base de la comptabilité générale; à leur présenter les concepts et les techniques utilisés pour mesurer la performance financière des entreprises. Les étudiants seront à même de comprendre et d'analyser les documents comptables synthétiques que sont le bilan et le compte de résulta; d'analyser la situation financière des entreprises à travers les soldes intermédiaires de gestion (SIG), le bilan fonctionnel et ses grandeurs financières (fonds de roulement, besoin en fonds de roulement, trésorerie nette), ainsi que leur rentabilité.
Learning objectives
Appréhender les outils et les techniques nécessaires à la bonne gestion financière des entreprises.
Overall organisation
Cette UE comprend deux modules:
Organisation : Comptabilité générale : principes généraux de la comptabilité générale, comptabilisation en partie double, documents comptables (grand-livre, journal) et documents comptables de synthèse (bilan, compte de résultat, annexe)
Analyse financière : il s'agit d'apprécier la santé financière de l'entreprise à partir des documents comptables de référence au travers du calcul des Soldes Intermédiaires de Gestion (SIG), d'une analyse de la rentabilité d'exploitation, de l'équilibre financier du bilan fonctionnel (fonds de roulement, besoin en fonds de roulement et trésorerie nette)
4- Le marketing au sein des organisations aujourd’hui
Thème 2 : LE MARKETING STRATEGIQUE ET LES STRATEGIES MARKETING
1- L’analyse de marché
2- Le comportement du consommateur
3- Les études de marché
4- Segmentation, Ciblage et Positionnement
5. Les stratégies génériques de Porter
Thème 3 : LE MARKETING OPERATIONNEL
1- La politique produit
2- La politique de prix
3- La politique de distribution
4- La politique de communication
Learning objectives
Il s’agit, tout en approfondissant une réflexion sur le devenir d’une société où la consommation est devenue le rouage moteur de l’économie, de mettre à disposition les connaissances et les outils dont les étudiants pourront avoir besoin pour être opérationnels au sein d’une équipe marketing ou commerciale.
Overall organisation
Travail de groupe à partir d’une étude de cas avec présentation orale
Bibliography
Marketing Management P. Kotler
Marketing Stratégique et opérationnel : du marketing à l’orientation marché de JJ Lambin
L’encyclopédie du marketing JM Lehu
Le marketing : fondements et pratiques de PL Dubois
Mercator, théorie et pratique du marketing de J. Lendrevie
Les outils du marketing stratégique et opérationnel de Y. Pariot
Premières expériences en algorithmique, programmation et complexité (en L1 et L2).
Programme/contents
Ce cours présente la notion de graphe et son utilisation pour la modélisation de problèmes, ainsi qu’une sélection d’algorithmes pouvant servir de base à leur résolution. On y aborde également des techniques algorithmiques générales, toujours avec le souci d’analyser leur validité et leurs propriétés de complexité.
Contenu :
Structure de graphe
Algorithmes de parcours : en profondeur, en largeur, tri topologique, composantes connexes
Recherche de plus courts chemins
Algorithmes gloutons : coloration, couverture de graphes
Programmation dynamique et mémoïsation
Modélisation d’un problème : par un graphe, par une formule SAT
Classes de complexité P/NP
Learning objectives
Connaissance des techniques algorithmiques classiques et de la structure de graphe. Savoir modéliser un problème en se basant sur des structures connues, puis proposer un algorithme de résolution et évaluer ses performances et son adéquation au problème posé. Notion de classe de complexité et connaissance de problèmes difficiles de référence.
Overall organisation
Cours accompagnés de TD et de TP. Évaluation par épreuves écrites.
Connaissance des bases du modèle relationnel : conception de schémas, normalisation (jusqu’à la 3FN), et maîtrise des requêtes SQL pour manipuler et interroger les données.
Programme/contents
Étude des principales problématiques liées aux bases de données relationnelles, et des solutions apportées par le langage SQL.
Introduction au langage PL/pgSQL : procédures stockées, curseurs, gestion des exceptions, transactions et triggers.
Accès au SGBD depuis un langage de programmation (Java ou Python), avec ou sans ORM (mapping objet-relationnel) : exécution de requêtes, navigation avec curseurs, appels de procédures/fonctions, gestion des transactions.
Initiation aux bases de données NoSQL : clé-valeur, documents, graphes.
Learning objectives
Savoir développer, avec SQL, PL/pgSQL et un langage de programmation (Java ou Python), une application complète reposant sur un SGBD relationnel, en prenant en compte les contraintes d'intégrité, la gestion des transactions, la confidentialité des données et l’indépendance logique/fonctionnelle. Comprendre les concepts fondamentaux des bases NoSQL.
Overall organisation
L'UE s'organise en cours accompagnés de séances de TD/TP.
L'enseignement portera sur les techniques suivantes:
Approfondir les techniques de modélisation en UMLen mettant l'accent sur les diagrammes d'analyse et de conception.
Test de boite-noire fonctionnelle à partir d'une spécification informelle, de machine à états, de formules logiques
Test de boite-blanche à partir de programmes
Learning objectives
Dans le génie logiciel , on distingue plusieurs phases dans le processus de développement de logiciels, l'analyse, la
conception, le codage, l'intégration, la validation et la vérification des composants du système ou des systèmes entiers. Le cours dans sa première partie concerne la modélisation des systèmes avec les diagrammes UML de l'analyse à la conception. Enfin, nous abordons le test fonctionnel et structurel.
Introduction à l'informatique et python, introduction à la programmation impérative, Calculus 1-2, Algèbre linéaire 1-2, Combi Proba
Programme/contents
Ce cours a pour but d'introduire les concepts fondamentaux de l'apprentissage statistique, avec une attention particulière portée sur les réseaux de neurones (simples). Ici on cherche à comprendre à fond quelques modèles simples, mais qui sont les briques de base des modèles modernes plus complexes. En d'autres termes, on ouvre ce qui est parfois perçu comme une boîte noire dans des cours d'Apprentissage Statistique plus appliqués.
Ici il y a des applications (nuages de points, données tabulaires, images type MNIST, textes courts), mais qui sont plutôt des illustrations pour se forger l'intuition sur des cas concrets que des objectifs en soi. Ces illustrations permettent aussi d'alterner entre théorie et mise en pratique, pour rendre les notions vues en cours plus intuitives.
Le cours se abordera les points suivants:
La notion d'optimisation de fonction de coût; La descente de gradient;
La régression linéaire; Le perceptron binaire;
La notion de sur-apprentissage; Les ensembles pour valider l'apprentissage (train, validation, test); L'optimisation d'hyper-paramètres; La cross-validation;
L'encodage One-hot; la standardisation;
Les features maps; La réduction dimensionnelle (seulement la PCA); La régularisation (L2);
Un peu de Traitement Automatique des Langues: tokenisation, Bag Of Word, TF-IDF;
Éventuellement, des modèles Bayésiens très simples (Bayésien Naïf pour la classification).
Learning objectives
Concepts fondamentaux de l'apprentissage statistique et application à des exemples simples.
Overall organisation
L'UE s'organise en cours accompagnés de séances de (quelques) TD et de (nombreux) TP.
Les bases du calcul propositionnel (tables de vérité des connecteurs logiques). Les bases du raisonnement mathématique (définitions, énoncé, preuves).
Programme/contents
Le programme du cours est le suivant :
Langage logique (calul propositionnel et calcul des prédicats), modélisation à l'aide de la logique
Systèmes de règles logiques pour construire des preuves
Termes : signature, preuve par récurrence structurelle, définition récursive de fonctions
Calcul des prédicats : syntaxe, variables libres et liées, sémantique, équivalence
Modèle, modèle de Herbrand
Exemples de théories
Démonstration automatique, formes normales, résolution, séquents
Overall organisation
UE est organisée de manière classique avec des séances de cours et exercices en classe entière suivies de séance de TD. Quelques activités d'apprentissage autonome en ligne sont proposées. L'évaluation repose sur un partiel et un examen final.
Pour fonctionner correctement, les réseaux nécessitent un grand nombre d'équipements et de processus, rendant leur architecture souvent complexe. Pour réduire cette complexité, les différentes fonctions ont été décomposées en niveaux protocolaires. Après avoir posé les fondements des télécommunications et rappelé les bases de la transmission de l’information, cette unité d'enseignement détaille les deux premiers niveaux des réseaux, à savoir « physique » (bande passante, débit binaire, codage, …) et « liaison » (codes détecteurs, codes correcteurs, techniques d'accès, …). Les principaux protocoles correspondants sont également présentés. Une série de travaux dirigés et de travaux pratiques permet d’assimiler et d’appliquer les différents concepts étudiés.
Learning objectives
Utilisation de technique de traîtement du signal (codes correcteurs, …)
Connaissance du fonctionnement et des protocoles de la couche physique.
Connaissance du fonctionnement et des protocoles de la couche de liaison.
Maîtriser les bases de la programmation procédurale (ex. C, Python).
Connaissance des structures de contrôle (conditions, boucles, fonctions).
Compréhension de la notion de variable, de type et de structure de données. Savoir utiliser un environnement de développement (IDE, compilation, exécution).
Programme/contents
Introduction et environnement Java
Bases du langage et structures fondamentales
Programmation orientée objet
Héritage, polymorphisme et abstraction
Gestion des erreurs et collections
Entrées/sorties et classes internes
Learning objectives
Comprendre les principes de la programmation orientée objet (POO).
Concevoir et implémenter des programmes modulaires et réutilisables en Java.
Appliquer les notions d’héritage, de polymorphisme et d’abstraction.
Utiliser les collections, exceptions, et fichiers pour gérer les données.
Développer des programmes multi-threads et événementiels.
Créer des interfaces graphiques avec Java Swing et Java2D.
Overall organisation
Cours magistral (10.5h CM): Présentation des concepts fondamentaux du langage et de la POO
Travaux pratiques (10.5h TP): Exercices
Travail personnel (7h): Révision, préparation du projet, lectures complémentaires