PYTHON PROGRAMMER ANALYST TRAINING WITH A SPECIALIZATION IN DATA SCIENCE

Python has been a well-established programming language in the technological landscape for more than 10 years now. Lately, statistics show that it is even the language whose use is growing the fastest. It is particularly popular with start-ups and scientific circles because it offers significant computing capacity while making it possible to produce applications that are quickly functional.
Python is an almost universal language that can be used to create desktop programs, websites, web applications and data processing. It is this versatility that makes it attractive and sought-after on the job market.

The analyst-programmer is a programming professional who, on the basis of specifications, identifies technologies that meet the needs expressed by the client and produces sites and applications. In his data specialization, he is a professional in numbers and statistics who analyzes the data collected by applications to extract indicators for decision-making in various fields.

logoeuro

CONTACT US FOR RATES AND CONDITIONS

Presentation of the training

The ADEP of Roubaix offers free training for the profession of analyst-programmer focused on the python language and data analysis financed by the State and the City of Roubaix.

The objective of this training is to offer agile and intensive learning to people wishing to quickly increase their skills in the IT development and statistics professions as part of their professional project.

During this training action, learners will discover the fundamental concepts of programming via Python and learn how to design and build a native program or a functional web application. At the end of the training, they will also be introduced to data collection and the calculation of indicators.

This training therefore offers job seekers with or without experience in coding and statistics to acquire a wide range of skills. These competencies are:

  • Algorithms and program design
  • Programming Practices and Methods in Python
  • Creation of graphical interfaces in HTML/CSS
  • Designing and Deploying a Database
  • Fundamental Concepts of a Python Framework
  • Project Management
  • Production of statistical indicators
  • Data analysis and reporting

 

The training prepares students for the following professions:

  • Python Developer
  • Web Developer
  • Django Developer
  • Flask Developer
  • Application Developer
  • Designer-Developer
  • Consultant
  • Data Analyst
  • Business Creator
Recruitment procedures

To register, please fill out the form at the following address:

Please note that the form is valid for application to the training, however you will be asked to complete a simple exercise in Python with the help of a tutorial. This exercise must be sent to us by email, otherwise your application will be considered incomplete (more information in the form).

The closing date for applications is Tuesday, September 24, 2019 at 11:59 p.m.

Indeed, after deliberation on 25 September, the selected candidates will be invited by email for a selection interview on 30 September and 1 October 2019 at the ADEP premises at 94 rue Léon Marlot in Roubaix.

At the end of these interviews, 12 candidates will be selected to join the training which will start on Monday, October 7, 2019.

Practical information

The training, lasting 1400 hours (excluding internships) will be carried out face-to-face in the ADEP premises at 94 rue Léon Marlot in Roubaix. It will be led by a trainer who will monitor the learners as well as carry out practical workshops.

In addition, there is an 840-hour internship in a company.

The training will take place from Monday to Friday at the following times:

  • Morning: 9:00 a.m./12:30 p.m.
  • Afternoon: 1:30 pm/5:00 pm

 

Laptops will be loaned to learners if needed, but the acquisition of a personal computer is strongly recommended. The work computers will be running a Linux operating system (Ubuntu 16.04 or 18.04) in order to facilitate the use of certain command-line tools.

At lunchtime, a kitchen area will be available to learners if needed.

It should be noted that in addition to the work done during the day at ADEP, the training will require a significant investment on the part of the candidate, including personal work to be done at home.

Training Program

The python analyst-programmer training covers a wide range of skills on which learners will be trained according to their needs. The program is divided as follows:

1. Work Environment

1.1 Git and GitHub

  • Understand the interest and use of git
  • Know how to version your code on the command line and send it to a remote repot
  • Know how to perform advanced versioning management operations (management of different branches, merge, pull, conflict management, reverting a previous commit, etc.)
  • Creating and managing a GitHub account
  • Generate an SSH key and connect to GitHub via SSH

1.2 Discover the world of computers and the web:

  • Know and understand the history of the web
  • Understand how the web, a site, an application, and a REST API work
  • Know the different jobs on the web
  • Have accounts on sites of importance to professionals in the sector (Twitter, LinkedIn, etc.)
  • Understand how a programming language works
  • Know the structure of a computer and a server

