slideDown

Wednesday, July 17, 2013

WeBWorK::Vancouver - June 27 - 30, 2013

Hi again,

Close on the heels of our participation Sage Edu Days comes the code camp at Vancouver.

We had a significant number of first time participants at this code camp:  Alex Jordan and Chris Huges, Portland Community College; Liz Brauer, ECE department at Northern Arizona University, Nandor Sieben, Math Dept at Northern Arizona University; Nora Franzova, Langara College, Vancouver; Aori Nevo, Stevens Institute of Technology, NJ.  One of the purposes of these code camp is to widen the pool of developers who feel comfortable making contributions to the WeBWorK code base.

Additional guests dropped in for part of the code camp: Davor Cubranic, Statistics dept at UBC; John Hsu, Center for Teaching, Learning and Technology at UBC; and Steven Wittens, developer of MathBox.

The remaining participants were Anneke Bart, St. Louis University; Robert Beezer, U. of Puget Sound; Mike Gage, U. of Rochester; David Gage, U. of Waterloo; Djun Kim, Myplanet Digital; Arnie Pizer, U. of Rochester and John Travis, Mississippi College.

Here are a few highlights from the code camp:


  • Yoav Freund and Matt Elkerj from UCSD gave a presentation via Skype on using webwork and machine learning to discover patterns in the past_answer log that indicate that a student is floundering and to step in before this occurs with additional scaffolding. They have a video on you tube at  https://www.youtube.com/watch?v=yYqKaYckjO8 which presents this very well. There is clearly a lot more that can be done but this is a very intriguing start.
  • Greg Kraus from NCSU gave a presentation on the accessibility of WeBWorK including both strengths (of which there are many -- especially when using MathJax) and weakness that can be improved. He has an initial document at 
    • https://docs.google.com/a/ncsu.edu/document/d/1n1aUjAxRqAxxwfUUCf0uAj923f5QokpFu-fYUvJJPcU/ listing specific items that can be fixed in the presentation layer.  
      • If you would like access to this document (and in particular if you might have time to work on some of the fixes) please write Greg (greg_kraus) at ncsu.edu.
    • Aori Nevo has already started preliminary work on this and contributed a few patches to github.
    • Alex Jordan and Chris Hughes from Portland Community College report that their IT/accessibility team is delighted with WeBWorK particularly compared to MyMathLab. I've asked them to write a blog post on their findings when they get a chance.
  • Steven Wittens gave a marvelous demonstration of MathBox, a mathematics presentation tool built on top of three.js which allows you to "show" not explain. Examples of a similar presentations are at:
  • David Gage created a package for Vagrant which allows you to set up a development site for WeBWorK on your own computer in about 5 mouse clicks and in 5 minutes. Watch David's blogpost for more details. 
  • David Gage and Aori Nevo worked on a prototype white board that allows many students to draw and the drawings are echoed on the instructors board. It's built with web components which simplifies the code. There is a lot of potential here. 
  • John Travis and Jason Aubrey presented two different ways in which Sage and WeBWorK can interact.
    • JT has a number of examples of using sage as an applet (sagelets?). The technology is available in WeBWorK-2.7 (the current master branch) 
    • Jason has added a macro that will take a program written for Sage (essentially in python) and ship it off to the sage engine to be processed and to return an answer. You might use this to symbolically integrate a function which WeBWorK would not be able to do. (This is available in release/2.8 and develop branches). 
    • Both of these approaches integrate WeBWorK and the sage cell server being developed by Jason Grout and others. The technology works very well once all the connections are set up. It could still use some work with graceful failure and error reporting when one or the other of the webservices is not connecting properly.
  • Alex and Chris also worked on the surprisingly difficult problem of correctly checking factored polynomials in the context of algebra and pre-calculus. It's difficult because one does not want to accept mathematically equivalent answers (e.g. unfactored polynomials) but the exact definition of simplified form is not well defined. (is 2x+1 correct? or 2(x+1/2). How about 2x+2 and 2(x+1)?). They are using Sage as one approach to the answer. It also gave rise to some serious but amusing questions about factoring polynomials over finite fields as possible approaches to the solution. I'm sure the algebra/pre-calculus students will be thrilled.
  • Mike and Nandor added code that makes Chromatic.pm much more portable. (Chromatic requires a compiled C program in order to check coloring on graphs.) This should make Nandor's graph theory questions (in the NAU sublibrary) much more widely available.
  • Nora was able to convert the entire placement test for Langara College into WeBWorK format.
  • Liz was adding to her collection of Electrical engineering problems (in the NAU subsection of the OPL). Thanks to Davide Cervone we are dealing successfully with the use of j as the representative of the square root of minus one. :-)
  • There were additional tweaks to the Library Browser, the OPL and also to MathView -- the very recent HTML5 based equation editor which is

Thanks to all who participated in another very successful code camp.  And our particular thanks
to Nora Franzova at Langara College and to Djun Kim from UBC/Myplanet Digital  for making all of the local arrangements.

Those who will be at MathFest in Hartford, Connecticut this August should drop by the WeBWorK
exhibit (part of the MAA exhibit) and say hi to John Travis and any other WeBWorKers who show up.

-- Mike




Friday, July 5, 2013

Sage Edu Days 5, June 19 - 21, 2013

Thanks very much to the folks at Sage and at UTMOST for inviting us to participate in the Sage Edu Days 5 in Seattle, WA  June 19 - 21.  Jason Aubrey, Mike Gage and John Travis from the WeBWorK team participated.  This is the third year that we have collaborated with Sage to augment the interaction between the two software applications.

As a result we have a new macro file "sage.pl" which simplifies the creation of sagelets -- plugin interacts that augment the power of WeBWorK questions.  In addition Jason Aubrey created AskSage(), a new subroutine which allows WeBWorK to query an instance of sage to have an expression evaluated.  These provide two different mechanisms for  providing high level CAS support to WeBWorK questions by remotely accessing a sage cell server.  The sage cell server has been under development by Jason Grout and the rest of the Sage team over the last three to four years.

The new sage interaction features are available in WeBWorK  release/2.8 which is now "on deck" in the webwork github site:   https://github.com/openwebwork/. Release/2.8 is undergoing final testing and bug squashing before being merged into the "master" branch.   To try it out you will want to use  the branch release/2.8 of both webwork2 and pg.  These are available by simply executing "git fetch" on an up-to-date installation of WeBWorK.  (See Github   and  release/2.7 for details.) While you are at it you should download the new changes to webwork-open-problem-library and run OPL-update to update the library database so as to incorporate the improvements made at the WeBWorK OPL workshop in Charlottesville, VA earlier this month. Preliminary release notes are available at http://webwork.maa.org/wiki/Release_notes_for_WeBWorK_2.8

More refinements and many more examples demonstrating the new sage interaction features are expected from the upcoming work at WeBWorK::Vancouver June 27-30  and the PREP13 model course workshop in Washington, DC, July 10-13.

Release/2.7 was incorporated into the "master" branch on June 15, 2013.  The separate 2.7 branch on the openwebwork site will soon be removed.

-- Mike

Thursday, June 6, 2013

WeBWorK::AnnArbor, June 1-3, 2013

Hello everyone.

We've completed another successful three days of concentrated development at the WeBWorK::AnnArbor code camp hosted at the University of Michigan.

As a result  we have a new translation of WeBWorK into Chinese, a new data/database model that will support new and oft requested WeBWorK features, continued work on our collection of turnkey modelCourses and a new version (2.7) of WeBWorK that will become WeBWorK's stable release in a few days.  We also have documentation of the upgrade path for existing WeBWork installations using the SVN repository to the Github repository so that existing installations can take advantage of the new features and bug fixes and more.

Wednesday, March 13, 2013

WeBWorK::Raleigh -- March 7-11, 2013

WeBWorK developers from across the US and Canada gathered in Raleigh, NC to work on polishing new WeBWorK features -- some for immediate release and some for later.  The event was hosted at North Carolina State University.  Alina Duca, a faculty member of the NCSU mathematics department, handled local arrangements.  Thank you Alina.

The mathematics department building, SAS Hall, is truly gorgeous, well equipped, light and airy.  I think it's the nicest facility we've used so far at a code camp.

There were a lot of exciting developments. The details will be rolled out over the next couple of weeks as we create thorough descriptions for each feature.

Friday, October 19, 2012

 WeBWorK::Fitchburg code camp:  

October 12 through October 14, 2012

The WeBWorK::Fitchburg code camp took place at Fitchburg State University in Fitchburg, MA.  This was a short code camp held last weekend from noon Friday, October 12 through Sunday, October 14, 2012.  In just two days we were able to make substantial progress on several fronts.  In particular there was progress on a new homework sets editor3 and some front page changes is stored for the time being in Mike Gage's github repo.

The CSS for some of the pages, particularly the front page,  needs some work to make it presentable before we can move it to the github repo at openwebwork and create a demonstration version at hosted2.webwork.rochester.edu/webwork2.  Anyone with some spare time and CSS skills is welcome to help out. Having a calendar view of assignments is particularly exciting.

Saturday, July 7, 2012

Internationalization of WeBWorK -- A Call for Help

First  a short news item:  Those not in the US have long remarked on the confusion caused by due dates such as:   06/07/2012   for their students.  Is that the 7th of June or the 6th of July that the homework is due?   

Danny Glin from the University of Calgary (and one of the participants at WeBWorK::Rochester::2012 code camp) has come to the rescue and created the ability to customize the format for dates for your site or for your course.

The customization takes place in the conf/ localOverrides.conf or if you want to customize only one course  the course.conf file.  The new software is available in the webwork repository at github.com/openwebwork/webwork2-dev.  


Thanks, Danny.


This fix is currently part of the 2.5.1 beta version of WeBWorK which will be issued as a stable release some time in late 2012.  It is already pretty stable and is being used successfully at many sites this summer.  Eventually we'll make it possible to choose common time formats from the course administration page, but we'll take this one step at a time.


And this brings me to the larger issue of this post.


WeBWorK is going international.  We already have much of the WeBWorK interface localized so that commands appear in any of several languages such as French, Spanish, Turkish and English.  (Localization is software-speak for presenting the user interface in the local language, with the local timezones and the local manner of expressing dates, currencies and so forth.)  


The project is far from  completed in these languages (if you switch to languages other than English on the course configuration page you will still notice that some of the buttons and links still appear in English) but there has been significant progress.  Much of this progress is thanks to the initial work by Ben Walter and his colleagues at the Middle East Technical University in Northern Cyprus. Since then Grant He with some help from me has continued to markup large parts of the current code base
so that the "strings" can be individually translated and presented in any language.  Those using old versions of WeBWorK can see the internationalization effect for themselves by using the demo courses at https://hosted2.webwork.rochester.edu/webwork2/maa101, (maa102, etc) and using profa for login and profa for the password.  


To finish this task and change the internationalization of WeBWorK from its current proof-of-concept stage to a finished and polished product  will take a focused and sustained effort.  The initial burst of progress came from massive and enthusiastic effort from a few people, but to  make sure that every phrase has been marked for translation and that every translation has been checked for colloquial accuracy will require more organization.

This is what I think will be required:  (1) We will need people to volunteer to work to translate phrases from English to their native language.  (2) We will need one or two people who are familiar (or willing to become familiar )  with the perl language who will continue to mark up old (and sometimes new code) to make sure that all strings, including commands, buttons, warning strings, directions and so forth are properly marked up so that the strings can be sent to the translators.

 (3) Most importantly we'll need an Internationalization Coordinator, one person or two people working together, who will  be the central organizers for localization.  The Internationalization Coordinator will recruit translators, see that they have up-to-date lists of strings to be translated, (bug them until they get around to translating them) and then place the translated strings into the WeBWorK releases so that new languages or upgraded translations for old languages are available for all users of WeBWorK.

 Volunteers interested in helping WeBWorK thrive and grow internationally by serving for a term as the Internationalization Coordinator should contact Mike Gage (gage@math.rochester.edu) or  Jason Aubrey (aubreyja@missouri.edu)  The Internationalization Coordinator has duties similar in many ways to that of a a journal editor, although probably not as time consuming.

