|
privacy |
||
Hangout for experimental confirmation and demonstration of software, computing, and networking. The exercises don't always work out. The professor is a bumbler and the laboratory assistant is a skanky dufus.
![]() Blog Feed Recent Items ![]() The nfoCentrale Blog Conclave nfoCentrale Associated Sites |
2007-11-16CP4E: Novice Computer Programming and the OLPC XOTechnorati Tags: orcmid, CP4E, OLPC, Novice Computing, computer programming, popular computing, F#, JavaScript, Python, Squeak, Logo, mono, cybersmith
With anticipation of two XOen on my mind, I observed that
Guido van Rossum's CP4E VisionAs I dug around to see what is available on the XO (plus all of the software from many sources that can be added to these little Linux machines), I was reminded of Guido van Rossum's Computer Programming for Everybody (CP4E) project. From van Rossum's project proposal, I find these aspects to be particularly interesting:
There is emphasis on curricula and also developing integrated development environments (IDEs) that facilitate CP4E. The OLPC Way - Play and Exploration as CP4E?I am not so clear about the correspondence with literacy, and I'm not so unquestioning about the many eyes on open source and the benefit of billions of programmers. Computing may well be important, I'm not so clear about programming. How community develops also remains to be seen. My own view of CP4E is that programming and software development be made accessible in a way that can be grasped by hands-on exploration and projects to the depth that it matters for the interests of the individual computer user. Programming should not be required, but resources and information for it should be at hand in a way that allows progressive discovery in line with the user's immediate interests. Likewise, there should be available code and implementations to inspect and learn from, along with toolcraft guidance. In that regard, the One Laptop Per Child program's XO computer may be perfectly positioned. It is designed to have the computer be a student's instrument in activities where computing and communication are part of the appeal. It is not foremost a device for learning programming. Yet creation and exchange of computing artifacts that might involve programming is encouraged. So here is a device that, even with the
Discounting the sloganeering, it is easy to align with the clear objectives of how a commons is valuable to this undertaking. The OLPC materials and development projects have a clearly-expressed commitment to community evolution of the original software, perhaps in many directions, persisting long after the original OLPC computer is history. Some Instruments of OLPC Programming and Software FluencyWithout fussing about what is the ideal way to learn programming, I notice that the XO comes with the following installed:
There is also music software and a variety of utilities. There is heavy emphasis on dynamic/scripting languages (partly for storage economy), but of course one can perform customary programming after obtaining appropriate open-source tools. Mono should work, and other languages like F# should be usable via Mono providing a cross-over from scripted to compiled languages. In developing for the XO, it is possible to develop applications in C as well as Python, with the second recommended where possible. There's also interesting social support and the fostering of a community involving XO tools, including those for programming:
For cybersmith development of new kinds of applications for the XO platform itself, there are emulators of the XO that run on PCs. It is possible to develop with just the Sugar development environment. But for the novice enthusiast and budding programmer, I think the best experience is by obtaining the real deal and using it like any student can. You can be part of this:
[update 2007-11-17: I wanted to repair two clumsy spots and I ended up adding more, including a declaration of my personal discomfort with thoughtless parroting of open-source slogans. I am completely aligned with the objectives while uncomfortable with the confusion of means and ends that seem to over-promise (and confuse) the choice of an open-source license with the spirit of community projects and peer production. Also, I need to write at my keyboard, 100 times, it is "Give 1 Get 1," not the reverse.]
|
![]() |
You are navigating Orcmid's Lair. |
template
created 2004-06-17-20:01 -0700 (pdt)
by orcmid |