The Official Raspberry Filling : Call for Contributions

Drop in for a chat and a cup of tea

62 posts   Page 1 of 3   1, 2, 3
by CommanderCoder » Sun Apr 22, 2012 7:10 pm
Hello Raspberry Pi forum members.

Over the past few months the Computing At Schools working group (CAS) has been working on a user manual to be ready for the educational launch.  The manual is destined to answer that question to be asked by many Raspberry Pi owners; "What do I do with it?"  The manual will be right there on the desktop when the Raspberry Pi boots up.  Thus, the owner won’t need an internet connection to get started.

The manual will answer the question with a series of “step-by-step” guides and "type-in and run" experiments in computer science. CAS has agreed with the Raspberry Pi foundation that the following languages will be available on the educational launch SD card in a few months. There are hundreds of other languages and systems but these will be enough to give Raspberry Pi users an experience of computer science.

* Scratch
* Python 3 (including PyGame, PyQt4 and similar libraries)
* Greenfoot
* Geogebra
* Java
* and C/C++ (naturally)

We have created a series of experiments for the owners to try out but we're hungry for more.  This is a call to the Raspberry Pi development community for your contribution to the educational manual.

As in the good old days of magazine listings, we are looking for short programs followed by a description of how they do what they do and preferably how it relates to a computing concept. If you'd like to contribute you can contact me at raspberryfilling@live.com.  Ideally, point me at a website which has your experiment, add it to the Wiki Manual section, or simply send a zip or tarball containing the program and readme. Please don't send links to material you don't own. We want your contribution, not someone else.

Thanks in advance for any contributions and any we use in the manual will be properly attributed to you. We can't promise we'll use all the contributions, and I've seen a lot of them already mentioned on the forums and the wiki, but we'll try to collate the most appropriate for teaching computer science to the Raspberry Pi owners.

Even if you don't want to contribute anything to the manual you can follow our progress on Twitter @rasp_filling, and our Facebook page.
Posts: 20
Joined: Tue Aug 30, 2011 7:17 am
by Lerc » Sun Apr 22, 2012 8:17 pm
I have been working on an introduction to programming Wiki aimed at younger people.

http://fingswotidun.com/code/

I have written a MediaWiki plugin that lets you edit and run JavaScript from within the wiki (inside a web worker for isolation).

Feel free to use any, all, or none of the content.

I don't have a R-Pi so I'm not sure how well the script runs on one.  I would appreciate it if someone could try it out.    Graphics acceleration and a browser that uses it would do most of the heavy lifting so I imagine it would be quite slow at present, but potential to speed up considerably.
Posts: 14
Joined: Sun Jul 31, 2011 6:04 am
by Lerc » Sun Apr 22, 2012 9:14 pm
Something else worth a look is the DCPU-16.  It gives an excellent look into another side of computer programming.

For those who have not encountered it (it is, of course less than a month old).   It is a 16 bit CPU specification using 64k Words (128k bytes) of ram, with a 128x96 display.   It was designed by Notch for use in an upcoming game, but since the specification has been released an extraordinary community has built up around the architecture.

If anyone wants a long winded explanation why assembly is suitable language for beginners, I'll do my pitch upon request :-)

The JavaScript emulators  like at  http://0x10co.de/xyasu may be a bit slow for on PI emulation but a native version would be more than capable.

If you want something more fancy,   I made an extension with sprites and wrote pacman.

http://fingswotidun.com/dcpu16/pac.html
Posts: 14
Joined: Sun Jul 31, 2011 6:04 am
by alecthegeek » Sun Apr 22, 2012 11:15 pm
What assumptions can we make when writing a tutorial? e.g. will X be started, what text editor,.....
--
Alec Clews <alec.clews@gmail.com>
http://about.me/alecthegeek
Posts: 38
Joined: Mon Aug 08, 2011 3:11 am
Location: Melbourne, Australia
by holdenweb » Sun Apr 22, 2012 11:19 pm
Hi. I've been teaching Python for over ten years now, and as the chairman of the Python Software Foundation I am very keen to help teachers get up to speed with the language.

