status: hidden
Title: Python chez Sup'Internet
Slug: python-sup-internet
robots: noindex

[TOC]
# Survol des 6 cours

 - Introduction de python, de l'environnement de python, de moi, puis coder quelques lignes
 - Se familiariser avec le langage
 - Premier projet pour commencer à écrire un bon volume de code et se rendre compte qu'il faut de l'organisation
 - Organisation d'un projet (git / tests / documentation / github / intégration continue / ...)
 - Présentation et utilisation de Jupyter et son environnement proche: les graphiques, le machine learning, les maths ...
 - Le dernier cours ouvre les portes sur comment continuer, comment, et quels outils utiliser. 


# Les rendus

 - Au cours 1, un rendu par mail pour me faire une idée du niveau de chacun
 - Au cours 3, un rendu par mail par groupe, sans correction
 - Au cours 4, un rendu sur github par groupe
 - Au cours 5, un rendu par mail sous forme de Jupyter notebook


# Cours 1: Introduction

Objectif: Me présenter, présenter Python et son environnement, jusqu'a coder quelques lignes.


## Python

- 2 vs 3: ça fait 9 ans que les cours commencent par ça.
- Utilisent Python : YouTube, Dropbox, Reddit, [data scientists](https://twitter.com/enthought/status/842016365133344788), …
- [Python en tête des langages open source utilisés pour le Big Data et l’IA (slide 15)](https://speakerdeck.com/sfermigier/ia-aupres-des-poles-de-competitivite)
- Open source et cross platform


## Installation de l'interpréteur

Anaconda pour windows, Atom ou Pycharm EDU pour les indécis, éditeur au choix pour les autres,
repl.it pour ceux qui sont à la rache.

- [Using on Windows](https://docs.python.org/3/using/windows.html)
- [Using on Mac](https://docs.python.org/3/using/mac.html)


## Utiliser le REPL

- Utiliser le REPL comme une calculatrice
- Introduire les strings et les opérateurs binaires compatibles


## La syntaxe

- Les structures de données `int`, `str`, `list` et `dict`.
- Les structure de contrôle `if`, `for`
- Les variables
- Les appels de fonctions, les builtins `range`, `print`


## Exercices

- Hello World
- Project euler
- Checkio sur (PyCharm ou sur le site)


## La communauté, les ressources

- La doc, la doc fr, IRC
- Le BDFL, les PEPs
- Les conférences (pyconfr, …), les meetups.


## Exercice à rendre par mail

Afficher, un par ligne, tous les nombres pairs compris dans l'intervalle `[0; 50]`. L'expéditeur doit être votre mail d'étudiant. Le code doit utiliser une fonction `is_even` pour déterminer si le nombre est pair ou pas.



# Cours 2: Language

Objectif: Se familiariser avec le langage, dédiaboliser des concepts, autremment dit le "Zen of Python".


## Cours sur les fonctions

## Exercices sur les fonctions

## Cours sur les classes: Les données avant les algorithmes

