TRAINING PROGRAM FOR PYTHON PROGRAMMER-ANALYST WITH A SPECIALIZATION IN DATA SCIENCE
Python is a well-established programming language in the tech landscape for over 10 years now. Recently, statistics show that it is even the language whose use is the fastest rapidly growing. It is particularly popular among start-ups and scientific circles because it offers significant computational capabilities while allowing for the rapid development of functional applications.
Python is a nearly universal language that can be used to create desktop programs, websites, web applications, and for data processing. It is this versatility that makes it attractive and in demand in the job market.
The programmer-analyst is a professional in programming programming who, based on a set of specifications, identifies the technologies that meet the client’s stated needs and develops websites and applications. In his data specialization, they are a professional in numbers and statistics who analyzes the data collected by applications to extract indicators for decision-making in various fields.
CONTACT US FOR PRICING AND TERMS
Course Overview
The ADEP in Roubaix offers a free training program for the role of analyst-programmer, focusing on the Python programming language and data analysis, funded by the government and the City of Roubaix.
The goal of this training program is to provide agile, intensive training to individuals who wish to quickly build their skills in the fields of software development and statistics as part of their career development.
During this training course, participants will explore the fundamental concepts of programming using Python and learn how to design and develop a native program or a functional web application. By the end of the course, they will also be introduced to data collection and the calculation of metrics.
This training program is designed to help job seekers —whether or not they have experience with coding and statistics—acquire a wide range of skills. These skills include:
- Algorithms and Program Design
- Python Programming Practices and Methods
- Development of graphical user interfaces using HTML/CSS
- Design and deployment of a database
- Fundamental Concepts of a Python Framework
- Project Management
- Production of statistical indicators
- Data analysis and reporting
The program prepares students for the following careers:
- Python Developer
- Web developer
- Django Developer
- Flask Developer
- App Developer
- Designer-Developer
- Consultant
- Data Analyst
- Entrepreneur
Recruitment Procedures
To register, please fill out the form at the following link: Registration Form
Please note that this form is for applying to the training program; however, you will be asked to complete a simple exercise in Python using a tutorial. You must submit this exercise to us via email; otherwise, your application will be considered incomplete (see the form for more information).
The deadline for applications is Tuesday, September 24, 2019, at 11:59 p.m.
Following the review on September 25, shortlisted candidates will be contacted by email to schedule a selection interview on September 30 and October 1, 2019, at the ADEP offices located at 94 Rue Léon Marlot in Roubaix.
Following these interviews, 12 candidates will be selected to join the training program, which will begin on Monday, October 7, 2019.
Practical Information
The training program, which consists of1,400 hours (excluding the internship), will be conducted in person at the ADEP offices located at 94 Rue Léon Marlot in Roubaix. It will be led by an instructor who will provide guidance to the trainees and lead practical workshops.
In addition, there is an 840-hour internship.
The training will take place Monday through Friday at the following times:
- Morning: 9:00 AM–12:30 PM
- Afternoon: 1:30 PM–5:00 PM
Laptops will be loaned to students if needed, but purchasing a personal computer is strongly recommended. The computers used for the course will run on a Linux operating system (Ubuntu 16.04 or 18.04) to facilitate the use of certain command-line tools.
At lunchtime, a kitchen area will be available to students if needed.
It should be noted that, in addition to the work done during the day at ADEP, the training program will require a significant time commitment from the candidate, including independent study at home.
Training Program
The Python Analyst-Programmer training program covers a wide range of skills, which students will learn based on their specific needs. The program is structured as follows:
1. Work Environment
1.1 Git and GitHub
- Understanding the Benefits and Uses of Git
- Know how to create code versions using the command line and push them to a remote repository
- Know how to perform advanced version control operations (managing different branches, merging, pulling, resolving conflicts, reverting to a previous commit, etc.)
- Creating and managing a GitHub account
- Generating an SSH key and connecting to GitHub via SSH
1.2 Discovering the world of computing and the web:
- Knowing and understanding the history of the web
- Understanding how the web, a website, an application, and a REST API work
- Learn about the different careers in the web industry
- Have accounts on key platforms for industry professionals (Twitter, LinkedIn, etc.)
- Understanding How a Programming Language Works
- Understanding the structure of a computer and a server
1.3 Using and configuring your work tools:
- Knowing how to use the command line
- Find a text editor that meets your needs
- Configure this editor
- Use of linters
- Using a package manager
- Working across multiple offices
- Learn and use keyboard shortcuts
2. Web integration
2.1 HTML for Beginners:
- HTML Basics: What Is a Tag?
- HTML Structure and Comments: How to Organize Your Page Content in a Coherent Way
- Basic HTML Tags
- The lists
- Divs and Spans: An Introduction to Containers
- Attributes (id, class, src, href, etc.)
2.2 Intermediate HTML:
- Tables
- Forms: Usefulness and Practicality
- Inputs
- Labels
- Form validation: HTML-side security
- Dropdown menus, radio buttons, and checkboxes
2.3 CSS for Beginners:
- CSS Basics: Understanding CSS, Learning How to Write a Simple Rule, and Applying It in Different Ways on a Page
- Selectors: How to Target Content Precisely
- The box model and the physical layout of a web page
- Position elements precisely
- Know how to apply simple styling effects (colors, backgrounds, borders, shadows, sizing)
2.4 Intermediate CSS:
- Managing Text and Fonts
- Knowing how to review your code and identify errors
- Rule cascading and inheritance
- Advanced filters
- 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:
- Understanding the concept of a framework and its benefits
- General Principles of Bootstrap
- Positioning and grid system
- The various Bootstrap components
- The concept of utility classes and how they work in Bootstrap
3. Python Development
3.1 Writing Your First Programs, Understanding Programming:
- Understanding the principles of programming and algorithms
- Basic concepts of programming languages (data types, variables, simple operations, and user interaction)
- Intermediate programming language concepts (advanced operations, loops, conditionals, lists, dictionaries, etc.)
- Advanced programming concepts (error handling, bug management, modularity, reading and writing files)
- Implementation of complex algorithms and programs in a command-line environment
3.2 Object-Oriented Programming: Beginner
- Introduction to the basics of object-oriented programming in Python (classes, attributes, methods, etc.)
- Implementing simple object-oriented programming (OOP) programs
3.3 Object-Oriented Programming: Intermediate
- Intermediate Object-Oriented Programming (inheritance, hydration, special methods, class attributes and methods, decorators, etc.)
- DRY and SOLID Principles
- Development of complex object-oriented programming (OOP) applications
4. Web Development
4.1 Developing a web application:
- Advanced object-oriented programming (design patterns, best practices, etc.)
- The request-response model and the HTTP protocol
- Understanding the MVT or MVC Model
- How a Web Server Works
- Development of an application using Flask and Django
- Integrating an HTML/CSS template into an MVT model
4.2 Design, implement, and manage a database:
- Understanding the concept and importance of a database
- Introduction to the fundamentals of databases (tables, data types, creating and preparing a table)
- Simple SQL Queries (Update, Insert, Delete, Select)
- Complex SQL queries (filtering, joins, aggregate functions, scalar functions)
- Relational databases
- Learn how to design a database schema that ensures database integrity
- MySQL and PostgreSQL via the command line
4.3 Testing:
- Understanding the Difference Between Unit and Functional Tests
- Run tests
- Writing tests
- Creating mocks
- Use a testing framework
4.4 Deployment:
- Difference between the development phase and the production phase
- Deployment on a remote server
- Server Configuration
- Cloud concept
- Deploy a Python application on Heroku
5. Data
5.1 Fundamental Concepts:
- The concept of data
- The concept of big data
- What is a data analyst?
- What are the benefits for businesses?
- Contextualization
- Data Vocabulary
5.2 Data cleaning:
- Data retrieval in various formats (JSON, CSV, TXT, etc.)
- Identifying Corrupted Data
- Development of data deletion programs
- Development of programs for data creation (enrichment)
5.3 Development of indicators:
- Types of variables
- Empirical distribution
- Mean and median
- Variance, standard deviation, coefficient of variation
- Analysis of Data Structure
- Correlations between variables
- Bivariate analysis
- Write a report and recommendations
5.4 Using statistical tools in Python:
- Pandas and NumPy libraries
- Creating Plots with Matplotlib