As a result I have decided to release my "Introduction to Python" class slides and exercise manual (with example programs and solutions) under a Creative Commons license that will allow their non-commercial use at no charge.

Would this be a suitable contribution?

regards
Steve
Posts: 6
Joined: Thu Mar 29, 2012 8:57 am
by CommanderCoder » Mon Apr 23, 2012 12:11 pm
holdenweb said:


Hi. I've been teaching Python for over ten years now, and as the chairman of the Python Software Foundation I am very keen to help teachers get up to speed with the language.

As a result I have decided to release my "Introduction to Python" class slides and exercise manual (with example programs and solutions) under a Creative Commons license that will allow their non-commercial use at no charge.

Would this be a suitable contribution?

regards
Steve



That would be a great contribution and one which would be very useful to teachers. Send me more details of where I can find the slides when you are ready.

I would suspect that all contributions to the manual would have to come under a Creative Commons license to avoid any problems in the future.  We haven't worked out the nitty gritty but safe to say it would need to be "Open Source".
Posts: 20
Joined: Tue Aug 30, 2011 7:17 am
by CommanderCoder » Mon Apr 23, 2012 12:14 pm
alecthegeek said:


What assumptions can we make when writing a tutorial? e.g. will X be started, what text editor,.....



You can safely assume that X will have started up and the user will be presented with a desktop when the SD card boots.  There is likely be a 'quick start' panel which will bring up Scratch, Python IDE, Greenfoot, Java IDE, and so on, although the actual IDE/Text Editors for Python, Java, C are still open for change.
Posts: 20
Joined: Tue Aug 30, 2011 7:17 am
by rherrera72 » Mon Apr 23, 2012 2:34 pm
Please, Please, Please do not forget the third world, Translation, Translation Translation, it is not enough manuals only in english, I like to pronounce as a volunteer to translate any manual to Spanish, I am electronics engineer and IT engineer (In third world you must study a lot) with experience with 8, 16 and 32 bits embedded systems, also have my own business yottabi.com, we have products in Ruby, PHP and Python, and my wife is an english teacher.

Do not forget us, please.
Posts: 4
Joined: Wed Mar 28, 2012 1:19 am
by passstab » Mon Apr 23, 2012 2:53 pm
how about a section for system administration?

something that would introduce simple concepts such as

filesystem structures, users/permissions, installing programs and bash
Posts: 1
Joined: Mon Apr 23, 2012 1:31 pm
by Jaseman » Mon Apr 23, 2012 4:35 pm
Our community based magazine 'The MagPi' pretty much has the same goals.  We would be more than happy to collaborate with you, particularly if our magazine got a mention in the manual.

What I am unclear about is whether the manual is an ever-changing document?  Or it will be written once and then that's it?

Our magazine issue remains in draft for a month, whilst contributors add to it, and then gets closed off at the end of the month, and we begin the next one.

The first issue will be finalized at the end of April.

We would even consider some kind of merger, providing that the community still has democratic control over the content - We are a 'power to the people' kind of operation, however we do have standards, and what I have found so far, is that we soon get a nudge from the forums if we start to go astray with the content.

We would also ALWAYS remove content at the request of the Raspberry Pi foundation.

Regards,

Jason.
Posts: 302
Joined: Tue Jan 10, 2012 12:59 pm
by holdenweb » Mon Apr 23, 2012 4:47 pm
Raspberry Filling said:


holdenweb said:


[Open sourcing PYthon notes]


That would be a great contribution and one which would be very useful to teachers. Send me more details of where I can find the slides when you are ready.

I would suspect that all contributions to the manual would have to come under a Creative Commons license to avoid any problems in the future.  We haven't worked out the nitty gritty but safe to say it would need to be "Open Source".


I only just learned that the decision has (apparently) been taken to go with Python 3. That's going to mean a bit of re-work, which will tehrefore inevitably delay things as I move towards a busy period.

