Python est un langage de programmation puissant et facile à apprendre. Il est de plus en plus utilisé dans différents domaines.
Il est en évolution constante grâce à une communauté solide qui ne cesse de l'enrichir avec de nouvelles bibiliothèques.
C'est un langage interprété et multiplateformes. Il peut être utilisé pour la programmation structurée, fonctionnelle et orientée objet.
L'interpréteur Python et ses vastes bibliothèques sont disponibles librement, pour toutes les plateformes
1. Initiation programmation Python
Validation et tests : Ecrire un docstring - Ecrire un doctest - Présentation de l’outil Python Tutor.
Interagir avec l’utilisateurs : Les sorties - Les entrées.
2. Programmation Python avancée
Introduction à la Programmation Orientée Objet (POO) et concepts clés.
Les classes et les objets : Surcharge de méthode - Membres statiques - Méthode de classe.
Associer les classes entre elles : Diagramme de classe en UML - Passage du diagramme de classe vers du code Python.
L’héritage : Syntaxe - Méthode spéciale super() - Classe abstraite - Polymorphisme.
Les exceptions : Traitement - Types - Levée explicite - Création d’une nouvelle classe d’exception personnalisée.
Les fichiers : Ouverture - Lecture -Ecriture - Fermeture - Autres opérations sur les fichiers.
IHM : Interface graphique avec Tkinter.
Quelques modules Python : La manipulation et analyse de données avec Pandas - Le calcul scientifique et l'analyse numérique avec le module Numpy - La visualisation de données avec Matplotlib - Les figures avec le module Turtle - L’arithmétique avec le module Math.
Le langage C est plutôt complexe mais si vous le maîtrisez vous aurez des bases de programmation très solides !
Le C est un langage de programmation procédural et généraliste. Il est qualifié de langage de bas niveau car chaque instruction du langage est conçue pour être compilée en un nombre d'instructions machine assez prévisible en termes d'occupation mémoire et de charge de calcul.
1. Initiation programmation C
Introduction à la programmation C :
Les bases du langage C :
Déclaration.
Les types.
Initialisation.
Affectation.
2. Programmation avancée en C
Les chaines de caractères.
Intérêt d’utilisation.
Déclaration.
Manipulation.
Les pointeurs.
Déclaration.
Manipulation.
Exemples d’usages.
Créer ses propres types.
Structure.
Enumeration.
Union.
L’allocation dynamique de la mémoire.
Déclaration.
Manipulation.
Allocation.
Réallocation.
Libération.
Structure dynamique.
Intérêt d’utilisation.
Déclaration.
Manipulation.
L'algorithmique et la manipulation de structures de données complexes mecessitent une grande maitrise des langages de programmtion et notament du lagage C. En effet, le C permet une manipluation très fine de la mémoire et du temps d'éxécution. Chaque instruction du langage est conçue pour être compilée en un nombre d'instructions machine assez prévisible en termes d'occupation mémoire et de charge de calcul.
Discussion sur la performance des différentes structures présentées.
Java est un langage de programmation multiplateforme orienté objet qui s'exécute sur des milliards d'appareils dans le monde entier. Il alimente les applications, les systèmes d'exploitation smartphone, les logiciels d'entreprise et de nombreux programmes connus.
Même s’il a plus de 20 ans, Java est actuellement le langage de programmation le plus populaire pour les développeurs d’applications.
Programmation orientée
objet
Premier pas en Java
Interagir avec l’utilisateur
Les structures de contrôle
Les tableaux et les ensembles
Associer les classes entre elles
Héritage et polymorphisme
Les exceptions
Manipulation des fichiers
Interface graphique avec Swing
Le "Web sémantique" représente le Web 3.0. Il s'agit d'un ensemble de standards et de technologies qui agissent pour mieux mettre en lumière le contenu Web. Le Web sémantique est un Internet où les informations ne sont pas seulement liées, mais où leur sens est traité. Notre objectif est de :
Comprendre les principes du Web Sémantique et son intérêt.
Apprendre à décrire des données en leur ajoutant de la sémantique (RDF(S)/OWL).
Être capable de faire du raisonnement et d’inférer de la connaissance à partir de données sémantiques en utilisant les règles d’inférences.
Apprendre à interroger les données avec le langage SPARQL.
Créer une ontologie, décrire des données et faire du raisonnement en utilisant le logiciel « Protégé ».
Créer, manipuler et interroger des ontologies et des données Web avec Python.
Introduction au Web Sématique
Web actuel (2.0) versus Web sémantique (3.0).
Les principes du Web sémantique.
Exemples de cas d’usages réels pour montrer l’intérêt et la puissance du Web sémantique.
Pratique : Exemple avec de la pratique sur une large base de données Web distante : DBpedia (base de connaissance Web décrivant plus de 3,4 millions d'entités).
TP1 - Exemple de cas d'utilisation du Web Semantique pour le marketing digital.
Les langages de Web Sématique
Connaissances, Mining et raisonnement
Pratique : Inférence de connaissances et raisonnement sur un cas d’étude avec Protégé.
Interraction avec une source de données NoSQL (Web de Données)
Création et manipulation d'une source de données du Web Sémantique
Cumulez les avantages de l'IA et du Big Data pour mettre en place la data intelligence et développer la performance de votre entreprise sur son marché !
L’intelligence artificielle (IA) et le Big Data sont deux technologiques convergentes qui, au-delà de devenir les disruptions numériques les plus importantes à partir de cette année, vont bouleverser le court de la vie dans tous les secteurs.
Les technologies de Big Data fournissent l’infrastructure nécessaire pour collecter, stocker et traiter de grandes quantités de données provenant de diverses sources. Ces données sont ensuite utilisées par les systèmes d’IA pour entraîner des algorithmes et améliorer leur précision et leur performance. »
La visualisation des données (ou data visualization ou dataviz en anglais) désigne le fait de représenter visuellement ses data pour pouvoir déceler et comprendre des informations, les données brutes étant difficilement interprétables et exploitables. Ce processus se fait par des outils analytiques spécifiques et se matérialise par des tableaux, des graphiques, des cartes visuelles ou même des infographies regroupées dans des dashboards (tableaux de bord).
En classant, segmentant et scénarisant les données visuellement, une entreprise peut déceler des informations auparavant inaccessibles en un simple coup d’œil. La visualisation des données permet donc à toute organisation de piloter son activité plus efficacement en adoptant une stratégie data-driven et agile.
Introduction à la visualisation
des données
Qu'est ce que la data visualisation des données ?
Importance et objectifs de la data visualisation.
Principes fondamentaux (perception visuelle, storytelling avec les données).
Types de visualisation.
graphiques de bases : points, barres, lignes, nuages, etc.
graphiques avancés : carte géographique, carte thermique, interractif, etc.
Bonnes et mauvaises pratiques.
Processus de création d'une visualisation.
Exemple concret.
Les métiers de la data visualisation.
Comment dévelloper vos compétences en visualisation des données ?
TP1 - Présentation et Visualisation des Données sur Tableur.
Dashbord : Tableau de bord
TP3 : Personalisation du Dashbord avec Power BI.
Développement d'applications avec visualisation de données
Définir l'objectif de l'application.
Application de bureau : avec Python, comme Matplotlib, Seaborn, Plotly, ou PyGWalker
Analyse de visualisations célèbres (exemples de Hans Rosling, New York Times, etc.).
Les bases de donnéesSQL, également appelées bases de données relationnelles, sont des systèmes qui stockent des collections de tables et organisent des ensembles structurés de données dans un format tabulaire de colonnes et de lignes, similaire à celui d'une feuille de calcul.
SQL est un langage qui permet de manipuler (c'est-à-dire créer, modifier, supprimer, interroger) tous les types d'objets d'une Base de données relationnelle.
Modèle conceptuel de données
Modèle logique de données
Normalisation du modèle relationnel
Création d'une base de données relationnelle
Pratique : installation, présentation et manipulation de XAMPP et phpMyAdmin.
TP 1 : création d'une base de données et de ses tables.
Manipulation d'une base de données relationnelle
Langage de manipulation de données (LMD).
Modification du contenu d’une base de données (insertion, suppression et mise à jour des données).
Consultation des données : Syntaxe générale de la commande « SELECT ».
TP2 : Manipulation d'une base de données relationnelle.
Interrogation d'une base de données relationnelle
Requêtes avancées
Agrégation
Vues et manipulations avancées
Le génie logiciel (software engineering) est une science qui étudie les méthodes de travail et les bonnes pratiques des ingénieurs qui développent des logiciels. Le génie logiciel s'intéresse en particulier aux procédures qui permettent d'arriver à ce que des logiciels de grande taille correspondent aux attentes du client, soient fiables, aient un coût d'entretien réduit et de bonnes performances tout en respectant les délais et les coûts de construction.
En effet, concevoir puis mettre en place des logiciels de comptabilité, de gestion des stocks, de traitement des images ou d'applications web, …, en suivant les demandes des entreprises ou des administrations, c'est le rôle de l'ingénieur logiciel !
Cette formation fournit aux apprenants des notions clés dans leur parcours académique et professionnel qui leur permettront de développer, créer et concevoir des logiciels de qualité, robustes et réutilisables.
En effet, en combinant des concepts théoriques, de la pratique et des mini-projets, cela permet de fournir aux étudiants une solide compréhension : des différentes étapes à respecter pour la conception d’un logiciel, des différents cycles de vie d’un logiciel et des différents outils qui guident dans la fabrication d’un logiciel.
Ce contenu a pour objectif de vous apprendre les bonnes pratiques à respecter pour mener un projet et pour construire un logiciel de qualité.