[Tutor] Request for newbies :-)

Michael Sparks michaels at rd.bbc.co.uk
Fri Sep 30 23:51:07 CEST 2005

[ This /may/ be very "off-netiquette" for the tutor list. If it is, I
    apologise in advance.  ]

One of the aims of the project I'm working on is that it aims to make writing
programs which are inherently (and potentially) highly parallel/concurrent
easy & safe to work with.

We've tested our hypothesis so far with a pre-university trainee who had very 
little programming experience before joining our team (a little bit of visual 
basic, some Access). During his time with us he learnt python during his 
first week, and did learnt our system in his second week.

In the remainder of his time with us he wrote a highly parallel program that 
simulated a digital TV decoder - using a shakespeare script as the data 
source, and doing things like scene detection, and displayed the script & 
characters using pygame (which was handled by other parts of the system.) 
That was a side project (20% style project if you like) whereas his main 
project he implemented during his short time with us was a system for going 
through an mpeg video, and sending snapshots every few seconds to a client 
running on a mobile phone (using python and our system). (An application of 
this could be browsing PVR content on a mobile).

We've since also had a vacation trainee (who's just completed 2 years of his 
course) join us, and in his 6 weeks with us he learnt python, our system, and 
despite no prior networking knowledge implemented a system for joining 
multicast islands together and adding in reliability on top. (A possible 
application of this is "broadcast" of news over the internet)

It's worth noting that the first trainee had very little experience of
programming, networks, mobiles and so on, and that the second had
no real knowledge of python, networks, concurrency, etc.

The approach we took for teaching the system was to get people to implement
a simple version of the core of the system itself. (After getting them to work 
through "How to think like a computer scientist" the week before).

This implementation was guied by a simple tutorial that is formulated as
a series of guided exercises (Standing, Walking, Talking, Conversing), with
a couple of interludes discussing the implications of the results of the

As a result this is where I come to a request. If there is anyone out there 
who is willing to do the following tutorial/exercises, could they please do 
so at their own pace and when they've done them please get in touch?

    * http://kamaelia.sourceforge.net/MiniAxon/

If you want a holding hand, I'm often on #kamaelia on irc on freenode. In 
order to do the tutorial you need to understand the following concepts:
   * classes, methods, functions, if/elif/else, while, try..except, for..in..,
     generators (yield), lists, dictionaries, tuples. 

If you're not clear on generators, this might be a good way of understanding
what you can do with them :-)

Thanks in advance to anyone willing to give this a go, and to others for their 
patience regarding this message!

Best Regards,

Michael Sparks, Senior R&D Engineer, Digital Media Group
Michael.Sparks at rd.bbc.co.uk, http://kamaelia.sourceforge.net/
British Broadcasting Corporation, Research and Development
Kingswood Warren, Surrey KT20 6NP

This e-mail may contain personal views which are not the views of the BBC.

More information about the Tutor mailing list