The current starting-point is available at

    http://holdenweb.com/files/Int.....oNotes.pdf

    http://holdenweb.com/files/Exercises.pdf

if you'd like to take a look.



regards

 Steve

Posts: 6
Joined: Thu Mar 29, 2012 8:57 am
by holdenweb » Mon Apr 23, 2012 4:51 pm
rherrera72 said:


Please, Please, Please do not forget the third world, Translation, Translation Translation, it is not enough manuals only in english, I like to pronounce as a volunteer to translate any manual to Spanish ... Do not forget us, please.


I already have a volunteer to translate the notes into Brazilian Portuguese, and will be happy to accept further offers of such assistance. I imagine the same will be true of the RasPi Foundation.
Posts: 6
Joined: Thu Mar 29, 2012 8:57 am
by Mjiig » Mon Apr 23, 2012 5:22 pm
Can I suggest that for each language there be at least one (ideally several) programs that do something REAL. As in, something I might as a genuine user go to a website and download because I wanted to use them not because they were an interesting looking project. The sense of satisfaction from reading and writing this kind of code is vastly greater than that of writing code that was entirely academic. Examples I can think of off the top of my head include games that are actually fun and encryption programs (which are a good way to focus on the maths).

These are slightly more high level I think than you're looking for but I think are very useful. If people agree with me at all I'll probably knock together an RC4 program soon as that's a very simple encryption algorithm to understand in concept and code, but secure enough to be useful (if not ideal).

I've actually been thinking about creating a programming "quest" that gives you one very simple programming problem to start with after a basic introduction (modify this program so that it prints out the product not the sum), and the output of that program allows you to unlock later problems. This goes on, creating a chain learning effect. Once you get to a certain level the problem could be to write an implementation of a simple decryption program that's needed to unlock later problems. This is still all very much just random thoughts right now and will probably not happen at least until this summer when I've got GCSEs well out of the way and another programming project properly started. If I do do this it will unfortunately have to be in C rather than python or something similar, but I actually now think that for people who want to take CS seriously, C is a much better starting language than things like ruby (where I started) or python.

If anyone wants to do this in the mean time who actually has a Pi available to them, I'd ask if you'd be kind enough to let me know so that I can follow the project and hopefully throw some code it's way.

Thanks

Angus
Posts: 21
Joined: Mon Dec 05, 2011 8:44 pm
by psergiu » Mon Apr 23, 2012 6:23 pm
holdenweb said:


rherrera72 said:


Please, Please, Please do not forget the third world, Translation, Translation Translation, it is not enough manuals only in english, I like to pronounce as a volunteer to translate any manual to Spanish ... Do not forget us, please.


I already have a volunteer to translate the notes into Brazilian Portuguese, and will be happy to accept further offers of such assistance. I imagine the same will be true of the RasPi Foundation.


I volunteer for translation to Romanian.
User avatar
Posts: 212
Joined: Mon Nov 07, 2011 8:36 am
Location: Bucharest, Romania
by rherrera72 » Mon Apr 23, 2012 7:05 pm
psergiu said:


holdenweb said:


rherrera72 said:


Please, Please, Please do not forget the third world, Translation, Translation Translation, it is not enough manuals only in english, I like to pronounce as a volunteer to translate any manual to Spanish ... Do not forget us, please.


I already have a volunteer to translate the notes into Brazilian Portuguese, and will be happy to accept further offers of such assistance. I imagine the same will be true of the RasPi Foundation.


I volunteer for translation to Romanian.



Bravo, ese es el espíritu.
Posts: 4
Joined: Wed Mar 28, 2012 1:19 am
by morphy_richards » Mon Apr 23, 2012 7:38 pm
I"d like to see something that teaches networking from first principles. It would be really interesting to learn to use the pi to make a kind of ad-hoc mesh network that can be either wired or wireless, that could allow information to be communicated from peer to peer until it reaches a specified audience(s). And perhaps that could be robust by allowing pieces of information to be "cached" until either a wired or wireless connection is established again if it"s lost for any reason.

I think something like that would not just teach really sound computing principles but would/could also be of real use to people in certain parts of the world where communicating through "norma"l channels is either repressed or is very difficult because of lack of infrastructure. (I believe the One Laptop Per Child organisation may have done something very similar to this)

There could also be related projects into encryption as well as sustainable self generated power and also into methods of radio data transmission.

I don’t think it would be too hard to set up the basic network side of this but I wouldn’t have any opportunities to work on something like myself for a couple of months. Tthe idea is out there for grabs if anyone else is interested in the meantime.
User avatar
Posts: 874
Joined: Mon Mar 05, 2012 3:26 pm
Location: London
by morphy_richards » Mon Apr 23, 2012 8:12 pm
As another idea to start… make your own toy AM "wifi" transceiver via the GPIO…

Build a legal, low budget, AM transmitter. With some tweaking and modifications this design could be turned to transmitting data via the GPIO, strictly for fun and hands on learning, it would never be 802.11a.
User avatar
Posts: 874
Joined: Mon Mar 05, 2012 3:26 pm
Location: London
by john_god » Tue Apr 24, 2012 2:12 pm
I have developed Math Graphica, a scientific calculator with 2D/3D graphs with animation, simple and double integrals, matrices, system of equations with imaginary numbers, user defined formulas, funtions and variables. The only drawback is that graphs use OpenGL fixed pipeline, not available for the pi, but I'm porting them to OpenGL ES, then they should work.

https://gitorious.org/math-graphica

Also have developed Yuc, a unit converter software, that is fully costumazible so the users can add any unit convertion (if already not avaliable) in a very easy way without any programming skills.

https://gitorious.org/yuc-yet-another-unit-converter

http://soft-ingenium.planetaclix.pt/

I'll be getting one of those 400 Nokia QtonPi boards, so I should be able to test them on pi very soon.
Posts: 2
Joined: Tue Apr 24, 2012 11:58 am
by andy001 » Tue Apr 24, 2012 7:24 pm
Could I ask for some clarity in what you are attempting?

Uk education is split in age groups, I think these are below 5, 5 to 7, 7 to 11, 11 to 16 and 16 to 18. I have been asked if I would recommend the R-Pi for a group of under 5’s as the children trashed their previous laptop! Whilst think that the hardware would be perfect the discussion on educational software seems to be aimed at 14 to 18.

Most schools in the 11 to 16 age range would have a computer department and possibly their own IT manager. This means they will need less help as kids can probably work it all out for themselves (I think Eban has found this out for himself).  The younger the child the more likely the educator will need help with the R-Pi, talk of booting to a menu giving Python 3, C/C++ should be consider advanced user for education purposes.

Can we start by looking at booting to 3 lager friendly icons, perhaps education games, simple programming (Logo? or a story board type) and a web browser?

I think all contributors material should be posted against the age range that it is aimed at. Can R-Pi look at releasing its education software/literature streamed by age range?
Posts: 2
Joined: Thu Feb 02, 2012 8:52 pm
by daviewales » Wed Apr 25, 2012 2:01 am
Mjiig said:


I've actually been thinking about creating a programming "quest" that gives you one very simple programming problem to start with after a basic introduction (modify this program so that it prints out the product not the sum), and the output of that program allows you to unlock later problems. This goes on, creating a chain learning effect. Once you get to a certain level the problem could be to write an implementation of a simple decryption program that's needed to unlock later problems.


