- lun. 01 mai 2017
- presentation
- #ipython, #webwork
%matplotlib inline
%autosave 0
from numpy import *
from talktools import *
WEBWORK et SAGECELL
des outils web 2.0 pour l’apprentissage
de la “programmation scientifique”
CANUM 2014
**Marc BUFFAT** @ univ-lyon1.fr*Dpt Mécanique, Université Claude Bernard Lyon 1 *
Remerciement¶
- projet WebWork:
Delphine Doppler,Claude Inserra, Pierre Valiorgue, Ivana Vinkovic - Projet Mooc INPROS:
Violaine Louvet, Michel Kern, Anne Cadiou, Loic Gouarin, Laurence Viry - WebWork: http://webwork.maa.org:
Pr. Michael Gage, department of mathematics, university of Rochester - SageCell: http://www.sagemath.org/eval.html
Jason Grout, department of Mathematics and Computer Science, Drake University, Des Moines
display(Image(filename="logoIpython.png"))
with plt.xkcd():
R=7.; r=4; d=6; t=linspace(0,8*pi,100)
x = (R-r)*cos(t)+d*cos( (R-r)*t / r )
y = (R-r)*sin(t)-d*sin( (R-r)*t / r )
plt.figure(figsize=(8,6))
plt.plot(x,y,'r',lw=2)
plt.axis('equal')
plt.text(-9,-0.5,"CANUM 2014",fontsize=48,color='c')
display(HTML('<center><h2>Video externe (YouTube)</h2></center>'))
display(HTML('Simulation pétaflopique sur PRACE'))
display(HTML('transition by-pass (Buffat et al 2013)<br>$\\approx 10^{10}$ modes sur $O(10^{6})$ coeurs<br>'))
from IPython.display import YouTubeVideo
YouTubeVideo('R1I9-vuv1GU',width=800,height=500)
Video locale¶
transition by-pass (Buffat et al 2013)
$\approx 10^{10}$ modes sur $O(10^{6})$ coeurs
display(HTML('<center><h2>Site WEB</h2></center>'))
url='http://elsa.onera.fr/elsA/gallery/data/dvlong/GAL-07032.html'
#website(url,name="Simulation industrielle ELSA ONERA<br>Calcul autour d'un avion complet",width=700,height=400)
display(HTML('<center><h1>Partage sur le web</h1></center>'))
url2="http://ufrmeca.univ-lyon1.fr/~buffat/CANUM2014"
display(HTML('<a href="%s"><h3>%s</h3></a>'%(url2,url2)))
url1="http://nbviewer.ipython.org/url/ufrmeca.univ-lyon1.fr/~buffat/CANUM2014/CANUM2014.ipynb"
display(HTML('<a href="%s"><h3>%s</h3></a>'%(url1,url1)))
url='http://nbviewer.ipython.org/'
website(url,name="Notebook nbviewer",width=800,height=400)
Plan de l’exposé¶
- Contexte
- Objectif pédagogique
- WebWork
- SageCell
- FLOT (Mooc) INPROS
- Conclusion
Contexte¶
- La modélisation et la simulation numérique sont devenues des outils essentiels de la recherche et de l’innovation
- L’université ne prépare pas suffisamment nos étudiants à l’utilisation de ces nouveaux outils
- La formation à la “programmation scientifique” et au “calcul intensif” (HPC) est un enjeu majeur dans les années à venir (rapport CSCI par O. Pironneau, 2013)
- En particulier importance de la formation initiale en 1er cycle d’université
Programmation scientifique¶
“démarche scientifique pour passer d’un problème physique à sa résolution sur un ordinateur”
Démarche scientifique¶
- analyse du problème physique
- modèle mathématique
- méthode de discrétisation
- algorithme de résolution du problème discret
- programmation et validation
- simulations et analyse des résultats
Enseignement des mathématiques et de la programmation¶
Constat¶
Enseignement classique en présentiel (Licence)
- étudiants de formation très disparate avec un manque de méthode de travail
- peu de maîtrise de l’outil mathématique
- peu de maîtrise de la programmation
- logiciels utilisés en TP peu adaptés (Maple, Matlab, Comsol, ….)
WebWork ¶
système de devoirs en ligne¶
- développé à l’université de Rochester
- très utilisé dans les enseignements de Maths
énorme bibliothèque d’exercices: $\approx 20 000$
algèbre, probabilité, calculus, equa. diff., algèbre linéaire, analyse complexe,..système ouvert (libre) et interfaçable (LMS Moodle, SageCell)
Entrée des réponses¶
validation des réponses¶
Sage ¶
SageCell=Interface Web à Sage¶
SAGE: collection de logiciels libres:
Python, Numpy, Mathplotlib, Sympy, Maxima, R, Gapcellule de calcul Sage dans une page HTML
- serveur de calcul SAGE
- aucune installation locale
- système ouvert interfaçable (LMS Moodle, WebWork)
Sage server http://sagecellmeca.univ-lyon1.fr:8080/
cellule Sage dans une page html d’un navigateur¶
execution code Sage¶
SageCell: inclusion de code Python¶
SageCell: inclusion de code Python¶
INPROS ¶
INtroduction à la PROgrammation Scientifique
Prototype 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
url='http://inpros.univ-lyon1.fr'
website(url,"MOOC INPROS",width=800,height=500)
SageCell dans INPROS¶
Webwork + SageCell dans INPROS¶
Code de l’exercise¶
Difficultés¶
- temps de mise en oeuvre
- valorisation pour les enseignants
R=7.; r=4; d=6; t=linspace(0,8*pi,200)
x = (R-r)*cos(t)+d*cos( (R-r)*t / r )
y = (R-r)*sin(t)-d*sin( (R-r)*t / r )
plt.figure(figsize=(8,6))
plt.title("Hypotrochoide")
plt.plot(x,y,'r',lw=1)
plt.axis('equal')
plt.text(-8,-0.5,"CANUM 2014",fontsize=48,color='c')