1.3 Use and set up your work tools:

  • Know how to use the command line
  • Find a text editor that fits your needs
  • Set up this editor
  • Using linters
  • Using a Package Manager
  • Working in a multi-office setting
  • Know and use shortcuts

 

2. Web Integration

2.1 Beginner HTML:

  • HTML basics: what is a tag?
  • HTML skeleton and comments: know how to organize the content of your page in a coherent way
  • Basic HTML Tags
  • Lists
  • Divs and Spans: An Introduction to Containers
  • Attributes (id, class, src, href, etc.)

2.2 Intermediate HTML:

  • Tableaus
  • Forms: Usefulness and Practice
  • Inputs
  • Labels
  • Form validation: HTML security
  • Dropdown, Radio Buttons & Checkbox

2.3 Beginner CSS:

  • CSS basics: understanding CSS, knowing how to write a simple rule, and applying it in different ways on a page
  • Selectors: Knowing how to precisely target content
  • The box model and the physical organization of a web page
  • Position your elements precisely
  • Know how to apply simple style effects (colors, background, borders, shadows, sizing)

2.4 Intermediate CSS:

  • Manage your texts and fonts
  • Know how to inspect your code and identify errors
  • Cascading and Rule Inheritance
  • Advanced Selectors
  • Absolute, fixed, relative positioning
  • Responsive design: knowing how to use relative units and media queries to create applications that adapt to all screen sizes.
  • Positioning with flexbox

2.5 Bootstrap 4:

  • Discover the concept of framework and its usefulness
  • General Principles of Bootstrap
  • Positioning & Grid System
  • The Different Bootstrap Components
  • Notion of utility class and operation under Bootstrap

 

3. Python Development

3.1 Carry out your first programs, understand the programming:

  • Understand the principles of programming and algorithmics
  • Basic concepts of the programming language (data types, variables, simple operations, and user interactions)
  • Intermediate concepts of the programming language (advanced operations, loops, conditions, lists, dictionaries, etc.)
  • Advanced language concepts (error handling, bug handling, modularity, writing and reading files)
  • Realization of algorithms and complex programs in console

3.2 Object-Oriented Programming: Beginner

  • Introduction to the basics of object-oriented programming in Python (classes, attributes, methods...)
  • Creation of simple programs in OOP

3.3 Object-Oriented Programming: Intermediate

  • Intermediate object-oriented programming (inheritance, hydration, special methods, class attributes and methods, decorators, etc.)
  • DRY and SOLID principles
  • Realization of complex programs in OOP

 

4. Web Development

4.1 Production of a web application:

  • Advanced object-oriented programming (design patterns, best practices, etc.)
  • The Request/Response Model and HTTP
  • Understanding the MVT or MVC Model
  • How a web server works
  • Developing an application using Flask and Django
  • Embedding an HTML/CSS template in an MVT template

4.2 Design, integrate and manage a database:

  • Understand the concept and importance of a database
  • Discovery of database fundamentals (tables, data types, creating and preparing a table)
  • Simple SQL queries (Update, Create, Delete, Read)
  • Complex SQL queries (filtering, joins, aggregate functions, scalars)
  • Relational Databases
  • Learn how to design a database schema that ensures the integrity of the database
  • MYSQL, PostgreSQL command line

4.3 Testing:

  • Understanding the Difference Between Unit and Functional Testing
  • Run Tests
  • Write Tests
  • Build mocks
  • Use a testing framework

4.4 Release:

  • Difference Between Development and Production Phase
  • Remote Server Deployment
  • Server Setup
  • Cloud Concept
  • Deploy a python application on Heroku

 

5. Data

5.1 Fundamental Concepts:

  • Concept of data
  • Concept of big data
  • What is a Data Analyst?
  • What's in it for companies?
  • Contextualization
  • Data Vocabulary

5.2 Data Cleansing:

  • Data recovery in different formats (JSON, CSV, TXT...)
  • Identification of corrupted data
  • Implementation of data disposal programs
  • Realization of programs for the creation of data (enrichment)

5.3 Production of indicators:

  • Types of Variables
  • Empirical distribution
  • Mean and median
  • Variance, Standard Deviation, Coefficient of Variation
  • Study of the form of the data
  • Correlations between variables
  • Bivariate analysis
  • Write a report and recommendations

5.4 Using statistics tools in python:

  • Pandas Bookstores, NumPy
  • Produce charts with Matplotlib