1 / 29

Programming for Children

Programming for Children. Edward Mokurai Cherlin Earth Treasury October 28, 2007. Author. Edward Mokurai Cherlin גרשון בן יסעף Эдуард Георгеевич Черлын 장영구/ 張永久 法雲默雷 / धर्ममेघशब्दगर्ज. Experience. Mathematician Peace Corps, Korea Buddhist training, Japan, US, UK

rangle
Télécharger la présentation

Programming for Children

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming for Children • Edward Mokurai Cherlin • Earth Treasury • October 28, 2007

  2. Author • Edward Mokurai Cherlin • גרשון בן יסעף • Эдуард Георгеевич Черлын • 장영구/張永久 • 法雲默雷/धर्ममेघशब्दगर्ज

  3. Experience • Mathematician • Peace Corps, Korea • Buddhist training, Japan, US, UK • Self-taught, Computer Science • High-tech market researcher • Free Software development • Senior Tech Writer • Simputer Evangelist • MBA Student, Presidio SOM • Founder, Earth Treasury

  4. The Children's Cat's Laptop

  5. Origins • Inspired by Simputer from Bangalore • MIT Asian Media Lab • MIT $100 Laptop project • Spun off as non-profit, One Laptop Per Child • Funding from Google, Red Hat, eBay, others • Design help from MIT, Google, Red Hat, AMD, Quanta, Free Software community, others

  6. One Laptop Per Child • Education program, not laptop program • Designed to meet stringent requirements of poor children • Not dependent on electric system • Usable by illiterates • No moving parts • Extremely rugged, extremely green

  7. What We Need • For each language • Text-to-speech • Speech recognition • Content • For each standard school subject • Domain-specific software; the tools of the trade • Free textbooks integrated with software

  8. Content • Schools not on Internet will have local copy of Wikipedia in English and local languages. • Children's books • Literature and History • Math and Science • Selection of other freely licensed materials

  9. Extra Content • Earth Treasury proposes to link schools with laptops, and teach the children how to go into business together. • Genuine Free Market Economics, and how to get it • Business skills • Dealing with governments • Trade law • etc.

  10. Hardware • No moving parts; flash storage • 3 USB 2, sound, SD card slot • Screen rotates to tablet mode • Camera built in; microscope attachment • Wireless mesh networking • Daylight readable screen, 1200 x 900 • Extremely low power

  11. Software • Red Hat Fedora Rawhide 7 Linux • Sugar User Interface • Activities designed for children • Smalltalk, Python, Perl, Forth, other languages • SCIM (Smart Common Input Method)‏ • Pango and Cairo (Unicode screen and printer rendering)‏

  12. Marketing • Quanta requires orders for 5 million units to start manufacturing at $188 • $1 profit per unit for OLPC • Minimum order, 2006: 1 million units @ $189 • Minimum order, 2Q 2007: ¼ million units • Minimum order, 4Q 2007: 100 @ $299 • Someday, retail.

  13. Hot Prospects • Nigeria • Peru • Rwanda • Thailand • Uruguay • Argentina • Brazil • Cambodia • Ethiopia • Libya • Mexico

  14. Initial Languages • Igbo • Kinyarwanda • Portuguese Portuguesa • Spanish Español Castellano • Thai ภาษาไทย • Yorùbá • Amharic አማርኛ • Arabic عربي • Cambodian ភាសាខ្មែរ • English • French Français • Hausa هَوْسَ

  15. Linux Localization • Done by any language community • Provided to whole community at no cost • More languages than Macintosh or Windows • Almost all software has separate .po file of string data • Documentation in man, info, help files

  16. XO Programming Languages • Squeak dialect of Smalltalk provided in UI as eToys • Squeak includes Logo capabilities • Python used to create UI and apps • Perl for scripting • Forth for low-level programming • Other languages can be installed: LISP/Scheme, APL, C, C++, etc.

  17. Open FirmWare • Forth programming language • Equivalent of BIOS; created at Sun • Press game key while booting, then Esc (top left)‏ • At ok prompt, you can type test-all to test all of the hardware interfaces • More information at http://wiki.laptop.org/go/Open_Firmware

  18. Sugar UI

  19. XO Collaboration

  20. Activities, Not Apps • Packaged as resource bundle • Full screen • Sharable • Instance per file • Instant resume

  21. Building Sugar Activities • http://wiki.laptop.org/go/Sugar • Install Sugar on Linux, Mac, or Windows • Read the human interaction guidelines • Get an overview of the architecture • Check out the code snippets library • Understanding Sugar code organization • Write your own activity

  22. Human Interaction Guidelines • Users are young, inexperienced, international • 256M RAM, no swap; write efficient code. • Make everything simple and discoverable. • Security is vital for the children. • Adapt to different screen modes, network states. • Children must be able to recover from errors easily.

  23. Architecture • See http://wiki.laptop.org/go/API • Resources include: • Third-party applications • Python scripts • Libraries

  24. Code Snippets Library • Icons • Toolbar • Files • Images • Audio • Processes • Garbage collection

  25. Code Organization • Launch Sugar, Start Sugar shell, Initialize • Libraries, services, and utilities • Network Manager • User ID and colors • Main loop • Shutdown • http://wiki.laptop.org/go/Understanding_sugar_code

  26. Write Activity • This is normal Python programming, with some Sugar-specific startup and shutdown. • Keep human interface guidelines in mind. • Use resources provided as needed. • No code bloat.

  27. HelloWorldActivity.py

  28. Sugarizing Non-Python Apps • Very small amount of interface code required to run within Sugar. • See eToys source code for example. • Full Sugarizing requires support for sharing, other Sugar capabilities

  29. References • OLPC http://laptop.org/ • OLPC Wiki http://wiki.laptop.org/ • On the Wiki, search for Sugar, eToys, Activities, OFW, Software, Hardware, or any other topic of interest • XO Live CD: http://wiki.laptop.org/go/LiveCd • Earth Treasury http://wiki.laptop.org/go/Earth_Treasury

More Related