I've had similar random thoughts, but I doubt my programming skills would be up to the task. I can see something like this being really really cool. (Imagine a game, where the puzzle to pass to the next level involves writing a program to calculate something... You'd want to make sure that there was a decent amount of gameplay as well, so that it wasn't just code, achievement, code, achievement...) The early problems could probably be solved mentally, so kids understand how their code relates to "the real world"... Then you could progress to problems that would be fairly difficult to calculate by hand. You could have quests, where you explore a world looking for clues. (it doesn't have to be 3D — 2D would suffice) Imagine a 2D dungeon game, where the books/scrolls/scrawled notes you pick up don't magically let you through doors, they just give you instructions that can be put together to make a program that will calculate the answer to a puzzle. (You could have a library, where you could access all the instructions that you'd collected. You'd probably want them to automatically sort themselves into a cohesive collection of topics as you found them.) Using Skyrim style games as a metaphor, the books and notes you find are usable code instructions, and the crafting or enchanting tables are code interpreters or text editors that let you create code to put through interpreters.

Let me know how you go/if you need help with anything. (I only know basic Python, so don't expect me to help you with complicated coding problems... =P)
Posts: 19
Joined: Wed Apr 25, 2012 12:22 am
by antiloquax » Wed Apr 25, 2012 7:17 am
This is a great project. I am keen to write something on Scratch, Python and perhaps Java.

Many young people in the UK already have some experience using Scratch. I think it is a great way to teach the basics of programming without the problems of making typing errors.
Posts: 406
Joined: Sun Nov 20, 2011 11:37 am
by CommanderCoder » Wed Apr 25, 2012 10:38 pm
The user manual isn't aimed at the under 5's I'm afraid.  Neither is the software on it other than what can be done with Scratch.  Our aim is to expose computing and computer science to children as early as possible.  There has to be a certain level of competency in numeracy and literacy before this can happen.

No doubt, other applications for the under 5's will become available from third parties in time and will become part of future distributions or available to download.  In principle it would be great for younger children because it is cheap and plugs into a TV easily but it will require a sturdy case obviously.  Again this provision will take time to arrive from third parties.

I've had a few request to know more about the manual's structure so I'll make a posting on our Facebook page.

http://www.facebook.com/Raspbe.....ry.Filling

Andy001 said:


Could I ask for some clarity in what you are attempting?

Uk education is split in age groups, I think these are below 5, 5 to 7, 7 to 11, 11 to 16 and 16 to 18. I have been asked if I would recommend the R-Pi for a group of under 5’s as the children trashed their previous laptop! Whilst think that the hardware would be perfect the discussion on educational software seems to be aimed at 14 to 18.

Most schools in the 11 to 16 age range would have a computer department and possibly their own IT manager. This means they will need less help as kids can probably work it all out for themselves (I think Eban has found this out for himself).  The younger the child the more likely the educator will need help with the R-Pi, talk of booting to a menu giving Python 3, C/C++ should be consider advanced user for education purposes.

Can we start by looking at booting to 3 lager friendly icons, perhaps education games, simple programming (Logo? or a story board type) and a web browser?

I think all contributors material should be posted against the age range that it is aimed at. Can R-Pi look at releasing its education software/literature streamed by age range?

Posts: 20
Joined: Tue Aug 30, 2011 7:17 am
by alecthegeek » Thu Apr 26, 2012 8:47 pm
Raspberry Filling said:



I've had a few request to know more about the manual's structure so I'll make a posting on our Facebook page.


Not all of us facebook....
--
Alec Clews <alec.clews@gmail.com>
http://about.me/alecthegeek
Posts: 38
Joined: Mon Aug 08, 2011 3:11 am
Location: Melbourne, Australia
by alecthegeek » Thu Apr 26, 2012 10:20 pm
I've started writing course notes on Version Control at http://elinux.org/Version_Control

Please pitch in
--
Alec Clews <alec.clews@gmail.com>
http://about.me/alecthegeek
Posts: 38
Joined: Mon Aug 08, 2011 3:11 am
Location: Melbourne, Australia
by alecthegeek » Thu Apr 26, 2012 11:04 pm
Is there a canonical projet that can be used as a base to develop from? e.g. some version of Python Snakes
--
Alec Clews <alec.clews@gmail.com>
http://about.me/alecthegeek
Posts: 38
Joined: Mon Aug 08, 2011 3:11 am
Location: Melbourne, Australia