Coloration syntaxique avec pygments
27 janvier 2012 | Catégories: web | View CommentsDernièrement, j'ai utilisé Pygments pour générer différents fichiers css de coloration syntaxique. Alors, pour obtenir la liste des styles existants:
>>> from pygments.styles import get_all_styles >>> styles = list(get_all_styles()) >>> styles ['monokai', 'manni', 'perldoc', 'borland', 'colorful', 'default', 'murphy', 'vs', 'trac', 'tango', 'fruity', 'autumn', 'bw', 'emacs', 'vim', 'pastie', 'friendly', 'native']
Pour créer le fichier css approprié:
pygmentize -S fruity -f html -a .pygments_fruity > pygments_fruity.css pygmentize -S friendly -f html -a .pygments_friendly > pygments_friendly.css pygmentize -S monokai -f html -a .pygments_monokai > pygments_monokai.css
Enregistrer et appeler make automatiquement dans vim
24 janvier 2012 | Catégories: vim | View CommentsEn rédigeant ma thèse de doctorat avec l'éditeur de texte vim, je dois fréquemment enregistrer et compiler le document avec la commande :w suivie de la commande :make. En cherchant une façon de rendre cette action plus efficace, j'ai trouvé une première solution sur stackoverflow qui utilise les commandes automatiques:
autocmd BufWritePost <buffer> make
Toutefois, ce n'est pas exactement ce que je cherchais, car je ne veux pas que la compilation soit appelée à chaque fois que j'enregistre un fichier.
J'ai trouvé une autre solution qui me convient mieux. Il suffit de créer sa propre commande et de connaître la syntaxe pour faire plus d'une commande à la fois dans l'éditeur Ex. Remarque: les commandes personnelles doivent commencer par une majuscule. En ajoutant la ligne suivante au fichier .vimrc:
command WM w | make
je peux taper :WM ou simplement :W dans vim et j'obtiens ce que je recherchais.
Présentation sur Sage au Cégep de Saint-Hyacinthe
19 janvier 2012 | Catégories: sage | View CommentsAujourd'hui, j'ai fait une présentation sur Sage au département de mathématiques du Cégep de Saint-Hyacinthe. Voici quelques liens.
La présentation (pdf) :
Démo:
Les fichiers txt ci-bas peuvent être chargés à partir du bloc-note (Notebook) de Sage. Copier l'adresse et coller celle-ci dans la page Upload du bloc-note.
Exercices :
- Se créer un compte sur sagenb.org ou sur le serveur du LaCIM.
- Faire un calcul de votre choix.
- Trouver et tester un exemple de votre choix dans le tutoriel en français.
- Trouver et tester un exemple de votre choix dans le wiki de Sage. Recherchez les liens Teaching with Sage, Interact ou Animation.
- Importer (à partir de la page Upload) les feuilles de travail de démonstration ci-haut.
- Consulter les feuilles de travail Sage publiées sur le serveur du LaCIM. Consulter celles indiquant MAT1112 - Chapitre 1 et MAT1112 - Chapitre 2. Je les ai créées à l'automne 2011 pour le cours de Calcul 1 que j'ai donné.
Livre :
- Le livre Calcul mathématique avec Sage. La nouvelle version, sortie en décembre 2011, comporte une centaine de pages de plus que la version précédente. C'est, sans contredit, la meilleure ressource sur Sage en français.
Faire une animation en 3D avec Sage
18 janvier 2012 | Catégories: animation, sage | View CommentsEn Sage, il est relativement facile de créer des animations d'images en 2D. Pour cela, il suffit d'utiliser la commande animate qui s'occupera d'utiliser les commandes plus compliquées ffpmeg ou convert. Plusieurs exemples sont disponibles dans la documentation de Sage ou sur le wiki de Sage.
Par contre, il n'est pas encore possible de faire une animation d'objets graphiques 3D. Le logiciel Jmol, utilisé dans Sage pour faire de la visualisation 3D le permet, car les chimistes l'utilise pour faire des animations 3D de molécules complexes, mais cette fonctionalité n'a pas encore été exportée dans Sage. En juin dernier, j'en ai parlé à Jonathan Gutow, responsable des mises à jour de Jmol dans Sage, mais il doit d'abord régler d'autres problèmes plus importants.
En attendant, il est possible de s'en sortir en utilisant Tachyon plutôt que Jmol. Je rappelle que Tachyon est utilisé dans Sage pour créer des images png d'objets graphiques 3d. Ensuite, on peut immiter ce que la fonction animate fait pour créer une animation d'une scène 3d.
Pour illustrer la méthode par un exemple, faisons une animation de la technique des liens dansants de Knuth pour trouver les solutions du puzzle Quantumino.
Dans un répertoire, créer un fichier Sage video_quantumino.sage qui contiendra le code suivant:
from sage.games.quantumino import QuantuminoSolver import itertools def animate(block=4, stop=400, angle=pi/200.0, nb_pareil=5): r""" This functions creates plenty of png images in the images folder. INPUT: - ``block`` - integer between 0 and 16, the block to put aside - ``stop`` - integer, number of iterations - ``angle`` - number, rotation angle (radian) between each frame - ``nb_parei`` - integer, number of frame per iteration OUTPUT: Plenty of png images in the images folder. """ q = QuantuminoSolver(block) it = q.solve(partial='incremental') i = 0 for solution in itertools.islice(it, stop): G = solution.show3d() G += sphere((4,7,1),size=0.1,opacity=0) # hack to stabilize the frame G += sphere((0,7,0),size=0.1,opacity=0) # hack to stabilize the frame #G += sphere((2,4,1),size=10,opacity=0) # pas opaque pantoute for _ in range(nb_pareil): H = G.rotateZ(angle * i) filename = 'images/image%s.png' % i H.save(filename, frame=False, aspect_ratio=1) print "Création du fichier %s" % filename i += 1 animate(4, stop=20, angle=pi/200.0, nb_pareil=5)
Créer les images à l'aide de Sage >= 4.7.2
mkdir images sage video_quantumino.sage
Aller dans le répertoire images et faites ensuite:
cd images ffmpeg -y -f image2 -r 20 -i image%d.png video.mpg
Le résultat est ici (bloc numéro 4 mis de côté, 200 itérations, angle=\(\pi\)/200, 5 images par itérations, total de 1000 images):
WeBWorK, un logiciel pour les devoirs en ligne
04 janvier 2012 | Catégories: webwork | View CommentsJ'ai appris l'existence de WeBWorK lors des Sage Days 31 à Seattle en juin 2011, où j'ai rencontré Jason Aubray et Michael Gage, deux leaders de ce projet. Leur projet pour la semaine était d'intégrer Sage à WeBWorK et d'intégrer WeBWorK à Sage.
WeBWorK est un logiciel libre qui permet aux étudiants de faire des devoirs de mathématiques et de sciences en ligne. WeBWorK est soutenu par la Mathematical Association of America et la National Science Foundation et est livré avec une bibliothèque de plus de 20000 exercices. Les cours pris en charge incluent l'algèbre du collège, les mathématiques discrètes, probabilités et statistiques, calcul simple et multivariée, les équations différentielles, algèbre linéaire et l'analyse complexe.
WeBWorK au Québec
WeBWorK est utilisé au Québec dans certaines écoles anglophones depuis quelques années déjà. Alice McLeod, enseignante au Cégep John Abbott College, l'utilise dans des cours de mathématiques. On peut lire sur son expérience dans le texte Les mathématiques et les TIC, des virus qui s’attrapent... paru sur Profweb en 2009. Rhys Adams, enseignant au Cégep Vanier College, l'utilise dans des cours de physique. On peut lire sur son expérience dans le texte Using Webwork to Enliven Discussion in Physics Classrooms aussi paru sur Profweb en 2010.
WeBWorK à l'UQAM via Moodle
À l'automne 2011, je donnais le cours de MAT1112 Calcul I à l'Université du Québec à Montréal. J'en ai profité pour tester l'outil WeBWorK et de l'utiliser pour une des premières fois dans le monde dans un cours en français.
Pour ce faire, j'aurais pu profiter de la Mathematical Association of America qui offre gratuitement l'utilisation de son serveur pour au plus un cours par université contenant au plus 100 étudiants. Mais, on a plutôt opté pour une configuration locale.
Grâce à l'équipe Moodle de l'UQAM et en particulier Stéphanie Lanthier, je n'ai pas eu à m'occuper de plusieurs aspects techniques : installation de WeBWorK, configuration du serveur WeBWorK, configuration de la passerelle entre le serveur WeBWorK et Moodle. À la mi-septembre, le tout était configuré. Pour plus d'informations, visitez la page Guide d'installation de WeBWork 2.5 sur CentOS 5 écrite par Stéphanie et la page Moodle Integration toutes deux disponibles sur le wiki de WeBWork.
L'utilisation de WeBWorK via Moodle a l'avantage de gérer les comptes étudiants automatiquement. C'est Moodle qui s'en occupe. Cela permet aux étudiants de faire les exercices WeBWorK directement dans leur compte Moodle, site qu'ils consultent déjà régulièrement.
Avec Stéphanie, nous avons aussi traduit (bénévolement) l'interface WeBWorK en français. À ce jour, nous n'avons toujours pas terminé cette traduction, car nous nous sommes concentrés sur la traduction de l'interface vue par l'étudiant. Mais, on a fait au moins la moitié et nous comptons terminer bientôt. La traduction sera disponible dans la version officielle de WeBWorK.
Ensuite, tout ce qu'il me restait à faire en tant que chargé de cours était de choisir (et traduire) des problèmes. Durant l'automne 2011, j'ai traduit une dizaine de questions par semaine. Ceux-ci seront disponibles à l'avenir pour les personnes qui enseigneront le même cours.
Ci-bas, voici quelques images qui illustrent l'interface et qui donnent un aperçu de son utilisation.
Un problème en anglais:

