I have been working a bit on some functions to help students do integration 
by hands. Under the hood, they use sympy's integral_steps function (see 
[1]), but I am not sure which is the right way to present it. The options I 
am considering are:

1) Go full step-by-step integrations, in the spirit of sympygamma site (or  
wolframalpha, if you have access to the pro version). In that case, I guess 
returning a text (or html) stringwould be the sensible choice.

2) Just show a hint for the next step to the student, something like:

sage: integration_hint(sin(x)*x, x)
Integrate by parts, with u=x, dv=sin(x)dx. So integral(sin(x)*x, x) = x*cos(
x)-integral(cos(x),x)

In this case, maybe we should return a specific class where the student can 
get the expression to follow the computation by hand. Also, we could have 
different display methods for different envirments (mainly, command line 
and jupyter notebook)

So my questions are:

- Which option do you think would be preferable? Show the full step by step 
solution, or just give hints as they are asked for?
- In any case, which would be the right way to handle different 
representations deppending on the environments? I assume that if we have a 
specific class for this, it should have some __repr__, __latex__, and 
__pretty_print__
- Which would be the right place to put this code? I would say 
sage.symbolic.integral, but some time ago someone mentioned the posibility 
to create an education module, to put the different pieces of code that was 
writen with for educational purposes.

What do you think?




[1] https://docs.sympy.org/0.7.5/modules/integrals/integrals.htm

-- 
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/5a2555f3-30f9-4253-b318-d93ab8468dfc%40googlegroups.com.

Reply via email to