pyparis 2017 / un mooc python, by thierry parmentelat

29
MOOC PYTHON / FUN Thierry Parmentelat - Inria PyParis, May 13th 2017 Auteurs : Arnaud Legout & Thierry Parmentelat

Upload: pole-systematic-paris-region

Post on 21-Jan-2018

475 views

Category:

Technology


0 download

TRANSCRIPT

MOOC PYTHON / FUNThierry Parmentelat - Inria

PyParis, May 13th 2017

Auteurs : Arnaud Legout & Thierry Parmentelat

30,000 ft

for whom: figures about the audience

what: scope

how: thanks jupyter !

AUDIENCE

Plateforme FUNhttp://fun-mooc.fr/

TARGET (1)

french-speaking MOOC

target audience : BAC+2

not the actual audience..

TARGET (2)

little exposure to programming

but not newbie-oriented either

python as a tool - and not as an end

still thorough review of python concepts

FIGURES

past: 3 sessions so far: 2014, 2015, 2016

33268 total registered students

for python2.7

next: being rewritten for python3

shooting in Sept - run in Nov/Dec

inputs welcome !

SESSION 1

Situation actuelle

Profil des participants au Mooc Python

9214 inscrits

4717 apprenants ont ouvert au moins une fois un

notebook

1527 notebooks ouverts simultanément le 21/09

100 pays représentés

Niveau d'études

Motivations

- France

- Maroc

- Côte d'Ivoire

- Tunisie

- Algérie

- Belgique

- Sénégal

- Cameroun

- Togo

- Brésil

Top 10 :

Connaissances

préalables de Python

Sources : statistiques FUN et réponses au questionnaire

Environ 80% d'hommes et 20% de femmes

Moyenne d'âge : entre 20 et 40 ans

SESSION 2

SESSION 2

Situation actuelle

Profil des participants au Mooc Python

9214 inscrits

4717 apprenants ont ouvert au moins une fois un

notebook

1527 notebooks ouverts simultanément le 21/09

100 pays représentés

Niveau d'études

Motivations

- France

- Maroc

- Côte d'Ivoire

- Tunisie

- Algérie

- Belgique

- Sénégal

- Cameroun

- Togo

- Brésil

Top 10 :

Connaissances

préalables de Python

Sources : statistiques FUN et réponses au questionnaire

Environ 80% d'hommes et 20% de femmes

Moyenne d'âge : entre 20 et 40 ans

SESSION 2

Situation actuelle

Profil des participants au Mooc Python

9214 inscrits

4717 apprenants ont ouvert au moins une fois un

notebook

1527 notebooks ouverts simultanément le 21/09

100 pays représentés

Niveau d'études

Motivations

- France

- Maroc

- Côte d'Ivoire

- Tunisie

- Algérie

- Belgique

- Sénégal

- Cameroun

- Togo

- Brésil

Top 10 :

Connaissances

préalables de Python

Sources : statistiques FUN et réponses au questionnaire

Environ 80% d'hommes et 20% de femmes

Moyenne d'âge : entre 20 et 40 ans

SESSION 2

Situation actuelle

Profil des participants au Mooc Python

9214 inscrits

4717 apprenants ont ouvert au moins une fois un

notebook

1527 notebooks ouverts simultanément le 21/09

100 pays représentés

Niveau d'études

Motivations

- France

- Maroc

- Côte d'Ivoire

- Tunisie

- Algérie

- Belgique

- Sénégal

- Cameroun

- Togo

- Brésil

Top 10 :

Connaissances

préalables de Python

Sources : statistiques FUN et réponses au questionnaire

Environ 80% d'hommes et 20% de femmes

Moyenne d'âge : entre 20 et 40 ans

SESSION 3

SESSION 3

SESSION 3

WORTH NOTING

a few institutions instruct their students

to follow the MOOC online

and then organize their own exams

namely: UPMC, CentraleSupelec

as well as a few master programs

CONTENTS

THE PIECES

7 - rather dense - weeks, with

videos - of course ..

quiz - as supported by FUN (marginal use)

notebooks - more on this later

forum : very active, hence the ‘scheduled' runs

COMMON TRACK (W1-W5)

getting started

basic types, functions, syntax

advanced types, shared refs, copies

packages / modules

iterables / iterators

comprehensions

functional objects

argument passing

attributes

classes - inheritance overloading operators

generators / gen exps

exceptions

ADVANCED TRACK (W6-W7)

generators

advanced attributes

decorators

metaclasses

mini-projects

data

networking

system

LITTLE OR NO COVERAGE

stdlib: only touch on some tools

benchmarking / profiling / debugging :

only mentioned en passant

not covered numpy, a fortiori pandas

not covered : testing

NOTEBOOKS

REQUIREMENTS

need for some programming sandbox

integrated with the FUN / edx platform

without requiring a local installation

potentially extensible:

auto correction

auto illustration

EDX/INTEGRATION

In order to allow for notebooks inside FUN/edX :

new type of component (video, quiz, … notebook)

that simply redirects to a separate architecture through an <iframe>

SAMPLESOn the FUN platform

NOTEBOOK INFRA

accepts all incoming URLs from FUN’s IP

create Unix accounts / student on the fly

hosts as many notebook servers as students

copies master notebooks on demand

NBHOSTING

a replacement for a former quick-and-dirty solution

http://github.com/parmentelat/nbhosting

based on

nginx, for reverse-proxy / firewall-friendly

django, for internal logic

docker, for isolation / student + 1 course = 1 image

THANK YOUagain : inputs for the python3

next release are more than welcome !