Collection of various interactive applications in High School level

10 views
Skip to first unread message

Lauri Ruotsalainen

unread,
Jul 27, 2010, 12:36:11 PM7/27/10
to sage-edu
Hi Sage community!

I'm writing my master's thesis on on the usage of Sage in high school
level mathematics. As a part of the project I've programmed various
interactive applications and other examples which can be used in
teaching and learning environment.

I'm very grateful to the community of Sage for producing such a
versatile and valuable program that can be applied in education (in
addition to its other uses). I want to thank you by contributing some
of my work here in hope that it would benefit other teachers utilizing
Sage in their classes and to advance the use of Sage in education.

In the links below there are worksheets containing the code of the
programs. I've also taken screenshots of each application, so that one
can get a quick impression of the programs without having to log in to
Sage.


The Solutions of the Quadratic Equation
http://www.sagenb.org/home/pub/2305/

Difference Quotient
http://www.sagenb.org/home/pub/2303/

Difference Quotient (animation)
http://www.sagenb.org/home/pub/2309/

Function and its first and second derivatives
http://www.sagenb.org/home/pub/2293/

Definite Integral
http://www.sagenb.org/home/pub/2292/

The n-th root of x (animation)
http://www.sagenb.org/home/pub/2311/

Cycloid (animation)
http://www.sagenb.org/home/pub/2310/

Differentiating Practice (random polynomials)
http://www.sagenb.org/home/pub/2300/

Differentiating Practice (functions read from file)
http://www.sagenb.org/home/pub/2298/

Some Trigonometric Properties of Triangle
http://www.sagenb.org/home/pub/2306/

Sine, Cosine and Tangent in an Unit Circle
http://www.sagenb.org/home/pub/2304/

Special Points of Triangle
http://www.sagenb.org/home/pub/2301/

A Cube within a Hemisphere
http://www.sagenb.org/home/pub/2302/

Coin Tossing (simulation)
http://www.sagenb.org/home/pub/2308/

Dice (simulation)
http://www.sagenb.org/home/pub/2299/

Secant Method
http://www.sagenb.org/home/pub/2307/

Newton's Method
http://www.sagenb.org/home/pub/2295/

Trapezoid Method
http://www.sagenb.org/home/pub/2296/

Simpson's Method
http://www.sagenb.org/home/pub/2294/


I appreciate all feedback, whether it concerns technical aspects of
the code or the decisions I've made affecting the user experience.
Also, if you have suggestions how I could make these programs better,
please share your thoughts. Please note that I’ve tried to keep these
programs as clear and simple as possible; there is no error handling
and they may not be fully optimized in terms of Sage’s faster variable
types.

The thesis will be published online when it’s ready (in Finnish).

Thank you!

Lauri Ruotsalainen
University of Turku
Finland

Jason Grout

unread,
Jul 27, 2010, 12:51:53 PM7/27/10
to sage...@googlegroups.com
On 7/27/10 9:36 AM, Lauri Ruotsalainen wrote:
> Hi Sage community!
>
> I'm writing my master's thesis on on the usage of Sage in high school
> level mathematics. As a part of the project I've programmed various
> interactive applications and other examples which can be used in
> teaching and learning environment.
>
> I'm very grateful to the community of Sage for producing such a
> versatile and valuable program that can be applied in education (in
> addition to its other uses). I want to thank you by contributing some
> of my work here in hope that it would benefit other teachers utilizing
> Sage in their classes and to advance the use of Sage in education.


This is amazing! Thank you! I am very impressed with the quality of
these worksheets!

It sounds like you are releasing your work listed below to be modified
and freely copied by others? May I suggest that you add a license
statement so that it is clear how one may use what you have contributed?
For one, I would love to see some or all of your examples below as
part of Sage's interact library. Personally, it sounds like

CC-by: http://creativecommons.org/licenses/by/3.0/

