Hi Folks,
Happy new year everyone!
First post for me to this group... here's hoping it's a good one. ;-)
We're getting close to a version 1.0 of MicroPython for the BBC's
micro:bit device (a small programmable device that'll be given out to
the UK's 11 year olds later this year - that's around 1 million
devices). You can learn more about the project here:
http://ntoll.org/article/story-micropython-on-microbit
Damien George (the creator of MicroPython) has really delivered on this
and demonstrated what a gifted developer he is. We've also been lucky to
have help from a small band of talented developers who have contributed
some really great work.
But that's not all!
Over the autumn I visited lots of UK based Python user groups and
teacher led events (mainly CAS related) to show people the work that has
been done so far and so we can get feedback from teachers.
The bottom line is that we need a *simple* and easy to set-up editor
that exposes MicroPython in the best possible way (while the official
web-based "TouchDevelop" is great, it doesn't allow you to automatically
flash the device, doesn't include a REPL connection for live coding and
requires that you're always connected to the internet). Since December
I've been working on an alternative solution, called "Mu". It's almost
feature complete while still being a work in progress. Check out this
video for the current state of affairs:
https://www.youtube.com/watch?v=zmOxOusMvjo
We need testers for this! If you're a teacher, programmer or developer
I'd love to hear from you for help, feedback and bug reporting. You'll
get to use the editor and I'll "loan" you a micro:bit (although there
will be some caveats that apply because of BBC bureaucracy). If you're
interested drop me a line. It's definitely a work in progress, but
progress is fast.
My autumnal research demonstrated that we also needed resources. To this
end I've been running the micro-world-tour ~ an international community
of Python developers have been building and sharing cool stuff that uses
MicroPython on the micro:bit. Have a read here, I especially love the
robots: http://microworldtour.github.io/
We also realised that teachers, developers and kids will need some easy
way to share micro:bit output. With the help of the amazingly talented
designer, Steve Hawkes I've done two things:
1) A very Wallace and Grommit "micro:bit-o-matic" hosted here:
http://pycomic.github.io/microbit.html
This lets you easily create and share simulations of the *outputs" from
a micro:bit for demonstrative purposes (note - THIS IS NOT A FULL
SIMULATOR - rather, it's a quick JavaScript hack so people can create,
share and embed demos of micro:bit-y things).
2) We also had a batshit crazy idea to create a fun user-generated
PyComic that can be included in educational resources.
We want our resources to appeal to the 11yo target age group. So those
with more of an affinity with visual rather than verbal instructions are
catered for, we've decided to create some of our resources as comics.
Our comics will feature "Yellow" and "Blue", the Python snakes..! (Yes,
we've had approval from the PSF's trademark committee to use the
modified snakes).
Check out a proof of concept here (apologies to Guido - but it's such a
lovely photograph):
http://pycomic.github.io/?title=Testing%201,%202,%203...&author=@ntoll&bg1=…
Notice how the comic is specified in the URL (it's a static website so
there's no backend and state is stored in the query string). You're
probably asking, "that's a bit of a long URL isn't it?" to which I'd
reply http://bit.ly/ have an API I'm going to use. Again, another work
in progress... ;-)
I'm waiting on some design work from Steve before releasing the "editor"
that'll allow you to create your own comics in a simple and easy to
share way. It's important to note that these comics are not micro:bit
specific - they could be used for any Python related resource and for
comedic effect.
Finally, we need teacher and student focussed resources (i.e. lesson
plans and kid friendly how-tos). We already have developer documentation
as a work in progress here:
http://microbit-micropython.readthedocs.org/en/latest/ If anyone is
interested in helping create these resources I'd love to hear from you.
We have plans afoot to help you generate such things in, once again, an
easy to create and share manner.
As always, comments, constructive critique and ideas are most welcome!
Best wishes,
Nicholas.
Hi Caleb,
Welcome to the list.
We did have some discussions in September & October last year. The main
discussion was about the editor which I understand is work in progress.
This is the contribution I added previously on the installation /
deployment. I'm very happy to contribute to this discussion and towards
any implementation plans. I am going to be very busy the first few
months of 2016, although that won't stop me joining in the discussion.
-- Previous email from 28 Sept 2015 --
> Common feedback from people trying to use Python in education is that
> it can be difficult and confusing to get a system that includes all
> the dependencies they require.
Not many people have contributed to this discussion although arguably I
think this is just as, if not more important than the editor discussion.
Working on my own projects is fairly straight forward as I usually
develop on Linux (which is much easier platform for Python development
than say Windows), my computer is not restricted in anyway and I always
have an internet connection (at least during the development and setup).
However when I have worked with schools then it's not been possible to
install additional packages as the machines are locked down, or because
they are not allowed to connect to the network. So I think this is an
important step forward in making it easier to learn programming in
Python.
I have found on some of my own projects I have had to list a large
number of steps required in installing the pre-requisites that an
educational bundle will help with.
I think it's good to start with the requirements rather than solutions.
From the "must have" list, and my understanding, I was expecting just a
list of modules that could be pre-built and easy installed, but the
highly desired list goes beyond that. I think there could be a real
benefit with those additional features, although I'm not sure how easily
they can be implemented on computers that are "locked down". One thing I
do think we need to consider is how updates to the education bundle can
be managed as no doubt there will be additional modules that need to be
added in future such as when the next super-dooper Raspberry Pi hat
comes out :-)
I think it's worth highlighting some of the issues / difficulties on the
different platforms, I've listed some of my experiences below.
**Windows**
It is harder to install python modules (and software in general) on
Windows as it may be necessary to install using different sources (eg.
binary install files as well as PIP). I think the biggest problem with
Windows is likely to be that they are locked down to prevent software
from being installed (including locking out the teachers in some cases).
I think that having a single installable package which includes the most
popular modules that are used in education would make it easier to give
that as a single install step that can be applied to existing Windows
systems. It could then be presented to the administrator as a single
install client that can be pushed out on the system.
**Linux (excluding Raspberry Pi)**
Although (excluding the Raspberry Pi) Linux is used less in schools than
the other platforms I think it's still useful to at least look at how
the education bundle can be implemented on Linux. I think this could be
useful for colleges and schools looking to re-use some older machines. I
think we are likely to see this considered more in future as teachers
become more adept with Linux based on experience with the Raspberry Pi.
The current PIP system is designed to make it easier to install
software, but it's not quite as straight forward as it should be. It can
be an issue where a computer is locked down to prevent additional
software being installed and support for all packages isn't as easy as
it could be. For example to install pygame for Python 3 on Ubuntu
requires compiling the package and if using PyUSB (to control a USB
device) then that includes dependencies upon Libusb and the package
needs to be manually downloaded and installed using setup.py.
**Raspbian on Raspberry Pi**
Raspbian is already further ahead than some other Linux distributions
with inclusion of pygame for Python 3, although it still has difficulty
with some other packages (such as PyUSB). In some schools the Raspberry
Pis are all being used off-network (due to school policy), so I think it
would be good to get additional packages installed in the NOOBS image so
they are available by default.
**Mac OSX**
Unfortunately I don't have any experience with Mac to be able to comment
on the particular issues, although I expect it will not be too different
from the other platforms in terms of issues.
From: Pythonedu-wg
[mailto:pythonedu-wg-bounces+swatkiss=emea.att.com@python.org] On Behalf
Of Caleb Hattingh
Sent: 06 January 2016 03:57
To: pythonedu-wg(a)python.org
Subject: [Pythonedu-wg] The installation and deployment experience
Hi everyone
I joined this WG only yesterday. I'd like to help, if possible, with the
installation and deployment experience.
- "Installation": whatever needs to happen for a learner to be able to
write code on their device
- "Deployment": whatever needs to happen for a learner to give their
creation to a friend so that the friend can use it on their device.
Is there any other prior, online discussion on these two points that I
could use to catch up on what's already been discussed? I've already
seen the google doc that Carrie Anne set up, for "Python Education
Bundle", here:
https://docs.google.com/document/d/1XZS-piBFsoKbZwnoZZZbmypxMXhz4U0pa0NCZFp…
rgds
Caleb
Hi everyone
I joined this WG only yesterday. I'd like to help, if possible, with the
installation and deployment experience.
- "Installation": whatever needs to happen for a learner to be able to
write code on their device
- "Deployment": whatever needs to happen for a learner to give their
creation to a friend so that the friend can use it on their device.
Is there any other prior, online discussion on these two points that I
could use to catch up on what's already been discussed? I've already seen
the google doc that Carrie Anne set up, for "Python Education Bundle", here:
https://docs.google.com/document/d/1XZS-piBFsoKbZwnoZZZbmypxMXhz4U0pa0NCZFp…
rgds
Caleb