While the central organizing job does not involve a lot of time (it's mostly about making it possible for others to do work) it does need to be done on a steady and sustained basis.  For example when new translations come in they need to be promptly placed where they can be downloaded to update active sites. This is both for the sake of WeBWorK students and to encourage the translator to review their work and make corrections by giving them rapid feedback.   I've been fulfilling this role to some extent, but while a lot might get done over one  short period other WeBWorK issues will distract me, submissions will pile up and the whole translation process slows down. This job needs a person who can take it on as their mission, make it the focus of their attention for a year or so and then pass it on to someone else.


Preliminary instructions for the translator job are at http://webwork.maa.org/wiki/Instructions_for_translators.  Translating is a task that many people can contribute to in their spare time with the Internationalization Coordinator keeping track of what is
left to be done.  The best software I've found so far for this job is the open source Poedit java applet described on the wiki page above.

Marking up the code using the CPAN  Localization::Maketext::Simple package is a slightly more technical job that can be done well by undergraduates with some supervision.  Preliminary instructions about using the CPAN module can be found linked to http://webwork.maa.org/wiki/Localization. Those writing new interface code for WeBWorK should also look at this page and include the "maketext()" markups as they write the new code in order to ease the work load of the code mark up crew.


There is general information on the localization process on the wiki at http://webwork.maa.org/wiki/Localization.




Writing or translating homework problems into other languages is a separate project which is  closely tied to the new Open Problem Library project.  We currently know of collections of problems in French, Spanish and Turkish that we hope to include in the OPL.  As the number of problems, and the number of languages increases this project will undoubtedly require its own coordinator.  Some have already remarked that it will be interesting to compare calculus homework problems across countries since even calculus problems will probably have cultural differences as well as linguistic ones.




-- Mike
 

Friday, July 6, 2012

WeBWorK Open Problem Library 3.0


As Djun Kim mentions in his post the National Problem Library, having grown beyond one language and one country, is now the WeBWorK Open Problem Library (or OPL for short).

Adding problems in new languages,  allowing publishers to include their problems in the library and improving the search facilities so that you can find the type of problem you want faster than you can write it yourself are going to required a dedicated effort.

Schemes need to be devised for attaching metadata to the problems (automatically when possible) and software for weeding out near duplicates needs to be developed.  In addition we need procedures for new submissions that both makes it easier to submit your favorite problem or your fix of a problem with errors but also allow for a system of checks and balances that guarantees that the submitted problems meet certain standards.

Since we will probably never all agree on what makes a "high quality" problem we also need some kind of rating mechanism that will help instructors find the problems that fit their course and teaching style.

It's a tall order.

Fortunately a few members of the WeBWorK community have volunteered to take the lead in devising OPL 3.0 which will meet all of these criteria.  They are Djun Kim at University of British Columbia; John Jones, who was involved in creating the original NPL, at Arizona State University; Dick Lane at University of Montana, George Jennings at California State University at Domincan Hills and Tyler Dzuba, a science librarian at the University of Rochester with experience in metadata and digital library design.  Anyone else interested in working on the project should contact one of these leaders.

Some of the early discussion is already taking place on the webwork-devel mailing list
( http://webwork.maa.org/mailman/listinfo/webwork-devel ).  As consensus emerges summaries will be posted on the wiki in the section for developers for further comments.  (A search of OPL should bring up most of the relevant information.)

Thanks very much Djun, John, Dick, George and Tyler for taking the lead in this important project.
Improving the usefulness of the OPL is one of the most requested features that has come up in our surveys of WeBWorK users.

The library group is just the first team arising from our intent to bring focus to the various active projects being developed within the WeBWorK community:

My next post will concern our attempt to bring focus
to the "internationalization" or as it's called in software speak "localization" effort for WeBWorK.  This involves making the WeBWorK application itself work in a many languages in a convenient and sustainable way and the solicitation of WeBWorK problems written in many languages.

-- Mike