[Edu-sig] probability and statistics demo for kids

2018-02-21 Thread Perry Grossman
I am thinking of doing a simplified interactive presentation on probability
and Bayesian statistics for my kids' elementary school.
I think it would probably be best for 6-8th graders, but there might be
ways to do this for younger students.
I'd like to run some Python code to show probability distributions and
statistics.

I am thinking of simplified examples from these works:

Maybe the dice problem, or the cookie problem here:
Allen Downey - Bayesian statistics made simple - PyCon 2016


A friend also suggested doing an analysis of how many cards (e.g. pokemon)
that one might need to buy to colleft the whole set.

Any suggestions on how to make this manageable approachable for kids?

Perry


On Feb 20, 2018 12:02 PM,  wrote:

> Send Edu-sig mailing list submissions to
> edu-sig@python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://mail.python.org/mailman/listinfo/edu-sig
> or, via email, send a message with subject or body 'help' to
> edu-sig-requ...@python.org
>
> You can reach the person managing the list at
> edu-sig-ow...@python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Edu-sig digest..."
>
>
> Today's Topics:
>
>1. if I taught high school calculus today... (kirby urner)
>
>
> --
>
> Message: 1
> Date: Mon, 19 Feb 2018 19:50:28 -0800
> From: kirby urner 
> To: "edu-sig@python.org" 
> Subject: [Edu-sig] if I taught high school calculus today...
> Message-ID:
>  ail.com>
> Content-Type: text/plain; charset="utf-8"
>
> I was a high school calculus teacher (also algebra, geometry, trig) first
> job outta university, stuck with it for two years.
>
> Fast forward to almost age 60, and I'm teaching coding to middle schoolers,
> thinking it's all still math. [1]
>
> Shouldn't take a "computer scientist" to cover this stuff... Algorithms are
> algorithms after all.
>
> Were I to teach calculus today, in light of what I now know, I'd focus on
> probability density functions right when we get to integration, as "area
> under the probability curve" is precisely how we figure out  chances of
> something happening.
>
> We would use Jupyter Notebooks with SciPy, all free & open source.
>
> As I recall, our calc curriculum never did much to bridge to statistics,
> but in SciPy / NumPy, every continuous probability distribution function
> (PDF) comes with a cumulative distribution function (CDF) that's defined
> exactly as a definite integral between A and B, and giving the probability
> some x in distribution X falls between A and B.
>
> Forming a bridge twixt calculus and data science would be another strategy
> for getting scientific calculators to share the road, with more relevant
> free tools (always an ulterior motive for me).  I don't think a TI is able
> to do definite integration over a standard normal curve.
>
> Actually, I see I'm wrong:
> http://cfcc.edu/faculty/cmoore/TINormal.htm
>
> Oh well, back to the drawing board.  I still think a strong tie-in twixt
> calc and data science makes a lot of sense at the high school level. With
> or without Jupyter Notebooks.
>
> Kirby
>
> PS:  right now I'm going through Allen Downey's tutorial on Bayesian stats
> using the above mentioned tools, from Pycon 2016:
> https://youtu.be/TpgiFIGXcT4
> I attended this conference, but didn't manage to make this tutorial.
>
> [1]  I've shared this before, still relevant:
> https://medium.com/@kirbyurner/is-code-school-the-new-high-
> school-30a8874170b
>
> Also this blog post:
> http://mybizmo.blogspot.com/2018/02/magic-squares.html
> -- next part --
> An HTML attachment was scrubbed...
> URL:  19/d9e2f965/attachment-0001.html>
>
> --
>
> Subject: Digest Footer
>
> ___
> Edu-sig mailing list
> Edu-sig@python.org
> https://mail.python.org/mailman/listinfo/edu-sig
>
>
> --
>
> End of Edu-sig Digest, Vol 174, Issue 1
> ***
>
___
Edu-sig mailing list
Edu-sig@python.org
https://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] if I taught high school calculus today... (kirby urner)