Le même problème que j'ai traduit en français:

Le même problème vu par un autre utilisateur:
Les paramètres sont choisis aléatoirement de sorte que les étudiants n'ont pas tous la même question ...et surtout pas les mêmes réponses. Ici les paramètres sont 3 et 9 plutôt que 5 et 25.

Choisir des problèmes par sujet:
La banque de plus de 20000 problèmes est divisée en sujets, chapitres et sections:


Publication d'exercices WeBWorK dans Moodle:
Le menu Ajouter une activité permet d'ajouter un lien vers les exercices WeBWorK.

Exercices WeBWorK dans Moodle:
L'étudiantE accède aux exercices directement dans son compte Moodle.

Vérifier les réponses:
L'étudiantE peut vérifier ses réponses mais n'obtient pas la réponse. En cas d'erreur, il ou elle doit réfléchir et corriger l'erreur.

Avantages
En tant qu'enseignant, j'y vois au moins deux avantages. Premièrement, cet outil peut être utilisé pour faire des évaluations plus fréquentes sans augmenter la tâche de correction qui se fait automatiquement. Par exemple, quelques questions par semaine peuvent être évaluées et compter pour 5% de la pondération. Deuxièmement, il est plus facile de traduire une question en français que d'en écrire une à partir de rien. À l'automne 2011, j'ai traduit 152 questions en français ce qui a offert une offre complémentaire d'exercices surtout pour la première moitié du cours où les exercices dans les notes de cours étaient considérés difficiles par les étudiantEs.
Questions aléatoires
Particularité intéressante, les paramètres dans les questions WeBWorK sont aléatoires de sorte que chaque étudiant reçoit une question différente. Si les étudiants se consultent, ils ne pourront pas copier la réponse et devront nécessairement discuter de la méthode ce qui est une bonne chose.
Alternatives commerciales
WeBWorK est un logiciel libre et gratuit de même que la banque de plus de 20000 problèmes qui l'accompagne. Or, il existe aussi des alternatives commerciales et payantes sur le marché. Par exemple, Maplesoft ont développé l'outil Maple T.A. pour créer des tests et des devoirs en ligne et évaluer automatiquement les réponses des élèves. Maple T.A. est présentement utilisé au Québec et a été présenté par Louise Pellerin et Diane Bergeron lors du 55e congrès de l'Association mathématique du Québec tenu les 14 et 15 octobre 2011 à l'École Polytechnique de Montréal. Elles l'utilisent respectivement au Cégep de Chicoutimi et à La Cité collégiale d'Ottawa pour diagnostiquer et exercer les étudiants dans l'apprentissage des mathématiques. Pour en savoir plus sur leur expérience, on peut lire cet article ou celui-ci sur le site de Profweb.
Combien coûte Maple T.A? En négociant avec Maplesoft, et aussi comme elles ont participé à la traduction de l'outil, elles ont obtenu un bon prix : entre 12$ et 18$ par licence (comprendre par étudiant) par année, le coût variant selon le nombre d’étudiants. Au début, ce coût était par session... Ainsi, pour le seul cours que j'ai donné à l'automne 2011, cela aurait coûté plus de 1000$ pour utiliser Maple T.A. plutôt que WeBWorK.
En discutant avec Mmes Pellerin et Bergeron, elles connaissaient l'existence de WeBWorK et gardent un oeil ouvert sur son développement et sur la traduction de son interface en français, car étant gratuit il sera toujours une option intéressante.
Service de l'audiovisuel de l'UQAM
Durant l'automne 2011, le projet WeBWorK a été repéré par le Service de l'audiovisuel de l'UQAM dont la mission est d’offrir une expertise et un soutien professionnel aux membres de la communauté universitaire dans la réalisation de leurs projets technopédagogiques ainsi que dans l’utilisation des technologies audiovisuelles et multimédias pour leurs activités d’apprentissage, d’enseignement, de recherche et de création. J'ai rencontré Marina Caplain en octobre sur le sujet. Si le projet se poursuit, ils pourront offrir un soutien aux utilisateurs.
Sondage des étudiantEs
À la fin du cours, en décembre 2011, j'ai fait un petit sondage par rapport à l'utilisation de WeBWorK. Une dizaine d'étudiantEs y ont répondu. En général, ceux qui ont utilisé WeBWorK ont trouvé que les exercices WeBWorK avaient eu un effet positif sur leur étude. Parmi les effets positifs on retrouve :
- "l'accès une plus grande variété de problèmes"
- "motivant de savoir directement si on avait la bonne réponse"
- "permettent de savoir si nous avons compris ou non la matière"
- "une façon plus divertissante de faire des problèmes mathématiques"
Parmi les effets négatifs on retrouve :
- "La démarche n'est pas considérée. Une démarche bien réalisée, avec une erreur de calcul, et la réponse peut différer complètement"
- "Beaucoup trop d'exercices à faire (exercices de l'imprimé de cours en plus des WeBWorK) et je ne savais donc pas lesquels étaient plus importants ou intéressants à faire et à comprendre."
La traduction
Voici quelques informations supplémentaires pour donner une meilleure idée de la tâche de traduction des questions. Chaque question est dans un fichier texte. Le fichier comporte une en-tête particulière décrivant le problème, puis un peu plus bas dans le fichier on retrouve le texte de la question:
BEGIN_TEXT \{ ColumnTable( "Consider the following integral. Sketch its region of integration in the xy-plane.". $PAR. $BCENTER. "\( \displaystyle \int_{0}^{$a} \int_{y^2}^{$a2} $f \, dx \, dy \)". $ECENTER. $PAR. "(a) Which graph shows the region of integration in the xy-plane? ". $popup->menu(). $BR. $BR. "(b) Write the integral with the order of integration reversed:". $PAR. $BCENTER. "\( \displaystyle \int_{0}^{$a} \int_{y^2}^{$a2} $f \, dx \, dy = \int_{A}^{B} \!\! \int_{C}^{D} $f \, dy \, dx \)". $ECENTER. $PAR. "with limits of integration". $BR. $BR. "A = ".ans_rule(20).$BR. "B = ".ans_rule(20).$BR. "C = ".ans_rule(20).$BR. "D = ".ans_rule(20).$BR. $BR. "(c) Evaluate the integral. ". ans_rule(40),
Dans ce cas-ci, j'ai édité une copie de ce fichier et j'ai remplacé le texte anglais par le texte français comme ci-bas:
BEGIN_TEXT \{ ColumnTable( "Considérons l'intégrale suivante. Esquisser la région d'intégration dans le plan xy.". $PAR. $BCENTER. "\( \displaystyle \int_{0}^{$a} \int_{y^2}^{$a2} $f \, dx \, dy \)". $ECENTER. $PAR. "(a) Quel graphique montre la région d'intégration dans le plan xy? ". $popup->menu(). $BR. $BR. "(b) Écrire l'intégrale où l'ordre d'intégration est inversé:". $PAR. $BCENTER. "\( \displaystyle \int_{0}^{$a} \int_{y^2}^{$a2} $f \, dx \, dy = \int_{A}^{B} \!\! \int_{C}^{D} $f \, dy \, dx \)". $ECENTER. $PAR. "et les bornes d'intégration sont". $BR. $BR. "A = ".ans_rule(20).$BR. "B = ".ans_rule(20).$BR. "C = ".ans_rule(20).$BR. "D = ".ans_rule(20).$BR. $BR. "(c) Calculer l'intégrale. ". ans_rule(40),
Durant la session, je parvenais à choisir et traduire une quinzaine de questions en un peu plus d'une heure de travail.
Conclusion
À mon avis, WeBWorK ne peut pas remplacer les devoirs écrits qui sont nécessaires pour évaluer la démarche, mais peut être un bon outil pour faire des évaluations plus fréquentes de la matière.
« Previous Page -- Next Page »