might fit the uses you describe above and let us include the code in
Sage. Another option that would let people use your examples widely and
also let us include the code in Sage is to dual-license your examples as
(at the user's choice):

GPL version 2 or greater: (this ensures that we can include the code in
Sage itself)

or

CC-by-sa: http://creativecommons.org/licenses/by-sa/3.0/ (one of the
main differences between this license and the CC-by license above is
that if a person modifies your code and distributes the result, they
have to distribute it also with CC-by-sa, ensuring that their
modifications remain freely available for people to use. With CC-by,
people can use your work in any way they wish, as long as they credit
you properly (of course, they can't use it defame you or anything like
that))

In all of the three licenses above, you would be credited with your
work. If you'd like to license using CC-by, it would be sufficient to
include this on each page, probably using the html command in a cell:

html("""<a rel="license"
href="http://creativecommons.org/licenses/by/3.0/"><img alt="Creative
Commons License" style="border-width:0"
src="http://i.creativecommons.org/l/by/3.0/88x31.png" /></a><br />This
work by <a xmlns:cc="http://creativecommons.org/ns#"
href="http://www.sagenb.org/home/pub/2305/"
property="cc:attributionName" rel="cc:attributionURL">Lauri
Ruotsalainen</a> is licensed under a <a rel="license"
href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
Attribution 3.0 Unported License</a>.""")

It is also easy to use one of the other licenses. You can email for
details if you'd like to use one of the other licenses, or if you'd like
to use another license of your choice.

Again, your work is amazing!

Thanks,

Jason

michel paul

unread,
Jul 27, 2010, 1:31:31 PM7/27/10
to sage...@googlegroups.com
Thanks very much for posting these.  They're beautiful.

- Michel



--
You received this message because you are subscribed to the Google Groups "sage-edu" group.
To post to this group, send email to sage...@googlegroups.com.
To unsubscribe from this group, send email to sage-edu+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sage-edu?hl=en.




--
"Computer science is the new mathematics."

-- Dr. Christos Papadimitriou

Dana Ernst

unread,
Jul 27, 2010, 1:38:46 PM7/27/10
to sage...@googlegroups.com
Spectacular!

kcrisman

unread,
Jul 27, 2010, 3:46:29 PM7/27/10
to sage-edu
I just want to echo what everyone else said that these are great, and
hopefully a great resource. What is especially valuable is that
they are useful at the high school level, which we don't have as much
of quite yet in terms of resources.

In fact, even if they are not included in Sage, we would highly
encourage you to add these examples to the wiki at http://wiki.sagemath.org/interact
if you feel so inclined (this implies a certain license, related to
what Jason mentioned). This will make it easier for people (for now)
to find your examples.

I would not worry so much with interactive 'Sagelets' when it comes to
optimization, as long as you feel it's snappy. Instead, making the
good user interface (soon, or maybe even now, it is possible to
organize the controls, for instance) is what you would want to focus
on. For instance, why not make the coin-flipping example take a
variable number of tosses, so that students can see that how visibly
the proportion is (or isn't) away from 0.5 even with many more tosses,
in general.

Thanks for posting this. Also, when your thesis is ready, please send
another email here or to sage-devel, so that it can be added to the
list of publications using or mentioning Sage.

- kcrisman



On Jul 27, 12:36 pm, Lauri Ruotsalainen <lauri.ruotsalai...@gmail.com>
wrote:

Harald Schilly

unread,
Jul 28, 2010, 6:43:41 AM7/28/10
to sage-edu
On 27 Jul., 21:46, kcrisman <kcris...@gmail.com> wrote:
> In fact, even if they are not included in Sage, ...

I like them, very nice work. I want to help including them in sage, as
part of the currently rather empty interact library -
http://hg.sagemath.org/sage-main/file/426be7b253ad/sage/interacts

This is now
http://trac.sagemath.org/sage_trac/ticket/9623

H

Lauri Ruotsalainen

unread,
Jul 29, 2010, 12:36:33 PM7/29/10
to sage-edu
Thanks for your feedback!

I looked into licensing (thanks for the info, Jason) and I think GNU
GPL (2.0 or newer) and CC Attribution-Share-Alike 3.0 (dual)licensing
fits best for me. A comment stating the license at the beginning of
the code probably suffices?

There were some random Finnish phrases in the code that I've fixed.
Also, thanks to kcrisman for constructive feedback; I think the idea
for coin-flipping was great, so I added more interactivity there. All
ideas and suggestions on how to improve these programs are most
welcome!

- Lauri Ruotsalainen

Jason Grout

unread,
Jul 29, 2010, 12:41:29 PM7/29/10
to sage...@googlegroups.com
On 7/29/10 9:36 AM, Lauri Ruotsalainen wrote:
> Thanks for your feedback!
>
> I looked into licensing (thanks for the info, Jason) and I think GNU
> GPL (2.0 or newer) and CC Attribution-Share-Alike 3.0 (dual)licensing
> fits best for me. A comment stating the license at the beginning of
> the code probably suffices?


Yes, I think so. You might also note that the user has the option of
whichever license they choose.

Thanks again! These worksheets are amazing.

Jason

Harald Schilly

unread,
Jul 29, 2010, 12:47:08 PM7/29/10
to sage-edu
On 29 Jul., 18:36, Lauri Ruotsalainen <lauri.ruotsalai...@gmail.com>
wrote:
> I looked into licensing (thanks for the info, Jason) and I think GNU
> GPL (2.0 or newer) and CC Attribution-Share-Alike 3.0 (dual)licensing
> fits best for me.

Excellent ;)