2018-02-21 Thread Perry Grossman
Yes, interesting post.

It would be great to see calculus taught in Jupyter notebooks.

Allen Downey's work is great.

I am watching his SciPy 2017 computational stats talk:
https://www.youtube.com/watch?v=He9MCbs1wgE

Also, interesting, Christopher Fonnesbeck - Introduction to Statistical
Modeling with Python - PyCon 2017:
https://youtu.be/TMmSESkhRtI


Perry

On Tue, Feb 20, 2018 at 12:00 PM,  wrote:

> Send Edu-sig mailing list submissions to
> edu-sig@python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://mail.python.org/mailman/listinfo/edu-sig
> or, via email, send a message with subject or body 'help' to
> edu-sig-requ...@python.org
>
> You can reach the person managing the list at
> edu-sig-ow...@python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Edu-sig digest..."
>
>
> Today's Topics:
>
>1. if I taught high school calculus today... (kirby urner)
>
>
> --
>
> Message: 1
> Date: Mon, 19 Feb 2018 19:50:28 -0800
> From: kirby urner 
> To: "edu-sig@python.org" 
> Subject: [Edu-sig] if I taught high school calculus today...
> Message-ID:
>  gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> I was a high school calculus teacher (also algebra, geometry, trig) first
> job outta university, stuck with it for two years.
>
> Fast forward to almost age 60, and I'm teaching coding to middle schoolers,
> thinking it's all still math. [1]
>
> Shouldn't take a "computer scientist" to cover this stuff... Algorithms are
> algorithms after all.
>
> Were I to teach calculus today, in light of what I now know, I'd focus on
> probability density functions right when we get to integration, as "area
> under the probability curve" is precisely how we figure out  chances of
> something happening.
>
> We would use Jupyter Notebooks with SciPy, all free & open source.
>
> As I recall, our calc curriculum never did much to bridge to statistics,
> but in SciPy / NumPy, every continuous probability distribution function
> (PDF) comes with a cumulative distribution function (CDF) that's defined
> exactly as a definite integral between A and B, and giving the probability
> some x in distribution X falls between A and B.
>
> Forming a bridge twixt calculus and data science would be another strategy
> for getting scientific calculators to share the road, with more relevant
> free tools (always an ulterior motive for me).  I don't think a TI is able
> to do definite integration over a standard normal curve.
>
> Actually, I see I'm wrong:
> http://cfcc.edu/faculty/cmoore/TINormal.htm
>
> Oh well, back to the drawing board.  I still think a strong tie-in twixt
> calc and data science makes a lot of sense at the high school level. With
> or without Jupyter Notebooks.
>
> Kirby
>
> PS:  right now I'm going through Allen Downey's tutorial on Bayesian stats
> using the above mentioned tools, from Pycon 2016:
> https://youtu.be/TpgiFIGXcT4
> I attended this conference, but didn't manage to make this tutorial.
>
> [1]  I've shared this before, still relevant:
> https://medium.com/@kirbyurner/is-code-school-the-
> new-high-school-30a8874170b
>
> Also this blog post:
> http://mybizmo.blogspot.com/2018/02/magic-squares.html
> -- next part --
> An HTML attachment was scrubbed...
> URL:  20180219/d9e2f965/attachment-0001.html>
>
> --
>
> Subject: Digest Footer
>
> ___
> Edu-sig mailing list
> Edu-sig@python.org
> https://mail.python.org/mailman/listinfo/edu-sig
>
>
> --
>
> End of Edu-sig Digest, Vol 174, Issue 1
> ***
>



-- 
perrygrossman2...@gmail.com
 (617) 383-9061
___
Edu-sig mailing list
Edu-sig@python.org
https://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] False alarms

2018-07-08 Thread Perry Grossman
plus 1: math = math + cs

On Sat, Jul 7, 2018, 12:00 PM  wrote:

> Send Edu-sig mailing list submissions to
> edu-sig@python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://mail.python.org/mailman/listinfo/edu-sig
> or, via email, send a message with subject or body 'help' to
> edu-sig-requ...@python.org
>
> You can reach the person managing the list at
> edu-sig-ow...@python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Edu-sig digest..."
>
>
> Today's Topics:
>
>1. false alarms? (kirby urner)
>
>
> --
>
> Message: 1
> Date: Fri, 6 Jul 2018 10:57:05 -0700
> From: kirby urner 
> To: "edu-sig@python.org" 
> Subject: [Edu-sig] false alarms?
> Message-ID:
> <
> capjgg3t3mfbl5aabohzgm9p5fa49h72+vh+froko5z3mqcp...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Apropos of earlier discussions that
> ?assignment in ?
> Python is about giving names to objects,
> ?and ?
> not putting those objects in boxes, here's a blog post raising the alarm
> that Python (among others) is "completely incompatible with mathematics".
>
>
> https://blogs.ams.org/matheducation/2017/01/09/integrating-computer-science-in-math-the-potential-is-great-but-so-are-the-risks/
>
> Excerpt:
>
> ===
>
> Making matters worse, programming languages like Java, JavaScript, Python,
> Scratch and Alice all rely on the concept of assignment. Assignment means
> that a value is ?stored in a box?, and that the value in that box can be
> changed. Here?s a simple JavaScript program that demonstrates this:
>
> x = 10
>
> x = x + 2
>
> The first line of code assigns the value 10 into a box named ?x?. The
> second line reads the value back out, adds 2, and assigns the new value
> back into x. When the program finishes, x contains the value 12.
> Unfortunately, the semantics and syntax are completely incompatible with
> mathematics! In math, names are given to values, not boxes.
>
> ===
>
> Following Kenneth Iverson, I think pre-computer math notations (MN) could
> benefit a lot from an infusion of ideas from these newer executable
> languages.
>
> He turns around the criticism of x = x + 2 by pointing out the ambiguity on
> in conventional math notation (MN):
>
> ===
> MN uses the symbol = for a relation, but also uses it for assignment, as in
> the expression (Let) x=3. Again, to denote these two distinct notions
> without ambiguity, programming languages use distinct notation (that
> usually includes the symbol =), as in := (in ALGOL), and =: (in J).
> ===
>
> http://www.jsoftware.com/papers/camn.htm
>
> Drawing a line in the sand and saying "on this side is programming" whereas
> "on this other side is math notation", seems more a bureaucratic maneuver
> than anything.
>
> There's a protection racket going on where self-appointed authorities are
> planning to warn us against "doing it wrong" i.e. not their way.  Many
> bogus certifications will follow.  Not that we shouldn't have standards.
> The question is who's.
>
> math = math + cs
>
> Kirby
> ?
> -- next part --
> An HTML attachment was scrubbed...
> URL: <
> http://mail.python.org/pipermail/edu-sig/attachments/20180706/83e4e756/attachment-0001.html
> >
>
> --
>
> Subject: Digest Footer
>
> ___
> Edu-sig mailing list
> Edu-sig@python.org
> https://mail.python.org/mailman/listinfo/edu-sig
>
>
> --
>
> End of Edu-sig Digest, Vol 179, Issue 9
> ***
>
___
Edu-sig mailing list
Edu-sig@python.org
https://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] probability and statistics demo for kids

2018-03-31 Thread Perry Grossman
Hi All,

Thanks for the great comments. Sorry for the delay. I have reviewed most of
the materials and will review more. I drafted a presentation plan for next
Friday here:

https://docs.google.com/document/d/1MNIwqjJ2kVS80zy69606TEPLZGy_e-5W0Ae7L5BeaNE/edit?usp=sharing

If you have any more comments let me know.

Perry


On Sat, Feb 24, 2018 at 9:28 PM, kirby urner  wrote:

>
>
> On Sat, Feb 24, 2018 at 5:21 PM, Wes Turner  wrote:
>
>>
>>
>> +1. "Python Data Science Handbook" (by Jake VanderPlas) is available in
>> print and as free Jupyter notebooks:
>> https://github.com/jakevdp/PythonDataScienceHandbook
>>
>> It covers IPython, NumPy, Pandas, Matplotlib, and Scikit-Learn.
>>
>>
>>
>
> ​Yes!  Open on my desk in front of me.
>
> Kirby
>
>
>


-- 
perrygrossman2...@gmail.com
 (617) 383-9061
___
Edu-sig mailing list
Edu-sig@python.org
https://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] "Data Science for Undergraduates: Opportunities and Options (2018)"

2018-10-13 Thread Perry Grossman
FYI,
National Academies of Sciences, Engineering, and Medicine; report that may
be of interest to you.

"Data Science for Undergraduates: Opportunities and Options (2018)"
https://www.nap.edu/catalog/25104/data-science-for-undergraduates-opportunities-and-options

I just skimmed parts; looks interesting. But quite wordy and much higher
level than the applied work I hope to get back to now, using Python.

Perry
___
Edu-sig mailing list
Edu-sig@python.org
https://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Teaching Python Podcast

2019-05-07 Thread Perry Grossman
Hi All,

You might find this Teaching Python Podcast of interest:

https://www.teachingpython.fm/


Perry
___
Edu-sig mailing list
Edu-sig@python.org
https://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Teaching and Learning with Jupyter

2019-12-13 Thread Perry Grossman
Looks like good stuff here:
Teaching and Learning with Jupyter

*Lorena A. Barba, Lecia J. Barker, Douglas S. Blank, Jed Brown, Allen B.
Downey, Timothy George, Lindsey J. Heagy, Kyle T. Mandli, Jason K. Moore,
David Lippert, Kyle E. Niemeyer, Ryan R. Watkins, Richard H. West,
Elizabeth Wickes, Carol Willing, and Michael Zingale*

*2019-12-06*

*https://jupyter4edu.github.io/jupyter-edu-book/
  *


Keep smiling!
Perry


On Wed, Dec 11, 2019 at 12:00 PM  wrote:

> Send Edu-sig mailing list submissions to
> edu-sig@python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://mail.python.org/mailman3/lists/edu-sig.python.org/
> or, via email, send a message with subject or body 'help' to
> edu-sig-requ...@python.org
>
> You can reach the person managing the list at
> edu-sig-ow...@python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Edu-sig digest..."
>
> Today's Topics:
>
>1. Python and... ? (kirby urner)
>
>
>
___
Edu-sig mailing list -- edu-sig@python.org
To unsubscribe send an email to edu-sig-le...@python.org
https://mail.python.org/mailman3/lists/edu-sig.python.org/


[Edu-sig] Re: Edu-sig Digest, Vol 192, Issue 9 Learn Python and what? How to teach about Context Managers (a proposal)

2019-10-31 Thread Perry Grossman
Hi,

Thanks, good to learn more about the context manager.

I have been learning to use it as part of probabilistic programming.

Here is a cursory mention of it, by Thomas Wiecki - on Probabilistic
Programming Data Science with PyMC3:
https://youtu.be/LlzVlqVzeD8?t=732

And here by Eric Ma: "Bayesian Data Science: Probabilistic Programming |
SciPy 2019 Tutorial"
https://youtu.be/2wvt6GPZl1U?t=6341

Would it be possible to share your notebook so I could play with that
context manager code? I looked on your github, but did not see it:
https://github.com/4dsolutions?tab=repositories

Cheers,
Perry


On Wed, Oct 30, 2019 at 12:05 PM  wrote:

