- dim. 01 octobre 2017
- presentation
- #ipython, #webwork
%matplotlib inline
%autosave 300
from IPython.display import display
from IPython.display import Image, HTML
from IPython.display import IFrame,YouTubeVideo
display(HTML(open('style.css').read()))
Conférence PYconFR 2014
pour l’enseignement
[Marc BUFFAT](http://ufrmeca.univ-lyon1.fr/~buffat)
Professeur en mécanique des fluides à l’UCB Lyon 1
Responsable Master MEGA 1ere année
Directeur de la FLMSN
[“Fédération Lyonnaise de Modélisation et Sciences Numériques”](http://FLMSN.univ-lyon1.fr)Contexte
Simulation numérique
Outil essentiel de la recherche et de l’innovationFormation au HPC
Enjeu majeur dans les années à venir pour le HPC (rapport CSCI 2013)Formation des étudiants
Importance de la formation initiale en 1er cycle d’universitéEnseignement en science
Constat sur l’enseignement en Licence¶
- étudiants de formation très disparate avec un manque de méthode de travail
- peu de maîtrise de l’outil mathématique, et de la programmation scientifique
Besoin en enseignement¶
- apprentissage par la pratique
- en dehors des heures encadrées
- utilisation du Web
Pourquoi
Suivre une mode
- Python passe en tête des langages d’apprentissage et détrône Java (enquête dans les universités US, Le Monde Informatique Juillet 2014)
Caractéristiques du langage
Python est un excellent langage pour l’apprentissage de la programmation scientifique, qui remplace avantageusement MatLab
très large domaine applicatifs
en science
Projet “NadiaSpectral”¶
(M. Buffat, A. Cadiou, L. Le Penven)
- simulation HPC en CFD sur $O(10^{6})$ coeurs
- 35 000 lignes de code en C++ (noyau de calcul)
- 20 000 lignes de code en Python (analyse, visualisation InSitu)
YouTubeVideo('R1I9-vuv1GU',width=600,height=400)
Pourquoi
Environnement de programmation
- Python, R, Ruby, bash
Utilise un navigateur Web
- Markdown + HTML, texte + $\LaTeX$ + image + vidéo
Python scientifique
- Matplotlib, Numpy, Scipy
Notebook Ipython: “Swinging pendulum” et “Elements finis” ¶
IPython Notebook at SciPy 2014
“Teaching Numerical Methods with IPython Notebooks”, by Aron Ahmadia and David KetchesonYouTubeVideo('L-caFdJMR9E')
GitHub IPython notebook
“12 steps to Navier-Stokes” par Lorena A. BarbaraIFrame("http://lorenabarba.com/blog/cfd-python-12-steps-to-navier-stokes/",width="100%",height=400)
IPython notebook in MOOC
MOOC INPROS
INtroduction à la PROgrammation Scientifique¶
- Projet de FLOT http://INPROS.univ-lyon1.fr
Projet collaboratif¶
- objectif: apprentissage d’une méthodologie en programmation scientifique
- cours d’initiation (public très large)
- cours interactif avec mise en pratique
- accessible à partir d’un simple navigateur
- utilise Webwork, Sagecell, Ipython Notebook
SageCell
serveur Sage
- accessible en ligne (navigateur Web)
“Python Scientifique”
- ideal pour l’apprentissage de la programmation
cellule sage
- inclusion simple dans une page Web
Exécution on-line des exemples¶
IFrame("http://inpros.univ-lyon1.fr/mod/page/view.php?id=74",width="100%",height=500)
Exécution on-line de programmes¶
IFrame('http://inpros.univ-lyon1.fr/mod/page/view.php?id=3',width="100%", height=500)
Validation on-line de programmes¶
IFrame('http://inpros.univ-lyon1.fr/mod/page/view.php?id=95',width="100%", height=500)
MOOC InProS
ouverture en Février 2015 (actuellement en $\beta$-test à Lyon 1)¶
[MOOCINPROS](http://twitter.com/MOOCINPROS)
[MOOCINPROS](https://www.facebook.com/MOOCINPROS)
Conclusion
Ipython formidable outil
pour l’enseignement
pour la présentation de résultats
Amélioration
- qques bugs: nconvert, live reveal
Besoin: serveur IPython avec partage des notebooks
<img style=”float:center; display:inline; width:80px;”, src=”sagemath-cloud.png”/> Sage Math Cloud <img style=”float:center; display:inline; width:80px;”, src=”Jupiter.png”/>JUPYTHER¶
Remerciement
Département de Mécanique:
Delphine Doppler, Claude Inserra, Yannick Rozenberg, Pierre Valiorgue, Ivana Vinkovic,….Projet Mooc **INPROS**:
Violaine Louvet, Michel Kern, Anne Cadiou, Loic Gouarin, Laurence Viry**IPython**:
Pérez, Fernando and Granger, Brian E.**SageCell**:
Jason Grout, department of Mathematics and Computer Science, Drake University, Des Moines