I'm nearly finished porting them to Sage, see
http://trac.sagemath.org/sage_trac/ticket/9623
Two of them have some real issues and I'll probably also add some from
wiki.sagemath.org/interact - but so far they work quite nice inside
Sage once you apply the patch.

H

kcrisman

unread,
Jul 29, 2010, 1:22:56 PM7/29/10
to sage-edu


On Jul 29, 12:47 pm, Harald Schilly <harald.schi...@gmail.com> wrote:
> On 29 Jul., 18:36, Lauri Ruotsalainen <lauri.ruotsalai...@gmail.com>
> wrote:
>
> > I looked into licensing (thanks for the info, Jason) and I think GNU
> > GPL (2.0 or newer) and CC Attribution-Share-Alike 3.0 (dual)licensing
> > fits best for me.
>
> Excellent ;)
>
> I'm nearly finished porting them to Sage, seehttp://trac.sagemath.org/sage_trac/ticket/9623
> Two of them have some real issues and I'll probably also add some from
> wiki.sagemath.org/interact - but so far they work quite nice inside
> Sage once you apply the patch.

Thanks, Harald - finally getting some of these in will be a really
great addition.

- kcrisman

Harald Schilly

unread,
Jul 29, 2010, 1:28:30 PM7/29/10
to sage...@googlegroups.com
On Thu, Jul 29, 2010 at 19:22, kcrisman <kcri...@gmail.com> wrote:
> Thanks, Harald - finally getting some of these in will be a really
> great addition.


Of course! Fall starts a new semester cycle and we should focus on
getting Sage into shape for new customers ;)

H

Dana Ernst

unread,
Jul 29, 2010, 3:29:48 PM7/29/10
to sage...@googlegroups.com
On Jul 29, 2010, at 12:41 PM, Jason Grout wrote:

> On 7/29/10 9:36 AM, Lauri Ruotsalainen wrote:
>> Thanks for your feedback!
>>
>> I looked into licensing (thanks for the info, Jason) and I think GNU
>> GPL (2.0 or newer) and CC Attribution-Share-Alike 3.0 (dual)licensing
>> fits best for me. A comment stating the license at the beginning of
>> the code probably suffices?
>
>
> Yes, I think so. You might also note that the user has the option of whichever license they choose.

