[Edu-sig] Editors/IDEs for teaching

Andre Roberge andre.roberge at gmail.com
Wed Jul 4 12:08:18 EDT 2018


On Wed, Jul 4, 2018 at 12:09 PM Wanjun Zhang <by.wanjun at gmail.com> wrote:

> Hi,
>
> We recently had to pick a beginner-friendly python editor for our Invent
> to Learn summer program. We also teach a lot of Raspberry Pi based Intro to
> Python workshops for kids and adults alike. In addition to editor/IDE,
> there’s another category to consider - specialized education platform - For
> instance, EarSketch <https://en.wikipedia.org/wiki/EarSketch> is a
> programming environment made specifically to teach coding through sound
> mixing.
>
> Over the years we tried Trinket.io, PyCharm Edu, Visual Studio Code, Mu,
> iPythonNotebooks, Earsketch, Processing in Python mode, Thonny, IDLE + some
> I don’t remember.
>
> For us, it’s about prioritizing specific goals for our students and our
> program. For the summer program we are working with FabLab Houston to equip
> students with both maker skills and programming skills. They will learn
> Python with the Raspberry Pi with first the Minecraft Pi api, then sensor
> stuffs with Circuit Python on Adafruit’s Circuit Playground Learning
> Express, then Processing in Python mode to visualize some data with
> neopixels. For Fab Lab our goal is also to 1. train FabLab staff members
> with enough programming skills so they can deliver the Invent to Learn
> program without us, 2. produce open source curriculum from this program for
> other makerspaces.
>
> Ultimately, I think it should be up to the specific teacher to pick out
> features - as programmers we tend to look at specs and numbers, but we must
> also prioritize setting up educators for success - they are the frontline
> workers delivering the service. For instance, trinket.io is our go-to
> because a lot of educator’s don’t have admin access to their computers, so
> web-based editor that is easy to use and specifically made for education is
> great. However we do recognize the value in exposing our students to tools
> that developers use - like PyCharm.
> This is our pro and cons list off of the top of my head for choosing an
> editor for different partners and educators that we work with:
>
> - *Platform* - can we do things in command line on the computer that is
> available to us, whether that’s a raspberry pi, mac, or pc? Trinket.io is
> a great web-based solution if that’s an issue.
>
> - Existing *resources and community* - are there educator resources? Is
> this random IDE made by one person as a marketing exercise? if open source,
> when is the projects' last pull request? The Thonny Editor is awesome
> because there are a lot of high quality curriculum from
> https://projects.raspberrypi.org/ Same goes for Trinket.io.
>
> - Learning Curve for *educator *- If a teacher is teaching this and not a
> developer, are they able to successfully use this tool? Do we expect them
> to learn to use the terminal? Again, Trinket.io is a great starting point.
>
> - Learning Curve for *student *- Does the IDE/Editor have too many
> options? Not enough? What is the cognitive load for the student.
>
> *- Utility for student* - Do we want to provide a real world developer
> experience for our students? Or is our goal to have them build something as
> to inspire. Is this a long term program or a short term project? Do we want
> learners to quickly go through turtles (trinket.io) or be exposed to
> developer tools (pycharm)?
>
> After much consideration, we chose Thonny and also Python mode in the
> Processing IDE for our three week program.
>
> Hope this helps.
>


​Yes, it does help very much.  I like your choice of Thonny + Processing.
And your list of criterion is very good and may be useful to many people on
this list.

/Digression about trinket, and an alternative that I designed

I know that a lot of people like trinket.io.  However, it has some negative
points in my opinion:

1. It uses an implementation of Python 2 - it is not compatible with Python
3. To me, this is almost inexcusable.
2. It is not a completely free, open source solution.

As web based alternative to trinket, I suggest my own site:
http://reeborg.ca/reeborg.html - which does support Python 3 and does not
require users to log in. This has the downside that they cannot save their
code on my site. However, it is possible to load code hosted elsewhere. For
example, one could save some code on https://pastebin.com/ and load it from
there.

For graphics, Reeborg's World is based on using a Karel-like robot instead
of a turtle mode ... BUT, one can (in principle) use turtle graphics on it
-- I just haven't gotten around to incorporating the Brython turtle module
into it.  (It's on my list of things to do. I can bump it up in priority
enough people are interested, willing to test it and provide feedback).

While anyone can run arbitrary programs on it, it is designed to have tasks
that can give feedback to students as to whether or not a given task has
been accomplished.

It also offers the *choice* of using an REPL or a block programming
interface.  Students can do live "pair programming" (with 2 or more people
working on a same program from different computers) - or this can also be
done by a teacher guiding a student at distance.  (For this feature, it
uses Mozilla's TogetherJS - which is not compatible with the block
interface designed by Google.) One can step through the code, examine the
content of variables at every stage, etc.

Because it is open source, anyone can get a copy of it and run it on their
own site.  (Many teachers do this, as their students have limited access to
the Internet.)  There's more that I could mention including an online
python tutorial which I wrote and which is available in 3 languages (with a
4th one in the works), an online texbook (written by someone else) that
uses it, a printed book (published in France by another author) etc., but
this should be enough motivation for anyone interested to have a look at it.

/End of digression



André
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20180704/92d992b2/attachment.html>


More information about the Edu-sig mailing list