On Wed, May 28, 2014 at 3:30 PM, Paul-Olivier Dehaye <paul-olivier.deh...@math.uzh.ch> wrote: > Again, in the big wave of emails, this one also got misdirected: > > Hi everyone, > > I am looking for people who want to help me, in one way or another, bring > hundreds of new first time contributors to sage. If I do not find enough > partners, I will look for other more suitable python-based projects. > > The idea would be quite simple: teach python programming around some > mathematics (such as combinatorics) and simultaneously produce code that > would be useful for research and worth including in sage. Two catches: > students are given individual problems to work on, and the course is taught > on Coursera. Motivation for the students would come in various ways: > internships, for instance. Quality of the code would be ensured by > peer-testing the programs. > > If you do not know what Coursera or MOOCs are, you are welcome to take my > upcoming course > https://class.coursera.org/massiveteaching-001 > > If you are interested to play with a MOOC platform yourself, you might want > first to watch the videostream of the 2pm-3pm slot of this conference I am > co-organising on Tuesday: > tinyurl.com/openedx-zurich > as it will help you assess the technical challenges. > > I am looking at a start date for the course of around October-November, and > to bring the discussion off the mailing list (to private) so as to keep an > element of surprise for the students.
An obstruction to getting code contributions from "hundreds of new developers" into Sage is the Sage development process via trac, as documented in the Sage Developers guide. I have 40 students in my class this quarter, and have encouraged them all to make contributions to Sage via the standard trac process. Maybe 2 have succeeded, and when I point them out the documentation and look at it myself, I wince. This is not to say that the process is bad -- in fact, for people making major contributions over time, our current system is pretty reasonable overall, and in some ways quite good. But for somebody new to software development who wants to make a few small contributions, e.g., add an example to a docstring, it is not definitely optimal. One possible approach for your course would be to do everything through pull requests on github, which are ridiculously easy to make. Then we (i.e., some expert sage developers) would aggregate some of those contributions into a smaller number of trac tickets, which would get included in Sage in the traditional way. This approach would be nice since it wouldn't require changing anything about Sage development or infrastructure, but would allow us to try out new approaches, which might later influence the Sage development process. It would be interesting to think about "low hanging fruit" sage development projects. There's a *ton* of obvious things one might want to implement for Sage... which are now already done well. E.g., I had students in my class tell me what they wanted to do their final projects on, and in the majority of cases I had to point out that what they wanted to do was already done in Sage well (or at least done many times over well in Python). They often still did the projects, but making it clear that it was for-fun toy code. However, one example is applying transforms to a 2d plot in Sage -- that seems not done, though we have 3d transforms in Sage. I know trac is supposed to have "beginning tickets", but when I send beginners to trac, they invariably claim to find nothing to do. So a big list of low hanging fruit that would make sense to implement in Sage would be useful. Again, an example is: - implement functions like rotate, translate, etc., for 2d graphics objects, like the corresponding 3d functions. That said, Sage is getting mature enough at the easy things that I wouldn't be surprised if somebody responds to this email and says -- oh, that's easy, via converting the plot to matplotlib, or something... Of course when I think about more advanced mathematics, Sage has a million obvious gaps to fill, and is extremely immature with a huge amount of low hanging fruit. But this is all grad student level stuff. -- William > > Let me know! > > Paul > > Paul-Olivier Dehaye > SNF Professor of Mathematics > University of Zurich > skype: lokami_lokami (preferred) > phone: +41 76 407 57 96 > chat: pauloliv...@gmail.com > twitter: podehaye > freenode irc: pdehaye > > -- > You received this message because you are subscribed to the Google Groups > "sage-combinat-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-combinat-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-combinat-de...@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-combinat-devel. > For more options, visit https://groups.google.com/d/optout. -- William Stein Professor of Mathematics University of Washington http://wstein.org -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.