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.