Hello!
The Bay Area Python Interest Group invited me to speak at LinkedIn last
Thursday about using Python in math education. They asked that I work in
something about the Raspberry Pi, which (as the organizer of the SF
Peninsula Raspberry Pi Meetup group) I took as an invitation to overdo it.
So I loaded all my programs on my Pi 3 and did the whole presentation on
it: the slides, my Python programs, a web search and my Minecraft maze and
big honkin' pyramid.
People liked the visual, interactive, 3D stuff I showed them but they
seemed particularly blown away that I did the whole presentation on a Pi.
They made me hold it up afterwards to prove it.
[image: Inline image 1]
Yes, that's the 2D cellular automaton from page 172 of Wolfram's New Kind
of Science, in Minecraft.
LinkedIn was recording it but they said it'll be a while before they post
it. My colleague Ken Hawthorne was filming, too, and has posted his video
here <https://vimeo.com/175855273>.
Long story short, showing off is fun but I'd love to work with math
teachers and help them incorporate Python programming into all their math
lessons. And when they get some experience under their belt they'll be able
to do more challenging explorations like fractals, cellular automata and 3D
graphics. I never said it's going to be easy, but it can be more rewarding
and meaningful than the way I learned math back in the day.
Let me know what you think!
Peter
Just jumping in quickly - haven't looked thoroughly as I'm abroad but I agree that 12 year olds I've taught wouldn't look in documentation by themselves. Maybe one or two super motivated ones but general classes, definitely not. (Context: 2 independent schools). As CA says, probably even more to deal with in state schools.
I wonder if some kind of icon/visual indicator would help students understand the difference between arguments and return values? It is an often completely misunderstood concept (or rather understood in the specific example generated in class and then students are unable to generalise, so haven't understood it at all!)
Laura
Sent from my iPhone
> On 19 Jul 2016, at 09:36, pythonedu-wg-request(a)python.org wrote:
>
> Send Pythonedu-wg mailing list submissions to
> pythonedu-wg(a)python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://mail.python.org/mailman/listinfo/pythonedu-wg
> or, via email, send a message with subject or body 'help' to
> pythonedu-wg-request(a)python.org
>
> You can reach the person managing the list at
> pythonedu-wg-owner(a)python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Pythonedu-wg digest..."
>
>
> Today's Topics:
>
> 1. Re: How can you help Python in education today?
> (Carrie Anne Philbin)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 19 Jul 2016 08:10:22 +0100
> From: Carrie Anne Philbin <carrieanne(a)raspberrypi.org>
> To: Chris Roffey <chris(a)codingclub.co.uk>
> Cc: pythonedu-wg(a)python.org
> Subject: Re: [Pythonedu-wg] How can you help Python in education
> today?
> Message-ID:
> <CAHHa-5gMUGfiGQkVg=PsbPDPC2Sj1xZqWG1V7fXVwAUgFpwJ1g(a)mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Replies in line below:
>
> On Mon, Jul 18, 2016 at 11:26 AM, Chris Roffey <chris(a)codingclub.co.uk>
> wrote:
>
>> Hi Carrie Anne
>>
>> I was focussing on structure mostly but I was also trying to come up with
>> language that was concise but easy to understand (while being in a rush). I
>> agree this can be improved and will suggest one improvement later but first
>> I will try and explain why it might not be as bad as perhaps it first
>> appears:
>>
>> 1. Audience: I am not aiming at the slow-typing, just-started-Python,
>> what-is-a-function student. I am aiming at those students who have done a
>> little programming in Python already and are starting to want to explore
>> things further. Your average 12 year old perhaps would be the first ones to
>> start exploring the documentation. These are the interim students /
>> learners. The reason for aiming here is that I think that the younger
>> students need a bit more leading than going off and reading documentation.
>> For the youngsters it is possible to produce a stripped down even easier
>> version of EdDoc that can pop-up in a special IDE, rather than navigating
>> documentation or simply providing Syntax guides. Personally, I believe both
>> kinds of documentation are required but, for me, it is easier to simplify
>> than build up from a simplified start.
>
> Your experience of teaching 12 year olds is very different to my experience
> of teaching 12 year olds. Mine would not start to explore the documentation
> and even if they did I think they would be completely lost by the language.
> Many of my best computing students had learning difficulties and reading
> ages of much younger children. Many just did not like to read, and many did
> not have a wide vocabulary. State schools are a very different beast to
> grammar and independent schools in my experience.
>
> In my opinion, keep it simple should be the mantra, otherwise students may
> as well refer to the documentation that already exists. We should be
> demystifying computing jargon!
>
>
>>
>> 2. Structure: Some of the ease of reading comes from repetitive structure.
>> All functions (in my example system) start with a sentence saying that they
>> are functions and where they come from: So in the example you have chosen,
>> random.choice(), the first sentence is: *A function available after
>> importing the built-in random module*.
>> bin() on the other hand has as its first sentence: *A built-in function*.
>> A Pygame method might have a sentence such as: *A method available if
>> Pygame is installed on your computer*.
>> The second sentence in the description tells you its purpose concisely but
>> is separate (hence on a new line).
>
> I love the structure.
>
>>
>> 3. Technical vocab: Students who are starting to read documentation also
>> need to be introduced to technical vocabulary so they can perform effective
>> searches. The amount of this vocab varies and often depends on the
>> difficulty of the function being documented. It is of course possible to
>> use technical language and then further explain it, but the danger is it
>> becomes verbose and many students will not read it.
>
> I agree that introducing technical language is important, however be
> careful not to assume that more words = less likely to read it. If the
> words are alien and seem to make no sense in a shorter sentence then the
> danger is that they will not read them.
>
>>
>> 4. How the function page in my suggestion might be read: I envisage many
>> students reading the documentation like this:
>>
>> - 'What do I have to put in to this function?' (skip to arguments
>> section)
>> - 'What will I get out of it?' (skip to returns section)
>> - Then they will either experiment in the shell or think 'I don?t get
>> it? (skip to the examples)
>> - 'OK, this is useful - how do I get it?' (skip to top)
>>
>> Hence the repetitive structure, again, aids readability. It is also
>> teachable.
>
> Agree. I like the structure and the use case here.
>
>
>>
>> In the example chosen, the second sentence could have been better worded:
>> *Returns a random value from a container data-type. *would be better as *Returns
>> a random value from a string, a tuple or a list.* This is better because
>> it is still concise, avoids ?container' which is not a universally accepted
>> key word and is specific about which containers it applies to. It would
>> then be possible to delete the note at the bottom. (original page for
>> reference: EdDoc/built-in_modules/random.choice.html
>> <http://codingclub.co.uk/EdDoc/built-in_modules/random.choice.html> )
>>
>> Is there a need for both EdDocs and, for want of a better name,
>> SchoolDocs? Am I right to suggest that SchoolDocs would be easy to produce
>> from a well made EdDocs system but doing this the other way round is more
>> difficult?
>
> No idea. I think an EdDocs, with content sourced by members of this working
> group and the wider community would be a good starting point.
>
>
>>
>> Best wishes
>> Chris
> As always, great to discuss our viewpoints,
>
> Carrie Anne.
>
>
>>
>> On 18 Jul 2016, at 10:12, Carrie Anne Philbin <carrieanne(a)raspberrypi.org>
>> wrote:
>>
>> I really like this idea Chris. Like you I am not sure if this could be
>> easily incorporated into an IDE but it is something we should consider for
>> the python in edu website.
>>
>> My only reservation is with the language used in the example supplied here
>> http://codingclub.co.uk/EdDoc/. I think it is still too high level for
>> young people. Hell, I don't even understand "A function available after
>> importing the built-in random module. Returns a random value from a
>> container data-type." Can we simplify the language for novices? I'm not
>> sure if this was simply because you wanted to share an idea of structure
>> rather than content? If so apologises Chris.
>>
>> Any further thoughts anyone?
>>
>> Carrie Anne.
>>
>> On Fri, Jul 15, 2016 at 12:17 PM, Chris Roffey <chris(a)codingclub.co.uk>
>> wrote:
>>
>>> Dear Carrie Anne and Amit
>>>
>>> I too have been concerned about the Python documentation being too
>>> difficult for students to understand.
>>>
>>> To be easy to teach, navigate and to link to in IDEs, the documentation
>>> requires a clear and logical structure.
>>>
>>> To be easily understandable and accessible to youngsters, the language in
>>> the documentation needs to be concise and clear and with a consistent
>>> style. This means, in my mind, that although it can be a community
>>> endeavour, it needs an agreed structure first and a good copy-editor at the
>>> end.
>>>
>>> To see what this would involve I have had a go and discovered it will be
>>> a big job. Well worth sharing!
>>> I have experimented with a straight html structure but I have no idea if
>>> this is the best way of doing this to make it easy to incorporate in IDEs.
>>> I suspect XML would be better.
>>>
>>> I have produced a nested index system with plain english descriptions
>>> provided all the way through but ending in a single page with a logical
>>> name that could be used in IDEs. So, for example, the random.choice()
>>> function has its own page with the same headings as other functions and is
>>> accessed by navigating through built-in modules then random (which has its
>>> own description) then then clicking on the choice() link which has its own
>>> description.
>>>
>>> I have not explored classes and their corresponding methods provided by
>>> modules built this way because I think it is pretty easy to see how these
>>> can follow the same system.
>>>
>>> Anyway, have a look and see what you think:
>>> http://codingclub.co.uk/EdDoc/
>>> (I have used an obvious link style so you can clearly see where I have
>>> provided examples. This is not a comprehensive Documentation set!!)
>>>
>>> Best wishes
>>> Chris
>>>
>>> On 13 Jul 2016, at 07:32, Carrie Anne Philbin <carrieanne(a)raspberrypi.org>
>>> wrote:
>>>
>>> This is a great blog by a teacher in Bath who I believe is on this
>>> mailing list. I'm sure she can give you a list, but to start with here is the
>>> post
>>> <https://codeboom.wordpress.com/2016/05/11/scratch-is-the-new-powerpoint/>
>>> I was referring to.
>>>
>>> I hope some teachers will read this and add their requests for good
>>> documentation so your offer of help gets snapped up! As Nicholas mentioned,
>>> a Python in education website is being formulated. We will need good
>>> documentation for it. More details to come!
>>>
>>> Thanks,
>>>
>>> Carrie Anne.
>>>
>>>> On Wed, Jul 13, 2016 at 5:12 AM, Amit Saha <amitsaha.in(a)gmail.com> wrote:
>>>>
>>>> On Wed, Jul 13, 2016 at 3:52 AM, Carrie Anne Philbin
>>>> <carrieanne(a)raspberrypi.org> wrote:
>>>>> I've been distracted lately by all of the work that the micro-python
>>>> group
>>>>> have been doing to support the BBC micro:bit. Work that continues and
>>>> needs
>>>>> your support.
>>>>>
>>>>> 1. Work is continuing on Mu the learner focused Python IDE. The team
>>>> would
>>>>> really appreciate your thoughts and feedback, especially if you work
>>>> with
>>>>> young people or those new to Python. You can do so here, on another
>>>> thread
>>>>> or on the Microbit-Python mailing list.
>>>>>
>>>>> 2. Support for teachers/learners. If you need support learning python
>>>> or
>>>>> teaching with python then why not start a thread here? A wonderful
>>>> Python
>>>>> community person will help you out. This is a really quick and simply
>>>> way
>>>>> that members can get involved. They want to help you!
>>>>>
>>>>> 3. Lesson plans, tutorials/resources. Have you written any that you
>>>> want to
>>>>> share with others? Then share them here with a new thread. Spread the
>>>> love!
>>>>>
>>>>> 4. Documentation. Recently CodeBoom wrote a really good blog post
>>>> about the
>>>>> lack of good documentation for python modules that are used in
>>>> education.
>>>>> Could educators on this list, collate their most used modules that need
>>>>> documenting for those wanting to get started with them. Could others
>>>> help
>>>>> with this?
>>>>
>>>> I would be keen to help with the documentation. Can you please point
>>>> to the post you are referring to?
>>>>
>>>>
>>>>
>>>>>
>>>>> 5. Education bundle. Dan Pope started a thread sharing his progress on
>>>> this.
>>>>> Can you provide feedback, ideas, suggestions, a pat on the back,
>>>> testing
>>>>> opportunities in the future?
>>>>
>>>> I am looking forward to help with the edu bundle too.
>>>>
>>>>
>>>>
>>>>>
>>>>> The moral here is do not let this WG die! Everyone always asks me "how
>>>> can I
>>>>> get involved?" Educators share your success, failures and frustrations.
>>>>> Community members share your ideas, solutions and good-will.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Carrie Anne.
>>>>>
>>>>> --
>>>>> Director of Education
>>>>> Raspberry Pi Foundation
>>>>> UK Charity No. 1129409
>>>>>
>>>>> www.raspberrypi.org | www.codeclub.org.uk
>>>>> @ | in | ?
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pythonedu-wg mailing list
>>>>> Pythonedu-wg(a)python.org
>>>>> https://mail.python.org/mailman/listinfo/pythonedu-wg
>>>>
>>>>
>>>>
>>>> --
>>>> http://echorand.me
>>>
>>>
>>>
>>> --
>>> Director of Education
>>> Raspberry Pi Foundation
>>> UK Charity No. 1129409
>>>
>>> www.raspberrypi.org | www.codeclub.org.uk
>>> @ <http://twitter.com/missphilbin> | in
>>> <https://uk.linkedin.com/in/carrie-anne-philbin-a20649b7> | *?*
>>> <https://www.youtube.com/user/GeekGurlDiaries>
>>>
>>>
>>> _______________________________________________
>>> Pythonedu-wg mailing list
>>> Pythonedu-wg(a)python.org
>>> https://mail.python.org/mailman/listinfo/pythonedu-wg
>>
>>
>> --
>> Director of Education
>> Raspberry Pi Foundation
>> UK Charity No. 1129409
>>
>> www.raspberrypi.org | www.codeclub.org.uk
>> @ <http://twitter.com/missphilbin> | in
>> <https://uk.linkedin.com/in/carrie-anne-philbin-a20649b7> | *?*
>> <https://www.youtube.com/user/GeekGurlDiaries>
>
>
> --
> Director of Education
> Raspberry Pi Foundation
> UK Charity No. 1129409
>
> www.raspberrypi.org | www.codeclub.org.uk
> @ <http://twitter.com/missphilbin> | in
> <https://uk.linkedin.com/in/carrie-anne-philbin-a20649b7> | *?*
> <https://www.youtube.com/user/GeekGurlDiaries>
>
I've been distracted lately by all of the work that the micro-python group
have been doing to support the BBC micro:bit. Work that continues and needs
your support.
1. Work is continuing on Mu the learner focused Python IDE. The team would
really appreciate your thoughts and feedback, especially if you work with
young people or those new to Python. You can do so here, on another thread
or on the Microbit-Python mailing list.
2. Support for teachers/learners. If you need support learning python or
teaching with python then why not start a thread here? A wonderful Python
community person will help you out. This is a really quick and simply way
that members can get involved. They want to help you!
3. Lesson plans, tutorials/resources. Have you written any that you want to
share with others? Then share them here with a new thread. Spread the love!
4. Documentation. Recently CodeBoom wrote a really good blog post about the
lack of good documentation for python modules that are used in education.
Could educators on this list, collate their most used modules that need
documenting for those wanting to get started with them. Could others help
with this?
5. Education bundle. Dan Pope started a thread sharing his progress on
this. Can you provide feedback, ideas, suggestions, a pat on the back,
testing opportunities in the future?
The moral here is do not let this WG die! Everyone always asks me "how can
I get involved?" Educators share your success, failures and frustrations.
Community members share your ideas, solutions and good-will.
Thanks,
Carrie Anne.
--
Director of Education
Raspberry Pi Foundation
UK Charity No. 1129409
www.raspberrypi.org | www.codeclub.org.uk
@ <http://twitter.com/missphilbin> | in
<https://uk.linkedin.com/in/carrie-anne-philbin-a20649b7> | *▷*
<https://www.youtube.com/user/GeekGurlDiaries>
When I try to teach Python to young kids,
the big obstacle is describing repetitions in simple way (esp. for turtle
graphics).
for a in range(4):
....
More py-zen would be
repeat 4:
....
I know some py-edu-environments have their hacks:
https://codecombat.com/ has "loop" instead "while True"
http://reeborg.ca/reeborg.html has the "repeat n"
Also "repeat n" is used in Blockly
<https://blockly-games.appspot.com/turtle?lang=en&level=10> and Scratch
<https://wiki.scratch.mit.edu/wiki/Repeat_()_(block)>
Also scientific math env has kind of hack for "range(a, b+1)" -- just
"[a..b]" (like in CoffeScript
<https://coffeescript-cookbook.github.io/chapters/syntax/for_loops>):
http://sagemath.wikispaces.com/Counters
***My ideas, how to implement this***
- IDE (plugin) translates "repeat" to "for.." on run,
on errors it could translate stuff back to hide any mention of "for.." :)
or after translation could leave a comment that it has been translated
from "repeat"
- PEP for even more edu-friendly Python: "py-zero" (with possibly more
stuff)? :)
--
Jurgis Pralgauskis
tel: 8-616 77613;
Don't worry, be happy and make things better ;)
http://galvosukykla.lt
Hello everyone,
I just learned today of this list; reading about its purpose to focus on
*making things happen* instead of abstract discussions, I say THANK YOU to
the creator of this list.
In a recent post, Carrie Anne Philbin wrote:
3. Lesson plans, tutorials/resources. Have you written any that you want to
share with others? Then share them here with a new thread.
For more than 12 years, I have been tinkering on adapting Pattis's idea of
Karel the robot for Python, first as a desktop program (rur-ple) and more
recently as a web-version
http://reeborg.ca/reeborg.html [*]
It includes my own idyosynchratic introductory Python tutorial (
http://reeborg.ca/docs/en/) which is also available in French and Korean.
(Another tutorial written based on Reeborg and written by Andres Castano
can be found at http://codeperspectives.com/; it is a better designed and
more focused tutorial.)
The version of the program linked above [*] is a newer version which is
"better" than the one referred to in the tutorial (
http://reeborg.ca/world.html) but is unfortunately not quite yet complete.
(Among the new features yet to be completed: I want teachers to be able to
use own animated images of their choice for all artefacts [background
objects, objects that can be manipulated, and robot] when creating their
own worlds/programming tasks.)
One reason why I created a web version was the feedback I received from
teachers using rur-ple who found that, due to their school's policy, it was
impossible to get the required approvals to install non-standard desktop
applications.
Any feedback on this resource would be greatly appreciated.
André Roberge
All good points being raised - it's good to see some momentum on this
forum.
My book is now published and in the shops (Amazon etc.) so I've got a
bit more time to spend on this again.
Last week gave a talk to STEM ambassadors and Teachers in Worcestershire
about the micro:bit.
The presentation slides (see link below), covers all 4 "official"
programming languages, but I did have a slight bias towards MicroPython
;-)
Also the two examples: Disco Lights and micro:bit controller for a
Raspberry Pi robot were both Python projects from the micro:bit world
tour.
http://www.penguintutor.com/microbit
I'll be demonstrating the robot at the Warwickshire Raspberry Jam if
anyone is in the area next week:
https://www.eventbrite.co.uk/e/coventry-and-warwickshire-raspberry-jam-3-ti…
The demonstrations are not newbie friendly at the moment. I only had a
micro:bit for 1 week. I have now got one on loan for a few weeks and
I'm hoping to do more with the micro:bit once my pre-order arrives later
this month? / next month?? / sometime this year ???
> This is a great blog by a teacher in Bath who I believe is on this
> mailing list. I'm sure she can give you a list, but to start with here
> is the post I was referring to.
That blog does raise some very good points, some of which I mentioned on
this list previously.
Some of the these we are making progress towards a solution (Reminder:
I'm still willing to help with the Python build). I've been using the
Python build on my Windows machine when I've needed to quickly look
something up (vs starting up a Virtual Machine - or working directly on
my primary Linux laptop).
Nicholas - The education website sounds a great idea. Please let me know
if there is anything I can do to help.
I'd also agree with the the comment about educators that need help.
There are many on this list that would be happy to help out if you have
something you are stuck with, or just want some general advice.
Stewart
--
Stewart Watkiss
Author of Learn Electronics with Raspberry Pi
@stewartwatkiss @penguintutor
http://www.penguintutor.com
Hi everyone,
To follow up on Carrie's recent email about keeping this WG alive, I wanted
to recommend the Python tutorials <http://learn.opentechschool.org/#Python>
made available by OpenTechSchool <http://www.opentechschool.org/>, and
specifically Introduction to Programming with Python using Turtle
<http://opentechschool.github.io/python-beginners/en/index.html>.
I haven't written these myself, but I've had a very good experience with
them, both through organizing OpenTechSchool meetups and through suggesting
these to students to work through by themselves, with some assistance when
needed. They are copyrighted CC Attribution-ShareAlike, so you can also
remix them to suit your needs, e.g. to use in a classroom.
Does anyone have recommendations for any similar Python tutorials with
permissive licenses?
Best,
Yoni.
Hi,
probably some of you know
https://pencilcode.net - editor which can map Code: Blocks<-->Text (both
ways!)
which is based on
https://github.com/droplet-editor/droplet
Currently works with JS and CoffeeScript (in browser)
And has some ideas for Py (Based Sculpt AST) as well
https://ideas.pencilcode.net/
It would be flexible approach for beginners...
--
Jurgis Pralgauskis
tel: 8-616 77613;
Don't worry, be happy and make things better ;)
http://galvosukykla.lt
When I try to teach Python to young kids,
the big obstacle is describing repetitions in simple way (esp. for turtle
graphics).
for a in range(4):
....
More py-zen would be
repeat 4:
....
I know some py-edu-environments have their hacks:
https://codecombat.com/ has "loop" instead "while True"
http://reeborg.ca/reeborg.html has the "repeat n" version
Also "repeat n" is used in Blockly
<https://blockly-games.appspot.com/turtle?lang=en&level=10> and Scratch
<https://wiki.scratch.mit.edu/wiki/Repeat_()_(block)>
Also scientific math env has kind of hack for "range(a, b+1)" -- just
"[a..b]" (like in CoffeScript
<https://coffeescript-cookbook.github.io/chapters/syntax/for_loops>):
http://sagemath.wikispaces.com/Counters
***My ideas, how to implement this***
- IDE (plugin) translates "repeat" to "for.." on run,
on errors it could translate stuff back to hide any mention of "for.." :)
or after translation could leave a comment that it has been translated
from "repeat"
- PEP for even more edu-friendly Python: "py-zero" (with possibly more
stuff)? :)
--
Jurgis Pralgauskis
tel: 8-616 77613;
Don't worry, be happy and make things better ;)
http://galvosukykla.lt