From kirby.urner at gmail.com Mon Oct 2 04:35:37 2017 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 2 Oct 2017 01:35:37 -0700 Subject: [Edu-sig] strategies for teaching Python Message-ID: 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: From carl at nextdayvideo.com Mon Oct 2 13:41:11 2017 From: carl at nextdayvideo.com (Carl Karsten) Date: Mon, 2 Oct 2017 12:41:11 -0500 Subject: [Edu-sig] strategies for teaching Python In-Reply-To: References: Message-ID: 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 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 at python.org > https://mail.python.org/mailman/listinfo/edu-sig > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From catherine.devlin at gmail.com Mon Oct 2 13:58:33 2017 From: catherine.devlin at gmail.com (Catherine Devlin) Date: Mon, 2 Oct 2017 13:58:33 -0400 Subject: [Edu-sig] Browser-based instruction Message-ID: Hi, educators, I'm thinking of teaching classes at our public library for folks who may or may not own their own computers. To that end, I'm trying to figure out the best way to provide them a hosted Python environment. The platform of my dreams would - Let them write and keep their scripts long-term - Allow installation of packages from PyPI - Not restrict outgoing web traffic - for instance, consuming web APIs is great for student projects, but many online environments restrict that use I don't know what's the closest to my dreams, but if anybody has relevant experience, I'd love to hear about it. Thanks! -- - Catherine http://catherinedevlin.blogspot.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From jurgis.pralgauskis at gmail.com Tue Oct 3 04:44:04 2017 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Tue, 3 Oct 2017 11:44:04 +0300 Subject: [Edu-sig] Browser-based instruction In-Reply-To: References: Message-ID: https://www.pythonanywhere.com/ seems to have what you need with beta functionality for Educational purposes https://help.pythonanywhere.com/pages/Education you can contact them, as they seem quite friendly :) On Mon, Oct 2, 2017 at 8:58 PM, Catherine Devlin wrote: > Hi, educators, > > I'm thinking of teaching classes at our public library for folks who may > or may not own their own computers. To that end, I'm trying to figure out > the best way to provide them a hosted Python environment. > > The platform of my dreams would > > - Let them write and keep their scripts long-term > - Allow installation of packages from PyPI > - Not restrict outgoing web traffic - for instance, consuming web APIs is > great for student projects, but many online environments restrict that use > > I don't know what's the closest to my dreams, but if anybody has relevant > experience, I'd love to hear about it. > > Thanks! > > -- > - Catherine > http://catherinedevlin.blogspot.com > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > https://mail.python.org/mailman/listinfo/edu-sig > > -- Jurgis Pralgauskis tel: 8-616 77613; Don't worry, be happy and make things better ;) http://galvosukykla.lt -------------- next part -------------- An HTML attachment was scrubbed... URL: From wes.turner at gmail.com Tue Oct 3 08:23:03 2017 From: wes.turner at gmail.com (Wes Turner) Date: Tue, 3 Oct 2017 07:23:03 -0500 Subject: [Edu-sig] strategies for teaching Python In-Reply-To: References: Message-ID: On Monday, October 2, 2017, kirby urner 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: From wes.turner at gmail.com Tue Oct 3 08:29:23 2017 From: wes.turner at gmail.com (Wes Turner) Date: Tue, 3 Oct 2017 07:29:23 -0500 Subject: [Edu-sig] Browser-based instruction In-Reply-To: References: Message-ID: https://github.com/quobit/awesome-python-in-education/blob/master/README.md On Tuesday, October 3, 2017, Jurgis Pralgauskis < jurgis.pralgauskis at gmail.com> wrote: > https://www.pythonanywhere.com/ seems to have what you need > > with beta functionality for Educational purposes > https://help.pythonanywhere.com/pages/Education > > you can contact them, as they seem quite friendly :) > > On Mon, Oct 2, 2017 at 8:58 PM, Catherine Devlin < > catherine.devlin at gmail.com > > wrote: > >> Hi, educators, >> >> I'm thinking of teaching classes at our public library for folks who may >> or may not own their own computers. To that end, I'm trying to figure out >> the best way to provide them a hosted Python environment. >> >> The platform of my dreams would >> >> - Let them write and keep their scripts long-term >> - Allow installation of packages from PyPI >> - Not restrict outgoing web traffic - for instance, consuming web APIs is >> great for student projects, but many online environments restrict that use >> > I would keep packet logs. > >> >> I don't know what's the closest to my dreams, but if anybody has relevant >> experience, I'd love to hear about it. >> > https://github.com/jupyter/docker-stacks And then for multiple users: https://github.com/jupyterhub/jupyterhub/wiki/Spawners - https://github.com/jupyterhub/kubespawner https://github.com/jupyterhub/jupyterhub/wiki/Authenticators - OAuth ... https://github.com/sagemathinc/cocalc-docker/ > >> Thanks! >> >> -- >> - Catherine >> http://catherinedevlin.blogspot.com >> > >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> https://mail.python.org/mailman/listinfo/edu-sig >> >> > > > -- > Jurgis Pralgauskis > tel: 8-616 77613; > Don't worry, be happy and make things better ;) > http://galvosukykla.lt > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wes.turner at gmail.com Tue Oct 3 08:32:43 2017 From: wes.turner at gmail.com (Wes Turner) Date: Tue, 3 Oct 2017 07:32:43 -0500 Subject: [Edu-sig] Browser-based instruction In-Reply-To: References: Message-ID: On Tuesday, October 3, 2017, Wes Turner wrote: > https://github.com/quobit/awesome-python-in-education/ > blob/master/README.md > > > > On Tuesday, October 3, 2017, Jurgis Pralgauskis < > jurgis.pralgauskis at gmail.com > > wrote: > >> https://www.pythonanywhere.com/ seems to have what you need >> >> with beta functionality for Educational purposes >> https://help.pythonanywhere.com/pages/Education >> >> you can contact them, as they seem quite friendly :) >> >> On Mon, Oct 2, 2017 at 8:58 PM, Catherine Devlin < >> catherine.devlin at gmail.com> wrote: >> >>> Hi, educators, >>> >>> I'm thinking of teaching classes at our public library for folks who may >>> or may not own their own computers. To that end, I'm trying to figure out >>> the best way to provide them a hosted Python environment. >>> >>> The platform of my dreams would >>> >>> - Let them write and keep their scripts long-term >>> - Allow installation of packages from PyPI >>> - Not restrict outgoing web traffic - for instance, consuming web APIs >>> is great for student projects, but many online environments restrict that >>> use >>> >> > I would keep packet logs. > > >> >>> >>> I don't know what's the closest to my dreams, but if anybody has >>> relevant experience, I'd love to hear about it. >>> >> > https://github.com/jupyter/docker-stacks > > And then for multiple users: > > https://github.com/jupyterhub/jupyterhub/wiki/Spawners > > - https://github.com/jupyterhub/kubespawner > > https://github.com/jupyterhub/jupyterhub/wiki/Authenticators > > - OAuth > Src: https://github.com/jupyterhub/jupyterhub Docs: https://jupyterhub.readthedocs.io/en/latest/ https://zero-to-jupyterhub.readthedocs.io/en/latest/ (Kubernetes) > > ... > > https://github.com/sagemathinc/cocalc-docker/ > > > > >> >>> Thanks! >>> >>> -- >>> - Catherine >>> http://catherinedevlin.blogspot.com >>> >> >>> _______________________________________________ >>> Edu-sig mailing list >>> Edu-sig at python.org >>> https://mail.python.org/mailman/listinfo/edu-sig >>> >>> >> >> >> -- >> Jurgis Pralgauskis >> tel: 8-616 77613; >> Don't worry, be happy and make things better ;) >> http://galvosukykla.lt >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david at handysoftware.com Tue Oct 3 08:29:58 2017 From: david at handysoftware.com (David Handy) Date: Tue, 3 Oct 2017 08:29:58 -0400 (EDT) Subject: [Edu-sig] Browser-based instruction In-Reply-To: References: Message-ID: <1507033798.01896216@apps.rackspace.com> Does it really have to run in a browser? When I read your requirements, that students be able to run on a public computer that they do not own, yet keep their files from one session to another, I thought maybe running Python off of a USB stick, and saving their programs back onto that USB stick, would meet your requirements. It would have the advantage of not locking your students into a particular online service nor requiring Internet service to function. Yet you could write programs that access web services, install packages from PyPI, etc. At first I was going to point you to Portable Python: [ http://portablepython.com/ ]( http://portablepython.com/ ) But it has been years since I used it. Going to their website just now, I found it it now says: "Portable Python is not being developed anymore. At the moment there are several better and more up-to-date alternatives" There are links to other alternatives of complete Python distributions that can run off of a USB stick, none of which I have tried personally. Just something to consider. David H On Monday, October 2, 2017 1:58pm, "Catherine Devlin" said: Hi, educators, I'm thinking of teaching classes at our public library for folks who may or may not own their own computers. To that end, I'm trying to figure out the best way to provide them a hosted Python environment. The platform of my dreams would - Let them write and keep their scripts long-term - Allow installation of packages from PyPI - Not restrict outgoing web traffic - for instance, consuming web APIs is great for student projects, but many online environments restrict that use I don't know what's the closest to my dreams, but if anybody has relevant experience, I'd love to hear about it. Thanks!-- - Catherine [ http://catherinedevlin.blogspot.com ]( http://catherinedevlin.blogspot.com ) -------------- next part -------------- An HTML attachment was scrubbed... URL: From jurgis.pralgauskis at gmail.com Tue Oct 3 07:45:55 2017 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Tue, 3 Oct 2017 14:45:55 +0300 Subject: [Edu-sig] snakify.org - one more interactive tutorial site Message-ID: https://snakify.org/ with open content https://github.com/snakify/content -- Jurgis Pralgauskis tel: 8-616 77613; Don't worry, be happy and make things better ;) http://galvosukykla.lt -------------- next part -------------- An HTML attachment was scrubbed... URL: From ccosse at gmail.com Wed Oct 4 06:55:52 2017 From: ccosse at gmail.com (=?UTF-8?Q?Charles_Coss=C3=A9?=) Date: Wed, 4 Oct 2017 04:55:52 -0600 Subject: [Edu-sig] strategies for teaching Python In-Reply-To: References: Message-ID: 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 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 at python.org > https://mail.python.org/mailman/listinfo/edu-sig > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wes.turner at gmail.com Wed Oct 4 08:30:45 2017 From: wes.turner at gmail.com (Wes Turner) Date: Wed, 4 Oct 2017 07:30:45 -0500 Subject: [Edu-sig] strategies for teaching Python In-Reply-To: References: Message-ID: On Wednesday, October 4, 2017, Charles Coss? 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 > 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 at python.org >> https://mail.python.org/mailman/listinfo/edu-sig >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wes.turner at gmail.com Wed Oct 4 08:49:41 2017 From: wes.turner at gmail.com (Wes Turner) Date: Wed, 4 Oct 2017 07:49:41 -0500 Subject: [Edu-sig] strategies for teaching Python In-Reply-To: References: Message-ID: On Wednesday, October 4, 2017, Wes Turner wrote: > > > On Wednesday, October 4, 2017, Charles Coss? > 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 > - 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 >> 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 at python.org >>> https://mail.python.org/mailman/listinfo/edu-sig >>> >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Sat Oct 28 04:09:26 2017 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 28 Oct 2017 01:09:26 -0700 Subject: [Edu-sig] when and why should kids learn Python? Message-ID: This Codepen is dual purpose in that the company I work for (one of them) teaches with it, so I can say I'm promoting / recruiting for one of our other (not Python) classes. https://codepen.io/pdx4d/full/RjwrvG/ Ironically though, I'm actually coming to the conclusion that the "game card" is over-played, by which I mean, we take kids' love of computer games and suggest their hearts' desire is just a heart beat away. But that's not so: knowing how to code well enough to make games of real interest (to them), takes time. Lots of other tasks are more realistic: making art, slide shows, ads, stories... along with rather simple game-like activities. But you've gotta focus on a lot of syntax and semantics first. We need to be up front about the need for concentration and practice. Programming is "hard fun". You don't learn Python in just a few hours, especially not if it's a first lexical (not block-based) language. The tiny games and game fragments that are within range, *may* be enough to galvanize an ongoing interest in coding, but in a minority of cases. Instead there's a sense of betrayal, of bait and switch, as "game development" is oversold. Simple animations would be fine if that's what we offered. Storyboarding and cartooning with Python -- makes sense. But the games they play incessantly, day in and day out, are often multi-user, plus they're slick and well thought-out. I'm more of the school of thought that if Learning to Code is to become a mature aspect of the everyday curriculum, it'll need to merge in a lot of math topics. Bootstrap is already a big step in this direction. I see many signs that this merger is well underway. In sum, I'm for using Python when there's related age-appropriate math we might code around, such as the Sieve of Eratosthenes or prime factoring. Functions, plotting, geometry... all good. I'm against using Python as a "game development platform" with kids who are too young to understand that their favorite computer games are not good examples of what they'll be able to code any time soon. My belief is CS has for so long has been an after school "computer club" activity, that it still feels a need to pander, sell itself. Math, on the other hand, is a required non-elective subject between you and a high school degree. Now that coding has emerged as more of a priority in our culture, thanks to many factors including industry pressure, it's starting to count towards math credit in some cases, and maybe becoming a tad less obsequious in recruiting? The curriculum at Stuyvesant High School in New York City seems appropriately serious, not all that game-oriented. They're more Racket / Scheme based than Python, and were that way prior to Bootstrap and/or CS4ALL. They do have some Python content though, judging solely from their website. I followed their link, under resources, to http://codingbat.com/python which I'm liking, though it's small. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From macquigg at ece.arizona.edu Sat Oct 28 05:25:19 2017 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Sat, 28 Oct 2017 02:25:19 -0700 Subject: [Edu-sig] when and why should kids learn Python? In-Reply-To: References: Message-ID: Great to see progress in adding CS to the curriculum. CodingBat look vastly improved since I was last involved. It's predecessor, JavaBat, was the inspiration for PyKata. PyKata would have been Codingbat plus the ability for teachers to select their own exercises, or create their own, an even have a home-page making it look like their own website. Unfortunately, the urgencies of my day job didn't leave time to finish PyKata. https://mail.python.org/pipermail/edu-sig/2015-July/011283.html I'm disappointed at the Python community for not better supporting educational efforts. Ruby seems to be surging ahead of Python in popularity. This seems like a step backward to me - Python with a bit of Perl ugliness added back in. On Sat, Oct 28, 2017 at 1:09 AM, kirby urner wrote: > > This Codepen is dual purpose in that the company I work for (one of them) > teaches with it, so I can say I'm promoting / recruiting for one of our > other (not Python) classes. > > https://codepen.io/pdx4d/full/RjwrvG/ > > Ironically though, I'm actually coming to the conclusion that the "game > card" is over-played, by which I mean, we take kids' love of computer games > and suggest their hearts' desire is just a heart beat away. > > But that's not so: knowing how to code well enough to make games of real > interest (to them), takes time. Lots of other tasks are more realistic: > making art, slide shows, ads, stories... along with rather simple game-like > activities. > > But you've gotta focus on a lot of syntax and semantics first. We need to > be up front about the need for concentration and practice. Programming is > "hard fun". You don't learn Python in just a few hours, especially not if > it's a first lexical (not block-based) language. > > The tiny games and game fragments that are within range, *may* be enough > to galvanize an ongoing interest in coding, but in a minority of cases. > > Instead there's a sense of betrayal, of bait and switch, as "game > development" is oversold. Simple animations would be fine if that's what > we offered. Storyboarding and cartooning with Python -- makes sense. But > the games they play incessantly, day in and day out, are often multi-user, > plus they're slick and well thought-out. > > I'm more of the school of thought that if Learning to Code is to become a > mature aspect of the everyday curriculum, it'll need to merge in a lot of > math topics. Bootstrap is already a big step in this direction. I see > many signs that this merger is well underway. > > In sum, I'm for using Python when there's related age-appropriate math we > might code around, such as the Sieve of Eratosthenes or prime factoring. > Functions, plotting, geometry... all good. > > I'm against using Python as a "game development platform" with kids who > are too young to understand that their favorite computer games are not good > examples of what they'll be able to code any time soon. > > My belief is CS has for so long has been an after school "computer club" > activity, that it still feels a need to pander, sell itself. Math, on the > other hand, is a required non-elective subject between you and a high > school degree. > > Now that coding has emerged as more of a priority in our culture, thanks > to many factors including industry pressure, it's starting to count towards > math credit in some cases, and maybe becoming a tad less obsequious in > recruiting? > > The curriculum at Stuyvesant High School in New York City seems > appropriately serious, not all that game-oriented. They're more Racket / > Scheme based than Python, and were that way prior to Bootstrap and/or > CS4ALL. > > They do have some Python content though, judging solely from their website. > > I followed their link, under resources, to http://codingbat.com/python > which I'm liking, though it's small. > > Kirby > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > https://mail.python.org/mailman/listinfo/edu-sig > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Sat Oct 28 12:48:23 2017 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 28 Oct 2017 09:48:23 -0700 Subject: [Edu-sig] when and why should kids learn Python? In-Reply-To: References: Message-ID: > I'm disappointed at the Python community for not better supporting > educational efforts. Ruby seems to be surging ahead of Python in > popularity. This seems like a step backward to me - Python with a bit of > Perl ugliness added back in. > > I'd be interested in learning more about what the Ruby community is doing. >From where I sit, it's MIT Scratch for the littler kids, then mostly Python for older, but still mostly extracurricular. But that's just my niche. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Sat Oct 28 18:15:19 2017 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 28 Oct 2017 15:15:19 -0700 Subject: [Edu-sig] when and why should kids learn Python? In-Reply-To: References: Message-ID: On Sat, Oct 28, 2017 at 1:44 PM, David MacQuigg wrote: << ... >> I just hate to see what could have been a critical mass of users offering > an alternative to Java, a much better alternative as an introduction to CS, > losing that opportunity because there is no agreement on a simple > alternative. Oh well, most students will end up with Java anyway, so maybe > learning with all those useless semicolons will make the transition easier. > > Thank you, yes, I share your view that Ruby feels more like Perl and markets itself versus Python with somewhat hollow slogans like "Ruby makes programmers feel happy" (it's all about how it "feels"). AP CS seems stuck in the crufty past given a main rationale was to pick a language actually taught at the college level. That used to be Java, but is now Python so much more so. https://www.quora.com/Why-does-AP-Computer-Science-A-teach-Java-and-not-Python I'm always in favor of learning at least a couple languages, even if #2 is mainly for contrast. One's mastery of X improves when one has experience with ~X. Learn Python and Ruby both? But learn one to a higher level? Clojure? As this other thread points out, there's a new AP CS Principles course (CSP) which Code.org and others are tackling, in principle language agnostic. JavaScript is another contender as a first language, especially in light of all the recent revisions (making it seem more like Python :-D). https://computinged.wordpress.com/2014/08/03/python-is-the-most-popular-intro-language-but-what-about-csp/ Since the posting above (2014) -- about how college intro courses don't use JavaScript as a first langauge --came at least Stanford's doing so: https://www.theregister.co.uk/2017/04/24/stanford_tests_javascript_in_place_of_java/ I think Harvard's CS50 is a good example of how Python has replaced Java in terms of sharing the big picture. I refer people to the lectures on Youtube, Week 8 in particular. https://youtu.be/5aP9Bl9hcqI Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From macquigg at ece.arizona.edu Sun Oct 29 11:37:24 2017 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Sun, 29 Oct 2017 08:37:24 -0700 Subject: [Edu-sig] when and why should kids learn Python? In-Reply-To: References: Message-ID: ''' > I'm always in favor of learning at least a couple languages, even if #2 is > mainly for contrast. One's mastery of X improves when one has experience > with ~X. Learn Python and Ruby both? But learn one to a higher level? > Clojure? ''' I agree with everything you are saying, but I would postpone the "language comparison" to sometime *after* the first course, and then my ~X language would not be Ruby (almost identical to Python), but something radically different (Lisp) or something important to industry (Java). The first course should focus entirely on fundamentals - understanding what is a function, what is an object, what do we mean by encapsulation, how do we control scope, etc. Perhaps my bias is due to my background (engineering and science), not CS. I like a language that can 1) teach the fundamentals with minimum clutter, 2) provide a tool for non-CS majors that will be useful their entire career, and 3) transition easily to Java, the main "industrial" language for the foreseeable future. Even as a non-CS major, I am curious about what other languages offer. This could be taught most easily as short examples comparing some great feature in language ~X to the equivalent in Python. Coding.bat is a good website for comparing Java to Python. My big disappointment with Python was that graphics was not integrated more smoothly into the package. Engineering involves a lot of plotting, and that should happen without extra effort. The integration with C could also be improved, for those applications where speed is important. On Sat, Oct 28, 2017 at 3:15 PM, kirby urner wrote: > > > On Sat, Oct 28, 2017 at 1:44 PM, David MacQuigg > wrote: > > << ... >> > > I just hate to see what could have been a critical mass of users offering >> an alternative to Java, a much better alternative as an introduction to CS, >> losing that opportunity because there is no agreement on a simple >> alternative. Oh well, most students will end up with Java anyway, so maybe >> learning with all those useless semicolons will make the transition easier. >> >> > > Thank you, yes, I share your view that Ruby feels more like Perl and > markets itself versus Python with somewhat hollow slogans like "Ruby makes > programmers feel happy" (it's all about how it "feels"). > > AP CS seems stuck in the crufty past given a main rationale was to pick a > language actually taught at the college level. That used to be Java, but > is now Python so much more so. > > https://www.quora.com/Why-does-AP-Computer-Science-A- > teach-Java-and-not-Python > > I'm always in favor of learning at least a couple languages, even if #2 is > mainly for contrast. One's mastery of X improves when one has experience > with ~X. Learn Python and Ruby both? But learn one to a higher level? > Clojure? > > As this other thread points out, there's a new AP CS Principles course > (CSP) which Code.org and others are tackling, in principle language > agnostic. > > JavaScript is another contender as a first language, especially in light > of all the recent revisions (making it seem more like Python :-D). > > https://computinged.wordpress.com/2014/08/03/python-is-the- > most-popular-intro-language-but-what-about-csp/ > > Since the posting above (2014) -- about how college intro courses don't > use JavaScript as a first langauge --came at least Stanford's doing so: > > https://www.theregister.co.uk/2017/04/24/stanford_tests_ > javascript_in_place_of_java/ > > I think Harvard's CS50 is a good example of how Python has replaced Java > in terms of sharing the big picture. I refer people to the lectures on > Youtube, Week 8 in particular. > > https://youtu.be/5aP9Bl9hcqI > > Kirby > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Sun Oct 29 14:18:57 2017 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 29 Oct 2017 11:18:57 -0700 Subject: [Edu-sig] when and why should kids learn Python? In-Reply-To: References: Message-ID: > > My big disappointment with Python was that graphics was not integrated > more smoothly into the package. Engineering involves a lot of plotting, > and that should happen without extra effort. The integration with C could > also be improved, for those applications where speed is important. > > Yes, I agree with your points, about the 2nd language being more different. Probably if #1 is Python, then #2 should be Lisp family as you say, and/or strongly typed. Regarding Python not natively including anything graphical in the Standard Library or core, that's a barrier for younger students coming from an MIT Scratch background, also strong on acoustics. You may have seen Codesters already. Here's one I coded just last night as a part of an ongoing discussion on math-teach (CS and math are becoming "as one" in the early grades): https://www.codesters.com/preview/11a6566e8105408489662f851bb21c7e/ You can actually run the code by clicking the green arrow button. Notice how the namespace is enhanced with Sprites and what not. The goal is to provide a graphical bridge to lexical programming,. I work for a company that indeed uses this with kids. I'm in some school or other every weekday but Monday for about an hour after school -- so yeah, still extracurricular. Codesters is Python 2.7 under the hood, not 3.x, which I consider a weakness, but not a show stopper. This is an "in between" platform. We're on our way to a more Jupyter Notebook + IDE like environment, and or designing simple websites. Speaking of websites, I'm into making examples that don't even use HTML i.e. the HTTP requests are all for JSON data and the like. Just to separate the idea of "website" from the usual stereotype, of something we'd want to "browse". Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: