From andre.roberge at gmail.com Tue Aug 8 11:03:52 2017 From: andre.roberge at gmail.com (Andre Roberge) Date: Tue, 8 Aug 2017 12:03:52 -0300 Subject: [Edu-sig] Announcement: new version of Reeborg's World Message-ID: After more than a year of rewriting, reorganizing and adding features, a new version of Reeborg's World (http://reeborg.ca/reeborg.html) is finally available. I have done some fairly extensive testing ... but there's nothing like having other users testing it to discover bugs. I'm hoping to quash any remaining bug by September, in time for the new school year. Reeborg's World takes the basic Karel the robot idea from Pattis and builds upon it. As I started to write documentation explaining the new features, I quickly realized that there was a lot of things to described ? so many in fact that it has become a book titled *Reeborg?s World: a Teacher?s Guide*. The book is not finished yet but it is available online. https://aroberge.gitbooks.io/reeborg-s-world-advanced-world-creation/content/ I would love to get your feedback on either the site itself, or the book, or both. Cheers, Andr? -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Fri Aug 11 23:40:27 2017 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 11 Aug 2017 20:40:27 -0700 Subject: [Edu-sig] comments on a Python expert Youtube / Python2 vs Python3 Message-ID: I just listened to the first 18 minutes, 7 seconds of this PyData talk: https://youtu.be/7lmCu8wz8ro What Does It Take To Be An Expert At Python? The speaker, James Powell. has an excellent and engaging style. However, two things: * the degree of the polynomials he's showing is 2 in both cases, not 3 * __call__ makes perfect sense with a polynomial: feed in a value for x, get the result. On another topic: In my inhouse memos (Coding with Kids) I encourage Python2 and Python3, for 2.x series and 3.x series respectively. We have the precedent of CPython (a prefix) so could say CPython2 unambiguously. Django3 etc. is also suggested. Codesters.com works to emulate Python3. The turtle is in trouble at the moment, unable to draw a circle reliably, especially when moving backwards. Regarding "dunder methods" (special names), calling them "data model" methods is not a bad idea. I still like to call them __ribs__ thinking of snakes (pythons) being hollow __rib__ cages. We're talking about how we give our classes a backbone of neural arc behaviors. Kirby PS: one of my polynomial classes from ages ago: """ Really simple Poly (polynomial class) Example usage: >>> from simppoly import Poly >>> p = Poly([1,2,0,0,3,-4]) >>> p (1 * (x**0))+(2 * (x**1))+(3 * (x**4))+(-4 * (x**5)) >>> p(10) -369979 """ class Poly(object): def __init__(self, coeffs): """ Coefficients in order of increasing degree, 0 where necessary """ self.coeffs = coeffs def __call__(self, x): """ Triggers evaluation of string representation for 'x' = x """ return eval(repr(self), {'x':x}) def __repr__(self): """ Build a string representation, low to high degree, skipping 0 coefficients """ monomials = [ '(%s * (x**%s))' % (c,e) for c,e in zip(self.coeffs, range(len(self.coeffs))) if c<>0] return ' + '.join(monomials) -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Wed Aug 16 17:03:37 2017 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 16 Aug 2017 14:03:37 -0700 Subject: [Edu-sig] Announcement: new version of Reeborg's World In-Reply-To: References: Message-ID: I certainly like the idea (and reality) that Reeborg speaks French! http://reeborg.ca/docs/en/basics/library.html#reeborg-can-understand-french My summer camp kids tend to be an international cast, with some going to Portland's international school. Localization is important, and something to build in. http://reeborg.ca/docs/en/basics/library.html#reeborg-can-understand-french Note how Berkeley Snap has many "skins" (blog shows Snap in Arabic): http://mybizmo.blogspot.com/2017/08/summer-camp-fun.html On the topic of Robots (virtual and actual) controlled by Python, I wonder if anyone here has experience with the Anki line. https://pypi.python.org/pypi/cozmo/0.15.1 http://spectrum.ieee.org/automaton/robotics/diy/anki-code-lab-brings-sophisticated-graphical-programming-to-cozmo-robot A Scratch-like GUI converts to Python under the hood. I haven't had a chance to play with one personally. Blockly likewise goes straight from blocks to Python (and Lua, and....) Reeborg looks like one of the best-developed Python-based virtual robots out there! Kirby On Tue, Aug 8, 2017 at 8:03 AM, Andre Roberge wrote: > After more than a year of rewriting, reorganizing and adding features, a > new version of Reeborg's World (http://reeborg.ca/reeborg.html) is > finally available. I have done some fairly extensive testing ... but > there's nothing like having other users testing it to discover bugs. I'm > hoping to quash any remaining bug by September, in time for the new school > year. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sebastian at fuentelibre.org Thu Aug 17 12:17:03 2017 From: sebastian at fuentelibre.org (Sebastian Silva) Date: Thu, 17 Aug 2017 11:17:03 -0500 Subject: [Edu-sig] Localized keywords library for learning Python Message-ID: <21fed7be-2352-f59f-075c-81777f2b67c5@fuentelibre.org> Hi! I enjoy teaching Python to kids and have just been reading Andr? Roberg?'s wonderful Reeborg tool and documentation and have appreciated two details on his approach to Python: The introduction of "repeat :" keyword: http://reeborg.ca/docs/en/basics/repeat.html And the availability of statements in french: http://reeborg.ca/docs/en/basics/library.html#reeborg-can-understand-french This reminded me of a library that was shared I think on this list, for translating the basic Python keywords to a foreign language? Could somebody please share this link again? I'm failing to find it. As the author of a Python learning IDE i'm considering to adopt some of these measures to help scaffold working knowledge full Python... I appreciate your thoughts and references, Sebastian From andre.roberge at gmail.com Thu Aug 17 12:36:28 2017 From: andre.roberge at gmail.com (Andre Roberge) Date: Thu, 17 Aug 2017 13:36:28 -0300 Subject: [Edu-sig] Localized keywords library for learning Python In-Reply-To: <21fed7be-2352-f59f-075c-81777f2b67c5@fuentelibre.org> References: <21fed7be-2352-f59f-075c-81777f2b67c5@fuentelibre.org> Message-ID: On Thu, Aug 17, 2017 at 1:17 PM, Sebastian Silva wrote: > Hi! > > I enjoy teaching Python to kids and have just been reading Andr? > Roberg?'s wonderful Reeborg tool and documentation and have appreciated > two details on his approach to Python: > > The introduction of "repeat :" keyword: > > http://reeborg.ca/docs/en/basics/repeat.html > > And the availability of statements in french: > > > http://reeborg.ca/docs/en/basics/library.html#reeborg- > can-understand-french Thank you for your kind words. > > > This reminded me of a library that was shared I think on this list, for > translating the basic Python keywords to a foreign language? Could > somebody please share this link again? I'm failing to find it. > > I'm not aware of anyone else posting on this site ... perhaps you were referring to https://mail.python.org/pipermail/edu-sig/2017-April/011662.html If so, the new repository is https://github.com/aroberge/experimental The example module to translate (some) of the keywords into French is https://github.com/aroberge/experimental/blob/master/experimental/transformers/french_syntax.py Let me know if you need help to adapt it. Cheers, Andr? P.S. I'm in the middle of writing a "Teacher's guide" to Reeborg's world which will possibly give other examples of useful strategies tools, in addition to using repeat. If you wish to contribute a version of the robot instructions into your own language (Spanish?) for Reeborg's World, I would gladly add it! ;-) > As the author of a Python learning IDE i'm considering to adopt some of > these measures to help scaffold working knowledge full Python... > > I appreciate your thoughts and references, > > Sebastian > > > > _______________________________________________ > 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 sebastian at fuentelibre.org Thu Aug 17 12:57:27 2017 From: sebastian at fuentelibre.org (Sebastian Silva) Date: Thu, 17 Aug 2017 11:57:27 -0500 Subject: [Edu-sig] Localized keywords library for learning Python In-Reply-To: References: <21fed7be-2352-f59f-075c-81777f2b67c5@fuentelibre.org> Message-ID: <68925135-ce70-e159-d59b-3ff12a9c3f36@fuentelibre.org> On 17/08/17 11:36, Andre Roberge wrote: > On Thu, Aug 17, 2017 at 1:17 PM, Sebastian Silva > > wrote: > > Hi! > > I enjoy teaching Python to kids and have just been reading Andr? > Roberg?'s wonderful Reeborg tool and documentation and have > appreciated > two details on his approach to Python: > > The introduction of "repeat :" keyword: > > http://reeborg.ca/docs/en/basics/repeat.html > > > And the availability of statements in french: > > > http://reeborg.ca/docs/en/basics/library.html#reeborg-can-understand-french > > > > Thank you for your kind words. > > > This reminded me of a library that was shared I think on this > list, for > translating the basic Python keywords to a foreign language? Could > somebody please share this link again? I'm failing to find it. > > > I'm not aware of anyone else posting on this site ... perhaps you were > referring > to https://mail.python.org/pipermail/edu-sig/2017-April/011662.html > This is _exactly_ what I was looking for and not finding! THANK YOU Turns out the library by the same author that inspired the question in the first place ;-) I appreciate reeborg and currently wasn't considering using it because I was looking for a production-capable coding experience, but your post about reeborg certainly has inspired a lot of thought in me about how to simplify the earliest experiences. Recently this research opened my mind about leapfrogging English as a barrier to entry for computational thinking altogether: https://mako.cc/copyrighteous/scratch-localization-and-learning I'm working with children with almost zero exposure to English and since we are already using transpilers... I think it could help. `repeat` - I think this is great, to be able to teach loops before teaching variables... :-) There should be a PEP about it. > P.S. I'm in the middle of writing a "Teacher's guide" to Reeborg's > world which will possibly give other examples of useful strategies > tools, in addition to using repeat. > If you wish to contribute a version of the robot instructions into > your own language (Spanish?) for Reeborg's World, I would gladly add > it! ;-) I'll be looking forward to contribute and cross-pollinate with my own libre entry into the edu-ide field, Jappy: https://github.com/somosazucar/Jappy Regards, Sebastian -------------- next part -------------- An HTML attachment was scrubbed... URL: From andre.roberge at gmail.com Thu Aug 17 13:12:56 2017 From: andre.roberge at gmail.com (Andre Roberge) Date: Thu, 17 Aug 2017 14:12:56 -0300 Subject: [Edu-sig] Localized keywords library for learning Python In-Reply-To: <68925135-ce70-e159-d59b-3ff12a9c3f36@fuentelibre.org> References: <21fed7be-2352-f59f-075c-81777f2b67c5@fuentelibre.org> <68925135-ce70-e159-d59b-3ff12a9c3f36@fuentelibre.org> Message-ID: On Thu, Aug 17, 2017 at 1:57 PM, Sebastian Silva wrote: > On 17/08/17 11:36, Andre Roberge wrote: > > ... > > > I appreciate reeborg and currently wasn't considering using it because I > was looking for a production-capable coding experience, but your post about > reeborg certainly has inspired a lot of thought in me about how to simplify > the earliest experiences. > Reeborg's world is powered by Brython, which aims to be fully Python 3 compatible. Users can save their own programs locally (i.e. on their own computers). I plan to show how to write at least one game using it. It includes access to most of Python's standard library. I definitely consider it a tool enabling users to write their own programs, going well beyond the little robot world. > > Recently this research opened my mind about leapfrogging English as a > barrier to entry for computational thinking altogether: > https://mako.cc/copyrighteous/scratch-localization-and-learning > That article talks about using visualized Block-based programming environments, with localization (human language) included. Reeborg's World includes this already, for three languages (English, French and Korean). I have decided to limit the full localization to the blocks only, so that students can 1) use this as a bridge, if needed, and 2) be able to learn a "real" programming language as soon as possible, without having to "unlearn" non-existent keywords when leaving the visual block environment ... with repeat being the only exception to this rule. > > I'm working with children with almost zero exposure to English and since > we are already using transpilers... I think it could help. > I completely agree. > `repeat` - I think this is great, to be able to teach loops before > teaching variables... :-) There should be a PEP about it. > I suggested the idea on the Python-ideas list and was quickly shut down by everyone , including Guido van Rossum himself. So, unfortunately, there will not be a PEP about this. > > > > I'll be looking forward to contribute and cross-pollinate with my own > libre entry into the edu-ide field, Jappy: https://github.com/ > somosazucar/Jappy > It looks very interesting. From my own experience with Reeborg's World (and its desktop precursor, rur-ple), I would suggest that having it running on some dedicated website, instead of requiring users to download it to try it themselves, might be useful in having more people trying it out. Regards, Andr? > > > Regards, > Sebastian > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Olivier.Michel at cyberbotics.com Wed Aug 23 05:29:18 2017 From: Olivier.Michel at cyberbotics.com (Olivier Michel) Date: Wed, 23 Aug 2017 11:29:18 +0200 Subject: [Edu-sig] Announcing robotbenchmark.net Message-ID: <9f732ad3-5644-6d68-6de4-e5275a200e73@cyberbotics.com> We just launched https://robotbenchmark.net to allow everyone to program simulated robots online with Python. Video announcement: https://www.youtube.com/watch?v=S0k0cJb_Mus Robotbenchmark offers a series of robot Python programming challenges that address various topics across a wide range of difficulty levels, from middle school to PhD. Users don't need to install any software on their computer, cloud-based 3D robotics simulations run on a web page. They can learn programming by writing Python code to control robot behavior. The performance achieved by users is recorded and displayed online, so that they can challenge their friends and show off their skills at robot programming on social networks. Everything is designed to be extremely easy-to-use, runs on any computer, any web browser, and is totally free of charge. I believe his tool has a great potential for teaching Python, as 3D simulated robots are very appealing to students. We would love to receive your feedback at info at robotbenchmark.net. Cheers, -Olivier From kirby.urner at gmail.com Wed Aug 23 14:32:23 2017 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 23 Aug 2017 11:32:23 -0700 Subject: [Edu-sig] Sample letter from summer camp instructor parents / guardians Message-ID: I currently have six campers in my current class. We meet for three hours a day for five days. They're junior high to high school age, grades 8 - 11. The email below gives the flavor what how we're organized. Coding with Kids has spread to several US cities. The instructor has quite a bit of latitude. We're currently using Codesters and in some cases Cloud9. In the mornings I have a younger group and we do MIT Scratch for three hours. A lot of students start in Scratch and continue in Python. When it comes to HTML + CSS + JS, we move to codepen.io That's a snapshot of the state of the art in Greater Portland, when it comes to augmenting established school programs, both after school and during summer vacation time. Kirby ---------- Forwarded message ---------- From: Coding with Kids Date: Wed, Aug 23, 2017 at 11:25 AM Subject: Greetings from summer camp instructor, Python class 2017 Summer Lake Oswego - BiC 16318 Bryant Rd Lake Oswego OR 97035 Greetings all -- Thank you for sharing your camper with our group. We're using Codesters, modeled after MIT Scratch, to introduce the basics of Python3, a general purpose computer language used a lot by professionals in many walks of life, not just by computer programmers. Mostly they focus on their own projects, getting individualized assistance from myself or from peers, thereby gradually building up familiarity with this sprite-based development platform, conducive to designing simple games and telling stories. Sprite objects are like puppets or comic book figures and come with methods for moving, sharing talk balloons, detecting collisions with others. Encourage your camper to show you what it's like, or come a little early on Friday for an opportunity to see what they've been working on. I punctuate their hands-on experience with projected presentations about what Python looks like outside of Codesters. Yesterday, for example, we took a look at the Anaconda distribution of Python, which comes with its own code editor (Spyder) and Jupyter Notebooks, a system for creating web pages that double as interactive Python worksheets. I want them to have more context, a better understanding of Python's role in the real world. I have Juper Notebooks saved on Github which they're welcome to study at their leisure: https://github.com/4dsolutions/Python5/ Today I will show them Google Blockly and Repl.it, further expanding their horizons. Blockly is a Scratch-like block language which automatically translates the jigsaw-puzzle looking programs into other languages, including Python. Repl.it (repl = read, evaluate, print, loop per Wikipedia) provides a free Python interpreter in the cloud, once a user has created login credentials. I've got several examples in my personal stash: https://repl.it/@kurner Our goal is to make programming a fun, recreational activity, engaging as an end in itself, so that moving up the learning curve does not seem an onerous chore. If your camper has more specific goals regarding Python in particular, please encourage them to talk with me, or feel free to send me email. Please feel free to share this communication with them. I've used Python for many years and teach it to adults from many walks of life. What's great about Python is it's an elegant implementation of the object oriented way of thinking, and therefore smooths the path to gaining proficiency with other object oriented languages in addition to Python, such as Ruby, Java and JavaScript. Kirby Urner 2017 Summer kirby.urner at codingwithkids.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Fri Aug 25 15:48:35 2017 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 25 Aug 2017 12:48:35 -0700 Subject: [Edu-sig] Sample letter from summer camp instructor parents / guardians In-Reply-To: References: Message-ID: Here's the follow-up I sent out, giving more of a snapshot of the state of the art at least in our region. Codesters is modeled after Scratch and as such feels less "grownup". Some teenagers are chomping at the bit for a more "adult" experience. At Coding with Kids, we've gotten as far as offering Cloud9 (c9.io) for Python trainees. In actual fact, there's more to know than Python in using such a cloud service. Many have no prior experience with bash, for example. If we dive into the Cloud9 provided example web app, then we're right away into HTML and the template stuff too. Python does not live in a vacuum. "Playing well with others" is a critical to survival, not just a "nice feature". Kirby --------- Forwarded message ---------- From: Coding with Kids Date: Thu, Aug 24, 2017 at 2:48 PM Subject: Greetings again, from Python summer camp.... To: kirby.urner at gmail.com Greetings again... Today we shifted gears and for those interested, a steeper learning path through Cloud9 (c9.io) was explored. Every student has lasting login credentials to this cloud service, which lets you set up Python as a web serving application, plus provides an environment for running Python code off the web, in either Python 2 or Python 3. Cloud9's example web application (what we started with) is geared to a book: Learn Python the Hard Way. I gave students a way to explore / access this book they might not find using Google. Go to my website: thekirbster.pythonanywhere.com and choose More Links to Fun Places . It's the 2nd to last link. Developing websites requires several skills sets. *Coding with Kids* has a web development class with a focus on the "front end" i.e. HTML + CSS. We use codepen.io as our cloud-based sandbox. In the meantime, I was pleased to be able to assist those choosing to explore this steeper path. There's still lots to be learned from Codesters though, so I was not insistent that everyone switch to Cloud9. Remember, those login credentials will continue to work. Feel free to show up a little early tomorrow, to find out more about what your camper has been up to. Kirby Urner Lake Oswego - Best in Class 2017 Summer -------------- next part -------------- An HTML attachment was scrubbed... URL: