Hello TB,

Thank you so much for the quick reply!

   - I will definitely look through the Developer's Guide and find small 
   bugs I can work on.
   - I think I will attempt to write some tutorials on my own website and 
   embed SageMathCell cells into it - for formatting, I will look into ReST 
   and Sphinx!
   - The Sage Days sound very interesting - approximately when do they 
   occur (as I would love to join them)?
   
Sincerely,
Tanmay
On Friday, June 17, 2022 at 10:51:06 AM UTC-7 mathzeta2 wrote:

> Hello Tanmay,
>
> There was, as far as I can remember, a post in this mailing list (perhaps 
> by William Stein or Samuel Lelièvre?) offering answers to exactly this type 
> of questions. I did not manage to find it, so here is my attempt to list 
> some relevant links with some context:
>
> For your first question:
> * The Sage Developer's Guide 
> <https://doc.sagemath.org/html/en/developer/index.html> contains a lot on 
> how to develop in Sage, and how to contribute back. It may seem daunting at 
> first, especially for people new to software development. Even fixing a 
> very small problem (e.g. a typo) might take long the first few times, but 
> people are usually happy when bugs are fixed.
> * Sage Trac server <https://trac.sagemath.org/> is the place to report 
> bugs or suggest enhancements (a new feature, a new implementation and so 
> on).
> * What happens when someone is not sure something is really a bug to 
> report on Trac, or that an enhancement proposal is worth considering? They 
> can try to ask in: This mailing list (sage-devel 
> <https://groups.google.com/g/sage-devel/>) aimed for developers, the 
> sage-support <https://groups.google.com/g/sage-support/> mailing list 
> aimed to a more general audience, ask.sagemath.org 
> <https://ask.sagemath.org/questions/> which is a Q&A site or on Zulip 
> <https://sagemath.zulipchat.com/login/>. There is a sage-edu list which 
> seems to be abandoned.
> * For Sage Days 78 <https://wiki.sagemath.org/days78> from 2016 I think 
> Kevin Dilks wrote a longer summery how to contribute to Sage 
> <https://wiki.sagemath.org/days78/contribute>. Maybe this should be in 
> the main docs, after updates.
>
> For your second question:
> Different modern web frameworks allow to insert mathematical formulas and 
> code listings in webpages. In some cases it is even possible to add 
> SageMathCell <https://sagecell.sagemath.org/> cells. For example, related 
> to the topics you mentioned learning, in the online version of the 
> university-level textbook "Abstract Algebra: Theory and Applications 
> <http://abstract.pugetsound.edu/>" you can find sections with Sage 
> tutorials and exercises using such cells. Usually it is better to first 
> write the content you want in a tool you are comfortable with than trying 
> to figure the exact technicalities how to publish it.
> Sage uses Sphinx <https://www.sphinx-doc.org/en/master/> to generate its 
> docs, written in a convenient textual format called reStructuredText 
> (ReST). Projects such as the sage_sample 
> <https://github.com/sagemath/sage_sample> template Sage package allow to 
> generate documentation that look like the main docs, as they use the same 
> Sphinx theme. Some Sage tutorials are collected at More SageMath thematic 
> tutorials <https://github.com/sagemath/more-sagemath-tutorials/>, and 
> their generated docs are here 
> <https://more-sagemath-tutorials.readthedocs.io/en/latest/>.
>
> For your third question:
> Many of the Sage Days <https://wiki.sagemath.org/Workshops> events are 
> welcoming to diverse backgrounds and experiences, and not only experts in a 
> specific field. By browsing through the talk and tutorial lists of some 
> past Sage Days I noticed that they include from time to time talks about 
> scientific software development not necessarily in Sage and mathematical 
> education.
>
> Regards,
> TB
>
> On 12/06/2022 20:40, Tanmay Kulkarni wrote:
>
> Hello TB, 
>
> Thank you so much for the detailed response - these links are really 
> helpful!
> I had a few follow-up questions:
>
>    - If I do stumble onto documentation that lacks usage examples, how 
>    would I go about adding examples?
>    - Is it possible to write more thematic tutorials for Sage or would 
>    that have to be on my own site? I think my ideas for this would best be 
>    explained through tutorials with embedded Sage computations that (a) 
>    explain concepts and guide students to discovering things like the 
>    inclusion-exclusion principle and (b) teach the fundamentals of Sage (and 
>    Python too). 
>    - Are there any avenues where Sage education is explored and used 
>    beyond the Sage Education Days?
>    
> Thank you!
>
> Sincerely,
> Tanmay
>
> On Sunday, June 12, 2022 at 9:26:26 AM UTC-7 mathzeta2 wrote:
>
>> Hello Tanmay,
>>
>> On 11/06/2022 6:16, Tanmay Kulkarni wrote:
>>
>> Hello all,
>>
>> My name is Tanmay Kulkarni and I am a rising sophomore. I have also been 
>> taking several extracurricular math classes with Squares & Cubes 
>> <https://www.squaresandcubes.com/> on things like number theory, group 
>> theory, discrete math, and linear algebra. In these classes we have 
>> utilized Sage to explore mathematical patterns. For instance, in my 
>> discrete math class, I used Sage's graph functionality to take a stab at 
>> graph isomorphism, which eventually lead to a magazine article 
>> <https://chalkdustmagazine.com/features/a-walk-on-the-random-side/> on 
>> using random walks on graphs to solve graph isomorphism.
>>
>> Very nice!
>>
>>
>> During these various explorations, I realized that Sage was a very 
>> powerful tool to explain and provide intuition for complex mathematical 
>> concepts, however, (a) it is mainly used by those working in higher math, 
>> and (b) there is a high barrier of entry to implement concepts (even ones 
>> in lower math) in Sage.
>>
>> I completely agree that Sage is a very powerful tool. Gathering intuition 
>> for complex mathematical concepts in many cases includes some 
>> visualization. For example, If someone never heard of Young's lattice, or 
>> even what is a lattice, looking at the plot in this thematic tutorial [1] 
>> can be a big step in understanding (at least in an intuitive manner) what 
>> is this object. In this case, the 6 lines of Sage code that produced the 
>> plot are included, so further exploration becomes easier.
>>
>>
>> Thus, I wanted to contribute to Sage and *implement specific concepts 
>> which I felt high school students like myself would find interesting*, 
>> and use them for educational purposes (e.g. at my school). Two basic ideas 
>> I thought of were:
>>
>>    1. *Random walks.* I think mathematics is often far more engaging 
>>    with a visual component (for instance, teaching graphing skills and 
>>    different types of equations through a Desmos art project), and I think 
>>    when talking about probabilities and randomness, an excellent visual 
>>    representation of stochastic processes is random walks, which are 
>> currently 
>>    not implemented in Sage. The other advantage of this is that random walks 
>>    are often present in other places such as physics (in Brownian motion). 
>>    This could expand into 
>>    2. *Venn diagrams.* Venn diagrams are incredibly important; however, 
>>    I could not find any Sage implementations of Venn diagrams beyond simply 
>>    plotting intersecting circles. Having a more solid implementation could 
>>    provide a strong, visual intution for a variety of concepts, like basic 
>> set 
>>    theory, logical operators, probability, and even open the door for 
>>    Edwards-Venn diagrams! Such an implementation would utilize Sage's 2D 
>>    graphics (specifically the circle and text functions) as well as the 
>>    detailed Set implementation. 
>>
>> Apart from static visualizations one can find at various docs, there is a 
>> page at the wiki dedicated for examples of Sage Interactions [2]. In 
>> particular, the "miscellaneous" page [3] includes two simple Venn diagram 
>> interactive cells, which might be what you already found. The interactions 
>> at these pages can be a good example of what is possible, but I will warn 
>> that some of them are quite old, and so they are not always implemented 
>> with modern best practice (e.g. deprecated functions). On a side note, here 
>> is a link to a beautiful interactive 7 sets Venn diagram [4] by Santiago 
>> Ortiz, inspired by Newton's theories on light and color spectrum.
>>
>>
>> At Brent Yorgey's blog there are (at least) two posts without words 
>> [5][6] that try to illustrate the inclusion-exclusion principle with Venn 
>> diagrams. I think the plots there were created using the diagrams [7] 
>> package in Haskell. I wonder if there is a similar Python package for 
>> vector graphics, as Sage usually uses matplotlib or TikZ which are 
>> sometimes harder to use.
>>
>>
>> Several people who I contacted referred me to this group, and thus I am 
>> wondering if anybody would be generous enough to (a) provide *thoughts 
>> on the feasibility and usefulness* of such an endeavor, (b) provide some 
>> *direction 
>> or guidance* as to where to begin, and (c) offer any *potential avenues* 
>> where this could be used.
>>
>> Until then, I will be beginning to work on any very simple bug fix I can 
>> find to familiarize myself with developing in Sage.
>>
>> It is always good to hear about people interested in Sage development. 
>> The Sage documentation [8] contains a lot: The reference manual alone will 
>> be thousands of pages long if printed! If you find a function or object you 
>> are familiar with that is already implemented in Sage, but their 
>> documentation lacks any usage example, or they mention a non-trivial 
>> notation without explanation (it can be tricky to define what is a 
>> "non-trivial notation"), then it can be a good idea to try and add them.
>>
>>
>> I think some of the Sage thematic tutorials [9] were originally prepared 
>> for university courses and later, after being tested in the real world, 
>> were incorporated into the docs. There are many cases of blog posts and 
>> tutorials for Sage programming or for a scientific concept that are not 
>> part of Sage docs, e.g. the SDSU Sage tutorial [10]. Writing similar texts 
>> on your own site is another possibility, and when you stumble upon a bug or 
>> a missing functionality in Sage, opening a trac ticket will be appreciated.
>>
>>
>> Thank you so much!
>>
>> Sincerely,
>> Tanmay Kulkarni
>>
>>
>> Regards,
>> TB
>>
>> [1] 
>> https://doc.sagemath.org/html/en/thematic_tutorials/algebraic_combinatorics/rsk.html
>> [2] https://wiki.sagemath.org/interact
>> [3] https://wiki.sagemath.org/interact/misc
>> [4] https://moebio.com/research/sevensets/
>> [5] https://mathlesstraveled.com/2017/05/31/post-without-words-18/
>> [6] https://mathlesstraveled.com/2017/06/02/post-without-words-19/
>> [7] https://archives.haskell.org/projects.haskell.org/diagrams/
>> [8] https://doc.sagemath.org/
>> [9] https://doc.sagemath.org/html/en/thematic_tutorials/index.html
>> [10] https://mosullivan.sdsu.edu/Teaching/sdsu-sage-tutorial/index.html
>>
> -- 
> 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+...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sage-devel/bf2f8f57-628d-473a-a7b6-dfa0893694e5n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/sage-devel/bf2f8f57-628d-473a-a7b6-dfa0893694e5n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/50707eff-8a44-49b7-8736-9f9441ade881n%40googlegroups.com.

Reply via email to