Where To Go From Here?
This book attempts to give a beginning programmer the information she needs to develop and publish her own Sugar Activities. It already contains many URL's of websites containing information not covered in the book. This chapter will contain URL's and pointers to still more resources that will be useful to any Sugar developer.
Learning Python
List compiled by Mike Rehner
- Finch Robot Python: http://www.finchrobot.com/software/python
- Google's Python Class: http://code.google.com/edu/languages/google-python-class/
- Guido van Robot home page: http://gvr.sourceforge.net/
- Invent with Python (Computer Games for students age 10+): http://inventwithpython.com/
- Interactive Python Tutorial: http://www.trypython.org/
- Khan Academy Python: http://www.khanacademy.org/#computer-science
- Learn Python (a teacher writes about teaching Python to 8th and 9th graders): http://learnpython.wordpress.com/
- Lego Robotics NXT-Python: http://code.google.com/p/nxt-python/
- Official Python Documentation: http://docs.python.org/
- On-Line Python Learning: http://cscircles.cemc.uwaterloo.ca/
- On-Line Python Tutor: http://people.csail.mit.edu/pgbovine/python/
- Panda 3D (3D Game Framework): http://www.panda3d.org/
- Python Cloud IDE (web based interpretor): http://pythonfiddle.com/
- Python Games Resources: http://wiki.python.org/moin/PythonGames
- Python Tutorials for Kids 8+: http://python4kids.wordpress.com/
- Snake Wrangling for Kids (downloadable book): http://www.briggs.net.nz/snake-wrangling-for-kids.html
- Udacity- on line learning where most classes are in Python: http://www.udacity.com/
PyGTK Book by Peter Gill
Much of the work you will do writing Activities involves PyGTK. Peter Gill is working on a PyGTK book that covers the subject in great detail. You can download the book here:
OLPC Austria Activity Handbook
This is the first attempt to write a manual on creating Sugar Activities. It is aimed at experienced programmers and covers topics that this book does not, like how to write Activities using languages other than Python. The book was written in 2008 and as a result some of the advice is a bit dated. It's still an excellent source of information. The authors are Christoph Derndorfer and Daniel Jahre.
- http://wiki.sugarlabs.org/images/5/51/Activity_Handbook_200805_online.pdf
- http://www.olpcaustria.org
The Sugar Almanac
This is a series of Wiki articles covering the Sugar API (Application Programming Interface). It's a good source of information that I have referred to many times.
Sugar Labs Mailing Lists
Sugar Labs has several email mailing lists that might be worth subscribing to. The ones I follow most are the IAEP (It's An Education Proiject) list and Sugar-Devel. Sugar-Devel is a good place to ask questions about developing Sugar Activities and learn about the latest work being done on Sugar itself. IAEP is a good place to get ideas on what kinds of Activities teachers and students want and to get feedback on your own Activities. Anyone can sign up to these mailing lists here:
PyDoc
PyDoc is a utility for viewing documentation generated from the Python libraries on your computer, including the Sugar libraries. To run it use this command from a terminal:
pydoc -p 1234
This command will not finish. It runs a kind of web server on your system where 1234 is a port number. You can access the website it serves at http://localhost:1234. There is nothing magic about the number 1234. You can use any number you like.
The website lets you follow links to documentation on all the Python libraries you have installed. When you are done browsing the documentation you can stop the pydoc command bt returning to the terminal and hitting Ctrl-C (hold down the Ctrl key and hit the "c" key).
Flavio Danesse
Flavio is the founder of Python Joven, a club for young Python developers who have written many Sugar Activities. His websites are a terrific source of information for anyone who wants to create Sugar Activities. The websites are in Spanish but support translation through Google Translate. I found the English translation to be quite readable.