strategies for teaching Python
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. These are the kinds of ideas I've been circling for some years. http://4dsolutions.net/ocn/numeracy0.html What's new is I'm getting more opportunities to test them in real world classrooms. Coding with Kids is keeping me busy. 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
I wish this event could be used to study how kids learn. http://www.hak4kidz.com I taught Python and felt I made good use of the 8 hours, will make better use of the 8 hours next time, and continue this pattern. Except it pains me that I am the one trying to understand how people learn, and I suspect someone who had a proper foundation would both improve the 8 hours more than me, and also take away some observations that I would hope could improve general teaching techniques. What I can say: having visual results engaged them. being able to create graphic images that would be next to impossible by hand, even with hours of tedious effort, and a few loops and math and something beautiful appears almost instantly, that grabs their attention. On Mon, Oct 2, 2017 at 3:35 AM, kirby urner <kirby.urner@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.
These are the kinds of ideas I've been circling for some years. http://4dsolutions.net/ocn/numeracy0.html
What's new is I'm getting more opportunities to test them in real world classrooms. Coding with Kids is keeping me busy.
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
_______________________________________________ Edu-sig mailing list Edu-sig@python.org https://mail.python.org/mailman/listinfo/edu-sig
On Monday, October 2, 2017, kirby urner <kirby.urner@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/numb...
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/pri... https://github.com/pyca/cryptography/blob/master/src/cryptography/hazmat/pri... 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
Hi Kirby, A good Python + math investigation could be to use Python to generate some type of simulated event data (network, physics, pure math, etc), not limited to just 2 parameters per event, and then use plotting software to appreciate how different the same data can look in various representations (ie, time-series, xy, 2d scatter, 3d scatter, 1d histo, 2d histo, cell plot, etc). Idk ... just a thought, just throwing it out there. Sounds like fun! -Charles On Mon, Oct 2, 2017 at 2:35 AM, kirby urner <kirby.urner@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.
These are the kinds of ideas I've been circling for some years. http://4dsolutions.net/ocn/numeracy0.html
What's new is I'm getting more opportunities to test them in real world classrooms. Coding with Kids is keeping me busy.
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
_______________________________________________ Edu-sig mailing list Edu-sig@python.org https://mail.python.org/mailman/listinfo/edu-sig
On Wednesday, October 4, 2017, Charles Cossé <ccosse@gmail.com> wrote:
Hi Kirby,
A good Python + math investigation could be to use Python to generate some type of simulated event data (network, physics, pure math, etc), not limited to just 2 parameters per event, and then use plotting software to appreciate how different the same data can look in various representations (ie, time-series, xy, 2d scatter, 3d scatter, 1d histo, 2d histo, cell plot, etc). Idk ... just a thought, just throwing it out there. Sounds like fun!
Ideas for simulation data ## Bank transactions: (id, desc, [location], amount) https://github.com/westurner/pypfi/blob/develop/pypfi/datagenerator.py https://github.com/westurner/pypfi/blob/develop/pypfi/pypfi.py (a bunch of pivot tables in static HTML; no charts/graphs yet) ## particle collisions https://en.wikipedia.org/wiki/Particle_accelerator https://en.wikipedia.org/wiki/Collider https://en.wikipedia.org/wiki/Large_Hadron_Collider (https://en.wikipedia.org/wiki/CERN LHC) http://opendata.cern.ch/ https://home.cern/about/computing/processing-what-record
The raw data per event is around one million bytes (1 Mb), produced at a rate of about 600 million events per second. […] In the first stage of the selection, the number of events is filtered from the 600 million or so per second picked up by detectors to 100,000 per second sent for digital reconstruction. In a second stage, more specialized algorithms further process the data, leaving only 100 or 200 events of interest per second.
http://opendata.cern.ch/getting-started/CMS http://opendata.cern.ch/about/CMS-Physics-Objects https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookDataFormats - RECO - AOD - [ ] find an example actual RECO or AOD file - [ ] open it in Notepad++/ViM/Emacs - would it make sense to store this in git? as a torrent web seed? - https://en.wikipedia.org/wiki/Signal-to-noise_ratio - https://en.wikipedia.org/wiki/Dimensionality_reduction ## object collisions (origin_x, origin_y, t, object_id) (object_id, […], radius) Distance - https://en.wikipedia.org/wiki/Euclidean_distance - https://en.wikipedia.org/wiki/Minkowski_distance https://en.wikipedia.org/wiki/Collision_detection - class SceneGraph(OrderedDict)
-Charles
On Mon, Oct 2, 2017 at 2:35 AM, kirby urner <kirby.urner@gmail.com <javascript:_e(%7B%7D,'cvml','kirby.urner@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.
These are the kinds of ideas I've been circling for some years. http://4dsolutions.net/ocn/numeracy0.html
What's new is I'm getting more opportunities to test them in real world classrooms. Coding with Kids is keeping me busy.
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
_______________________________________________ Edu-sig mailing list Edu-sig@python.org <javascript:_e(%7B%7D,'cvml','Edu-sig@python.org');> https://mail.python.org/mailman/listinfo/edu-sig
On Wednesday, October 4, 2017, Wes Turner <wes.turner@gmail.com> wrote:
On Wednesday, October 4, 2017, Charles Cossé <ccosse@gmail.com <javascript:_e(%7B%7D,'cvml','ccosse@gmail.com');>> wrote:
Hi Kirby,
A good Python + math investigation could be to use Python to generate some type of simulated event data (network, physics, pure math, etc), not limited to just 2 parameters per event, and then use plotting software to appreciate how different the same data can look in various representations (ie, time-series, xy, 2d scatter, 3d scatter, 1d histo, 2d histo, cell plot, etc). Idk ... just a thought, just throwing it out there. Sounds like fun!
Ideas for simulation data
## Bank transactions: (id, desc, [location], amount)
https://github.com/westurner/pypfi/blob/develop/pypfi/datagenerator.py https://github.com/westurner/pypfi/blob/develop/pypfi/pypfi.py (a bunch of pivot tables in static HTML; no charts/graphs yet)
## particle collisions https://en.wikipedia.org/wiki/Particle_accelerator https://en.wikipedia.org/wiki/Collider https://en.wikipedia.org/wiki/Large_Hadron_Collider (https://en.wikipedia.org/wiki/CERN LHC)
https://home.cern/about/computing/processing-what-record
The raw data per event is around one million bytes (1 Mb), produced at a rate of about 600 million events per second. […] In the first stage of the selection, the number of events is filtered from the 600 million or so per second picked up by detectors to 100,000 per second sent for digital reconstruction. In a second stage, more specialized algorithms further process the data, leaving only 100 or 200 events of interest per second.
http://opendata.cern.ch/getting-started/CMS http://opendata.cern.ch/about/CMS-Physics-Objects https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookDataFormats
- RAW - https://en.wikipedia.org/wiki/Delimiter#Field_and_record_delimiters - https://en.m.wikipedia.org/wiki/Delimiter#Bracket_delimiters - https://en.wikipedia.org/wiki/Code_injection#Preventing_problems --;\n https://cwe.mitre.org/data/definitions/1005.html ... https://en.wikipedia.org/wiki/Sensor_fusion - RECO
- AOD - [ ] find an example actual RECO or AOD file - [ ] open it in Notepad++/ViM/Emacs - would it make sense to store this in git? as a torrent web seed?
- https://en.wikipedia.org/wiki/Signal-to-noise_ratio - https://en.wikipedia.org/wiki/Dimensionality_reduction
## object collisions (origin_x, origin_y, t, object_id) (object_id, […], radius)
Distance - https://en.wikipedia.org/wiki/Euclidean_distance - https://en.wikipedia.org/wiki/Minkowski_distance
https://en.wikipedia.org/wiki/Collision_detection - class SceneGraph(OrderedDict)
-Charles
On Mon, Oct 2, 2017 at 2:35 AM, kirby urner <kirby.urner@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%20Ma thematics.ipynb
Pascal's Triangle is an important hub for studying number sequences. It even embeds the Fibonacci Numbers.
These are the kinds of ideas I've been circling for some years. http://4dsolutions.net/ocn/numeracy0.html
What's new is I'm getting more opportunities to test them in real world classrooms. Coding with Kids is keeping me busy.
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
_______________________________________________ Edu-sig mailing list Edu-sig@python.org https://mail.python.org/mailman/listinfo/edu-sig
participants (4)
-
Carl Karsten -
Charles Cossé -
kirby urner -
Wes Turner