[Edu-sig] strategies for teaching Python

Wes Turner wes.turner at gmail.com
Tue Oct 3 08:23:03 EDT 2017


On Monday, October 2, 2017, kirby urner <kirby.urner at gmail.com> wrote:

>
> Given I'm spending 3-4 days a week with 5th & 6th graders, teaching them
> Python, I'm looking for ways to sync with what Common Core says they should
> be learning math-wise.
>
> They general strategy here is to look for topics already in the curriculum
> and develop coding skills around those topics.
>
> Turns out that prime versus composite is important at that age, and the
> classic algorithm used to teach that is the Sieve of Eratosthenes.  Most
> coders have written at least one of those.
>
> Since we're transitioning from block-based MIT Scratch with not much
> keyboarding, to full-fledged lexical Python, I'm thinking to assess
> facility with keyboarding (typing) by having them hand-enter a Sieve, and
> running it to check for any syntax errors.
>
> While we're still doing natural and whole numbers it makes sense to look
> at other number series as well, ones we can explore using very simple
> Python.
>
> Triangular and square numbers, then polyhedral number sequences, such as
> successive shells around a nucleus. 1, 12, 42, 92...
>
> http://oeis.org/A005901  (note link to my website under links)
> https://github.com/4dsolutions/Python5/blob/master/STEM%20Mathematics.
> ipynb
>
> Pascal's Triangle is an important hub for studying number sequences.  It
> even embeds the Fibonacci Numbers.
>
>
This is a bit old, in terms of the pyramid app the views are written in. It
preceeds pypa/warehouse.

It has some number theory implementations in Python that I found on stack
overflow; and a force-directed factor graph visualization with D3 and
NetworkX.

https://bitbucket.org/westurner/flowstat/src/tip/flow/numbers/primes.py

https://bitbucket.org/westurner/flowstat/src/tip/flow/numbers/templates/number.jinja2


> These are the kinds of ideas I've been circling for some years.
> http://4dsolutions.net/ocn/numeracy0.html
>

What does this apply to? Project Euler problems?


> What's new is I'm getting more opportunities to test them in real world
> classrooms. Coding with Kids is keeping me busy.
>

Here are some real world number theory libraries and applications:

http://docs.sympy.org/latest/modules/ntheory.html

- https://github.com/sympy/sympy/tree/master/sympy/ntheory/tests
- https://github.com/sympy/sympy/tree/master/sympy/ntheory
- https://github.com/sympy/sympy/blob/master/examples/beginner/basic.py


http://doc.sagemath.org/html/en/constructions/number_theory.html

- http://wstein.org/edu/2007/spring/ent/ent-html/node26.html


http://dit.readthedocs.io/en/latest/measures/shannon.html


Encryption is pretty fun, right?

https://github.com/warner/python-ecdsa/blob/master/src/ecdsa/numbertheory.py

https://github.com/pyca/cryptography/blob/master/src/cryptography/hazmat/primitives/hashes.py

https://github.com/pyca/cryptography/blob/master/src/cryptography/hazmat/primitives/asymmetric/rsa.py


Project Euler has lots of great number theory / CS exercises:

https://en.wikipedia.org/wiki/Project_Euler

https://projecteuler.net/archives

PyPI: https://pypi.python.org/pypi/eulerlib
Src: https://bitbucket.org/transmogrifier/eulerlib
Docs: http://pythonhosted.org/eulerlib/eulerlib.html

https://www.google.com/search?q=project+euler+solutions+github
https://github.com/nayuki/Project-Euler-solutions/tree/master/python


For generating the .py files for a given Project Euler problem, there are a
number of utilities:

https://pypi.python.org/pypi/EulerPy/

https://pypi.python.org/pypi/EasyEuler


Rosalind.info has a bunch of great exercises, too; IDK how many are
specifically Number Theory in the real-world bioinformatics domain:

http://rosalind.info/problems/topics/

Formulating each problem as a unittest.TestCase'able thing is worth the
time.


>
> With my adult students, I'm looking at what I call the "Five Dimensions of
> Python" wherein they expand their awareness of the language, from keywords
> (dimension 0) to 3rd party ecosystem (dimension 4).
>
> http://mybizmo.blogspot.com/2017/09/five-dimensions-of-python.html
> (links to another Jupyter Notebook)
>
> I've finally figured out that Codesters (codesters.com) is about Python
> 2.7, not Python 3.x.  I've been confused on that score.
>
> Given cryptography is playing a more important role in everyday eCommerce,
> it makes sense to beef up some of the Number and Group Theory aspects of
> K-12.
>
> I've been arguing on math-teach that right when we introduce primes versus
> composites, we should likewise introduce Fermat's primality test.
>
> http://mathforum.org/kb/message.jspa?messageID=10241002
> http://mathforum.org/kb/thread.jspa?threadID=2883906
>
> Kirby
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20171003/0108643b/attachment.html>


More information about the Edu-sig mailing list