If someone (like me!) incorporates one of these excellent interacts/animations (or any other one for that matter), is it sufficient to add a comparable license to the top or bottom of the corresponding worksheet? Or, should the license accompany the specific item (as a #-comment in the code, for example)?

Also, out of curiosity, where are most people putting their licenses? Top or bottom of the worksheet? I've been putting my on the bottom usually, but upon a very brief survey of published worksheets, it looks like most of them are on the top of the worksheet?

Lastly, if an individual licenses under CC-SA, can some else then use/modify their work under CC-BY-SA? It seems like the ethical thing to do in this place is to start by crediting the original creator. This licensing stuff can get complicated if everyone does exactly what they are supposed to. It seems like a standard in the Sage community should be advocated to avoid conflict.

Dana

Harald Schilly

unread,
Jul 29, 2010, 4:20:01 PM7/29/10
to sage...@googlegroups.com
On Thu, Jul 29, 2010 at 21:29, Dana Ernst <ernst...@gmail.com> wrote:
>
> If someone (like me!) incorporates one of these excellent interacts/animations (or any other one for that matter), is it sufficient to add a comparable license to the top or bottom of the corresponding worksheet?  Or, should the license accompany the specific item (as a #-comment in the code, for example)?

This depends on the license, for example, if it is CC-BY,you do not
need to include a license, if it is CC-BY-SA you have (SA=share
alike). BY is always implied by CC type licenses.
GPL requires you to include a visible statement in each file, also,
the full text of the GPL in a file and so on. Other licenses are much
less restrictive. It also depends on the media, e.g. sagemath.org is
CC-BY but it doesn't start by stating this ;)

>
> Lastly, if an individual licenses under CC-SA, can some else then use/modify their work under CC-BY-SA?

Afaik, there is no CC-SA, BY is always implied!

> It seems like a standard in the Sage community should be
> advocated to avoid conflict.

Probably the best is to encourage everybody to think about licensing
its creative content. Maybe it is a nice idea to add a license field
to the published notebook. I.e. when you hit publish, you can select
from licenses in a drop-down menu (default: proprietary) ... This
might be such a standard? If somebody else thinks this is a good idea,
it could be worth posting to the sage-notebook mailing list.

H

Dana Ernst

unread,
Jul 29, 2010, 4:29:26 PM7/29/10
to sage...@googlegroups.com
>> Lastly, if an individual licenses under CC-SA, can some else then use/modify their work under CC-BY-SA?
>
> Afaik, there is no CC-SA, BY is always implied!

Ah, right you are. Not only is it implied, but it appears that every CC license includes BY.

>> It seems like a standard in the Sage community should be
>> advocated to avoid conflict.
>
> Probably the best is to encourage everybody to think about licensing
> its creative content. Maybe it is a nice idea to add a license field
> to the published notebook. I.e. when you hit publish, you can select
> from licenses in a drop-down menu (default: proprietary) ... This
> might be such a standard? If somebody else thinks this is a good idea,
> it could be worth posting to the sage-notebook mailing list.

BIG PLUS1

Dana

Jason Grout

unread,
Jul 30, 2010, 1:02:17 AM7/30/10
to sage...@googlegroups.com
On 7/29/10 1:29 PM, Dana Ernst wrote:
>>> Lastly, if an individual licenses under CC-SA, can some else then use/modify their work under CC-BY-SA?
>>
>> Afaik, there is no CC-SA, BY is always implied!
>
> Ah, right you are. Not only is it implied, but it appears that every CC license includes BY.
>

Yep, the non-by version was retired:

http://creativecommons.org/retiredlicenses

"Inadequate Demand", it says.

Jason

Jason Grout

unread,
Jul 30, 2010, 1:06:50 AM7/30/10
to sage...@googlegroups.com, sage-n...@googlegroups.com


Harald,

I would be very interested in any comments you have on any gotchas when
integrating interacts into the Sage library. When I tried to do a few,
it seemed like I kept running into problems (but I don't remember what
the problems were right now). I'd also like to hear any suggestions on
how to make incorporating things in the library easier.

I think eventually, it would be great if there was a form on the web or
something that let people submit interacts, so people didn't have the
high barrier of making a patch, getting a trac account, posting to trac,
etc.

(CCing the sage-notebook list)

Jason

Harald Schilly

unread,
Jul 30, 2010, 4:04:54 AM7/30/10
to sage...@googlegroups.com, Jason Grout
The licensing worksheets ticket is
http://trac.sagemath.org/sage_trac/ticket/8763

On Fri, Jul 30, 2010 at 07:06, Jason Grout <jason...@creativetrax.com> wrote:
> I would be very interested in any comments you have on any gotchas when
> integrating interacts into the Sage library.  When I tried to do a few, it
> seemed like I kept running into problems (but I don't remember what the
> problems were right now).

Well, it's part of the sage library, not part of the notebook. Hence
some things work differently: you have to import everything you need
(python imports), i.e. from sage.all import SR, then x = SR.var('x')
and don't forget that 2^3 is an XOR (and doesn't complain) ... you
need to enter 2**3. You are not allowed to use globals, instead use
module level variables. And yes, there is no f(x) =... syntax, that's
f = symbolic_expression(<expression in x>).function(x) or just f =
SR(<expression>) which also works for strings when the variable was
defined before. [a..b] and R.<x> = RingXYZ() doesn't work either.
Additionally, debugging errors in @libarary_interacts seems to be a
bit tricky, because in the html website, you only see an empty box or
an abridged stacktrace which you cannot expand (I removed the
decorator and called the function with appropriate arguments to
trigger the exception and learn more about it)

> I'd also like to hear any suggestions on how to
> make incorporating things in the library easier.

In my eyes, there is a better solution. I think we need to enhance the
way published worksheets work towards a wiki:
1. interlinking
2. make interacts working
3. editing by everybody
Together with some indexing and categories/tags one would get a wiki
system where all the interacts that are now in
wiki.sagemath.org/interact would actually come alive.
The interesting ones can be ported as it is done by me now, but the
level how to contribute is much lower.

H

Jason Grout

unread,
Jul 30, 2010, 10:54:20 AM7/30/10
to sage-n...@googlegroups.com, sage...@googlegroups.com
On 7/30/10 1:04 AM, Harald Schilly wrote:
> The licensing worksheets ticket is
> http://trac.sagemath.org/sage_trac/ticket/8763
>
> On Fri, Jul 30, 2010 at 07:06, Jason Grout<jason...@creativetrax.com> wrote:
>> I would be very interested in any comments you have on any gotchas when
>> integrating interacts into the Sage library. When I tried to do a few, it
>> seemed like I kept running into problems (but I don't remember what the
>> problems were right now).
>
> Well, it's part of the sage library, not part of the notebook. Hence
> some things work differently: you have to import everything you need
> (python imports), i.e. from sage.all import SR, then x = SR.var('x')
> and don't forget that 2^3 is an XOR (and doesn't complain) ... you
> need to enter 2**3. You are not allowed to use globals, instead use
> module level variables. And yes, there is no f(x) =... syntax, that's
> f = symbolic_expression(<expression in x>).function(x) or just f =
> SR(<expression>) which also works for strings when the variable was
> defined before. [a..b] and R.<x> = RingXYZ() doesn't work either.
> Additionally, debugging errors in @libarary_interacts seems to be a
> bit tricky, because in the html website, you only see an empty box or
> an abridged stacktrace which you cannot expand (I removed the
> decorator and called the function with appropriate arguments to
> trigger the exception and learn more about it)


If these are supposed to be much more of a user-oriented thing, and
typically use the preparser quite heavily, why don't we just run the
preparser on these? That would take care of a lot of the above problems.

>
>> I'd also like to hear any suggestions on how to
>> make incorporating things in the library easier.
>
> In my eyes, there is a better solution. I think we need to enhance the
> way published worksheets work towards a wiki:
> 1. interlinking
> 2. make interacts working
> 3. editing by everybody
> Together with some indexing and categories/tags one would get a wiki
> system where all the interacts that are now in
> wiki.sagemath.org/interact would actually come alive.
> The interesting ones can be ported as it is done by me now, but the
> level how to contribute is much lower.


Yes, maybe that's the best way to go. I don't know.

Thanks,

Jaon

Reply all
Reply to author
Forward
0 new messages