using python to teach scripting in schools & unis
enrike
enrike at ixi-software.net
Wed Jul 13 21:36:45 UTC 2005
hi
My name is Enrike Hurtado, I am part of an independent HCI research
project called ixi (www.ixi-software.net). I am writing regarding
the Edubuntu GNU/Linux distribution. A friend of mine from Zurich
(Philiph Schroeder) who has attended
the Edubuntu summit pointed suggested that you might be
interested on a software project i am developing. I wrote Jane and she
pointed me into this list.
Let me explain it briefly.
For the last year I have been developing a Python based framework to
code 2D graphic multimedia applications/games/prototypes. It is based on
PyOpenGL but also uses other libraries such as PIL, WxPython and Pygame.
We started developing this as a tool to produce prototypes for our own
use in the ixi project. However being over the last couple of years more
and more involved on teaching we thought this could be a great tool to
teach programming multimedia and design students. This is why we have
been taking
care of writing documentation and constructing it so that it can be used
to teach by programming graphics. Our experience suggest that for some
people it is easier to understand and to engage with programming if they
can 'see' what the code is doing, like for example a ball bouncing
against the edges of a window.
In the past we have been using propietary software to develop prototypes
and to teach programming, mainly we used Macromedia Director and Flash.
But we
reached a point where we saw the need to move on into free software to
be able to access a more flexible tool. For this took two directions:
Processing (java based, from MIT) and Python+libraries. I am responsible
for this second branch within ixi.
We thought that the current tools available in Python were too much
focused on either specificly games (like pygame) or application development
(wxpython, pythoncard) and that we had the need for something more 'in
between' were multimedia elements such as fast graphics, video, sound,
etc... could be combined with GUI elements such as import dialogues,
pulldown menus, etc... So we decided to create our own framework based
on several libraries such as PyopenGL and wxPython and/or Pygame.
Thanks to a couple of research grants and the technical support of a
university in UK, I could expend time over the current year developing
this idea and at the moment we just released the 0.2.5 release of our
framework called Mirra. It is available for download from
http://www.ixi-software.net/content/body_software_mirra.html
and it is listed on the Python software repository at python.org
In ixi we are two people and we are both currently involved on PhD
studies in two UK universities. As part of ixi we give several workshops
per year where we introduce students to tools to program with graphics
and sound (Pure Data, SuperCollider, Processing, Python, Director,
Flash). For the last year we have been using Python to teach students
but we will be using Mirra as we believe it can be a very nice tool to
learn programing by manipulating graphics.
When we saw that you include drPython, pythoncard and pygame we thought
that you might be interested on Mirra. I am not sure that it has reached
the development point to be intereting enough for you but maybe in few
months it will be as it is evolving pretty fast.
As for the future, I will be PhD student for the next 3 years at least
and Mirra is a central point in my research as all prototypes will be
built using it, so I have plan to develop to much further. Hopefuly soon
some other people might join the development and this would speed up the
process and quality of the programming/structure/documentation.
Technically I guess the code is far from beautiful but it does work and
not being myself a trained programer (i studied Fine Arts and Design for
Interactive Media) I am quite happy with how far I got and slowly keep
improving the architecture. There is a big 'to do' list that includes
incorporating some basic sound and MIDI support as well as video. So far
and instead of MIDI we decided to focus on OSC. We created a OSC module
(Open Sound Control, more info at
http://www.cnmat.berkeley.edu/OpenSoundControl/) that allows Mirra to
comunicate to music packages such as Supercollider, MAX/MSP or Pure
Data. These applications are currently teached and used in many
multimedia MA programmes. The idea is to cover a wide range of
posibilities, from a game design to an artistic audiovisual installation
or simply teaching basics of OOP to BA students.
I hope this has been interesting for you. If you need any kind of info
do not hesitate to contact me.
best,
--
enrike
www.ixi-software.net
More information about the edubuntu-devel
mailing list