> Send Edu-sig mailing list submissions to
> edu-sig@python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://mail.python.org/mailman3/lists/edu-sig.python.org/
> or, via email, send a message with subject or body 'help' to
> edu-sig-requ...@python.org
>
> You can reach the person managing the list at
> edu-sig-ow...@python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Edu-sig digest..."
>
> Today's Topics:
>
>1. Learn Python and what? How to teach about Context Managers (a
> proposal)
>   (kirby urner)
>
>
> --
>
> Date: Tue, 29 Oct 2019 22:05:10 -0700
> From: kirby urner 
> Subject: [Edu-sig] Learn Python and what?  How to teach about Context
> Managers (a proposal)
> To: "edu-sig@python.org" 
> Message-ID:
>  kxnb+bx3...@mail.gmail.com>
> Content-Type: multipart/alternative;
> boundary="0ce136059619aebb"
>
> --0ce136059619aebb
> Content-Type: text/plain; charset="UTF-8"
>
> Suppose you got this question:
>
> "I'm new to programming and heard that studying two languages, one front
> burner, one back burner, is a best practice, as the benefits you get from
> 'compare and contrast' is like when rubbing two sticks together: you get
> fire."
>
> I've been suggesting learning Python (front burner) and...
>
> Go (interfaces vs types, slices, concurrency, garbage collected,
> compiled)
> Rust  (no garbage collection, immutability the default, learns from Python)
> Clojure (LISPish, big on immutability, targets JVM)
> J  (successor to APL, very different, uses "parts of speech" -- as in
> grammar -- as shoptalk)
> JavaScript (humongous stacks and frameworks, Node world, great learning
> tools)
>
> what else is especially apropos I wonder.  Of course we run up against SQL
> and regexes in the course of teaching plain vanilla Python. Ditto HTML/CSS
> (more punctuation to learn in your ordinary language class, e.g. English or
> French grammar? -- I call these "over the back fence technologies" in the
> Youtube below).
>
> --
>
> On another topic, as an instructor I wonder how to introduce context
> managers as a topic and my best answer is:
>
> Take advantage of the sqlite3 module in Standard Library and show a context
> manager like:
>
> with DB("ufo_reports") as db:
> db.useful_tool( )
>
> where DB is like:
>
> import sqlite3 as sql
>
> class DB:
>
> def __init__(self, dbname):
> self.dbname = dbname + ".db"
>
> def __enter__(self):
> # make the connection, could be to any SQL engine...
> self.conn = sql.connect(self.dbname)
> self.curs = self.conn.cursor()
> return self  # <-- to take advantage of related tools
>
> def useful_tool(self):
> # have a number of methods geared for working with this
> # specific database, up to you how generic we're trying to be
>
> # more useful tools go here
>
> def __exit__(self, *oops):
> if self.conn:
> self.conn.close()
> if oops[0]:
> # error handling
> # yadda yadda
> return False # or True
> return True
>
> I yak about all this on Youtube.
>
> https://youtu.be/29p3Ckr8SOA
>
> Kirby
>
> --0ce136059619aebb
> Content-Type: text/html; charset="UTF-8"
> Content-Transfer-Encoding: quoted-printable
>
>  style=3D"font-family:arial,he=
> lvetica,sans-serif;font-size:small"> =
> style=3D"font-family:arial,helvetica,sans-serif;font-size:small">Suppose
> yo=
> u got this question: style=3D"font-family=
> :arial,helvetica,sans-serif;font-size:small"> class=3D"gmail_=
> default"
> style=3D"font-family:arial,helvetica,sans-serif;font-size:small">&=
> quot;Im new to programming and heard that studying two languages, one
> =
> front burner, one back burner, is a best practice, as the benefits you get
> =
> from compare and contrast is like when rubbing two sticks
> togethe=
> r:=C2=A0you get fire. style=3D"font=
> -family:arial,helvetica,sans-serif;font-size:small"> class=3D=
> "gmail_default"
> style=3D"font-family:arial,helvetica,sans-serif;font-size:s=
> mall">Ive been suggesting learning Python (front burner)
> and...<=
> div class=3D"gmail_default"
>