FORMATION ANALYSTE PROGRAMMEUR PYTHON MENTION DATA SCIENCE
Python est un langage de programmation solidement établi dans le paysage technologique depuis maintenant plus de 10 ans. Dernièrement, les statistiques montrent qu’il est même le langage dont l’usage est en plus forte croissance. Il est particulièrement apprécié des start-ups et des milieux scientifiques car il offre des capacités de calcul importantes tout en permettant de produire des applications rapidement fonctionnelles.
Python est un langage presque universel qui permet aussi bien de réaliser des programmes de bureau, des sites web, des applications web que du traitement de données. C’est cette polyvalence qui le rend attractif et recherché sur le marché de l’emploi.
L’analyste-programmeur est un professionnel de la programmation qui, sur la base d’un cahier des charges, identifie les technologies répondant aux besoins exprimés par le client et produit des sites et des applications. Dans sa spécialisation data, c’est un professionnel des chiffres et de la statistique qui analyse les données collectées par les applications pour en extraire des indicateurs à la prise de décision dans des domaines variés.
CONTACTEZ NOUS POUR CONNAITRE LES TARIFS ET MODALITES
Présentation de la formation
L’ADEP de Roubaix propose une formation gratuite au métier d’analyste-programmeur centrée sur le langage python et l’analyse de données financée par l’État et la Ville de Roubaix.
L’objectif de cette formation est de proposer un apprentissage agile et intensif à des personnes désireuses de monter en compétence rapidement sur les métiers du développement informatique et de la statistique dans le cadre de leur projet professionnel.
Au cours de cette action de formation, les apprenants découvriront les concepts fondamentaux de la programmation via Python et apprendront à concevoir et réaliser un programme natif ou une application web fonctionnelle. En fin de formation, ils seront également initiés à la collecte de données et au calcul d’indicateurs.
Cette formation propose donc à des demandeurs d’emploi avec ou sans expérience du code et des statistiques d’acquérir un large panel de compétences. Ces compétences sont :
- Algorithmie et conception de programme
- Pratiques et méthodes de programmation en Python
- Réalisation d’interfaces graphiques en HTML/CSS
- Conception et déploiement d’une base de données
- Concept fondamentaux d’un framework Python
- Gestion de projet
- Production d’indicateurs statistiques
- Analyse de données et production de rapports
La formation prépare aux métiers suivants :
- Développeur python
- Développeur web
- Développeur Django
- Développeur Flask
- Développeur d’applications
- Concepteur-développeur
- Consultant
- Data-analyste
- Créateur d’entreprise
Modalités de recrutement
Pour toute inscription il faudra remplir le formulaire à l’adresse suivante : Formulaire d’inscription
Attention le formulaire vaut pour candidature à la formation, cependant il vous sera demandé de réaliser un exercice simple en Python à l’aide d’un tutoriel. Cet exercice devra nous être envoyé par mail, autrement votre candidature sera considérée comme incomplète (plus d’information au sein du formulaire).
La date de clôture des candidatures a été fixée au mardi 24 septembre 2019 à 23h59.
En effet, après délibération le 25 septembre, les candidats retenus seront convoqués par mail pour un entretien de sélection le 30 septembre et 1er octobre 2019 dans les locaux de l’ADEP au 94 rue Léon Marlot à Roubaix.
A l’issu de ces entretiens, 12 candidats seront retenus pour intégrer la formation qui débutera le lundi 7 octobre 2019.
Informations pratiques
La formation, d’une durée de 1400 heures (hors stage) sera réalisée en présentiel dans les locaux de l’ADEP au 94 rue Léon Marlot à Roubaix. Elle sera conduite par un formateur qui assurera le suivi des apprenants ainsi que la réalisation d’ateliers pratiques.
A cela s’ajoute un stage en entreprise d’une durée de 840 heures.
La formation se déroulera du lundi au vendredi aux horaires suivantes :
- matin : 9h00/12h30
- après-midi : 13h30/17h00
Des ordinateurs portables seront prêtés aux apprenants si besoin mais l’acquisition d’un ordinateur personnel est fortement conseillée. Les ordinateurs de travail seront sous un système d’exploitation Linux (Ubuntu 16.04 ou 18.04) afin de faciliter l’utilisation de certains outils en ligne de commande.
Le midi, un espace cuisine sera mis à disposition des apprenants si besoin.
Il est à noter qu’en plus du travail effectué en journée à l’ADEP, la formation demandera un investissement important de la part du candidat avec notamment du travail personnel à réaliser chez soi.
Programme de formation
La formation d’analyste-programmeur python couvre un large panel de compétences sur lesquelles les apprenants seront formés selon leurs besoins. Le programme est divisé de la manière suivante :
1. Environnement de travail
1.1 Git et GitHub
- Comprendre l’intérêt et l’usage de git
- Savoir versionner son code en ligne de commande et l’envoyer sur un repot distant
- Savoir effectuer des opérations avancées de gestion du versioning (gestions de différentes branches, merge, pull, gestion de conflits, retour sur un commit précédent…)
- Création et gestion d’un compte GitHub
- Génération d’une clef SSH et connexion à GitHub en SSH
1.2 Découvrir le monde de l’informatique et du web :
- Connaître et comprendre l’histoire du web
- Comprendre le fonctionnement du web, d’un site, d’une application et d’une API REST
- Connaître les différents métiers du web
- Avoir des comptes sur les sites d’importance pour les professionnels du secteur (Twitter, LinkedIn…)
- Comprendre le fonctionnement d’un langage de programmation
- Connaître la structure d’un ordinateur et d’un serveur
1.3 Utiliser et paramétrer ses outils de travail :
- Savoir utiliser la ligne de commande
- Trouver un éditeur de texte correspondant à ses besoins
- Paramétrer cet éditeur
- Utilisation de linters
- Utilisation d’un gestionnaire de paquets
- Travailler en multi-bureaux
- Connaître et utiliser les raccourcis
2. Intégration web
2.1 HTML débutant :
- Les bases HTML : qu’est-ce qu’une balise ?
- Squelette HTML et commentaires : savoir organiser le contenu de sa page de manière cohérente
- Tags HTML de base
- Les listes
- Les divs et les spans : introduction aux containers
- Les attributs (id, class, src, href…)
2.2 HTML intermédiaire :
- Tableaux
- Formulaires : utilité et pratique
- Inputs
- Labels
- Validation de formulaires : la sécurité côté HTML
- Dropdown, Boutons radio et checkbox
2.3 CSS débutant :
- Les bases de CSS : comprendre le CSS, savoir écrire une règle simple et l’appliquer de différentes manières sur une page
- Les sélecteurs : savoir cibler précisément du contenu
- Le box-model et l’organisation physique d’une page web
- Positionner ses éléments de manière précise
- Savoir appliquer des effets de style simples (couleurs, background, bordures, ombres, sizing)
2.4 CSS intermédiaire :
- Gérer ses textes et polices
- Savoir inspecter son code et identifier les erreurs
- Cascade et héritage des règles
- Sélecteurs avancés
- Positionnement absolu, fixe, relatif
- Responsive design : savoir utiliser les unités relatives et les medias queries pour réaliser des applications qui s’adaptent à toutes les tailles d’écran.
- Le positionnement avec flexbox
2.5 Bootstrap 4 :
- Découvrir la notion de framework et son intérêt
- Principes généraux de Bootstrap
- Positionnement et système de grille
- Les différents composants Bootstrap
- Notion de classe utilitaire et fonctionnement sous Bootstrap
3. Développement Python
3.1 Réaliser ses premiers programmes, comprendre la programmation :
- Comprendre les principes de la programmation et de l’algorithmie
- Concepts de base du langage de programmation (types de données, variables, opération simples et interactions avec l’utilisateur)
- Concepts intermédiaires du langage de programmation (opérations avancées, boucles, conditions, listes, dictionnaires…)
- Concepts avancés du langage (gestion des erreurs, gestion des bugs, modularité, écriture et lecture de fichiers)
- Réalisation d’algorithmes et de programmes complexes en console
3.2 Programmation orientée objet : débutant
- Introduction aux bases de la programmation orientée objet en Python (classes, attributs, méthodes…)
- Réalisation de programmes simples en POO
3.3 Programmation orientée objet : intermédiaire
- Programmation orientée objet intermédiaire (héritage, hydratation, méthodes spéciales, attributs et méthodes de classe, décorateurs…)
- Principes DRY et SOLID
- Réalisation de programmes complexes en POO
4. Développement web
4.1 Production d’une application web :
- Programmation orientée objet avancée (design patterns, bonnes pratiques…)
- Le modèle requête/réponse et le protocole HTTP
- Comprendre le modèle MVT ou MVC
- Fonctionnement d’un serveur web
- Développement d’une application sous Flask et Django
- Intégration d’un template HTML/CSS dans un modèle MVT
4.2 Concevoir, intégrer et gérer une base de données :
- Comprendre le concept et l’importance d’une base de données
- Découverte des principes fondamentaux de la base de données (tables, types de données, création et préparation d’une table)
- Requêtes SQL simples (Updater, Créer, Supprimer, Lire)
- Requêtes SQL complexes (filtrage, jointures, fonctions d’agrégat, scalaires)
- Bases de données relationnelles
- Apprendre à concevoir un schéma de base de données garantissant l’intégrité de la BDD
- MYSQL, PostgreSQL en ligne de commande
4.3 Testing :
- Comprendre la différence entre tests unitaires et fonctionnels
- Exécuter des tests
- Écrire des tests
- Construire des mocks
- Utiliser un framework de test
4.4 Mise en production :
- Différence entre phase de développement et de production
- Déploiement sur serveur distant
- Paramétrage de serveur
- Concept de cloud
- Déployer une application python sur Heroku
5. Data
5.1 Concepts fondamentaux :
- Notion de data
- Notion de big data
- Qu’est-ce qu’un data analyste ?
- Quel intérêt pour les entreprises ?
- Contextualisation
- Vocabulaire de la data
5.2 Nettoyage de données :
- Récupération de données sous différents formats (JSON, CSV, TXT…)
- Identification de données corrompues
- Réalisation de programmes pour l’élimination de données
- Réalisation de programmes pour la création de données (enrichissement)
5.3 Production d’indicateurs :
- Types de variables
- Distribution empirique
- Moyenne et médiane
- Variance, écart-type, coefficient de variation
- Étude de la forme des données
- Corrélations entre variables
- Analyse bivariée
- Écrire un rapport et des recommandations
5.4 Utilisation des outils de statistiques en python :
- Librairies Pandas, NumPy
- Produire des graphiques avec Matplotlib